<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          Linux 系統(tǒng)下查找文件命令總結(jié),這個很哇塞!

          共 6278字,需瀏覽 13分鐘

           ·

          2022-03-03 09:32

          查命令絕對路徑: which用于查找并顯示給定命令的絕對路徑,環(huán)境變量中PATH參數(shù)也可以被查出來。

          [root@localhost?~]#?which?bash
          /usr/bin/bash

          [root@localhost?~]#?which?ls

          alias?ls='ls?--color=auto'
          ????/usr/bin/ls


          尋找特定文件: whereis命令用來定位指令的二進制程序、源代碼文件和man手冊頁等相關(guān)文件的路徑,該命令只能用于程序名的搜索

          [root@localhost?~]#?whereis?--help

          語法格式:[ whereis [選項]?文件名?]

          ????????-b??????????????#只找二進制文件
          ????????-m??????????????#只找man文檔
          ????????-s??????????????#只找源代碼

          使用 whereis -b 命令找二進制文件,與幫助手冊。


          [root@localhost?~]#?whereis?-b?ifconfig
          ifconfig:?/usr/sbin/ifconfig

          [root@localhost?~]#?whereis?-m?ifconfig
          ifconfig:?/usr/share/man/man8/ifconfig.8.gz


          緩存查找文件: locate 搜索一個數(shù)據(jù)庫/var/lib/mlocatedb,這個數(shù)據(jù)庫中含有本地所有文件信息,Linux系統(tǒng)自動創(chuàng)建這個數(shù)據(jù)庫,并且每天自動更新一次,所以使用locate命令查不到最新變動過的文件,為了避免這種情況,可以在使用locate之前,先使用updatedb命令,手動更新數(shù)據(jù)庫,updatedb命令會根據(jù)/etc/updatedb.conf來更新文件.

          [root@localhost?~]#?yum?install?-y?mlocate
          [root@localhost?~]#?locate?--help

          語法格式:[ locate [選項]?文件名?]

          ????????-d?目錄????????#指定數(shù)據(jù)庫所在的目錄
          ????????-i?????????????#忽略大小寫差異
          ????????-r?????????????#后面接正則表達式

          使用 locate 命令查詢一個文件.

          [root@localhost?~]#?updatedb?
          [root@localhost?~]#?locate?/etc/passwd
          /etc/passwd
          /etc/passwd-


          遍歷文件查找: find 命令可以說是最重要的查找命令了,該命令參數(shù)較多。

          [root@localhost?~]#?find?--help

          語法格式:[ find [目錄]?[屬性]?文件名?]

          ????????-name?????????#按文件名查找
          ????????-size?????????#根據(jù)大小查找
          ????????-user?????????#根據(jù)屬主查找
          ????????-perm?????????#根據(jù)權(quán)限查找
          ????????-type?????????#根據(jù)類型查找
          ????????-time?????????#按時間查找
          ????????-inum?????????#根據(jù)i節(jié)點查詢
          ????????-exec?????????#查找后執(zhí)行命令


          -name 按文件名查找:

          常用查詢通配符

          \*?????#匹配任意一個或多個字符
          ??????#匹配任意一個字符
          []?????#指定范圍,外側(cè)加引號

          查找/var/目錄下,以.log結(jié)尾的文件.

          [root@localhost?~]#?find?/var/?-name?"*.log"
          /var/log/tuned/tuned.log
          /var/log/audit/audit.log
          /var/log/anaconda/X.log
          /var/log/anaconda/program.log
          ....省略....

          查找/root/目錄下,以[1-3之間],結(jié)尾是.txt的文件


          [root@localhost?~]#?ls
          1.txt??2.txt??3.txt??Catalog??File

          [root@localhost?~]#?find?/root/?-name?"[1-3].txt"
          /root/1.txt
          /root/2.txt
          /root/3.txt

          查找/etc/目錄下,開頭是6個任意字符的文件

          [root@localhost?~]#?find?/etc/?-name?"??????"
          /etc/grub.d
          /etc/grub.d/README
          /etc/shells
          /etc/init.d
          ....省略....


          -size 根據(jù)大小查找

          單位是?block?數(shù)據(jù)塊??一塊是512字節(jié)
          1M?->?1024k?->?2048?塊??(1塊是0.5k?也就是512字節(jié))
          100M?->?102400k?->?204800塊

          查找/etc/目錄下,小于10k的文件

          root@localhost?~]#?find?/etc/?-size?-10k
          /etc/crypttab
          /etc/.pwd.lock
          /etc/environment
          ....省略....

          查找/etc/目錄下,大于1M的文件

          [root@localhost?~]#?find?/etc/?-size?+1M???#查詢大于1M的文件
          /etc/udev/hwdb.bin
          /etc/selinux/targeted/active/policy.kern
          /etc/selinux/targeted/contexts/files/file_contexts.bin
          /etc/selinux/targeted/policy/policy.31
          ....省略....

          #注意:+-號如果沒有,是精確到這么大,通常都會帶上+或-號表示一個范圍.

          (公眾號:網(wǎng)絡(luò)工程師阿龍)


          -user 根據(jù)屬主與權(quán)限查找

          在/root目錄中查找屬于wang用戶的文件

          [root@localhost?~]#?find?/root/?-user?wang
          /root/1.txt
          /root/2.txt
          /root/3.txt
          #注意:系統(tǒng)中要存在該用戶,否則會報錯誤.

          查找/boot/目錄中權(quán)限是644的文件

          [root@localhost?~]#?find?/boot/?-perm?0644
          /boot/grub2/device.map
          /boot/grub2/i386-pc/gcry_rmd160.mod
          /boot/grub2/i386-pc/acpi.mod
          /boot/grub2/i386-pc/gcry_rsa.mod
          ....省略....


          -type 根據(jù)類型查找

          -type?f?二進制文件(普通文件)
          -type?l 軟鏈接文件
          -type?d?目錄

          查找/usr/bin/目錄下,類型是二進制文件.

          [root@localhost?~]#?find?/usr/bin/?-type?f
          /usr/bin/cp
          /usr/bin/gzip
          /usr/bin/alias
          /usr/bin/csplit
          /usr/bin/bash
          ....省略....


          -time 按時間查找

          按天數(shù)???ctime??atime??mtime
          按分鐘???cmin???amin?????mmin

          ??c??change???#表示屬性被修改過:所有者、所屬組、權(quán)限
          ??a??access???#被訪問過(被查看過)
          ??m??modify???#表示內(nèi)容被修改過

          查找/etc/目錄下,在120分鐘以內(nèi),內(nèi)容被修改過的文件

          [root@localhost?~]#?find?/etc/?-mmin?-120
          /etc/
          /etc/resolv.conf
          /etc/group-
          /etc/gshadow-
          /etc/group
          /etc/gshadow
          ....省略....

          查找/etc/目錄下,在7天之前,屬性被修改過的文件

          [root@localhost?~]#?find?/etc/?-ctime?+7
          /etc/resolv.conf
          /etc/group-
          /etc/gshadow-
          ....省略....


          -inum 根據(jù)i節(jié)點查詢

          有一些文件的硬鏈接數(shù)量很多,有相同的i節(jié)點,查找其中一個文件的i節(jié)點號,一次性刪除。

          [root@localhost?~]#?find?./?-inum?1024?-exec?rm{}?\;???#刪除相同I節(jié)點的數(shù)據(jù)


          -and or 邏輯連接符

          -a ???(and 邏輯與)?????
          -o????(or??邏輯或)

          在/etc/目錄下,查找大于1k,并且小于10k的文件

          [root@localhost?~]#?find?/etc/?-size?+1k?-a?-size?-10k
          /etc/
          /etc/grub.d/00_header
          /etc/grub.d/20_ppc_terminfo
          /etc/grub.d/00_tuned
          /etc/rc.d/init.d/README
          /etc/rc.d/init.d/netconsole
          /etc/rc.d/init.d/network
          /etc/pam.d
          ....省略....


          -exec 命令執(zhí)行連接符

          [查詢格式]?find??...??-exec?命令?{}??\;

          {}????????#表示find查詢的結(jié)果集
          \?????????#是轉(zhuǎn)義符,不使用命令別名,直接使用命令本身
          ;?????????#分號是表示語句的結(jié)束.

          #注意:固定格式,只能這樣寫.注意中間的空格.
          (公眾號:網(wǎng)絡(luò)工程師阿龍)-----------------------------------------------------------------
          說明:?轉(zhuǎn)義符的作用是什么?

          在linux中有一個別名機制,如rm刪除文件,執(zhí)行的卻是rm?-i(用which?rm?可以查看命令別名),
          使用rm刪除文件前會提示,就是因為rm -i這個參數(shù)。如果想使用命令原意,可以在加\轉(zhuǎn)義,
          如:\rm test.txt ??則不會提示,直接刪除

          查找/var/log/目錄下名字以.log結(jié)尾的文件,找到后執(zhí)行 ls -l 顯示詳細信息.

          [root@localhost?~]#?find?/var/log/?*.log?-exec?ls?-l?{}?\;
          total?1176
          drwxr-xr-x.?2?root???root??????204?Sep?18?09:12?anaconda
          drwx------.?2?root???root???????23?Sep?18?09:12?audit
          -rw-------.?1?root???root????53001?Sep?19?00:57?boot.log
          -rw-------.?1?root???utmp??????384?Sep?18?09:22?btmp
          drwxr-xr-x.?2?chrony?chrony??????6?Apr?12?13:37?chrony
          -rw-------.?1?root???root?????3523?Sep?19?01:01?cron
          -rw-r--r--??1?root???root???119414?Sep?19?00:57?dmesg
          -rw-r--r--??1?root???root???119599?Sep?18?23:35?dmesg.old
          -rw-r--r--.?1?root???root?????1320?Sep?19?00:23?firewalld
          -rw-r--r--.?1?root???root??????193?Sep?18?09:05?grubby_prune_debug

          ....

          查找/etc/目錄下名字以"init*"開頭的文件,找到后,只列出文件,過濾掉目錄,并執(zhí)行 ls -l 顯示詳細信息.

          [root@localhost?~]#?find?/etc/?-name?"init*"?-a?-type?f?-exec?ls?-l?{}?\;

          -rw-r--r--.?1?root?root?511?Apr?11?01:09?/etc/inittab
          -rw-r--r--.?1?root?root?798?Apr?11?01:09?/etc/sysconfig/init
          -rwxr-xr-x.?1?root?root?5419?Jan??2??2018?/etc/sysconfig/network-scripts/init.ipv6-global
          -rw-r--r--.?1?root?root?30?Apr?11?14:12?/etc/selinux/targeted/contexts/initrc_context

          查找/tmp/下,的yum.log文件,找到后直接刪除.

          [root@localhost?tmp]#?find?/tmp/?-name?yum.log?-exec?rm?{}?\;
          [root@localhost?tmp]#

          查找根下,找關(guān)于lyshark用戶的所有文件,找到后直接刪除.

          [root@localhost?~]#?find?/?-user?lyshark?-exec?rm?-r?{}?\;

          find:?‘/proc/1465/task/1465/fd/6’:?No?such?file?or?directory
          find:?‘/proc/1465/task/1465/fdinfo/6’:?No?such?file?or?directory
          find:?‘/proc/1465/fd/5’:?No?such?file?or?directory
          find:?‘/proc/1465/fdinfo/5’:?No?such?file?or?directory
          find:?‘/root/Catalog’:?No?such?file?or?directory
          find:?‘/home/lyshark’:?No?such?file?or?directory
          (公眾號:網(wǎng)絡(luò)工程師阿龍)#rm -r 連帶目錄一起刪除.報錯原因:-exec 不適合大量傳輸,速率慢導致.

          在根下,查找lyshark用戶的文件,找到后刪除,刪除前會提示是否刪除.

          [root@localhost?~]#?find?/?-user?lyshark?-ok?rm?-r?{}?\;
          find:?‘/proc/1777/task/1777/fd/6’:?No?such?file?or?directory
          find:?‘/proc/1777/task/1777/fdinfo/6’:?No?such?file?or?directory

          ???y
          (公眾號:網(wǎng)絡(luò)工程師阿龍)
          #?-ok的使用和-exec是一樣的,區(qū)別是-ok,執(zhí)行時會提示你是否進行下一步操作.


          文章出處:https://www.cnblogs.com/LyShark/p/15750017.html

          樣式編輯:網(wǎng)絡(luò)工程師阿龍

          Linux學習指南

          有收獲,點個在看?

          瀏覽 58
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  九哥插逼网 | 亚洲AV无码一区二区三区动漫 | 小早川怜子巨臀无码流出 | 国产美女日逼 | 免费看AA色AA色短视频 |