Linux常见命令
一、 文件管理命令
格式:命令 -选项 参数(操作对象)
1、ls 命令:
英文:list directory contens(列出目录内容)
-
路径:/bin/ls
-
格式:ls [OPTION]… [FILE]…
-
功能:查看文件/目录信息
-
常用选项:
-a:显示指定目录内的所有内容(包含隐藏文件和特殊目录) -l:显示每一个文件的详细信息(权限、所有者、所属组、修改时间等),可缩写为ll -h:显示文件大小时,使用最合适的单位显示,常以-lh形式出现 -d:用来显示目录本身信息,而不显示目录内的文件列表,常以-ld形式出现 -i:显示文件索引节点号(inode),每个文件都拥有一个独一无二的索引节点号 -lsh 查看每个文件实际所占分区空间的大小【data block的独占性】
2、cd 命令
英文:change the shell working directory
-
功能:切换到指定目录下
-
路径:属于shell内置命令,无路径
-
格式:cd directory
-
特殊目录:
cd ~ :切换到当前用户的家目录 cd – :切换到上操作的目录 cd . :切换到当前目录 cd . . :切换到当前目录的上一级目录
3、pwd命令
英文:print name of current/working directory
- 功能:显示当前所在路径
- 路径:/bin/pwd
4、mkdir 命令
英文:make directories
-
功能:创建目录
-
路径:/bin/mkdir
-
格式:mkdir [OPTION]… DIRECTORY…
-
常用选项:
-p :递归创建多级目录 -v :显示执行命令时的详细流程
5、rm 命令
英文:remove files or directories
-
功能:删除指定文件或者目录
-
路径:/bin/rm
-
格式:rm [OPTION]… FILE…
-
常用选项:
-i :删除已有文件或目录之前先询问用户 -f :不询问,强制删除 -r :递归处理,将指定目录下的所有文件与子目录一并处理
- rm -rf /*:删除根目录下的所有内容。
- 近义词命令:rmdir 删除指定的空目录
6、 touch命令
英文:change file timestamps
-
功能:一是用于把已存在文件的时间标签更新为系统当前的时间(默认方式),它们的数据将原封不动地保留下来;二是用来创建新的空文件
-
路径:/bin/touch
-
格式:touch [OPTION]… FILE…
-
批量创建:touch{a…h}.txt(创建a到h的8个txt文件)
7、 stat命令
英文:display file or file system status
- 功能:用于显示文件的状态信息;stat命令的输出信息比ls命令的输出信息要更详细
- 路径:/usr/bin/stat
- 格式:stat [OPTION]… FILE…
-常用选项:
-f:不再显示指定文件的详细信息,而是显示该文件所在文件系统的信息(文件系统类型、Block数量、Inode数量等)filesystem
8、 cat命令
英文:concatenate files and print on the standard output
- 功能:连接文件并打印到标准输出设备上,cat经常用来显示文件的内容(内容大于1页的仅显示最后一页:自动滚屏) 查看文件内容显示所有
- 路径:/bin/cat
- 格式:cat [OPTION]… [FILE]…
- 常用选项:
-n:为每一行内容进行编号(从1开始)
-b:类似于-n,会主动忽略掉空白行(显示但不为其编号)
【补充】
echo:“hello world“:将hello world输出到屏幕上
echo:“hello world“> 文件:将hello world重定向到文件中
echo:“hello world“>> 文件:将hello world追加到文件中
“>“覆盖式重定向符号(重新定位输出向)【执行时要注意目标文件】
“>>“ 追加式重定向符号
cat:可以查看多个文件内容并追加到目标文件中【多文件合并】
9、 more命令
英文:file perusal filter for crt viewing
- 功能:一个文本过滤器,以全屏分页的方式显示文本内容,可以使用内置按键控制显示内容 分页显示内容
- 路径:/bin/more
- 格式:more [FILE]…
空格space:向下翻页
回车enter:向下翻行
b:向上翻页
q:退出文本
10、 less命令
英文:opposite of more
- 功能:作用与more相似,都是用来浏览文本内容的,但less可以根据关键词进行定位翻页;【查询】:在“:“处,输入”/关键词“点击回车即可
- 路径:/usr/bin/less
- 格式:less [FILE]…
- 常用选项:
-N:显示文本内容并显示行号
命令对比:more和less很相似,都是用来进行分屏/分页显示文本内容的,但是less要比more多一些交互按钮,以下是less模式下的一些交互按钮功能
交互按钮 功能
PageUp(PaUp) & b :向上翻页
PageDown(PaDn) & 空格:向下翻页
Enter向下换行(每次只新增一行显示
)
/关键词:用于在less模式中进行关键词查询,并高亮显示关键词 使用n和N快速向下向上定位到每一个关键词
q :退出less模式
11、 head命令
英文:output the first part of files
- 功能:显示指定文件的开头内容(默认显示前10行)
- 路径:/usr/bin/head
- 格式:head [FILE]…
head -n N filename
head -N filename
- 常用选项:
-n:显示指定文件的前n行(n换成数字)
比较: head -n 数字、head 数字 -n 显示结果一样
12、 tail命令
英文:output the last part of files
- 功能:显示指定文件的结尾内容(默认显示后10行)
- 路径:/usr/bin/tail
- 格式:tail [FILE]…
- 常用选项:
-n:显示指定文件的后n行
-f:显示文件最后10行,并且对文件处于监听状态,实时更新和通知文件尾部的变化(tailf = tail -f)
文件内容查看命令:
cat、 more 、less 、head 、tail
13、 cp命令(复制粘贴)
英文:copy files and directories
- 功能:将一个或多个源文件复制到指定位置,默认情况下保留源文件名称,也可以改名
- 路径:/bin/cp
- 格式:cp [源文件]… 目标位置 #复制文件到指定位置
cp [源文件]… 目标位置/新文件名 #复制文件到指定位置并修改文件名 - 常用选项:
-d:当复制符号连接时,把目标文件或目录也建立为符号连接,并指向与源文件或目录连接的原始文件或目录-p:复制文件时,保留源文件的属性
-r:递归处理,复制时将指定目录下的所有文件和子目录,子文件全部复制到指定位置
-a:相当于-dpr的集合,拥有三个选项的所有功能
cp -a 源文件 目标位置
14、 mv命令(剪切粘贴)
英文:move (rename) files
- 功能:将指定文件移动(剪切)到指定目标位置,默认情况下保留源文件名称,也可以改名
- 路径:/bin/mv
- 格式: mv [源文件]… 目标位置 #移动文件
mv [源文件]… 目标位置/新文件名 #移动文件并改名
mv [源文件]… 原位置/新文件名 #改名 - 常用选项:
-b:在进行文件移动时,若目标位置有同名文件存在,则将同名文件备份(备份文件名结尾有~标识)
可以直接使用y回答,提示虽然是覆盖,但会自动创建备份文件
15、 ln命令
英文:make links between files
- 功能:为指定文件创建软链接(符号链接)或者硬链接
- 路径:/bin/ln
- 格式:ln [OPTION]… SOURCE DEST
- 常用选项:
-s:为指定的源文件创建一个符号链接文件(软链接),不加“-s”则创建硬链接
注意:创建链接时,必须要使用绝对路径,否则创建即失效
软链接【符号链接】
快捷方式,记录原始文件所在的位置:
所保存的路径一定是绝对路径
创建方式:ln -s [源文件的绝对路径] [目标位置{目标位置、新名称}]
硬链接
多个文件指向同一个索引节点的链接就是硬链接
创建方式:ln [源文件] [目标位置]
符号链接和硬链接区别:
符号链接(软链接)特征:
源文件和软链接各自拥有不同的Inode号和Block块数
两个文件无论修改哪一个均可同步
删除源文件,软链接失效;删除软链接,源文件无影响
软链接文件大小不受源文件变化而影响,仅仅记录源文件的位置信息(Inode)
软链接文件权限为:rwxrwxrwx,但最终生效的权限以源文件为准
软链接既可以链接文件,也可以链接目录,并且可以跨分区创建
软链接不存储具体数据,只存储源文件的绝对路径
硬链接特征:
源文件和硬链接文件拥有相同的Inode号和Block块数(实际为同一个文件)
两个文件不管修改哪一个均可同步
无论删除哪一个,都互不影响
不能对目录创建硬链接,并且不能跨分区创建(inode号不重复)
文件详细信息中的第二列的数值:源文件+硬链接的和(N-1=硬连接的数量)
拥有硬链接的文件,修改内容后,Inode号不改变
二、 权限管理命令
通过ls -l
命令我们可以看到文件的详细信息,其中第一列是关于文件类型和权限的表示位,我们来详细分析下
-rw-r--r--. 1 root root 28250 1月 1 2020 install.log
首先-rw-r--r--
这个结构可以细分为四部分:文件类型、文件所有者权限、文件所属组权限、文件其他人权限
文件类型:
- “-”:普通文件,普通文件类型下的子类型仍然有很多,比如压缩文件,文本文件,脚本文件等等,可以使用file命令查看
- “d”:目录文件,Linux中一切皆文件~
- “l”:软链接文件,此处代表该文件为软链接,软链接是独立文件有自己的文件类型
- “b”:块设备文件,存储类设备在Linux中的保存后的文件类型
- “c”:字符设备文件,一般指用来进行数据传输的设备,输入输出设备等
- “s”:套接字文件,一般用来实现两个进程之间通信的文件
- “p”:管道文件,一般用来处理多个进程对同一个文件存取先后顺序问题
注意:设备类文件的详细信息中,文件大小位置显示的不是大小,而是主从设备号,主设备号代表着设备类型,从设备号代表着该类型设备的第几个。
拓展:查看文件具体详细类型的命令
命令:file
[root@localhost test]# ls -l
总用量 36
-rw-r--r-- 1 root root 28250 3月 14 14:41 install.log
-rw-r--r-- 1 root root 7544 3月 14 14:41 ins.tar.gz
[root@localhost test]#
[root@localhost test]# file install.log
install.log: UTF-8 Unicode text
[root@localhost test]#
[root@localhost test]# file ins.tar.gz
ins.tar.gz: gzip compressed data, from Unix, last modified: Thu Mar 14 14:40:53 2020
权限类型:
- 文本类文件:
- r:内容查看权限
- w:内容编写权限
- x:执行权限
- 目录类文件:
- r:文件:查看目录下文件列表权限
- w:文件:目录内文件创建删除权限
- x:文件:进入目录权限
注意:若指定位置有字母代表拥有该权限,若没有权限则使用 - 代替 例如:rw-r--r--
{表示所有者有读写权限,所属组和其他人有读权限}
- 用数字表示权限位:
- r:4
- w:2
- x:1
例如:rw-r--r--
的权限用数字表示就是 644{分别是所有者、所属组、其他人的权限}
1、修改权限命令: chmod
英文:change file mode bits
- 功能:修改文件指定位置的rwx权限
- 路径:/bin/chmod
- 格式:chmod [OPTION]… MODE[,MODE]… FILE…
- 常用选项:
chmod [augo] [±=] [rwx] file
chmod 644 file
-R:将设置的权限递归到该目录下的子文件上(一般针对目录使用)
实验测试:
使用root用户创建一个目录(权限:755),并在目录下创建一个新文件(权限:644修改为777),尝试使用普通用户身份对文件进行删除
再次使用root用户身份创建一个目录(权限:755修改为777),并在该目录下创建一个新文件(权限644),尝试使用普通用户对文件进行删除
总结:对文件的删除权限并不在文件上,而在该文件所属目录(即:对目录有w权限,就可以删除目录内的文件)
2、归属的修改命令 chown
英文:change file owner and group
- 功能:修改文件的所有者或所属组
- 路径:/bin/chown
- 格式:chown [OPTION]… [OWNER]:[GROUP] FILE…
- 常用选项:
chown user:group file #若要修改所有者只写 “ uesr”
chown user.group file #若要修改所有组要写“:/.group” ":或."为分隔符
-R:将设置的目录的归属递归到该目录下的所有子文件上(一般针对目录使用)
3、属组修改命令:chgrp
只能修改文件所属组
英文:change group ownership
- 功能:仅修改文件所属组
- 路径:/bin/chgrp
- 格式:chgrp [OPTION]… GROUP FILE…
- 常用选项:
chgrp group file
-R:将设置的目录的归属递归到该目录下的子文件上(一般针对目录使用)
4、掩码值修改命令:umask
英文:Display or set file mode mask
- 功能:查看或设置文件的权限掩码值
- 路径:shell内置命令
- 常用选项:
umask:以八进制的数值显示文件的权限掩码值
umask 002:按照给定的八进制数值覆盖掉原有的掩码值
文件默认权限的计算方式(对位相减)
目录类文件:777-掩码=默认权限
文件类文件:666-掩码=默认权限
普通文件的最大权限:666
目录文件的最大权限:777
root身份运行umask的结果:0 022
damn身份运行umask的结果:0 002 #第一个数0:表示后续数字是八进制数值
root创建的普通文件的默认权限:644 644 + 022 = 666 #对位相加
root创建的目录文件的默认权限:755 755 + 022 = 777
damn创建的普通文件的默认权限:664 664 + 002 = 666
damn创建的目录文件的默认权限:775 775 + 002 = 777
总结:
目录类文件:777-掩码=默认权限
文件类文件:666-掩码=默认权限
【最大权限】-【umask值】=【默认权限】
修改umask值:
临时修改:umask 数字{按0 022}的顺序来书写, #退出终端设备就失效了
不能总结为超级管理员的umask为0022,普通用户的umask为0002
三、查询相关命令
1、which
英文:shows the full path of (shell) commands.
- 功能:显示命令的绝对路径 + 别名
- 路径:/usr/bin/which
- 格式:which [commands]
2、whereis
英文:locate the binary, source, and manual page files for a command
- 功能:定位指定命令的二进制文件程序、源码文件和帮助手册页面等资源的位置
- 路径:/usr/bin/whereis
- 格式:whereis [-bms] filename
- 常用选项:
-b:定位指定命令的绝对路径
-m:定位指定命令的帮助手册路径(即man帮助手册文档位置)
-s:定位指定命令的源码文件路径(所属软件包的位置)
3、locate
英文:find files by name
- 功能:通过文件名进行文件位置查询 {locate命令进行文件查询并不是使用遍历的方式进行查找,而是事先创建好一个数据库,将所有文件的名称和对应路径保存在了其中,当查询文件时,只需要对数据库查询即可,速度上来说非常迅速}
- 路径:/usr/bin/locate
- 格式:locate 关键词
- 常用选项:
-i:忽略查询对象的大小写
数据库文件:/var/lib/mlocate/mlocate.db
数据库更新:updatedb #建议每次查询前先更新下数据库
更新规则文件:/etc/updatedb.conf #配置文件中记录一些忽略不更新的文件类型和目录
【补充】
遍历式查询:查询速度慢;但查询结果准确;
数据库查询:查询速度快,查询结果不准确;
4、 find
英文:search for files in a directory hierarchy
- 功能:在目录树种进行文件查询 #查询文件所在路径# 遍历式查询
- 路径:/bin/find
- 格式:find PATH [OPTION]
- 根据名称查询:find /etc/ -name “*.txt”
-name 模式下默认精确查询,可以使用通配符进行模糊查询:* ? [ ];使用通配符查询时,查询对象必须用单双引号
通配符号:
“*” :代表任意长度的任意字符,包括空字符;、
“?” :代表一个任意字符,不代表空字符;
“[ ]” :每个[]里面只代表一个字符,但里面的范围可以自己设定;
- 根据大小查询:find /etc/ -size 10K
-size 模式下默认使用精确大小查询,可以使用- +进行范围查询 { 常见单位:c:字节;w:子(2字节);b:块(512字节);k,M,G }
find /etc -size +5M 查询大于5M的文件
find /etc -size -5M 查询小于5M的文件
find /etc -size +4M -a -size -5M 查询大于4M小于5M的文件
- 根据归属查询:find /etc/ -user zhangsan
-user|-group 模式下,可以查询属于某用户或某组的文件
-nouser|-nogroup 模式可以查询出没有所有者或所属组的文件(异常文件)
find / -user laow: 查询文件所有者是指定用户的文件
find / -group laow : 查询文件所有组是指定组的文件
find / -nouser: 查询文件没有所有者的文件
find / -nogroup : 查询文件没有所属组的文件
查询出系统中被删除了所有者或所属组的文件#
处理结果:1、使用chown 修改文件权限;2、删除文件
-
根据权限查询:find /etc/ -perm 777
-perm 模式可以查询出指定权限的文件,一般用来查询权限过大的普通文件
-
根据类型查询:find /etc/ -type f
-type模式下可以查询出指定类型的文件 [ f:普通文件;d:目录文件;l:链接文件等 ]
find / -perm 777 -a -type f #查询出系统内权限过高的普通文件
- 根据inode查询:find /etc/ -inum 262149
-inum 模式可以查询出所有inode相同的文件(查询硬链接文件)
Inode号相同的文件互为硬链接
- 根据时间查询:
access time 访问时间(-atime/天,-amin/分钟):用户最近一次访问时间。
modify time 修改时间(-mtime/天,-mmin/分钟):文件最后一次内容修改时间。
change time 变化时间(-ctime/天,-cmin/分钟):文件数据元(权、属性等)的最后一次修改时间。
-5:五天内或五分钟内访问过的文件
5:恰好在第五天或第五分钟访问过的文件
+5:五天前或五分钟前被访问过的文件
多条件同时查询:find /etc/ -name -a -type f
-a:and 的意思,将两个或两个以上的查询条件结合在一起进行文件查询(必须同时符合所有条件)
-o:or 的意思,多个条件结合后,其中一条条件符合就算符合查询要求
例: find /etc -size -1k -o -size +10M
查询结果批处理:将find 查询到的结果交给指定命令继续操作,以下两个连接符都能实现
exec:格式固定,稍复杂
ok :显示命令2是否能要执行
格式:find /etc -name “*.txt” -exec 命令2 {} ;
-exec :连接符号
rm :命令2,处理find查询后的结果
{} :暂时存储了find查询的结果集
;:固定格式,\作为取消命令2的别名;作为结束符号
|xargs:格式较简单,但不支持带空格的文件 (独立的命令链接符)
find /etc/ -name "*.txt" |xargs rm
find命令每查到一个目标文件就交给命令2处理
5、 grep
英文:global search regular expression(RE) and print out the line
- 功能:在指定文件内根据一定条件查询符合条件的字符串,文件内查询关键词(类似于ctrl + f)
- 目的:将指定文件中包含的关键词的行列出并高亮显示关键词;
- 路径:/bin/grep
- 格式一:grep [关键词] FILE
将指定文件中包含的关键词的行列出并高亮显示关键词; - 格式二:命令 |grep [关键词]
根据命令查询后的文件再根据后面关键字显示对应文件;
例:ls -l /etc |grep “rwx” - 常用选项:
-i:在查询时忽略查询对象的大小写
-n:查询时,显示符合条件对象的所在行号
-v:查询时,将条件反转,反向查询,即列出不包含关键词的行
–color=auto:将符合条件的对象高亮显示
6、"|" 和 “|xargs” 的作用
管道符:|
作用:将前一个命令的结果,作为后一个命令的输入(可以理解为把查询结果保存成了一个文本),将前面命令的结果作为一个整体进行传递,
举例:find /var/log/ -name “*.log” | grep --color=auto da
xargs命令:|xargs
作用:将前一个命令的结果,作为后一个命令的参数,后面命令依次执行(所有符合条件的文件逐个传递给后面的命令)
对于xargs
命令而言find命令中|
和xargs
同时出现才有意义
举例:find /var/log/ -name “*.log” |xargs grep --color=auto da
7、find、locate、grep的对比
- find 和 locate 都是用来在系统内查询文件位置的命令
- find 是通过对所有目录进行遍历的方式进行查找的,结果精准,但消耗大量系统资源和时间
- locate 是通过实现创建数据库保存文件位置,再查询数据库的一种快速索引方式,节省资源速度快,但是精准度稍差
- grep 是用来在指定文件内查询符合条件的关键词的命令,操作对象是指定某文件
- find 默认情况下是精确匹配,可以使用通配符进行模糊匹配
- grep 默认情况下是包含匹配,要想精确匹配需要使用正则表达式(后面来讲)
8、通配符的意义
通配符 | 作用 |
---|---|
? | 匹配一个任意字符 |
* | 匹配0个或任意多个任意字符 |
[ ] | 匹配括号内的任意一个字符,[aoe] |
[-] | 匹配括号内字符串范围内的任意一个字符,[a-z] [0-9] |
[^] | 逻辑非,即取反,表示匹配除了括号内的任意一个字符 |
四、 压缩相关命令
压缩文件是操作系统中常见的文件格式,对文件进行压缩的主要目的是为了方便对文件进行统一管理,节省空间,方便传输携带等,其主要原理是对文件的二进制代码进行压缩,例如000000,可简写为60,意为6个0
压缩的目的:
①、减小文件的大小、减小文件占用的空间、加快文件的传输速度;
②、文件的汇总;
③、文件的备份。
Linux中常见的压缩格式有以下几种:.zip .gz .bz2 .tar.gz .tar.bz2 .xz .tar.xz等
1、zip
Linux系统和Windows系统通用
- 解压命令:unzip
- 解压缩格式:unzip filename.zip
- 压缩命令:zip (先写生成的压缩包名,再写压缩对象)
- 压缩:zip 压缩后名称 源文件
-r:压缩目录(递归处理目录下的子文件)
-d:解压到指定目录下;
命令:unzip *zip -d 指定目录
2、gz
- 解压缩:gunzip filename.gz 或者 gzip -d filename.gz
- 解压命令:gunzip
- 压缩命令:gzip
- 压缩:gzip filename
只能压缩文件,不能压缩目录(不能将文件进行汇总—不能打包)
3、bz2
-
解压缩:bunzip2 filename.bz2 或 bzip2 -d filename.bz2
-
解压命令:bunzip2
-
压缩命令:bzip2
-
压缩:bzip2 -z filename
-z:强制压缩
-d:执行解压缩
gz 和 bz2两种解压方式不保留原文件
4、tar
- 说明:打包格式,只做文件的汇总,无压缩功能;
- 解包:tar -xvf filename.tar
- 打包:tar -cvf 打包后文件 源文件
-c:打包文件
-v:显示打包过程
-f:指定打包后的压缩包的名称
5、tar.gz
-
解压缩:tar -xvf file.tar.gz
-
压缩:tar -zcvf 压缩后文件 源文件
-x:解压包,tar自动对应的解压缩解压
-z:调用gzip进行压缩
6、tar.bz2
-
解压缩:tar -xvf file.tar.bz2
-
压缩:tar -jcvf 压缩后文件 源文件
-x:解压包,tar自动对应的解压缩解压
-j:调用bzip2进行压缩
7、xz
仅支持单个文件压缩
- 解压缩:tar -xvf file.tar.bz2
- 压缩:tar -Jcvf file.tar.bz2 源文件
-x:解压包,tar自动对应的解压缩解压
-J:调用xz进行压缩
-C: 将文件解压到指定位置
8、其他
“.tar.xz” 和 “.tgz”压缩包的解压方式:tar -xvf filename
五、 帮助相关命令
1、man
英文:format and display the on-line manual pages
- 功能:通过帮助手册显示命令的使用方式
- 格式:man command
- 常用选项:
-f:显示该命令有哪几个级别的帮助(有些可以显示对应配置文件的帮助)
多种帮助级别的含义:
帮助等级 | 含义 |
---|---|
1 | 查看命令的帮助信息(多数位普通用户能执行的命令) |
2 | 查看可以被内核调用的函数的帮助信息 |
3 | 查看C语言相关函数的帮助信息 |
4 | 查看设备和特殊文件的帮助信息(主要存在于/dev/目录下) |
5 | 配置文件的帮助信息 |
6 | 游戏的帮助信息(主要存在于个人版Linux) |
7 | 查看其他杂项的帮助信息 |
8 | 查看其他杂项的帮助信息 |
9 | 查看其他杂项的帮助信息 |
一般常用man 1 和man 5
交互模式下的快捷键:
快捷键 | 功能 |
---|---|
上箭头 | 查看上一行 |
下箭头 | 查看下一行 |
PgUp | 向上翻页 |
PgDn | 向下翻页 |
gg | 回到首页 |
G | 翻到尾页 |
Q | 退出交互模式 |
/ | 在交互模式下根据指定关键词进行搜索 |
N | 查询完成后,可以使用n快速定位到下一个符合条件的关键词 |
2、help
英文:help
- 功能:显示Linux内置命令相关帮助信息
- 格式:help command
- 常用选项:
-m:模拟man的格式显示帮助信息(鸡肋~)
只能查看shell的内置命令
Linux中绝大多数的命令都可以是用 - -help作为选项显示帮助信息,只是显示的内容没有man和info全面而已
- -help 选项:适用于所有的非内置命令,查询结果和内置命令help查出的格式一致
3、info
英文:read info documents
- 功能:查看指定命令的帮助信息等
- 格式:info command
- 常用选项:常用快捷键如下
快捷键 | 功能 |
---|---|
上箭头 | 查看上一行 |
下箭头 | 查看下一行 |
PgUp | 向上翻页 |
PgDn | 向下翻页 |
Tab | 快速切换到下一个以*开头的节点 |
回车 | 进入到当前以*开头的节点内,查看详细信息 |
u | 退出节点,回到帮助首页 |
n | 当处于某一节点内时,可以直接切换到下一个节点 |
p | 当处于某一节点内时,可以直接切换到上一个节点 |
? | 查看info所提供的交互命令的帮助信息 |
q | 退出info模式 |
帮助内容联网后会实时更新,
帮助级别的排名: - - help < man < info
注意:info是Linux系统中最高级的帮助信息,对于初学者不是很友好,不要求前期掌握。
六、关机与重启命令
1、sync
英文:flush file system buffers
- 功能:强制将缓冲区中的数据写入磁盘中
- 格式:sync
- 常用选项:无
关机或重启之前执行
Linux操作系统为了提高数据的处理速度会将数据放入到磁盘的缓冲区(buffer)中,但是如果数据在缓冲区中时发生突然断电重启之类的操作数据可能就会丢失,为了预防这类事件发生,我们可以在将数据“写入”磁盘后,执行一次sync将数据强制写入到真正的磁盘中。当然,如果没有人为干预,操作系统也会自行执行sync只是时间和周期上不确定也不及时。
2、shutdown
英文:shutdown – Halt,poweroff or reboot the machine
- 功能:用来关机或者重启的命令
- 格式:shutdown [选项] 参数
- 常用选项:
-h:halt,发送关机信号,后面指定倒计时时长(now,1200)
-r:reboot,发送重启信号,后面指定倒计时时长(now,1200)
立即关机:shutdown -h now
立即重启:shutdown -r now
【补充】Windows系统中定时关机的cmd命令 shutdown -s -t [指定时间]
3、reboot
英文:reboot
- 功能:重启当前操作系统
- 格式:reboot
- 常用选项:无
4、init
英文:systemd, init - systemd system and service manager
- 功能:临时修改操作系统的运行级别,可用来关机或重启
- 格式:init N
- 常用选项:
init 0 : 关机
init 6 :重启
总结:
关机命令:shutdown -h now 、 halt 、poweroff、 init 0
重启命令:init 6 、shutdown -r now 、 reboot
七、 常见网络命令
1、红帽系列网络管理命令
CentOS 6.x 命令:setup
CentOS 7.x 命令:nmtui
2、命令:ifconfig
功能1:查看网卡的相关信息,最小化没有此命令,需要安装net-tools软件
功能2:临时修改网卡的网络参数
格式:ifconfig ens33 [新IP]
前提:
①、检查NetworkManager是否开启并工作;若启用先关闭
检查命令:systemctl status NetworkManager
关闭命令:systemctl stop NetworkManager
②、重启network服务
重启命令:systemctl restart network
③、临时修改IP地址
修改命令:ifconfig ens33 [新IP]
④、重启网卡
ens33: 虚拟机物理网卡;
lo:loopback:本地回环网卡
功能:模拟网卡让本机使用的软件之间进行信息传递,只在本机有效,固定IP:127.0.0.1
3、命令:ip
英文:IP address show
- 功能1:查看ip等网络资源信息
- 命令:IP a
- 功能2:临时配置ip等网络参数
- 命令:IP address add [新增IP/24] dev ens33
dev:指定为后面网卡
一个网卡可以配置两个IP地址,重启后失效。
#add 换成 del 可以删除新增的ip信息
- 功能3:查看当前生效的网关信息
命令:IP route show
【总结】
ifconfig和ip a 均可查看启动的网卡信息;
ifconfig 和ip 临时设置网卡参数 重启后失效,
配置文件修改网卡路径:/ect/sysconfig/network-scripts/ifcfg-ens33 CentOS 6.x
配置文件修改网卡路径:/ect/sysconfig/network-scripts/ifcfg-eth0 CentOS 7.x
4、命令:ifup & ifdown
- 功能:单独针对某一网卡的启动关闭命令
[root@localhost ~]# ifdown ens33 #关闭指定网卡
[root@localhost ~]# ifup ens33 #启动指定网卡
5、命令:ping
-
功能:通过ICMP协议探测网络中的主机是否能正常通信
-
选项:
-c :用于指定ping的次数
-s :指定探测时使用的数据包大小(最大65507) -
命令:ping -c NUM ip :指定显示NUM行
6、命令:netstat
-
功能:查看网络连接状态的命令,可以查看本机开启的端口(TCP/UDP),最小化是没有安装的。
-
作用:查看listen的端口—服务是否开启,验证某端口或软件是否启动;
-
选项:
1、已经建立连接的进程 established
2、等待连接的进程 listen
-a:列出所有网络状态
-n:以数字方式显示IP和端口信息
-t:显示TCP协议对应信息
-u:显示UDP协议对应信息
-p:显示进程的进程号和进程名 PID号
-l:显示监听状态的连接 listen/established
命令1: netstat -antp
root@localhost ~]# netstat -antp
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 1/systemd
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 6670/sshd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 6822/master
tcp 0 0 192.168.88.120:22 192.168.88.1:52506 ESTABLISHED 6980/sshd: root@pts
tcp6 0 0 :::111 :::* LISTEN 1/systemd
tcp6 0 0 :::22 :::* LISTEN 6670/sshd
tcp6 0 0 ::1:25 :::* LISTEN 6822/master
命令2: netstat -tlunp
[root@localhost ~]# netstat -tlunp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 1/systemd
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 6670/sshd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 6822/master
tcp6 0 0 :::111 :::* LISTEN 1/systemd
tcp6 0 0 :::22 :::* LISTEN 6670/sshd
tcp6 0 0 ::1:25 :::* LISTEN 6822/master
udp 0 0 0.0.0.0:1002 0.0.0.0:* 6365/rpcbind
udp 0 0 0.0.0.0:111 0.0.0.0:* 1/systemd
udp 0 0 127.0.0.1:323 0.0.0.0:* 6364/chronyd
udp6 0 0 :::1002 :::* 6365/rpcbind
udp6 0 0 :::111 :::* 1/systemd
udp6 0 0 ::1:323 :::* 6364/chronyd
21 端口:FTP协议,文件传输协议
23 端口:telent 远程登录
7、命令:ss
- 功能:类似于netstat命令 查看更详细的网络连接进程 显示的信息更加简洁
8、命令:write
- 功能:向指定的在线用户发送信息
- 命令:write [用户]
给在线用户发送信息:类似于单播
[root@localhost ~]# write root pts/1
hello
回车:发送信息
9、命令:wall
- 功能:向所有在线用户发送信息
[root@localhost ~]# wall
hello
ctrl + d #使用组合键才能发送信息 #类似于广播#
10、命令:mail
- 功能:给指定用户发送邮件信息,以及接收邮件信息
[root@localhost ~]# mail zhangsan
Subject:XXXX
123456
qwertyui
ctrl + d #发送
ctrl + d 发送邮件:
查收邮件:
[root@localhost ~]# mail
Heirloom Mail version 12.5 7/5/10. Type ? for help.
"/var/spool/mail/root": 1 message 1 new
>N 1 root Tue May 26 02:59 18/617 "test"
& 1
Message 1:
From root@localhost.localdomain Tue May 26 02:59:20 2020
Return-Path: <root@localhost.localdomain>
X-Original-To: root
Delivered-To: root@localhost.localdomain
Date: Tue, 26 May 2020 02:59:20 +0800
To: root@localhost.localdomain
Subject: test
User-Agent: Heirloom mailx 12.5 7/5/10
Content-Type: text/plain; charset=us-ascii
From: root@localhost.localdomain (root)
Status: R
hello , i am root.
八、系统资源查看命令
1、命令:w
- 功能:查询当前登陆服务器的用户
[root@localhost ~]# w
19:12:16 up 10:54, 1 user, load average: 0.00, 0.01, 0.05
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/0 192.168.88.1 16:22 8.00s 0.14s 0.00s w
第一行:当前时间 持续运行时间,登录用户数量,1分钟,5分钟,15分钟 前的平均负载
第二行
第一列:用户名
第二列:TTY*
:通过本地终端登录 pts/*
:使用远程终端登录 * 代表数字
第三列:FROM
:来自哪里的客户端
第四列:LOGIN@
:登陆的时间
第五列:IDLE
:用户闲置时间
第六列:JCPU
:所有进程占用cpu时间
第七列:PCPU
:当前进程占用cpu时间
第八列:WHAT
用户正在进行的操作命令
2、命令:who
- 功能:查询当前登录的用户
- 命令所在路径:/usr/bin/who
- 执行权限:所有用户
【拓展】
whoami :显示当前的用户名
who am i :显示自己当前的窗口信息
3、命令:last
- 功能:列出所有登录过系统的相关信息
- 命令所在路径:/usr/bin/last
- 执行权限:所有用户
4、命令:lastlog
- 功能:显示所有账户最后一次的登录时间
- 命令所在路径:/usr/bin/lastlog
- 执行权限:所有用户
[root@localhost ~]# lastlog
用户名 端口 来自 最后登陆时间
root pts/2 192.168.88.1 二 5月 24 00:52:18 +0800 2020
bin **从未登录过**
daemon **从未登录过**
adm **从未登录过**
lp **从未登录过**
5、命令lastb
- 功能:查看登录错误的信息(登录失败信息)
[root@localhost ~]# lastb
root ssh:notty 192.168.88.1 Tue May 24 03:15 - 03:15 (00:00)
root ssh:notty 192.168.88.1 Tue May 24 03:15 - 03:15 (00:00)
root ssh:notty 192.168.88.1 Tue May 24 03:15 - 03:15 (00:00)
root ssh:notty 192.168.88.1 Tue May 24 03:15 - 03:15 (00:00)
root ssh:notty 192.168.88.1 Tue May 24 03:15 - 03:15 (00:00)
root ssh:notty 192.168.88.1 Tue May 24 03:15 - 03:15 (00:00)
btmp begins Tue May 24 03:15:10 2020
总结:
last、lastlog、lastb这三个命令不能使用(cat/more/less/head/tail)打开,里面内容为二进制格式
九、挂载命令
- linux所有存储设备都必须挂载使用,包括硬盘、光盘、U盘等
- 命令名称:mount
- 命令路径:/bin/mount
1、mount
- 挂载:是存储设备和挂载点建立连接的过程。
- 功能:查询系统中已经挂载的设备
常见的存储设备:
/dev/sda1
: 第一个scsi硬盘的第一分区 #硬盘、U盘、移动硬盘
/dev/cdrom
: 光盘
/dev/sr0
: 光盘其中的“0”为光盘序号
常用挂载点:必须为空目录
/mnt
/media
/cdrom
挂载格式:
mount [-t 文件系统类型] [-o 特殊选项] 设备文件名 挂载点 #第一个[]里的内容可以省略
选项:
-t 文件系统:加入文件系统类型来指定挂载的类型,可以ext3、ext4、iso9660 等文件系统。
-o 特殊选项:可以指定挂载的额外选项,比如读写权限、同步异步等,如果不指定则默认值生效。
iso9660:光盘的系统文件
特殊选项一: rw/ro #读写/只读#
挂载
命令:mount -t fs -o rw 设备 挂载点 #fs:文件系统
将分区挂载为读写
命令:mount -t fs -o ro 设备 挂载点
将分区挂载为只读
重新挂载
命令:mount -t fs -o remount,rw 设备/挂载点
将分区重新挂载为读写
命令:mount -t fs -o remount,ro 设备/挂载点
将分区重新挂载为只读
特殊选项二:exec/noexec #能/不能执行可执行文件(文件有x权限)#
命令:mount -t fs -o remount,exec 设备/挂载点
将分区重新挂载为能执行可执行文件
命令:mount -t fs -o remount,noexec 设备 挂载点
将分区重新挂载为不能执行可执行文件
文件系统的执行权限的优先级别高于文件本身的权限,即文件本身有执行权限,如果文件系统不让其执行,文件也没法执行。
2、挂载硬盘分区、移动硬盘
[root@lchuan ~]mkdir /disk1 #创建挂载点
[root@lchuan ~]mount /dev/sdb1 /mnt/disk1 #挂载硬盘分区或者移动硬盘
3、挂载光盘
[root@lchuan ~]mount -t iso9660 /dev/sr0 /mnt #/mnt必须是已存在的目录
4、挂载U盘
- 命令:fdisk -l:查看所有可以识别的磁盘类存储设备(磁盘、移动硬盘、U盘)
[root@lchuan ~]fdisk -l #查看当前系统下的存储设备,确认U盘的设备名称
[root@lchuan ~]mount -t vfat /dev/sdb1 /mnt/usb #fat32格式的U盘挂载方式
注:Linux默认情况不识别NTFS格式。
5、卸载
格式:umount 设备名称或者是挂载点 #所有的挂载的设备卸载方式都一样
6、常用命令补充
挂载镜像文件:
[*.iso] #服务器没有光驱时使用此方法进行挂载
-o loop #挂载本地文件到某挂载点
格式:mount -o loop *iso /mnt #其中-o loop是将文件模拟为某设备
例:mount -o loop CentOS.iso /mnt
使挂载永久生效 /etc/fstab
挂载设备{设备名&UUID} 挂载点 文件系统 挂载属性{default} 0 0
/dev/sr0 /media iso9660 default 0 0
#此配置文件中所填写的挂载映射关系,会每次开机时自动执行,开机自动挂载