查找文件
1,按文件名查找
find $path -name '$filename' -name区分文件名大小写 find $path -iname '$filename' -iname不区分文件名大小写
熟练使用通配符'*'
例:查找ens33网卡的配置文件,但忘记了配置文件的名字
[root@qqfarm ~]# find / -name '*ens33' /etc/sysconfig/network-scripts/ifcfg-ens33
2,按文件大小查找
范围:+表示大于 -表示小于 等于不需要符号
大小:M(必须大写) k(必须小写) c(表示字符)
在目标位置查找大于1兆的文件 find $path -size +1M 在目标位置查找小于1兆的文件 find $path -size -1M
-a 并且
例:在目标位置查找文件名为.zip并且文件大于20M的文件
[root@qqfarm ~]# find ./ -name '*.zip' -a -size +20M ./farm-ucenter1.5.zip
-o 或
例:在目标位置查找文件名为.zip或者文件大于20M的文件
[root@qqfarm ~]# find ./ -name '*.zip' -o -size +20M ./farm-ucenter1.5.zip ./master.zip
3,按文件类型查找文件
类型:普通文件 f 目录d 符号链接l 块设备文件b
字符设备文件c socket文件s 管道文件p
find $path -type $文件类型
4,按文件日期查找文件
-
访问时间 (-atime/天,-amin/分钟):用户最近一次访问时间。
-
修改时间 (-mtime/天,-mmin/分钟):文件最后一次修改时间。
-
变化时间 (-ctime/天,-cmin/分钟):文件数据元(例如权限等)最后一次修改时间。
4.1按照创建日期查找 文件属性被修改
find $path -ctime -n/+n
4.2按照修改日期查找 文件内容被修改
find $path -mtime -n/+n
4.3按照访问日期查找 文件被访问
find $path -atime -n/+n
属性:-n:n天以内 +n:n天以前
按分钟查找:语法与上述查询方法相同
-amin -cmin -mmin
命令名称 | 命令含义 |
---|---|
-amin | 访问时间 access |
-cmin | 文件属性 change |
-mmin | 文件内容 modify |
5,按文件权限查找
find $path -perm 755 #再目标位置下查找文件权限为755的文件
6,高级查找
-exec
语法:find 路径 查找方式 -exec shell命令 {} \;
-
{}
: 代表find
命令找到的每个文件或目录的占位符。 -
\;
: 结束-exec
选项的标记。
例:find ./ -name '*.gz' -exec rm -rf {} \;查找当前目录下以.gz结尾的文件,并删除
xargs
语法:find 路径 查找方式 | xargs shell命令
例:find ./ -name '*.gz' | xargs -i rm -rf {} #-i使{}有意义
-exec和xargs的区别
-exec:参数是一个一个传递的,传递一个参数执行一次命令。 xargs:将前一个命令的标准输出传递给下一个命令,作为它的参数转换成下一个命令的参数列表。 =============== 1、exec 每处理一个文件或者目录,它都需要启动一次命令,效率不好; 2、exec 格式麻烦,必须用 {} 做文件的代位符,必须用 \来转义; 作为命令的结束符,书写不便。 3、xargs不能操作文件名有空格的文件; 综上,如果要使用的命令支持一次处理多个文件,并且也知道这些文件里没有带空格的文件,那么使用 xargs比较方便; 否则,就要用 exec了。
查找文件内容
grep 参数 "内容" 查找目录或文件
grep "$keyword" $filename
参数:
-r 若是目录,则可以递归查找
-n:可以显示该查找内容所在的行号
-i:可以忽略大小写进行查找
-v:不显示含有某字符串
查看文件属性详情
#语法:stat $filename
查看命令所在位置
which $command whereis $command
打包压缩
Linux中常见的打包压缩工具:tar,gzip,zip,bzip2,xzip
tar(大包),gzip(压缩) bzip2(只压缩)
各常见工具的优劣势
gzip #压缩速度快,但压缩率略低 zip #应用广泛,压缩率低 bzip2 #压缩率高,但压缩速度慢 xzip #压缩率很高,但压缩速度慢 压缩速度:gzip>zip>bzip2>xzip yum -y install bzip2 #打包bzip2需要安装
打包解包命令
tar 常用的参数: -f 指定文件 -v 详细地列出处理的文件 -c 创建一个新的包 -z 使用gzip的格式进行压缩 -x 从归档中解出文件
-t 列出归档内容
-r 追加文件至归档结尾
打包语法: tar cvf $filename.tar $path 解包语法: tar xvf $filename.tar #会在执行命令的环境下解包 tar xvf $filename.tar -C $path #-C指定解包位置
压缩命令
打包压缩
gzip打包压缩语法: tar czvf $filename.tar.gz $path bzip2打包压缩语法:tar cjvf $filename.tar.bz2 $path #j使用bzip2打包压缩 xzip打包压缩语法:tar cJvf $filename.tar.xz $path #J使用xzip打包压缩
解包解压缩
gzip解包解压缩语法: tar xzvf $filename.tar.gz -C $path bzip2解包解压缩语法:tar xjvf $filename.tar.bz2 -C $path #j使用bzip2打包压缩 xzip解包解压缩语法:tar xJvf $filename.tar.xz -C $path #J使用xzip打包压缩
压缩:
zip,gzip,bzip2压缩语法: #zip 源文件 #格式 file.zip结尾 #gzip 源文件 #格式 file.gz结尾 #bzip2 源文件 #格式 file.bz2结尾
解压缩
语法: #gunzip 压缩文件 #bunzip2 压缩文件 #gzip -d 压缩文件 #bzip2 -d 压缩文件 -d:dicompress 解压缩
扩展--按时间创建目录或者文件
# mkdir `date +%F`-upload # touch file-`date +%F`.txt
小技巧及快捷键
小技巧
查看系统磁盘使用率 df -Th
; 依次执行所有命令,不管前面的命令是否执行成功
|| 只有||前面的命令执行失败,||后的命令才会执行
&& 只有&&前面的命令执行成功,&&后的命令才会执行
快捷键
快捷指令: Ctrl + a :移到命令行首 Ctrl + e :移到命令行尾 Ctrl + u :从光标处删除至命令行首 Ctrl + k :从光标处删除至命令行尾 Ctrl + w :从光标处删除至字首 Ctrl + d :删除光标处的字符 Ctrl + h :删除光标前的字符 重新执行命令: Ctrl + p:历史中的上一条命令 ESC + .:打印之前执行过的命令的最后一部分 以空格为分隔符 控制命令: Ctrl + l:清屏 Ctrl + c:终止命令 Tab键: 自动补全 查看历史命令 history 从历史命令中检索 ctrl + R