Linux实操篇(搜索查找类、压缩解压类:常用命令)
接上篇:Linux实操篇(用户权限类:常用命令)
find:查找文件或目录
-- 在指定的目录下递归查找满足条件的文件或者目录显示在终端 -- 搜索范围:通常是在一个目录下搜索,默认不写目录,则表示当前目录下 -- 选项 -name:按照指定的文件名查找文件 -- 选项 -user:按照文件或目录所属用户名查找文件 -- 选项 -size:按照指定的文件大小查找文件 -- 选项 -size 单位 b:块(512字节) -- 选项 -size 单位 c:字节 -- 选项 -size 单位 w:字 -- 选项 -size 单位 k:千字节 -- 选项 -size 单位 M:兆字节 -- 选项 -size 单位 G:G字节 find [搜索范围] [选项]
-- 在根目录下的root目录下查找名称为info的文件或者目录(即当前所在目录) [root@hadoop100 ~]# find /root/ -name info /root/.local/share/Trash/info -- 在当前所在目录下查找名称为info的文件或者目录(即根目录下的root目录下) [root@hadoop100 ~]# find -name info ./.local/share/Trash/info [root@hadoop100 ~]# touch 公共/info [root@hadoop100 ~]# find -name info ./.local/share/Trash/info ./公共/info [root@hadoop100 ~]# find /root/公共/ -name info /root/公共/info [root@hadoop100 ~]# rm 公共/info rm:是否删除普通空文件 "公共/info"?y -- 使用通配符*来进行查找 [root@hadoop100 ~]# find -name "*.cfg" ./anaconda-ks.cfg ./initial-setup-ks.cfg ./.config/yelp/yelp.cfg ./.local/share/telepathy/mission-control/accounts.cfg ./.local/share/telepathy/mission-control/accounts-goa.cfg -- 根据选项 -user 查找文件属于ithailin的文件或目录 [root@hadoop100 ~]# find /home/ -user ithailin /home/ithailin /home/ithailin/.mozilla /home/ithailin/.mozilla/extensions /home/ithailin/.mozilla/plugins /home/ithailin/.bash_logout /home/ithailin/.bash_profile /home/ithailin/.bashrc /home/ithailin/.cache /home/ithailin/.cache/abrt /home/ithailin/.cache/abrt/lastnotification /home/ithailin/.config /home/ithailin/.config/abrt /home/ithailin/.bash_history [root@hadoop100 ~]# ls -lh 总用量 8.0K -rw-------. 1 root root 1.7K 7月 25 16:25 anaconda-ks.cfg -rw-r--r--. 1 root root 1.8K 7月 25 16:28 initial-setup-ks.cfg drwxr-xr-x. 2 root root 6 8月 19 16:40 公共 drwxr-xr-x. 2 root root 6 7月 25 16:28 模板 drwxr-xr-x. 2 root root 6 7月 25 16:28 视频 drwxr-xr-x. 2 root root 6 7月 25 16:28 图片 drwxr-xr-x. 2 root root 6 7月 25 16:28 文档 drwxr-xr-x. 2 root root 6 7月 25 16:28 下载 drwxr-xr-x. 2 root root 6 7月 25 16:28 音乐 drwxr-xr-x. 2 root root 34 8月 16 15:36 桌面 -- 查找当前目录下文件大小大于2M的文件 [root@hadoop100 ~]# find -size +2M ./.cache/mozilla/firefox/43xwjys1.default-default/startupCache/scriptCache.bin ./.cache/mozilla/firefox/43xwjys1.default-default/startupCache/startupCache.8.little ./.mozilla/firefox/43xwjys1.default-default/places.sqlite ./.mozilla/firefox/43xwjys1.default-default/favicons.sqlite
locate:快速定位文件所在目录
locate指令利用事先建立的系统中所有文件名称及路径的 locate数据库实现快速定位给定的文件。 locate指令无需遍历整个文件系统,査询速度较快。为了保证查询结果的准确度,管理员必须定期更新 locate数据库。
locate数据库并不是实时更新的,因此需要在查询前执行一次命令:updatedb 进行 locate数据库的更新操作;
locate [搜索文件名] [root@hadoop100 ~]# updatedb [root@hadoop100 ~]# locate tmp /tmp /etc/tmpfiles.d /etc/selinux/tmp /etc/selinux/targeted/active/modules/100/tmpreaper ... ... ...
grep:过滤查找文件以及 ”|“ 管道符
管道符 ”|“:表示将前一个命令处理的结果输出到后面的命令进行处理
-- 选项 -n:显示匹配行及行号 grep [选项] [查找内容] [源文件]
-- 查找当前目录下 initial-setup-ks.cfg文件中boot的内容,并显示行号 [root@hadoop100 ~]# grep -n boot initial-setup-ks.cfg 3:xconfig --startxonboot 12:# Run the Setup Agent on first boot 13:firstboot --enable 23:network --bootproto=dhcp --device=ens33 --ipv6=auto --activate 24:network --bootproto=dhcp --hostname=hadoop100 31:# System bootloader configuration 32:bootloader --append=" crashkernel=auto" --location=mbr --boot-drive=sda
-- 查看当前目录下的文件或目录,并且进行筛选,.cfg的进行显示 [root@hadoop100 ~]# ls | grep .cfg anaconda-ks.cfg initial-setup-ks.cfg
wc:统计,配合管道符”|“使用
-- 在当前目录下initial-setup-ks.cfg文件里查找boot,并显示行号 [root@hadoop100 ~]# grep -n boot initial-setup-ks.cfg 3:xconfig --startxonboot 12:# Run the Setup Agent on first boot 13:firstboot --enable 23:network --bootproto=dhcp --device=ens33 --ipv6=auto --activate 24:network --bootproto=dhcp --hostname=hadoop100 31:# System bootloader configuration 32:bootloader --append=" crashkernel=auto" --location=mbr --boot-drive=sda -- 将前面的结果进行统计。wc:统计命令 [root@hadoop100 ~]# grep -n boot initial-setup-ks.cfg | wc -- 第一个数表示行数,第二个数表示单词数量(以空格分割),第三个数表示所有单词所占用的字节大小 7 29 316
gzip、gunzip:压缩、解压文件
-- 只能压缩文件,不能压缩目录 -- 不保留原文件 -- 同时压缩多个文件会产生多个压缩包 -- gzip 文件:压缩文件,只能将文件压缩成 *.gz后缀名的文件 -- gunzip 文件.gz:解压文件 gzip 文件 gunzip 文件.gz
[root@hadoop100 ~]# ls aaa.txt anaconda-ks.cfg initial-setup-ks.cfg 公共 模板 视频 图片 文档 下载 音乐 桌面 [root@hadoop100 ~]# gzip aaa.txt [root@hadoop100 ~]# ls aaa.txt.gz anaconda-ks.cfg initial-setup-ks.cfg 公共 模板 视频 图片 文档 下载 音乐 桌面 [root@hadoop100 ~]# gunzip aaa.txt.gz [root@hadoop100 ~]# ls aaa.txt anaconda-ks.cfg initial-setup-ks.cfg 公共 模板 视频 图片 文档 下载 音乐 桌面
zip、unzip:压缩、解压
-- 压缩文件或目录,并保留原文件 -- 选项 -r:压缩目录 zip [选项] xxx.zip -- 解压文件或目录,并保留原文件 -- 选项 -d<目录>:指定解压后文件的存放目录 unzip [选项] xxx.zip
[root@hadoop100 ~]# ls anaconda-ks.cfg initial-setup-ks.cfg 公共 模板 视频 图片 文档 下载 音乐 桌面 -- 压缩 [root@hadoop100 ~]# zip -r myroot.zip /root/ adding: root/ (stored 0%) adding: root/.bash_logout (stored 0%) adding: root/.bash_profile (deflated 19%) ... ... ... adding: root/.viminfo (deflated 75%) [root@hadoop100 ~]# ls -lh 总用量 52M -rw-------. 1 root root 1.7K 7月 25 16:25 anaconda-ks.cfg -rw-r--r--. 1 root root 1.8K 7月 25 16:28 initial-setup-ks.cfg -rw-r--r--. 1 root root 52M 8月 22 10:38 myroot.zip drwxr-xr-x. 2 root root 6 8月 19 16:40 公共 drwxr-xr-x. 2 root root 6 7月 25 16:28 模板 drwxr-xr-x. 2 root root 6 7月 25 16:28 视频 drwxr-xr-x. 2 root root 6 7月 25 16:28 图片 drwxr-xr-x. 2 root root 6 7月 25 16:28 文档 drwxr-xr-x. 2 root root 6 7月 25 16:28 下载 drwxr-xr-x. 2 root root 6 7月 25 16:28 音乐 drwxr-xr-x. 2 root root 34 8月 16 15:36 桌面 -- 解压 [root@hadoop100 ~]# unzip -d /tmp myroot.zip Archive: myroot.zip creating: /tmp/root/ extracting: /tmp/root/.bash_logout ... ... [root@hadoop100 ~]# ls anaconda-ks.cfg initial-setup-ks.cfg myroot.zip 公共 模板 视频 图片 文档 下载 音乐 桌面 [root@hadoop100 ~]# ls /tmp/ root vmware-root_600-2722697857 systemd-private-0d6c84431f64426bbc3df028ab1996fb-bolt.service-Op48jT vmware-root_604-2731152132 systemd-private-0d6c84431f64426bbc3df028ab1996fb-chronyd.service-CCkPx4 vmware-root_605-3980232922 systemd-private-0d6c84431f64426bbc3df028ab1996fb-colord.service-G2j5WP vmware-root_608-2722828967 systemd-private-0d6c84431f64426bbc3df028ab1996fb-cups.service-cnZwc9 vmware-root_609-3988556153 systemd-private-0d6c84431f64426bbc3df028ab1996fb-rtkit-daemon.service-gM4eUW vmware-root_625-4021587817 tracker-extract-files.0 vmware-root_629-4013395692 vmware-root_593-4022112081 vmware-root_651-4013395565 vmware-root_598-2689143944 yum_save_tx.2022-08-16.14-15.8j8dwv.yumtx [root@hadoop100 ~]# ls /tmp/root/ anaconda-ks.cfg initial-setup-ks.cfg 公共 模板 视频 图片 文档 下载 音乐 桌面
tar:打包、归档
-- 打包目录,压缩后的文件格式为 tar.gz -- 选项 -c:产生tar.gz打包文件 -- 选项 -v:显示详细信息 -- 选项 -f:指定压缩后的文件名 -- 选项 -z:打包同时压缩 -- 选项 -x:解包 .tar 文件 -- 选项 -C:解压到指定目录 tar [选项] xxx.tar.gz [将要打包的目录或文件]
[root@hadoop100 ~]# ls anaconda-ks.cfg initial-setup-ks.cfg 公共 模板 视频 图片 文档 下载 音乐 桌面 -- 选项 -z:打包并压缩 -- 选项 -c:产生tar.gz打包文件 -- 选项 -v:显示详细信息 -- 选项 -f:指定压缩后的文件名 [root@hadoop100 ~]# tar -zcvf myroot.tar.gz anaconda-ks.cfg initial-setup-ks.cfg 文档/ anaconda-ks.cfg initial-setup-ks.cfg 文档/ [root@hadoop100 ~]# ls anaconda-ks.cfg initial-setup-ks.cfg myroot.tar.gz 公共 模板 视频 图片 文档 下载 音乐 桌面 -- 选项 -z:打包并压缩 -- 选项 -x:解压文件 -- 选项 -v:显示详细信息 -- 选项 -f:指定压缩后的文件名 [root@hadoop100 ~]# tar -zxvf myroot.tar.gz -C /tmp/ anaconda-ks.cfg initial-setup-ks.cfg 文档/ [root@hadoop100 ~]# ls /tmp/ anaconda-ks.cfg vmware-root_600-2722697857 initial-setup-ks.cfg vmware-root_604-2731152132 systemd-private-0d6c84431f64426bbc3df028ab1996fb-bolt.service-Op48jT vmware-root_605-3980232922 systemd-private-0d6c84431f64426bbc3df028ab1996fb-chronyd.service-CCkPx4 vmware-root_608-2722828967 systemd-private-0d6c84431f64426bbc3df028ab1996fb-colord.service-G2j5WP vmware-root_609-3988556153 systemd-private-0d6c84431f64426bbc3df028ab1996fb-cups.service-cnZwc9 vmware-root_625-4021587817 systemd-private-0d6c84431f64426bbc3df028ab1996fb-rtkit-daemon.service-gM4eUW vmware-root_629-4013395692 tracker-extract-files.0 vmware-root_651-4013395565 vmware-root_593-4022112081 yum_save_tx.2022-08-16.14-15.8j8dwv.yumtx vmware-root_598-2689143944 文档