【Linux】-- 入门基础命令

article/2025/11/6 16:21:06

目录

Linux简介

一、用户相关操作命令

1.查看当前用户who am i

2.新建用户adduser

3.修改密码passwd

4.删除用户userdel

二、ls指令 

 1.-a

 2.-d

 3.-i

 4.-k

 5.-l

 6. -n

 7.-F

 8.-r

 9.-t

 10.-s

 11.-R

 12.-1

三、pwd命令

四、cd指令

1.Linux管理文件形式 

2.绝对路径和相对路径

3. cd指令操作

五、touch指令

 1.创建普通文件

 2.更改文件最新时间

 3.选项

六、mkdir指令

七、tree指令

八、rmdir和rm指令

 1.rmdir指令 

 2.rm指令 

九、man指令

十、cp指令

十一、mv指令

十二、cat指令

十三、more指令

十四、less指令

十五、head指令

十六、tail指令

十七、重定向

1.>重定向

2.>>重定向

十八、管道

十九、data指令

1.显示时间 

 2.设置时间

 3.时间戳

(1)把时间转换为时间戳

 (2)把时间戳转换为时间

二十、cal指令

二十一、find指令

二十二、which指令

二十三、whereis指令

二十四、grep指令 

二十五、zip和unzip指令

二十六、tar指令

二十七、bc指令

二十八、uname 指令

二十九、常用热键

三十、shutdown指令


Linux简介

        Linux 内核最初由芬兰人林纳斯·托瓦兹(Linus Torvalds)在赫尔辛基大学上学时出于个人爱好而编写的。是开放源代码的类UNIX操作系统,可以免费使用和自由传播,是一个基于 POSIX 和 UNIX 的多用户、多任务、支持多线程和多 CPU 的操作系统。

        Linux 能运行主要的 UNIX 工具软件、应用程序和网络协议。它支持 32 位和 64 位硬件。Linux 继承了 Unix 以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

一、用户相关操作命令

1.查看当前用户who am i

who am i

 显示当前用户,结果为delia: 

2.新建用户adduser

只有root超级用户可以新建用户,因此新建用户之前要使用su -命令输入密码之后切换到root用户。 

 新建用户之前,可以使用ll /home命令查看所有用户,除了用户delia之外,还有一个用户lighthouse,lighthouse是具有root权限的服务器密钥。

adduser username

 使用adduser新建用户Gino,再使用ll /home查看所有用户,发现Gino创建成功了:

3.修改密码passwd

 新建用户之后,需要修改密码,使用passwd:

passwd username

4.删除用户userdel

删除用户,使用userdel username,一般都会加上-r选项,否则不能完全删除该用户相关的目录和文件: 

userdel -r username

二、ls指令 

对于目录,该命令列出该目录下的所有子目录与文件。对于文件,将列出文件名以及其他信息。 

ls   选项   目录或文件

 还可以带其他选项。 

 1.-a

列出目录下的所有文件,包括以 . 开头的隐含文件:

 

 2.-d

将目录像文件一样显示,而不是显示其下的文件。 如:ls –d 指定目录

 3.-i

-i 输出文件的 i 节点的索引信息。可以使用ls –ai 指定文件

 4.-k

以 k 字节的形式表示文件的大小。ls –alk 指定文件

 5.-l

列出文件详细信息

 6. -n

用数字的 UID,GID 代替名称。

 

 7.-F

-F 在每个文件名后附上一个字符以说明该文件的类型,“*”表示可执行的普通文件;“/”表示目录;“@”表示符号链接;“|”表示FIFOs;“=”表示套接字(sockets)。

 8.-r

对目录反向排序

 

 和ls命令执行的结果排序顺序相反:

 9.-t

以时间排序,按照时间排序,最新的文件排在最前面:

 10.-s

在文件名前输出该文件的大小。(大小排序,如何找到目录下最大的文件)

 11.-R

递归列出所有子目录下的文件。IP.log文件路径为/home/delia/linux/lesson2/IP.log

 ​​

 12.-1

