<menu id="guoca"></menu>
<nav id="guoca"></nav><xmp id="guoca">
  • <xmp id="guoca">
  • <nav id="guoca"><code id="guoca"></code></nav>
  • <nav id="guoca"><code id="guoca"></code></nav>

    Linux系統下查找文件命令總結

    VSole2022-03-17 07:30:56

    查命令絕對路徑:

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

    [root@localhost ~]# which bash
    /usr/bin/bash
    
    [root@localhost ~]# which ls
    alias ls='ls --color=auto'
        /usr/bin/ls
    

    尋找特定文件:

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

    [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 搜索一個數據庫/var/lib/mlocatedb,這個數據庫中含有本地所有文件信息,Linux系統自動創建這個數據庫,并且每天自動更新一次,所以使用locate命令查不到最新變動過的文件,為了避免這種情況,可以在使用locate之前,先使用updatedb命令,手動更新數據庫,updatedb命令會根據/etc/updatedb.conf來更新文件.

    [root@localhost ~]# yum install -y mlocate
    [root@localhost ~]# locate --help
    
    語法格式:[ locate [選項] 文件名 ]
    
            -d 目錄        #指定數據庫所在的目錄
            -i             #忽略大小寫差異
            -r             #后面接正則表達式
    

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

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

    遍歷文件查找:

    find 命令可以說是最重要的查找命令了,該命令參數較多。

    [root@localhost ~]# find --help
    
    語法格式:[ find [目錄] [屬性] 文件名 ]
    
            -name         #按文件名查找
            -size         #根據大小查找
            -user         #根據屬主查找
            -perm         #根據權限查找
            -type         #根據類型查找
            -time         #按時間查找
            -inum         #根據i節點查詢
            -exec         #查找后執行命令
    

    -name 按文件名查找:

    常用查詢通配符

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

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

    [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之間],結尾是.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 根據大小查找

    單位是 block 數據塊  一塊是512字節
    1M -> 1024k -> 2048 塊  (1塊是0.5k 也就是512字節)
    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
    ....省略....
    
    #注意:+-號如果沒有,是精確到這么大,通常都會帶上+或-號表示一個范圍.
    

    -user 根據屬主與權限查找

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

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

    查找/boot/目錄中權限是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 根據類型查找

    -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 按時間查找

    按天數   ctime  atime  mtime
    按分鐘   cmin   amin     mmin
    
      c  change   #表示屬性被修改過:所有者、所屬組、權限
      a  access   #被訪問過(被查看過)
      m  modify   #表示內容被修改過
    

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

    [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 根據i節點查詢

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

    [root@localhost ~]# find ./ -inum 1024 -exec rm{} \;   #刪除相同I節點的數據
    

    -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 命令執行連接符

    [查詢格式] find  ...  -exec 命令 {}  \;
    
    {}        #表示find查詢的結果集
    \         #是轉義符,不使用命令別名,直接使用命令本身
    ;         #分號是表示語句的結束.
    
    #注意:固定格式,只能這樣寫.注意中間的空格.
    (公眾號:網絡工程師阿龍)-----------------------------------------------------------------
    說明: 轉義符的作用是什么?
    
    在linux中有一個別名機制,如rm刪除文件,執行的卻是rm -i(用which rm 可以查看命令別名),
    使用rm刪除文件前會提示,就是因為rm -i這個參數。如果想使用命令原意,可以在加\轉義,
    如:\rm test.txt   則不會提示,直接刪除
    

    查找/var/log/目錄下名字以.log結尾的文件,找到后執行 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*"開頭的文件,找到后,只列出文件,過濾掉目錄,并執行 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]#
    

    查找根下,找關于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
    #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
    
    < rm ... /root/LyShark > ? y
    # -ok的使用和-exec是一樣的,區別是-ok,執行時會提示你是否進行下一步操作.
    
    root權限linux查找文件
    本作品采用《CC 協議》,轉載必須注明作者和本文鏈接
    WEB安全梳理-操作系統
    2022-08-10 07:16:03
    WEB安全梳理-操作系統
    由于低權限用戶無法執行太多操作,可以利用反彈上傳Churrasco.exe,后續可以利用它來做提權。輸入net user指令查看是否添加成功,最后提權成功。linux系統提權思路linux基礎信息收集uname -a 顯示全部系統信息cat /etc/issue 內核信息。
    注意在整個過程中,客戶不要事先征集到現場或現場的人員操作情況。啟動或部署監測設備,針對病毒感染進行全面監測,避免死灰復燃。在此過程中并沒有展開分析,隨后制作收集所有相關的樣本日志等,并尋找感染源頭,并制定整改。先找出急用的木馬文件,不要于打包一份。
    本文章盤點了 Linux 運維必備 150 個命令,請配合下面的網站使用。定位你需要使用的命令,然后去這個網站查詢詳細用法即可。 地址:wangchujiang.com/linux-command/
    在本文中,我將向您演示一些專業的Linux命令技巧,這些技巧將使您節省大量時間,在某些情況下還可以避免很多麻煩,而且它也將幫助您提高工作效率。并不是說這些只是針對初學者的Linux技巧。很酷的Linux終端技巧,幫助您節省時間和提高生產力您很可能已經知道這些Linux命令中的一些或全部。當您開始在Linux終端中鍵入內容時,您可以按Tab鍵,它會建議所有可能的選項,這些選項以您到目前為止所鍵入的字符串開頭。
    這里有一些很有用的 Linux 命令,終端技巧和快捷方式,可以在使用Linux命令行時節省大量時間。在本文中,我將向您演示一些專業的Linux命令技巧,這些技巧將使您節省大量時間,在某些情況下還可以避免很多麻煩,而且它也將幫助您提高工作效率。
    應急響應的基本流程
    2022-01-01 08:34:07
    注意在整個過程中不要被客戶或現場的運維人員誤導。操作前需先征得客戶許可。
    查命令絕對路徑: which用于查找并顯示給定命令的絕對路徑,環境變量中PATH參數也可以被查出來。
    在第一時間采取響應的措施,恢復業務到正常,調查安全事件發生的原因,避免同類事件發生,提供數字證據
    VSole
    網絡安全專家
      亚洲 欧美 自拍 唯美 另类