一、文件查找
1.echo命令
(1)echo命令在文件查找中,通常用来输出查找的结果。它可以将一段文本或者变量提取后的值输出到屏幕上,起到给用户提示的作用。
(2)基本语法:echo [options] string
(3)需要注意的是,echo命令只是将输出结果显示到屏幕上,不会对文件本身进行任何修改或删除操作。
[root@localhost ~]# echo $PATH /usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:/root/bin示例
2.which命令
(1)which命令是一个用于在终端提示符下查找可执行文件或命令的实用程序。它在PATH环境变量中列出的目录中搜索作为参数指定的可执行文件,并显示找到的文件的绝对路径。
(2)基本语法:which [options] COMMAND
(3)参数设置:
-n:制定文件名长度,指定的长度必须大于或等于所有文件中最长的文件名
-p:与-n参数相同,但此处的<文件名长度>包含了文件的路径
-w:指定输出时栏位的宽度
-V:显示版本信息
(4)使用which命令可以快速找到某个特定命令的位置,特别是在不确定该命令是否已经安装或不知道其完整路径的情况下。例如,要查找bash的绝对路径,可以在终端中输入以下命令:which bash,which命令会在PATH环境变量中列出的目录中搜索bash可执行文件,并输出找到的文件的绝对路径。
[root@localhost ~]# which useradd /usr/sbin/useradd [root@localhost ~]# ciji bash: ciji: 未找到命令...示例
3.locate命令
(1)locate命令用于在文件系统中快速查找所需要的文件或目录。它通过使用一个预先构建的索引数据库来加速查找过程。这个索引数据库包含了文件名、文件路径以及其他相关信息。在执行locate命令时,它直接在索引数据库中查找匹配文件,这使得查找速度非常快。
(2)基本语法:locate [options] pattem
(3)参数设置:
-b,--basename:仅将基本名称与指定的模式匹配
-d,--database<DBPATH>:用指定的数据库替换默认数据库,如果指定了多个--database选项,则结果路径是单独路径的串联。
(4)locate命令在查找文件时非常快速,但它的前提是预先构建的索引|数据库需要包含所有文件信息。如果索引数据库没有更新,它可能找不到最新变动的文件。为了避免这种情况,可以手动执行updatedb命令以更新数据库。
[root@localhost ~]# touch qfedu.txt [root@localhost ~]# locate qfedu.txt [root@localhost ~]# updatedb [root@localhost ~]# locate qfedu.txt /root/qfedu.txt示例
4.find命令
(1)find命令用于在文件系统中搜索文件。与locate命令相比,find命令搜索速度较慢,它并不会索引目录,而是对整个目录进行遍历,这会占用很多系统资源。所以为了提高效率,建议在使用find命令时尽量在指定目录下进行搜索,以缩小查找范围。
(2)基本语法:find pathname -options
(3)find命令可根据文件名查找(添加“i”参数忽略大小写;“*”符号为通配符,在不确定文件名称时可使用)。
[root@localhost ~]# find / -name "ifcfg-ens33" /etc/sysconfig/network-scripts/ifcfg-ens33 /tmp/etc/sysconfig/network-scripts/ifcfg-ens33 [root@localhost ~]# find / -iname "ifcfg-ens33" /etc/sysconfig/network-scripts/ifcfg-ens33 /tmp/etc/sysconfig/network-scripts/ifcfg-ens33 [root@localhost ~]# find / -iname "ifcfg-*" /etc/sysconfig/network-scripts/ifcfg-lo /etc/sysconfig/network-scripts/ifcfg-ens33 /tmp/etc/sysconfig/network-scripts/ifcfg-lo /tmp/etc/sysconfig/network-scripts/ifcfg-ens33 /usr/share/doc/initscripts-9.49.53/examples/networking/ifcfg-bond-802.3ad /usr/share/doc/initscripts-9.49.53/examples/networking/ifcfg-bond-activebackup-arpmon /usr/share/doc/initscripts-9.49.53/examples/networking/ifcfg-bond-activebackup-miimon /usr/share/doc/initscripts-9.49.53/examples/networking/ifcfg-bond-slave /usr/share/doc/initscripts-9.49.53/examples/networking/ifcfg-bridge /usr/share/doc/initscripts-9.49.53/examples/networking/ifcfg-bridge-port /usr/share/doc/initscripts-9.49.53/examples/networking/ifcfg-eth-alias /usr/share/doc/initscripts-9.49.53/examples/networking/ifcfg-eth-dhcp /usr/share/doc/initscripts-9.49.53/examples/networking/ifcfg-vlan /usr/share/doc/teamd-1.29/example_ifcfgs/1/ifcfg-eth1 /usr/share/doc/teamd-1.29/example_ifcfgs/1/ifcfg-eth2 /usr/share/doc/teamd-1.29/example_ifcfgs/1/ifcfg-team_test0 /usr/share/doc/teamd-1.29/example_ifcfgs/2/ifcfg-eth1 /usr/share/doc/teamd-1.29/example_ifcfgs/2/ifcfg-eth2 /usr/share/doc/teamd-1.29/example_ifcfgs/2/ifcfg-team_test0 /usr/share/doc/teamd-1.29/example_ifcfgs/3/ifcfg-eth1 /usr/share/doc/teamd-1.29/example_ifcfgs/3/ifcfg-eth2 /usr/share/doc/teamd-1.29/example_ifcfgs/3/ifcfg-team_test0示例
(4)find命令可根据文件大小查找(添加“ls”可以查看文件的详细信息)。
[root@localhost ~]# find /etc/ -size +5M /etc/udev/hwdb.bin [root@localhost ~]# find /etc/ -size 5M [root@localhost ~]# find /etc/ -size -5M /etc/ /etc/fstab /etc/crypttab /etc/mtab /etc/resolv.conf /etc/fonts /etc/fonts/conf.d /etc/fonts/conf.d/62-google-crosextra-caladea-fontconfig.conf /etc/fonts/conf.d/61-urw-fallback-backwards.conf /etc/fonts/conf.d/69-gnu-free-serif.conf /etc/fonts/conf.d/31-cantarell.conf /etc/fonts/conf.d/60-overpass.conf /etc/fonts/conf.d/59-liberation-sans.conf /etc/fonts/conf.d/65-0-lohit-devanagari.conf /etc/fonts/conf.d/20-unhint-small-dejavu-sans.conf /etc/fonts/conf.d/57-dejavu-sans.conf /etc/fonts/conf.d/65-0-paktype-naskh-basic.conf /etc/fonts/conf.d/59-liberation-mono.conf ……部分省略示例
[root@localhost ~]# find /etc/ -size +5M -ls 51522316 8804 -r--r--r-- 1 root root 9011349 9月 13 16:24 /etc/udev/hwdb.bin示例
(5)find命令在不指定目录的层级时,会逐层地对文件系统进行搜索,查找效率低下。通过“-maxdapth”可以指定查找的目录深度。
[root@localhost ~]# find / -maxdepth 3 -a -name "ifcfg-en*" [root@localhost ~]# find / -maxdepth 4 -a -name "ifcfg-en*" /etc/sysconfig/network-scripts/ifcfg-ens33示例
(6)find命令可根据时间查找(atime、mtime、ctime)。
[root@localhost ~]# find /etc -mtime +5 /etc/crypttab /etc/mtab /etc/fonts /etc/fonts/conf.d /etc/fonts/conf.d/62-google-crosextra-caladea-fontconfig.conf /etc/fonts/conf.d/61-urw-fallback-backwards.conf /etc/fonts/conf.d/69-gnu-free-serif.conf /etc/fonts/conf.d/31-cantarell.conf /etc/fonts/conf.d/60-overpass.conf /etc/fonts/conf.d/59-liberation-sans.conf /etc/fonts/conf.d/65-0-lohit-devanagari.conf /etc/fonts/conf.d/20-unhint-small-dejavu-sans.conf /etc/fonts/conf.d/57-dejavu-sans.conf /etc/fonts/conf.d/65-0-paktype-naskh-basic.conf /etc/fonts/conf.d/59-liberation-mono.conf /etc/fonts/conf.d/61-stix.conf /etc/fonts/conf.d/10-hinting-slight.conf /etc/fonts/conf.d/65-0-lohit-assamese.conf /etc/fonts/conf.d/10-scale-bitmap-fonts.conf /etc/fonts/conf.d/66-sil-nuosu.conf ……部分省略 [root@localhost ~]# find /etc -mtime -5 /etc /etc/fstab /etc/resolv.conf /etc/group /etc/gshadow /etc/my.cnf.d /etc/passwd /etc/logrotate.d /etc/shadow /etc/alternatives /etc/alternatives/mysqlbug /etc/firewalld/zones/public.xml /etc/tuned/active_profile /etc/tuned/profile_mode /etc/cups /etc/cups/subscriptions.conf.O /etc/cups/subscriptions.conf [root@localhost ~]# find /etc -mtime 5示例
(7)find命令可根据文件属主、属组查找。
[root@localhost ~]# find /home -user ciji /home/ciji /home/ciji/.mozilla /home/ciji/.mozilla/extensions /home/ciji/.mozilla/plugins /home/ciji/.bash_logout /home/ciji/.bash_profile /home/ciji/.bashrc /home/ciji/.cache /home/ciji/.cache/gdm /home/ciji/.cache/gdm/session.log.old /home/ciji/.cache/gdm/session.log /home/ciji/.cache/imsettings /home/ciji/.cache/imsettings/log.bak /home/ciji/.cache/imsettings/log /home/ciji/.cache/libgweather /home/ciji/.cache/evolution ……部分省略示例
(8)find命令根据文件类型查找:
基本格式:find /dev -type 代表不同文件类型的字母
f:普通文件 d:目录文件 l:链接文件 b:块设备文件
c:字符设备文件 s:套接字文件 p:管道文件
(9)find命令根据文件权限查找(在权限前添加“-”表示包含)。
[root@localhost ~]# find . -perm 644 -ls 35521118 4 -rw-r--r-- 1 root root 18 12月 29 2013 ./.bash_logout 35521119 4 -rw-r--r-- 1 root root 176 12月 29 2013 ./.bash_profile 35548032 4 -rw-r--r-- 1 root root 176 12月 29 2013 ./.bashrc 35548033 4 -rw-r--r-- 1 root root 100 12月 29 2013 ./.cshrc 35548034 4 -rw-r--r-- 1 root root 129 12月 29 2013 ./.tcshrc 33581125 4 -rw-r--r-- 1 root root 1594 11月 18 16:21 ./.cache/imsettings/log.bak 33581126 4 -rw-r--r-- 1 root root 1063 11月 19 15:28 ./.cache/imsettings/log 17444314 0 -rw-r--r-- 1 root root 0 9月 13 16:26 ./.cache/gnome-shell/update-check-3.28 17444319 0 -rw-r--r-- 1 root root 0 9月 13 16:26 ./.cache/abrt/applet_dirlist 33809806 12 -rw-r--r-- 1 root root 12288 11月 14 20:41 ./.cache/event-sound-cache.tdb.6001c707e0c84f73af29f026d1211c88.x86_64-redhat-linux-gnu 85223 4 -rw-r--r-- 1 root root 2 9月 13 16:26 ./.cache/tracker/db-version.txt 85224 1604 -rw-r--r-- 1 root root 1640448 11月 15 22:10 ./.cache/tracker/meta.db 85225 4 -rw-r--r-- 1 root root 11 9月 13 16:26 ./.cache/tracker/db-locale.txt 85216 1512 -rw-r--r-- 1 root root 1546880 11月 19 15:32 ./.cache/tracker/meta.db-wal 85227 32 -rw-r--r-- 1 root root 32768 11月 19 15:32 ./.cache/tracker/meta.db-shm 85228 352 -rw-r--r-- 1 root root 356412 9月 13 16:26 ./.cache/tracker/ontologies.gvdb 85230 4 -rw-r--r-- 1 root root 40 9月 13 16:26 ./.cache/tracker/parser-sha1.txt 4268568 4 -rw-r--r-- 1 root root 11 11月 19 15:28 ./.cache/tracker/locale-for-miner-apps.txt 4268581 4 -rw-r--r-- 1 root root 11 11月 19 15:28 ./.cache/tracker/locale-for-miner-user-guides.txt 85241 4 -rw-r--r-- 1 root root 10 9月 13 16:26 ./.cache/tracker/last-crawl.txt 85242 4 -rw-r--r-- 1 root root 6 9月 13 16:26 ./.cache/tracker/first-index.txt示例
二、文件打包压缩
1.后缀
(1)压缩文件的名称会添加后缀,如.gz、.bz2、.tar.xz、.tar.gz等。
2.tar命令
(1)tar命令是最常用的文件打包命令,它可以将多个文件或目录打包成一个文件。使用tar命令打包文件时,可以选择不同的压缩算法进行压缩,如gzip、 bzip2等。
(2)参数设置:
-c:创建一个新的归档文件
-x:从归档文件中提取文件
-t:列出归档文件的内容
-z: 使用gzip压缩文件,该选项通常与-c和-x选项一起使用
-j:使用bzip2压缩文件
-v:显示正在处理的文件信息
-f: 使用归档文件名作为参数
-p:保留原来的文件权限、所有权和时间戳
-P:使用绝对路径来存档文件
-N:只提取在指定日期之后修改或创建的文件
3.gzip压缩解压命令
gzip压缩解压命令可以用来压缩和解压缩文件。使用gzip命令压缩文件时,可以选择将压缩后的文件保存为.gz格式的压缩文件。但是gzip命令只能对单一的文件进行压缩,对目录压缩也只是分别对文件进行压缩,并不能将多个文件打包为一个大文件。
4.bzip2压缩解压命令
bzip2压缩解压命令与gzip类似,可以用来压缩和解压缩文件。使用bzip2命令压缩文件时,可以选择将压缩后的文件保存为.bz2格式的压缩文件。
5.zip, unzip压缩解压命令
zip命令可以将多个文件和目录打包成一个zip格式的压缩文件,unzip命令则可以用来解压zip格式的压缩文件。
三、文件解压
1.tar命令
tar命令可以用来解压.tar格式的压缩文件。使用tar命令解压文件时,添加“-x”参数表示接打包或者解压缩,“-C”参数表示解压至指定目录,解压比较大的文件需要消耗较长时间,添加“-v”参数可以显示解压过程。
例如,要解压名为myarchive.tar的文件到/home/user目录下,可以使用以下命令:
tar -xvf myarchive.tar -C /home/user
2.gzip压缩解压命令
gzip压缩解压命令可以用来解压.gz格式的压缩文件。使用gzip命令解压文件时,可以通过-d选项指定要解压的文件。例如:gzip -d myfile.gz
3.bzip2压缩解压文件
bzip2压缩解压文件可以用来解压.bz2格式的压缩文件。使用bzip2命令解压文件时,可通过-d选项指定要解压的文件。例如:bzip2 -d myfile.bz2
4.zip, unzip压缩解压命令
zip和unzip命令可以用来解压.zip格式的压缩文件。使用unzip命令解压文件时,也可通过-d选项指定要解压到的目录。例如:unzip myarchive.zip -d /home/user 标签:解压,--,fonts,ifcfg,etc,查找,conf,root,打包 From: https://www.cnblogs.com/Antler-Bi8bo/p/17842114.html