一行只输出一个文件 

三、pwd命令

显示用户当前所在的目录 

pwd

四、cd指令

1.Linux管理文件形式 

 几乎所有的操作系统,管理文件的方式,都是采用多叉树的形式。Linux系统中,磁盘上的文件和目录被组成一棵目录树,每个节点都是目录或文件:

2.绝对路径和相对路径

 对文件定位时,路径的前半段决定文件在哪里,路径的后半段决定针对哪个文件:

绝对路径:从根目录开始的路径。可以唯一标识一个文件

相对路径:以../开头的路径。相对于pwd的路径,不能唯一标识一个文件

3. cd指令操作

cd指令用于改变工作目录,将当前工作目录改变到指定的目录下: 

cd 目录名

cd指令操作: 

五、touch指令

touch指令通常用来创建文件,也可以用来更改时间 

 1.创建普通文件

用来创建一个不存在的文件时,直接使用以下命令: 

touch 文件名

 2.更改文件最新时间

当创建一个已经存在文件时,会修改文件时间:

 3.选项

还可以选择以下选项: 

-a   或--time=atime或--time=access或--time=use只更改存取时间。
-c   或--no-create  不建立任何文档。
-d  使用指定的日期时间,而非现在的时间。
-f  此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题。
-m   或--time=mtime或--time=modify  只更改变动时间。
-r  把指定文档或目录的日期时间,统统设成和参考文档或目录的日期时间相同。
-t  使用指定的日期时间,而非现在的时间

 比如使用-m选项时,会修改Modify(更改文件内容时间)和Change(文件操作时间)时间,stat命令用来查看文件时间,有3种时间:

六、mkdir指令

在当前目录下创建一个目录 

mkdir 目录名

 创建derectory目录:

 选项-p,可以递归建立多个目录,本质上就是创建了一条路径:

-p, --parents  可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立
好那些尚不存在的目录,即一次可以建立多个目录

 同时递归创建多级目录:

七、tree指令

 以树状图列出目录的内容:

tree 或 tree .

如果没有安装tree命令,可以切换到root用户后使用以下命令安装tree命令:

yum install -y tree

假如安装不成功,可以这样安装:

yum install -y epel-release//安装epel仓库
yum install -y tree//安装tree

八、rmdir和rm指令

 1.rmdir指令 

 rmdir和mkdir对应,删除空目录:

rmdir 目录名

 dir1为空目录,删除dir1成功:

 2.rm指令 

 对于非空目录rmdir无法删除,使用rm可以删除,rm既可以删除目录也可以删除文件:

rm 目录名/文件名

选项:

-f 强制删除,即使文件属性为只读(即写保护),亦直接删除
-i 删除前逐一询问确认
-r 删除目录及其下所有文件

 

九、man指令

 Linux的命令有很多参数,不可能全部记住,可以通过查看联机手册获取帮助:

man [选项] 命令

选项:

-k 根据关键字搜索联机帮助
num 只在第num章节找
-a 将所有章节的都显示出来,比如 man printf 它缺省从第一章开始搜索,知道就停止,用a选项,当按
下q退出,他会继续往后面搜索,直到所有章节都搜索完毕

手册分为8章

1 是普通的命令
2 是系统调用,如open,write之类的(通过这个,至少可以很方便的查到调用这个函数,需要加什么头文件) 
3 是库函数,如printf,fread4是特殊文件,也就是/dev下的各种设备文件
5 是指文件的格式,比如passwd, 就会说明这个文件中各个字段的含义
6 是给游戏留的,由各个游戏自己定义
7 是附件还有一些变量,比如向environ这种全局变量在这里就有说明
8 是系统管理用的命令,这些命令只能由root使用,如ifconfig

在man手册不全的情况下可以用yum安装man手册:

yum install -y man-pages

 想查看fork函数的用法,fork函数时系统函数,因此加上2:

 输入q就可以推出man手册:

