1、帮助命令
①man:显示联机帮助手册,是最常见的帮助命令,也是Linux最主要的帮助命令。命令所在路径为/usr/bin/man,所有用户可执行。
命令格式:
man [选项] 命令
选项:
-f:查看命令拥有哪个级别的帮助(或者使用whatis 命令)
-k:查看和命令相关的所有帮助,会匹配所有命令或文档中包含该字符的帮助文档
man命令的快捷键:
快捷键 | 作用 |
---|---|
上箭头 | 向上移动一行 |
下箭头 | 向下移动一行 |
PgUp | 向上翻一页 |
PgDn | 向下翻一页 |
g | 移动到第一页 |
G | 移动到最后一页 |
q | 退出 |
/字符串 | 从当前页向下搜索字符串 |
?字符串 | 从当前页向上搜索字符串 |
n | 当搜索字符串时,使用n找到下一个搜到的字符串 |
N | 当搜索字符串时,使用N键反向查询字符串 |
man命令的帮助级别:不是所有命令都有各个级别的帮助
级别 | 作用 |
---|---|
1 | 普通用户可以执行的系统命令和可执行文件的帮助 |
2 | 内核可以调用的函数和工具的帮组 |
3 | C语言函数的帮助 |
4 | 设备和特殊文件的帮助 |
5 | 配置文件的帮助 |
6 | 游戏的帮助 |
7 | 杂项的帮助 |
8 | 超级用户可以执行的系统命令的帮助 |
9 | 内核的帮助 |
示例:
man 5 passwd
②info:info命令的帮助信息是一套完整的资料,每个单独命令的帮助信息只是这套完整资料中的某个小章节
快捷键 | 作用 |
---|---|
上箭头 | 向上移动一行 |
下箭头 | 向下移动一行 |
PgUp | 向上翻一页 |
PgDn | 向下翻一页 |
Tab | 在有“*”符号的节点间进行切换 |
回车 | 进入有“*”符号的子页面,查看详细帮助信息 |
u | 进入上一层信息(回车是进入下一层信息) |
n | 进入下一小节信息 |
p | 进入上一小节信息 |
? | 查看帮助信息 |
q | 退出info信息 |
③help:help是shell内置命令(可以使用type命令来区分内置命令和外部命令),只能获取shell内置命令的帮助,所有用户可执行。shell是Linux的命令解释器。
④–help选项:绝大多数命令都可以使用–help选项来查看帮助,输出的帮助信息是man命令的简要版,例如:
ls --help
2、搜索命令
①whereis:搜索系统命令的命令,不能搜索普通文件。命令所在位置/usr/bin/whereis,所有用户可执行
②which:列出命令所在路径,命令所在路径/usr/bin/which,所有用户可执行
③locate:按照文件名搜索文件,命令所在位置/usr/bin/locate,所有用户可执行
优点:按照数据库搜索,搜索速度快,消耗资源小。数据库位置/var/lib/mlocate/mlocate.db
缺点:只能按照文件名来搜索文件,而不能执行更复杂的搜索,比如按照权限、大小、修改时间等搜索文件
locate bde
有时使用locate查不到自己建立的文件,这是由于数据库不是实时更新的缘故,可以使用命令updatedb来强制更新/var/lib/mlocate/mlocate.db的数据
updatedb
有时我们在/tmp下创建的文件即使updatedb后依然找不到,这可能是配置文件的配置问题:配置文件默认的配置是不搜索/tmp下的文件的,/etc/updatedb.conf配置文件下列举出了不搜索哪些位置和哪些类型的文件,可以更改,更改后需要重启系统才能生效
④find:在目录中搜索文件
a、按照文件名搜索:仅仅搜索的结果是完全匹配的结果,而不是模糊搜索的结果,比如搜索内容为abc,是不会搜到abcd的
b、按照文件大小搜索
这里的“+”的意思是搜索比指定大小还要大的文件,“-”的意思是搜索比指定大小还要小的文件
find命令下大小的单位如下图所示:
示例:
c、按时间搜索:Linux中的文件有访问时间(atime)、数据修改时间(mtime)、状态修改时间(ctime),单位为time时以天为单位,单位也可以是min,就是amin、mmin、cmin,这时将以分钟为单位
这里说一下对[+ -]:
d、按照权限搜索:+表示任何一类用户(文件所有者、所属组、其他人)的权限比搜索的权限大就会匹配到(相当于其中之一的模糊匹配),-表示所有用户(文件所有者、所属组、其他人)的权限都要大于等于所搜索的权限才会匹配(相当于所有的都要模糊匹配),没有+ -则是精准匹配
find . -perm -444
e、按照文件的所有者和所属组搜索
按照所有者和所属组搜索时,“-nouser”选项比较常用,主要用于查找垃圾文件。有一种例外情况,就是外来文件,比如光盘、U盘中的文件如果是从Windows复制的,在Linux查看就是没有所有者的文件,还有手工源码包安装的文件也可能没有所有者。
f、按照文件类型搜索
g、逻辑运算符
find 搜索路径 [选项] 搜索内容
选项:
-a:and 逻辑与
-o:or逻辑或
-not:逻辑非
示例:在当前目录下查找大小大于1288字节并且是文件(非目录)的文件
-not也可以使用!代替:
find . ! -name cangls
h:其他选项
示例:
将-exec换成-ok:在命令2执行由1产生的结果时每次都会询问,适用于删除由命令1产生的结果
注意:
1️⃣-exec选项的作用是将前面的命令的结果交给后面的命令处理,只要写-exec,则一定要写\;
2️⃣-exec后的命令不能使用别名
⑤grep:在文件中提取和匹配符合条件的字符串行(即含有搜索字符串的整行)
命令格式:
grep [选项] "搜索内容" 文件名
选项:
-i:忽略大小写
-n:输出行号
-v:反向查找,查找不含"搜索内容"的那些行
--color=auto:搜索出的关键字用颜色表示
示例:搜索内容中间有空格时必须使用双引号,否则双引号可省略
grep和find命令的区别:find使用通配符匹配,grep使用正则表达式匹配
a、find命令用于在系统中搜索符合条件的文件名(是搜索的文件名而非文件内容),如果需要模糊查询,则可使用通配符进行匹配,搜索时文件名是完全匹配的(find命令可以通过-regex选项,把匹配规则转为正则表达式规则,但不建议这样使用);
b、grep命令用于在文件中搜索符合条件的字符串(搜索的是文件的内容),如果需要模糊查询,则使用正则表达式进行匹配,搜索时字符串是包含匹配的;
通配符和正则表达式的区别:通配符是完全匹配,正则是包含匹配(并不是以搜索内容开头的才匹配,而是只要包含搜索内容就会匹配到)
通配符 | 作用 |
---|---|
? | 匹配一个任意字符,注意一个问号代表一个字符而不能是多个 |
* | 匹配0个或任意多个任意字符,也就是可匹配任何内容 |
[] | 匹配中括号中任意一个字符,注意是只会匹配中括号中的一个字符,即一个[]代表一个字符位 |
[-] | 匹配中括号中任意一个字符,-代表一个范围。例如[a-z] |
[^] | 逻辑非,表示匹配不是中括号内的字符。例如[^0-9]表示匹配一个不是数字的字符 |
正则符 | 作用 |
---|---|
? | 匹配前一个字符重复0次或1次,需要使用egrep才能识别?正则符 |
* | 匹配前一个字符重复0次或任意多次 |
[] | 匹配中括号中任意一个字符,注意只能是一个,即一个[]代表一位 |
[-] | 匹配中括号中任意一个字符,-代表一个范围。例如[a-z] |
[^] | 逻辑非,表示匹配不是中括号内的字符。例如[^0-9]表示匹配一个不是数字的字符 |
^ | 匹配行首 |
$ | 匹配行尾 |
示例:
3、管道符
连接多个命令,将前面的命令的正确输出作为后面命令的操作对象(要注意的是管道符会将前面的命令的结果作为文本流处理,相当于将前面命令的结果保存在内存中的一个临时文件中,因此后面的命令要处理的是文件中的文本字符串而不是文件本身等),类似于find中的-exec。
命令格式:
命令1|命令2
双管道符:统计正在连接的网络连接数量