目录
文件内容过滤 (grep)
在某个文件中查找某个内容
grep '{内容}' {文件路径}
grep 'root' /etc/passwd
在一个目录的所有文件中查找某个字符串
grep -r ‘{内容}' {目录或文件}
grep -r 'root' /etc/
这里返回的是路径,和内容
- -l 可以 只 返回路径
命令查找 (which)
which {命令}
#查找ls 命令所在的文件
which ls
查询命令和配置文件的位置(whereis)
whereis rpm
rpm: /usr/bin/rpm /usr/lib/rpm /etc/rpm /usr/share/man/man8/rpm.8.gz
whereis passwd
passwd: /usr/bin/passwd /etc/passwd /usr/share/man/man1/passwd.1.gz
文件查找(find)
语法:
find 路径 条件 跟条件相关的操作符 [-exec 动作]
路径:
- 1.默认不写路径时查找的是当前路径.
- 2.加路径。
条件:
- 1.指定的名称 -name
- 2.文件类型 -type
- 3.权限
- 4.时间
根据文件名查找(-name)
find /etc -name "*.ifcfg-ens33" #以名字的方式查找
通配符需要写在引号里边
find /etc -iname "Ifcfg-ens33" #-i忽略大小写
按文件类型(-type)
查找 /opt/ 目录下 名为dir 的目录
find /opt/ -type d -name 'dir'
参数
- -tyep -f 文件类型
- -type -d 目录类型
- -type -l 链接
- -type -b 设备块
根据文件权限查找(-perm)
实例:查找root 目录下 权限为644 的所有文件
find /root/ -perm 644
了解
find /usr/bin -perm -4000 #包含set uid
find /usr/bin -perm -2000 #包含set gid
find /usr/bin -perm -1000 #包含sticky
按文件大小(-size)
find /etc -size +5M #大于5M
find /etc -size 5M #等于5M
find /etc -size -5M #小于5M
find / -size +3M -a -size -5M #查找/下面大于3M而且小于5M的文件
-a:and
find / -size -1M -o -size +80M #查找/下面小于1M或者大于80M的文件
-o:or
find / -size -3M -a -name "*.txt" #查找/ 下面小于3M而且名字是.txt的文件
按时间查找 (-atime)
find /etc/ -atime -10 #十天内被访问过
find /etc/ -amin +10 #十天之前被访问过
-atime = access访问时间 最后一次访问时间
-mtime = modify改变时间 文件内容最后修改时间
-ctime = change修改时间 文件权限被改动的时间
-amin #分钟
-mmin #分钟
-cmin #分钟
查找之后操作(xargs exec)
find /etc -name "ifcfg*" -exec cp -rf {} /tmp \;
find /home/ -name "test*" | xargs -i cp {} /tmp/
还有一种写法
find . -perm 715 -print 打印 一般是默认执行的
find . -perm 715 -ls 显示细节
find . -perm 715 -delete 找到之后并删除
打包 tar -cf -xf
#tar cvf etc.tar /etc/ 被打包的文件 ...
c :create 创建
v :verbose 详细信息
f :file 指定文件
解包
tar xvf filename.tar -C /root/Desktop
x: extract 解压缩 解包
-C: 指定解包路径
压缩gzip
注意只能压缩文件
gzip
gunzip {压缩文件}
bunzip2 {压缩文件}
#解压
gzip -d {压缩文件}
bzip2 -d {压缩文件}
打包压缩同步(tar cf)
tar -cf {压缩包名} {文件或目录名字}
tar -czvf dirname.tar.gz dirname #gzip
tar -cjvf dirname.tar.bz2 dirname #bzip2
tar -cJvf dirname.tar.xz dirname #xzip
zip -r -q dirname.zip dirname #zip
解压解包(tar xf)
tar -x[z|j|J]f 包名
unzip 压缩包名
指定解压位置(-C)
tar -xf {压缩包} -C {需要解压到的路径}
tar -xf etc.tar.gz -C /opt
以时间为压缩名字
touch file-`date +%F`.txt
天降大任 不屈为坚 人间此行 不可清浅