十、cp指令

 cp指令用来复制文件或目录,相当于windows下的复制操作:

cp 源 目标

同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到此目录中。若同时指定多个文件或目录,而最后的目的地并非一个已存在的目录,则会出现错误信息。

选项:

-f 或 --force 强行复制文件或目录, 不论目的文件或目录是否已经存在
-i 或 --interactive 覆盖文件之前先询问用户
-r递归处理,将指定目录下的文件与子目录一并处理。若源文件或目录的形态,不属于目录或符号链
接,则一律视为普通文件处理
-R 或 --recursive递归处理,将指定目录下的文件及子目录一并处理

将/home/delia/linux/multiDirectory/dir/路径下的dir1文件夹复制到/home/delia/linux/directory/文件夹下,此时由于dir1位于multiDirectory/dir文件夹下,所以在multiDirectory目录下复制dir1文件夹时,需要加上-r选项,递归复制dir/dir1文件夹:

 也可以对拷贝文件或文件夹重命名,这里的dir1是文件夹,因此要加-r,如果是文件就不需要加-r:

十一、mv指令

mv命令是move的缩写,用来移动文件或者对文件改名,经常用来备份文件或者目录,相当于windows下的剪切操作: 

mv 源 目标

 功能:

1. 根据mv命令中第二个参数类型的不同(是目标文件还是目标目录),mv命令将文件重命名或将其移至一个新的目录中。
2. 当第二个参数类型是文件时,mv命令完成文件重命名,此时,源文件只能有一个(也可以是源目录名),它将所给的源文件或目录重命名为给定的目标文件名。
3. 当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个,mv命令将各参数指定的源文件均移至目标目录中。

选项:

-f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖
-i :若目标文件 (destination) 已经存在时,就会询问是否覆盖

将lesson2下面的IP.log挪到multiDirectory文件夹下: 

十二、cat指令

 查看文件内容:

cat 文件

查看IP.log文件内容: 

  

选项: 

-b 对非空输出行编号
-n 对输出的所有行编号
-s 不输出多行空行

查看IP.log文件内容并对行编号:

 

 tac,逆序输出文件内容,和cat的行显示顺序刚好相反:

十三、more指令

查看文件内容: 

more 文件名

不加选项时,显示全部文件内容,和cat作用一样:

 

选项: 

-n 对输出的所有行编号

如加选项-n就显示前n行: 

 more还有相应操作:

Enter 向下n行,需要定义。默认为1行
Ctrl+F 向下滚动一屏
空格键 向下滚动一屏
Ctrl+B 返回上一屏
= 输出当前行的行号
:f 输出文件名和当前行的行号
V 调用vi编辑器
!命令 调用Shell,并执行命令
q 退出more

more翻行只能向下翻行,不能向上翻行。

十四、less指令

less既可以向下翻行,也可以向上翻行

less 文件名

 less 对文件或其它输出进行分页显示,是linux正统查看文件内容的工具,功能强大。less 的用法比起 more 更加的有弹性。 more无法向前翻, 只能往后看。使用 less ,就可以使用 [pageup][pagedown] 来往前或往后翻看文件。 less 还有更多的搜索功能,还可以向下搜或向上搜。且less在查看之前不会加载整个文件

使用less指令后,可以使用PgDn向下翻页: 

 功能很强大:

-g 只标志最后搜索的关键词
-i 忽略搜索时的大小写
-m 显示类似more命令的百分比
-N 显示每行的行号
/字符串:向下搜索"字符串"的功能
?字符串:向上搜索"字符串"的功能
n:重复前一个搜索(与 / 或 ? 有关)
N:反向重复前一个搜索(与 / 或 ? 有关)
b 向上翻一页
d 向后翻半页
h 显示帮助界面
Q 退出less 命令
u 向前滚动半页
y 向前滚动一行
空格键 滚动一页
回车键 滚动一行
[pagedown]: 向下翻动一页
[pageup]: 向上翻动一页

