tft每日頭條

 > 科技

 > linux查看文件内容的命令有幾種

linux查看文件内容的命令有幾種

科技 更新时间:2024-11-17 03:21:59

linux查看文件内容的命令有幾種?查命令絕對路徑:which用于查找并顯示給定命令的絕對路徑,環境變量中PATH參數也可以被查出來,接下來我們就來聊聊關于linux查看文件内容的命令有幾種?以下内容大家不妨參考一二希望能幫到您!

linux查看文件内容的命令有幾種(Linux系統下查找文件)1

linux查看文件内容的命令有幾種

查命令絕對路徑:

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,執行時會提示你是否進行下一步操作.

來源:http://u6.gg/kq67b

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关科技资讯推荐

热门科技资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved