(1)which ls 查看命令的所在的绝对路径 提供这个命令的别名
/bin/ls
which chown
which cd
他只能查找命令所在的路径
(2)wehreis ls
root@ubuntu:/test# whereis ls
ls: /bin/ls /usr/share/man/man1/ls.1.gz
查看这个命令帮助文档所在的位置/usr/share/man/man1/ls.1.gz
(3)find
上面只能查找命令
find 相当与window ctrl+f 不解释
尽量不要在根目录查找 会占用庞大的资源 能缩的越小越好
find 参数很多很多 今天不可能写完啦
(一)-name 根据文件名来查找
find /etc -name init
在linux中只能匹配这个文件 不会匹配包含这个init的文件 和windows不同
使用通配符号
*匹配任意字符o个和多个
find /etc -name init* 所有 以init开头的都出来啦
find /etc -name *init* 只要有inint的就会出来
?匹配单个字符
find /etc -name init???
很重要:占用的资源越少越号能用? 千万不要用* 资源很值钱
(二)-size 文件大小 block 数据块 512字节=0.5KB
100MB=102400KB=204800block
大于 +204800
小于 -204800
等于 204800
find / -size +204800
(三)-user 根据文件的所有者查找
find /home -user pheodor
(四)根据时间查找
1.天 ctime ,atime,mtime
2.分钟 cmin,amin,mmin
c-change 改变 表示文件的属性被修改过 比如文件的所有者 ,所属属组,权限。。
a-access 访问 被看过。。。
m-modify 修改 表示文件的内容被修改过
-表示多长时间之内 -1
+表示超过多少时间 +1
find /etc -mmin -120
如果黑客入侵 可以通哥这个来看黑客 整过那些文件
find的链接符号
1. 链接符 -a (add)
find /etc -size +163840 -a -size -204800
root@ubuntu:/test# find /etc -name init* -type f
type根据文件类型来查找
f--二进制文件
l--软链接
d-目录
2.逻辑与 -o (or)
第二种 链接符号
find 。。。 -exec 命令 {} \
-ok 提示确认
{}find 查询的结果
\转移符号
例如root@ubuntu:/# \ls -l 就不会显示颜色来 按照本来的样子显示
;结果
find /etc -name inittab -exec ls -l {} \;
查找一个文件直接干掉
find /etc -name newfile -exec rm {} \;
root@ubuntu:/test# find /test -name testfile -exec rm {} \;
find /home -user mike -exec rm -rf {} \;
吧mike用户的所有文件全部干掉啦
find /home -user mike -ok rm -rf {} \;
根据i节点来查找
还是举个例子 比如向我这样的菜鸟可能会创建一个文件 a b a空格b
还有可能创建一个 -a文件
在删除的时候 就不能删除来 怎么办?
root@ubuntu:/test# rm -rf "a b" 用“”来扩起来 也可以
但是有一个更牛x的命令 比如你管理服务器的时候。。就不知道用户创建来 什么命令
find . -inum 16 -exec rm {} \; .代表当前目录
(4)locate 有时候会找不到 这个文件
locate 是查找索引
updatedb
查找速度快死啦
locate /etc a
(5)grep 再文件中搜索匹配的行
root@ubuntu:/test# grep ftp /etc/services
ftp-data 20/tcp
ftp 21/tcp
tftp 69/udp
sftp 115/tcp
ftps-data 989/tcp # FTP over SSL (data)
ftps 990/tcp
venus-se 2431/udp # udp sftp side effect
codasrv-se 2433/udp # udp sftp side effect
gsiftp 2811/tcp
gsiftp 2811/udp
frox 2121/tcp # frox: caching ftp proxy
zope-ftp 8021/tcp # zope management by ftp
root@ubuntu:/test#
这个命令 会吧 只把你对应的行列出来
这个etc/service文件很长 如果你要是用cat命令看 你都不知到从哪里找到
还会有大量的作用 以后细说
--------------------------------------------------------------
帮助命令
(1)man --manual
man ls 他默认调用的是more命令
man sercies 不能写/etc/services 只能写service
他只能查看配额文件的信息
帮助有很多中
一种是配置文件 一中是 命令
例如passwd 会有两种帮助一种是命令的帮助 一种是 /etc/passwd
man 1 passwd 查看命令帮助
man 5 passwd 查看配置文件的帮助
man的时候 会优先查看命令的帮助
(2)info 用法和man一样
(3)whatis
有时候不需要查看那么多信息 他只是提出这个命令是干什么的
whatis ls
root@ubuntu:/test# whatis ls
ls (1) - list directory contents
apropos fstab 想当与man-k
makewhatis 要更新你的搜索数据库
help cd
查看shell内置命令的帮助 他不属于任何目录
348



被折叠的 条评论
为什么被折叠?