十五、head指令

显示文件开头,默认显示前10行: 

选项:

-n<行数>  显示行数行

显示前两行内容: 

 

十六、tail指令

显示文件末尾内容:

tail 文件名

 默认显示文件后10行:

 选项:

-f 循环读取
-n<行数> 显示行数

显示后两行内容: 

十七、重定向

重定向也称为输出重定向,把在终端执行命令本来应该显示到显示器的结果内容保存到目标文件。重定向分为两种:

1.>重定向

覆盖原有内容,文件的原有数据不保留,相当于文件操作'w' 

将IP.log文件的后2行重定向到IP2.log文件中: 

 再重新将IP.log的前2行重定向到IP2.log文件中,发现IP2.log文件中之前的内容已经被覆盖了:

2.>>重定向

如果不想清空目标文件原有内容,追加写入文件末尾,原有数据保留,相当于文件操作'a'

将IP.log的后两行追加到IP2.log的末尾,IP.log文件没有被覆盖: 

如果目标文件不存在,这两种操作都会首先创建该目标文件。 

十八、管道

管道:将两个或者多个命令(程序或者进程)连接到一起,把一个命令的输出作为下一个命令的输入,对命令做流水线处理。

命令 | 命令

使用管道的时候,默认隐式地发生了重定向,把本来应该显示到显示器的内容作为下一个命令的输入。 

如想取出IP.log文件的第12行内容: 

 

 通过管道,先取出前12行内容,再通过管道取出最后一行内容:

十九、data指令

1.显示时间 

 显示或设置系统日期和时间:

以指定格式显示时间:

date +%Y:%m:%d

时间格式的常用标记列表:

%H : 小时(00..23) 
%M : 分钟(00..59) 
%S : 秒(00..61) 
%X : 相当于 %H:%M:%S 
%d : 日 (01..31) 
%m : 月份 (01..12) 
%Y : 完整年份 (0000..9999) 
%F : 相当于 %Y-%m-%d

 2.设置时间

date -s //设置当前时间,只有root权限才能设置,其他只能查看。
date -s 20080523 //设置成20080523,这样会把具体时间设置成空00:00:00 
date -s 01:01:01 //设置具体时间,不会对日期做更改
date -s “01:01:01 2008-05-23″ //设置全部时间
date -s “01:01:01 20080523″ //设置全部时间
date -s “2008-05-23 01:01:01″ //设置全部时间
date -s “20080523 01:01:01″ //设置全部时间

 3.时间戳

时间戳是指从1970年1月1日00:00:00 UTC到当前为止的秒数。

(1)把时间转换为时间戳

date +%s

 (2)把时间戳转换为时间

date -d@时间戳

二十、cal指令

cal命令可以用来显示公历(阳历)日历,默认显示当月日历:

cal

显示一年的日历:

cal 年份

 显示前一个月、当前月、下个月日历:

cal -3

 选项:

-3 显示系统前一个月,当前月,下一个月的月历
-j  显示在当年中的第几天(一年日期按天算,从1月1号算起,默认显示当前月在一年中的天数)
-y  显示当前年份的日历

二十一、find指令

 在目录结构中搜索文件,find也提供了查找条件。在目录结构中搜索文件,并执行指定的操作。运行耗资源的find命令时,尽量后台执行,因为遍历一个大的文件系统可能会花费很长时间(超过30G字节)。

在文件树中查找文件,并作出相应处理(可能查找磁盘),因此第一次执行查找命令会比较慢,后面执行同样的查找命令会比较快。

find -name 文件名

二十二、which指令

在PATH变量指定的路径中,判断系统命令是否存在,并搜索该命令在系统哪个位置。命令本身就是用语言写的程序工具指令,是保存在磁盘上的文件。

which 命令

查看find、cat、mv在系统中的位置: 

二十三、whereis指令

用来查找文件,在特定目录中查找符合条件的文件。该指令只能用于查找二进制文件、源代码文件和man手册页。

