个人主页:哈维数据
QQ:1876815991
邮箱:cnharvey@foxmail.com
一、man命令
1.使用方法
root@localhost ~]# man [选项] 需要查询的命令
命令名称:man
英文原意:mannual pages
所在路径:/usr/bin/man
执行权限:所有用户
功能描述:显示联机帮助手册
选项 | 作用 |
---|---|
-f | 查看不同级别的帮助,比如passwd命令和passwd文件,就需要两个级别的帮助,可以使用whatis命令来看,whatis的数据库没更新的话需要使用makewhatis来进行更新数据库 |
-k | 查找所有内容中含有的字符串,说明里有也会列举,查出来的结果太多,不太有帮助。 |
2.man的快捷键
快捷键 | 作用 |
---|---|
上箭头 | 向上移动一行 |
下箭头 | 向下移动一行 |
PgUp | 向上翻一页 |
PgDn | 向下翻一页 |
g | 移动到第一页 |
G | 移动到最后一页 |
/字符串 | 从当前页向下搜索 |
?字符串 | 从当前页向上搜索 |
n | 搜索字符向下找 |
N | 搜索字符向上找 |
3.帮助级别
1 用户指令
2 系统调用
3 程序库调用
4 设备
5 文件格式
6 游戏
7 杂项
8 系统指令
9 内核或内部指令
二、info命令(书一样的帮助文档)
1.使用方法
root@localhost ~]#info 需要查询的命令
2.快捷键
快捷键 | 作用 |
---|---|
上箭头 | 向上移动一行 |
下箭头 | 向下移动一行 |
PgUp | 向上翻一页 |
PgDn | 向下翻一页 |
tab | 在有*符号的节点间进行切换 |
* | 进入有*符号的子页面,查看详细帮助信息 |
u | 进入上层信息,回车是进入下层信息 |
n | 进入下一小节信息 |
p | 进入上一小节信息 |
? | 查看帮助信息 |
q | 推出info |
这本书实在太长了,所以在man找不到的时候才会使用info。就像一本linux的百科一样
三、help命令(功能有限,真的不如man好用)
1.使用方法
help只能用于获取Shell内置命令的帮助
命令名称:help
英文原意:help
所在路径:shell内置
执行权限:所有用户
功能描述:显示shell内置命令的帮助,可以与type命令结合使用用来区分内置命令和外部命令
2.辅助命令
shell是linux的命令解释器
- type命令:输出结果有路径代表这是外部命令,如果输出的是is a shell builtin代表是内置命令
- linux中总共有几十个内部命令,所以不如使用man来进行查询。
四、--help 选项
1.使用方法
大多数命令都有这个选项,而且有很多命令被翻译的是中文。
在命令后添加--help可以看这个命令的帮助。
五、命令搜索命令
1.whereis
root@localhost ~]# whereis 需要查询的命令
命令名称:whereis
英文原意:locate the binary,source,and manual page files for a command
所在路径:/usr/bin/whereis
执行权限:所有用户
功能描述:查找二进制命令,源文件和帮助文件的命令
whereis能找到命令的目录
2.which
root@localhost ~]# whitech [选项] 需要查询的命令
查找命令的同时查找帮助文档。同时能找到别名
五、文件搜索命令
1.locate(搜文件名使用)
root@localhost ~]# locate 搜索的文件名
命令名称:locate
英文原意:find files by name
所在路径:/usr/bin/locate
执行权限:所有用户
功能描述:按照文件名来查找文件
- 优点:使用数据库来搜索文件,速度快,资源消耗小,数据库位置/var/lib/mlocate/mlocate.db
- 缺点:只能按照文件名来搜索文件,而不能执行更复杂的搜索,比如按照权限、大小、修改时间等。
使用locate来进行搜索的时候,我们新建的文件并不会第一时间在/var/lib/mlocate/mlocate.db更新,导致我们没法第一时间使用搜索命令,正常来讲,我们退出重新登陆就库就被刷新出来了。如果真的有需求,那么我们可以updatedb命令来更新locate的数据库。新增文件越多,更新越快。
locate数据库配置文件:/etc/updatedb.conf
2.find命令
命令名称:find
英文原意:search for files in a directory hierarchy
所在路径:/bin/find
执行权限:所有用户
功能描述:更复杂的搜索文件
3.按照文件名搜索
root@localhost ~]# find 搜索路径 [选项] 搜索内容
选项 | 功能 |
---|---|
-name | 按照文件名搜索 |
-iname | 跟上面命令一样,区别在此命令可以不区分大小写 |
-inum | 按照incode号来搜索,如果只知道i节点号,可以使用此命令来查询(可以查硬链接用) |
这个命令,进行搜索的时候,只能准确的搜索到某个文件。我们后续会学习解决的方法。
4.按照文件大小搜索
root@localhost ~]# find 搜索路径 [选项] 大小
选项 | 功能 |
---|---|
-size | 按照大小搜索,默认查找的只是 搜索数*512个字节 |
find搜索路径后面的大小,我们可以使用+-来进行表示,+100k代表大于100k的文件,-100k代表小于100k的文件
搜索参数 | 功能 |
---|---|
c | 字节 |
k | k |
M | M |
G | G |
k必须小写,M和G必须大写。
5.按照修改时间搜索
linux的时间,有三种
时间类型 | 写法 | 描述 | |
---|---|---|---|
访问时间 | -atime[+ | -] | 按照文件访问时间搜索 |
数据修改时间 | -mtime[+ | -] | 按照文件数据修改时间搜索 |
状态修改时间 | -ctime[+ | -] | 按照文件状态修改时间搜索 |
-5:代表5天内
5:代表5~6天那一天
+5:代表6天前
6.按照权限搜索
root@localhost ~]# find 搜索路径 [-perm] [644]
权限模式 | 选项 | 含义 |
---|---|---|
-权限模式 | -perm | 必须所有权限位的权限都满足查询内容 |
+权限模式 | -perm | 任意一个权限区(3个权限位)的权限满足查询内容,就输出 |
7.按照所有者或者所属组来搜索
[root@localhost ~]# find 搜索路径 [-user] 所有者
[root@localhost ~]# find 搜索路径 [-group] 所属组
[root@localhost ~]# find 搜索路径 [-nouser]
查找没有所有者的文件
-nouser比较常用,主要用于查找垃圾文件,只有一种情况例外,只有外来文件没有所有者。除了这种情况,其他没有所有者的文件都属于垃圾文件,至少是需要我们人工干预的。
8.按照文件类型搜索
root@localhost ~]# find 搜索路径 -type [d、f等文件类型]
9.逻辑运算符
root@localhost ~]# find 搜索路径 [选项] 搜索内容 [逻辑选项] [选项]
范例:
[root@localhost perm]# find -size -1k -a -type f #查询小于1k且是目录的内容
[root@localhost perm]#find-nameabc-o-namehj#查询文件名是abc或者hjk的内容
[root@localhost perm]# find -not -name abc #查询不是abc的命令
选项 | 作用 |
---|---|
-a | and逻辑与,左右条件都要为真 |
-o | or逻辑或,左右有一个真就可以 |
-not | note逻辑非,取反 |
10.其他选项
-exec选项,把命令1的结果交给命令2来处理
范例:
[root@localhost perm]# find -size -1k -a -type f -exec ls -lh {} \;
-rw-r--r--. 1 root root 0 3月 10 17:20 ./abc
--w--w--w-. 1 root root 0 3月 10 17:20 ./hjk
根据上面的显示结果,我们可以看到,find查找的的结果被交给了ls
lh 命令来处理,同样,我们可以将此种方式应用到我们自己的数据文件的整理中(系统的数据不建议),但是为了防止我们失误操作,失误删除。我们最好使用其他命令来代替。比如-ok选项。
ok选项 跟上面的命令相似,但是增加了询问功能
与ok的使用方式基本一致,但是有询问功能。