whereis 文件/源代码/man手册页

例如,用whereis查找find:

 和 find 相比,whereis 查找的速度非常快。因为 Linux 系统会将系统内的所有文件都记录在一个数据库文件中,当使用 whereis 和 locate 时,会从数据库中查找数据,而不是像 find 通 过遍历硬盘来查找。但是数据库文件并不是实时更新,默认一星期更新一次,所以用 whereis 和 locate 查找文件时,有时会找到已删除的数据,或者文件刚刚建立,但却无法查找到,就是因为数据库文件没有被更新。

二十四、grep指令 

在文件中搜索字符串,将找到的行打印出来

grep 【选项】 字符串 文件

选项:

-i :忽略大小写的不同,所以大小写视为相同
-n :顺便输出行号
-v :反向选择,亦即显示出没有 '搜寻字符串' 内容的那一行

将IP.log中所有包含0的行显示出来 

也可以用cat+管道+grep显示 

 

 加-v反向选择,就显示不带0的行

加-n,顺便输出行号

加-i,忽略大小写,显示poem文件中带字母i的行,忽略大小写:

grep也支持正则,将文件中以13开头的,以0-7结尾的数字显示出来:

二十五、zip和unzip指令

zip : 将目录或文件压缩成zip格式

zip 压缩文件.zip 目录或文件

选项:

-r 递归处理,将指定目录下的所有文件和子目录一并处理

压缩/解压缩文件: 

将poem文件压缩成zip格式:

将poem.zip解压缩到temp1目录:

 压缩/解压缩目录:

压缩目录有2种方式:

zip 目标名.zip 目录名/*

zip -r 目标名.zip 目录名/

 将linux文件夹下的multiDirectory文件夹压缩成m.zip文件,采用第一种方式压缩目录时:

 采用第二种方式压缩时,使用-r选项:

 解压缩到mUnzip目录下:

二十六、tar指令

tar用于建立,打包、还原、备份文件,不自带压缩功能。可保持文件权限状态、软硬链接。

tar 【选项】 目标名 目录

目标名通常以.tar为结尾,用以标识打包文件。打包可以用于将某些文件之外的所有文件打包到一起。

常用选项:

-c :建立一个压缩文件的参数指令(create 的意思);
-x :解开一个压缩文件的参数指令
-t :查看 tarfile 里面的文件
-z :是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩?
-j :是否同时具有 bzip2 的属性?亦即是否需要用 bzip2 压缩?
-v :压缩的过程中显示文件!这个常用,但不建议用在背景执行过程
-f :使用档名,请留意,在f之后要立即接文档名,不要再加参数
-C :解压到指定目录

可用压缩选项进行压缩,目标名通常以.tgz进行标识: 

 压缩选项:czvf(如果仅仅只是打包,非打压缩包,使用cvf选项打包)

解压选项:xzvf(如果仅仅只是解包,非解压缩包,使用xvf选项解包)

二十七、bc指令

bc在linux下可以进行浮点数运算: 

二十八、uname 指令

用来获取电脑和操作系统的相关信息:

uname [选项]

 选项:

-a或–all 详细输出所有信息,依次为内核名称,主机名,内核版本号,内核版本,硬件名,处理器类型,硬件平台类型,操作系统名称
-r或--release  显示操作系统的发行编号
-m或--machine  显示电脑类型。
-n或--nodename  显示在网络上的主机名称。
-s或--sysname  显示操作系统名称。
-v或           显示操作系统的版本。
--version      显示版本信息

显示操作系统发行编号: 

显示所有信息: 

二十九、常用热键

Tab 自动补全,敲命令或文件、目录时输入前一个或多个字母再用tab补全,很方便,效率也很高
ctrl+c 让当前程序停掉
ctrl+d 结束键盘输入/exit

三十、shutdown指令

关机: 

shutdown 【选项】

选项:

-h 停掉系统服务,立即关机
-r 停掉系统服务立即重启
-t 秒数 -t后面加秒数,过几秒关机


http://chatgpt.dhexx.cn/article/kfgcs2WY.shtml

相关文章

linux简单入门

目录 Linux简介Linux目录结构Linux文件命令文件处理命令文件查看命令常用文件查看命令 Linux的用户和组介绍Linux权限管理 Linux简介 Linux&#xff0c;全称GNU/Linux&#xff0c;是一种免费使用和自由传播的类UNIX操作系统&#xff0c;其内核由林纳斯本纳第克特托瓦兹&#x…

Linux零基础快速入门篇

推荐教程&#xff1a;Linux零基础快速入门到精通 操作系统概述 操作系统是计算机软件的一种&#xff0c;它主要负责&#xff1a;作为用户和计算机硬件之间的桥梁&#xff0c;调度和管理计算机硬件进行工作而计算机&#xff0c;如果没有操作系统&#xff0c;就是一堆无法使用的…

Linux新手快速入门(万字超详细)

Linux系统新手入门 文章目录 Linux系统新手入门前言一、Linux的文件和目录结构1.1 Linux的文件1.2 Linux的目录结构 二、 VIM编译器2.1 了解VIM编译器2.2 一般模式2.3 编辑模式2.4 指令模式 三、网络配置3.1 配置网络ip地址3.2 配置主机名 四、系统管理4.2 systemctl4.3 设置后…

Linux小白10分钟快速入门教程

1 基础知识 应用领域&#xff1a;服务器使用。 linux启动&#xff1a;Linux系统的启动过程可以分为5个阶段&#xff1a; 内核的引导。当计算机打开电源后&#xff0c;首先是BIOS开机自检&#xff0c;按照BIOS中设置的启动设备&#xff08;通常是硬盘&#xff09;来启动。操作…

快速入门Linux

学习目标 1、Linux/centos系统简介 2、Centos系统目录结构 3、Centos常用命令 4、Centos安装Java 5、Centos安装Tomcat 6、Centos安装Mysql 7、Mysql主从复制 8、Shell编程1、Linux简介 Linux是一个免费和开源的操作系统。能运行在多种设备上&#xff0c;比如手机、平板电脑、…

Sftp和ftp over ssh2的区别

最近使用SecureFx&#xff0c;涉及了两个不同的安全文件传输协议&#xff1a; -sftp -ftp over SSH2 这两种协议是不同的。sftp是ssh内含的协议&#xff0c;只要sshd服务器启动了&#xff0c;它就可用&#xff0c;它本身不需要ftp服务器启动。ftp over SSH2则象一个二传手。 1、…

ssh2实现远程连接机器webShell

1. nodejs使用ssh2连接shell&#xff0c;简单交互 示例&#xff1a;使用conn.shell import { Client } from ssh2;const conn new Client(); conn .on(ready, () > {console.log(Client :: ready);conn.shell({ term: xterm }, (err, stream) > {if (err) {throw err;…

Putty上传文件报Received SSH2_MSG_CHANNEL_DATA for nonexistent channel 0

生产服务器通过Putty上传jar包报错信息如下&#xff1a; 排查发现出现原因是上传目录磁盘空间满了 解决办法&#xff1a;进入磁盘空间满的目录&#xff0c;执行du -a|sort -rn|head -10&#xff0c;对磁盘空间进行清理&#xff0c;注意不要删除data目录的数据&#xff0c;尽量找…

SSH J2EE

<I>what is "SSH" 在J2EE项目中表示了3种框架,即 Spring+Struts+Hibernate。 Struts对Model,View和Controller都提供了对应的组件。 Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。它是为了解决企业应用开发的复杂性而创建的。 Hibernat…

ssh2框架整合详细版(使用较新jar包)

ssh2框架整合Maven详细配置、多种方式介绍&#xff0c;中间碰到问题与注意点&#xff0c;部分已有指出。 关于Eclipse中使用Maven详见http://blog.csdn.net/it_faquir/article/details/54562242 步骤一 导入必备junit、javax.servlet相关jar包&#xff0c;maven配置如下&…

nodejs系列-如何用JS代码连接远程服务器并执行命令创建文件-ssh2

ssh2是什么&#xff1f; SSH2 client and server模块用纯JavaScript为node.js编写。我们可以在代码里使用它链接远端服务器&#xff0c;执行一些必要的操作 为什么要使用ssh2&#xff1f; 作为一名前端&#xff0c;我们在某些情况下&#xff0c;需要使用代码去登录Linux服务器…

【SSH2框架(理论篇)】--SSH2 Vs 经典三层

&#xfeff;&#xfeff; 这几天一直在学习使用SSH2框架&#xff0c;对于框架本身的使用并不是很困难&#xff0c;相信经过多锻炼就能够熟练的掌握框架的使用&#xff0c;让我匪夷所思的是在使用框架的时候感觉很熟悉&#xff0c;好像在哪里用过似得。就在某次查看代码的时候突…

xshell7无法远程连接linux虚拟机,启动SSHD报错:Bad SSH2 cipher spec...

项目场景&#xff1a; xshell7无法远程连接linux虚拟机 问题描述 终端输入systemctl start sshd 启动报错&#xff1a; 输入sshd -t 查看具体报错信息&#xff1a; 解决方案&#xff1a; 输入ssh -Q cipher&#xff0c;查看ssh使用了哪些ciphers: 复制结果 输入vim …

2.ssh远程登录

1.ssh命令 &#xff08;1&#xff09;ssh命令的参数ssh- l 指定登陆用户 - i 指定私钥 - X 开启图形 - f 后台运行 - o 指定连接参数 - t 制定连接跳板 ssh - l root 172.25.254 .x -o "StrictHostKeyChecking no" 首次连接不需要…

SSH建立原理

一、ssh2协议 在ssh1中&#xff0c;由单个协议提供密钥交换、身份认证与加密的功能&#xff0c;而ssh2内部由3个协议组合一起&#xff0c;为其提供这些功能。这3个协议: 传输层协议 认证协议 连接协议 传输层协议 主要提供密钥交换与服务器端认证功能 认证协议…

SSH2协议加密与连接过程

最近在做ssh2联动交换机模块&#xff0c;看到libssh2-1.9.0版本对于用户认证有三种不同的方式&#xff1a; ① password&#xff08;默认&#xff09;② keyboard-interactive ③ publickey 看代码并不是太理解&#xff0c;所以查询了一番&#xff0c;SSH2通信大致分为两步&a…

来说说datatype

今天敲代码一直卡在一个问题上面好久那就是--datatype的未定义&#xff0c;起初不晓得datatype的含义&#xff0c;遇到这种情况首先想到的就是自己又忘记加上面头文件了。随即写了个stdlib.h上去。可是问题并没有得到解决&#xff0c;还是显示未定义。 怀疑是不是自己拼写的错误…

StringType报错,提示不是DataType类型

使用scala语言将RDD转化为sparkSQL时&#xff0c;构造StructType时StringType报错 val schema StructType( //构建函数&#xff0c;给每列数据一个统一的列名Seq(StructField("phoneNum",IntegerType,true),StructField("time",Integer…

mysql workbench的datatype设置问题

create table之后&#xff0c;创建column&#xff0c;选择datatype。我选择timestamp和datetime如图所示后就失败。 问题就在于要么去掉括号&#xff0c;要么括号里面填写数字。 成功后如图。 这里只要看paidTime的datatype即可。 这个问题真的花了我很久的时间&#xff0c;我…

datalist

在Web设计中,经常会用到如输入框的自动下拉提示,这将大大方便用户的输入。在以前&#xff0c;如果要实现这样的功能&#xff0c;必须要求开发者使用一些Javascript的技巧或相关的框架进行ajax调用&#xff0c;需要一定的编程工作量。但随着HTML5 的慢慢普及&#xff0c;开发者可…