導航:首頁 > 程序命令 > shell查找文件命令

shell查找文件命令

發布時間:2022-10-02 18:21:38

① shell腳本中find怎麼用

首先是find的語法:
find [起始目錄] 尋找條件 操作
還有種表述方式:find PATH OPTION [-exec COMMAND { } \;]
因為find命令會根據我們給的option,也就是尋找條件從我們給出的目錄開始對其中文件及其下子目錄中的文件進行遞歸搜索,所以我覺的這個地方說是「起始目錄」是非常好的。
該命令中的尋找條件可以是一個用邏輯運算符 not、and、or 組成的復合條件。邏輯運 算符 and、or、not 的含義為:
(1) and:邏輯與,在命令中用「-a」表示,是系統預設的選項,表示只有當所給的條 件都滿足時,尋找條件才算滿足。例如:
find –name 』tmp』 –xtype c -user 』inin』
% 該命令尋找三個給定條件都滿足的所有文件
(2) or:邏輯或,在命令中用「-o」表示。該運算符表示只要所給的條件中有一個滿足 時,尋找條件就算滿足。例如:
find –name 』tmp』 –o –name 』mina*』
% 該命令查詢文件名為』tmp』或是匹配』mina*』的所有文件。
(3) not:邏輯非,在命令中用「!」表示。該運算符表示查找不滿足所給條件的文件 。例如:
find ! –name 』tmp』
% 該命令查詢文件名不是』tmp』的所有文件。
需要說明的是:當使用很多的邏輯選項時,可以用括弧把這些選項括起來。為了避免Shell本身對括弧引起誤解,在話號前需要加轉義字元「\」來去除括弧的意義。例:
find –name′tmp′–xtypec−user′inin′
我覺的現在我應該說下出了查詢條件,在find中的option的內容了:
在option中,具體有參數:
-name 』字串』 查找文件名匹配所給字串的所有文件,字串內可用通配符 *、?、[ ]。
-lname 』字串』 查找文件名匹配所給字串的所有符號鏈接文件,字串內可用通配符 *、?、[ ]。
-gid n 查找屬於ID號為 n 的用戶組的所有文件。
-uid n 查找屬於ID號為 n 的用戶的所有文件。
-group 』字串』 查找屬於用戶組名為所給字串的所有的文件。
-user 』字串』 查找屬於用戶名為所給字串的所有的文件。
-empty 查找大小為 0的目錄或文件。
-path 』字串』 查找路徑名匹配所給字串的所有文件,字串內可用通配符*、?、[ ]。
-perm 許可權 查找具有指定許可權的文件和目錄,許可權的表示可以如711,644。
-size n[bckw] 查找指定文件大小的文件,n 後面的字元表示單位,預設為 b,代表512位元組的塊。
-type x 查找類型為 x 的文件,x 為下列字元之一:
b 塊設備文件
c 字元設備文件
d 目錄文件
p 命名管道(FIFO)
f 普通文件
l 符號鏈接文件(symbolic links)
s socket文件
-xtype x 與 -type 基本相同,但只查找符號鏈接文件。
以時間為條件查找
-amin n 查找n分鍾以前被訪問過的所有文件。
-atime n 查找n天以前被訪問過的所有文件。
-cmin n 查找n分鍾以前文件狀態被修改過的所有文件。
-ctime n 查找n天以前文件狀態被修改過的所有文件。
-mmin n 查找n分鍾以前文件內容被修改過的所有文件。
-mtime n 查找n天以前文件內容被修改過的所有文件。
-print:將搜索結果輸出到標准輸出。
例子:在root以及子目錄查找不包括目錄/root/bin的,greek用戶的,文件類型為普通文件的,3天之前的名為test-find.c的文件,並將結構輸出,find命令如下:
find / -name "test-find.c" -type f -mtime +3 -user greek -prune /root/bin -print
當然在這其中,-print是一個默認選項,我們不必刻意去配置它。
我們再看一下exec選項:
-exec:對搜索的結構指令指定的shell命令。注意格式要正確:"-exec 命令 {} \;"
在}和\之間一定要有空格才行;
{}表示命令的參數即為所找到的文件;命令的末尾必須以「 \;」結束。
例子:對上述例子搜索出來的文件進行刪除操作,命令如下:
find / -name "test-find.c" -type f -mtime +3 -user greek -prune /root/bin -exec rm {} \;
find命令指令實例:
find . - name 『main*』 - exec more {} \;
% 查找當前目錄中所有以main開頭的文件,並顯示這些文件的內容。
find . −namea.out−o−name『∗.o′> - atime +7 - exec rm {} \;
% 刪除當前目錄下所有一周之內沒有被訪問過的a .out或*.o文件。
% 命令中的「.」表示當前目錄,此時 find 將從當前目錄開始,逐個在其子目錄中查找滿足後面指定條件的文件。
% 「」和「」 表示括弧(),其中的 「\」 稱為轉義符。之所以這樣寫是由於對 Shell 而言,(和)另有不同的含義,而不是這里的用於組合條件的用途。
% 「-name a.out」 是指要查找名為a.out的文件;
% 「-name 『*.o』」 是指要查找所有名字以 .o 結尾的文件。
這兩個 -name 之間的 -o 表示邏輯或(or),即查找名字為a.out或名字以 .o結尾的文件。
% find命令在當前目錄及其子目錄下找到這佯的文件之後,再進行判斷,看其最後訪問時間 是否在7天以前(條件 -atime +7),若是,則對該文件執行命令 rm(-exec rm {} \;)。
其中 {} 代表當前查到的符合條件的文件名,\;則是語法所要求的。
% 上述命令中第一行的最後一個 \ 是續行符。當命令太長而在一行寫不下時,可輸入一個 \,之後系統將顯示一個 >,指示用戶繼續輸入命令。

linux操作系統的shell命令有哪些

1 文件與目錄操作命令

1.1文件內容查詢命令 grep、fgrep、egrep

語法:grep[選項][查找模式][文件名1,文件名2,……]

選項:

-E 每個模式作為一個擴展的正則表達式對待

-F 每個模式作為一組固定字元串對待,而不作為正則表達式

-i 比較時不區分大小寫

-l 顯示首次匹配匹配串所在的文件名並用換行符將其分開。當在文件中多次出現匹配串時,不重復顯示次文件名;

-x 只顯示整行嚴格匹配的行

1.2文件查找命令 find、locate

語法:

find 起始目錄 尋找條件 操作以名稱和文件屬性查找

選項: -name『字串『 查找文件名匹配所給字串的所有文件,字串內可用通配符*、?、[]。

-lname『字串『 查找文件名匹配所給字串的所有符號鏈接文件,字串內可用通配符*、?、[]。

-gid n 查找屬於ID號為n的用戶組的所有文件。

-uid n 查找屬於ID號為n的用戶的所有文件。

-group『字串『 查找屬於用戶組名為所給字串的所有的文件。

-user『字串『 查找屬於用戶名為所給字串的所有的文件。

-path『字串『 查找路徑名匹配所給字串的所有文件,字串內可用通配符*、?、[]。

-perm 許可權 查找具有指定許可權的文件和目錄,許可權的表示可以如711、644。

-type x 查找類型為 x的文件,

語法:locate 相關字

1.3文件的復制、刪除和移動命令 文件復制命令

[選項] 源文件或目錄 目標文件或目錄

選項:

- a 通常在拷貝目錄時使用

-d 拷貝時保留連接

-f 刪除已經存在的目標文件而不提示

-i 和f選項相反

-p 此時cp除復制源文件內容外,還將其修改的時間和訪問許可權也復制到新文件中

-r 若給出的源文件是一目錄文件,此時cp將遞歸復制該目錄下的所有的子目錄和文件,此時目標文件必須為一個目錄名;

-l 不作拷貝,只是鏈接文件文件移動命令

mv[選項] 源文件或目錄 目標文件或目錄

-i 互動式操作

-f 禁止互動式操作文件刪除命令

[選項] 文件…

-f 忽略不存在的文件,從不給出提示

-r 指示rm將參數中列出的全部目錄和子目錄均遞歸地刪除

-i 進行互動式刪除 1.4文件鏈接命令

ln [選項] 目標 [鏈接名] 或 ln [選項] 目標 目錄

選項:

- s 建立符號鏈接

1.5目錄的創建和刪除命令 mkdir 創建一個目錄

語法: [選項] dirname

選項: - m 對新建目錄設置存取許可權

-p 可以是一個路徑名稱。此時若路徑中的某些目錄尚不存在,加上此選項後,系統將自動建立好那些尚不存在的目錄,即一次可以建立多個目錄。

rmdir 刪除空目錄

語法: rmdir [選項] dirname

選項:

- p 遞歸刪除目錄dirname,當子目錄刪除後其父目錄為空時,也一同被刪除。

1.6改變工作目錄,顯示目錄內容命令

1、改變工作目錄: cd [directory]

2、顯示當前工作的目錄的絕對路徑: pwd

3、顯示目錄內容: ls [選項] [目錄或是文件]

選項:

- a 顯示指定目錄下所有子目錄與文件,包括隱藏文件;

-c 按照文件的修改時間排序

-C 分成多列顯示各項

-d 如果參數是目錄,只顯示其名稱而不顯示其下的個文件

-F 在目錄名後面標記「/」,可執行文件後面標記「*」,符號鏈接後面標記「@」,管道(或FIFO)後面標記「|」,socket文件後面標記「=」。

-l 以長格式來顯示文件的詳細信息

-L 若指定的名稱為一個符號鏈接,則顯示鏈接所指向的文件

-t 顯示時按修改時間而不是名字排序

-u 顯示時按文件上次存取的時間而不是名字排序

4、改變文件或目錄的訪問許可權命令chmod [who] [+| - | = ] [mode] 文件名?

Who選項:

- u表示用戶,即文件和目錄的所有者

-g表示同組用戶

-o(other)表示其他用戶

-a (all)表示所有用戶

操作符號: + 添加某個許可權 - 取消某個許可權 = 賦予給定許可權並取消其他所有的許可權(如果有的話)

mode 選項:

- r 可讀

-w 可寫

-x 可執行 chgrp [-R] group filename? 改變目錄或文件所屬的組

chown [-Rv] 用戶或組 文件

1.7備份與壓縮命令

1、tar命令 為文件和目錄創建檔案語法:

tar [主選項+輔助選項] 文件或者目錄 : u 主選項

-c 創建新的檔案文件。如果用戶想備份一個目錄或是一些文件,則選此項

-r 把要存檔的文件追加到檔案文件的末尾

-t 列出檔案文件的內容,查看已經備份了哪些文件;

-u 更新文件

-x 從檔案文件中釋放文件;

-u 輔助選項

-b 該選項為磁帶機設定的,其後跟一位數字,用來說明區塊的大小,系統預設值為20

-f 使用檔案文件或設備,這個選項通常是必選的

-k 保存已經存在的文件。例如把某個文件還原,在還原的過程中,遇到相同的文件,不會進行覆蓋;

-m 在還原文件時,把所有文件的修改時間設定為現在;

-M 創建多卷的檔案文件,以便在幾個磁碟中存放;

-v 詳細報告tar處理的文件信息

-w 每一步都要求確認

-z 用gzip來壓縮/解壓縮文件

2、gzip命令 壓縮/解壓縮命令

語法:gzip [選項] 壓縮(解壓縮)的文件名

選項:

-c 將輸出寫到標准輸出上,並保留原有文件

-d 將壓縮文件解壓

-l 顯示每個壓縮文件的詳細信息

-r 遞歸式地查找指定目錄並壓縮其中的所有文件或者是解壓縮

-t 測試、檢查壓縮文件是否完整

-v 對每一個壓縮和解壓的文件,顯示文件名和壓縮比

3、unzip 命令 用MS windows下的壓縮軟體winzip壓縮的文件在linux系統下展開

語法:unzip [選項] 壓縮文件名.zip

選項: -x 文件列表 解壓縮文件,但不包括指定的file文件

-v 查看壓縮文件目錄,但不解壓

-t 測試文件有無損壞 ,但不解壓

-d 目錄 將壓縮文件解到指定目錄下

-z 只顯示壓縮文件的註解

-n 不覆蓋已經存在的文件

-o 覆蓋已經存在的文件且不要求用戶確認

-j 不重建文檔的目錄結構,把所有文件解壓到同一目錄下

1.8在LINUX環境下運行DOS命令 linux系統提供了一組稱為mtools的可移植工具,可以讓用戶輕松地從標準的DOS軟盤上讀寫文件和目錄。

mcd 目錄名 改變MSDOS目錄 m 源文件 目標文件 在MSDOS和UNIX之間復制文件;

mdel 目錄名 刪除MSDOS目錄 mdir 目錄名 顯示MSDOS目錄 mformat 驅動器號 在低級格式化的軟盤上創建MSDOS文件系統 rnlabel 驅動器號 產生MSDOS卷標 mmd 目錄名 刪除MSDOS目錄 mren 源文件 目標文件 重新命名已存在的MSDOS文件 mtype 文件名 顯示MSDOS文件的內容

2 設備管理命令

1)linux採用下面的形式定義一個IDE硬碟:/dev/hd[drive][partition]

2)SCSI硬碟使用同樣的機製表示: /dev/sd[drive][partition]

3)對於一般的LINUX分區,可以用mkfs將其格式化並生成文件系統,命令如下: mk2fs –c ;

4)裝載文件系統:

mount –t ext2 [-o optioms] partition mountpiont 其中,

-t為指定裝載文件系統的類型;

-o指定一些選項,如只讀ro,可讀可寫rw等等; partition定義分區名稱; mountpiont定義文件系統被裝載的目錄名稱。

5)裝載CD-ROM文件系統:mount –t iso9660 –r /dev/cdrom /mnt/cdrom

6)裝載軟碟機文件系統: CODE:[Copy to clipboard]mount –t msdos –rw /dev/fd0 /dev/mnt/floppy

7)卸載文件系統 CODE:[Copy to clipboard]umount /mnt/cdrom 磁帶設備的安裝要注意以下幾點:

1、 首先要選擇一個唯一的SCSI ID號,然後再將設備鏈接到適當的位置

2、 選擇驅動程序。

3、 生成設備文件。SCSI磁帶設備的主要設備號是9,次要設備號是0。設備文件名通常是/dev/nrst0(不支持回繞的磁帶設備)或/dev/nst0(支持回繞的磁帶設備) 用 ls /dev/*rst* 檢查磁帶設備文件是否存在,如果不存在,用 mknod –m 666 /dev/nrst0 c 9 9 mknod –m 666 /dev/rst0 c 9 0 生成

4、 可以對塊長度、緩存、磁帶密度等參數進行一些設置,例如 mt setblk 20 將塊長度指定為20 mt setblk 0 指定塊程度沒有限制

5、 通過檢查系統的啟動信息可以確定系統是否識別了新的磁帶設備。用dmesg命令,查看是否有以下類似的信息: aha274x:target 4now synchronous at 4.4Mb/s Vendor:TANDBERG Model:TDC 3800 Rev: =05: Type: Sequential-Access ANSI SCSI revision: 02 Detected scsi tape st0 at scsi0, id4, lun0 Scsi : detected 1 SCSI tape 1 SCSI crom 1 SCSI disk total

3 軟體包管理命令

3.1軟體安裝的步驟 在LINUX系統上安裝軟體的步驟有:

1、 查找所要安裝軟體的源文件

2、 把源文件解開放到一個目錄中,命令如下: tar zxvf <源文件名>;

3、 針對本操作系統配置源文件。可以是編輯make文件或其他文件,也可能是運行該軟體自帶的自動配置工具,如./configure

4、 make源文件,通常是運行make命令,即執行 make

5、 安裝二進制文件和其他支撐文件,運行命令: make install

6、 最後,完成所有其他必須的配置

3.2軟體包管理命令 QUOTE: rpm –ivh <軟體包>; // 安裝指定的軟體包,並在安裝過程中用#表示安裝的進度 rpm –Uvh <軟體包>; // 更新一個已經存在的或還沒安裝好的軟體包,並刪除所有該軟體包的舊版本。 rpm –e //卸載一個rpm軟體包 rpm –qa // 查看系統中已經安裝的軟體包 rpm –q <軟體包>; // 查看系統中某個軟體包的版本號; rpm –qlp <軟體包>; //列出某個軟體包中的所有文件 rpm –qf <軟體包>; //找出一個文件屬於哪個軟體包

4 LINUX系統常用命令

4.1 與系統管理有關的命令 Wall (Write All) 對全部已 登錄的用戶發送信息,用戶可以先反要發送的信息寫好存入一個文件中,然後輸入: # wall < FileName 例:Wall 『Thank you !』 Write 向某一用戶發送信息。 Write xxq hello 輸入Ctrl+C組合即可終止 Shutdown命令 Shutdown [選項] [時間] [警告信息]

-k 並不真正關機,而只是發出警告信息給所有的用戶。

-r 關機後立即重新啟動。

-h 關機後不重新啟動。

-f 快速關機,啟動時跳過fsck。

-n快速關機,不經過init程序。

-c 取消一個已經運行的shutdown 例:系統馬上關機:Shutdown –h now Free命令查看當前系統內存的使用情況, CODE:[Copy to clipboard]Free [-b] [-k] [-m] CODE:[Copy to clipboard]-b 以位元組為單位顯示。

-k 以K位元組為單位顯示。

-m 以M位元組為單位顯示。 Uptime QUOTE: 顯示系統已經運行了多長的時間:現在時間、系統已經運行的時間、目前有多少登錄用戶、系統在過去的1分鍾、5分鍾和15分鍾內的平均負載。

4.2與用戶有關的命令 Passwd命令設置、更換用戶口令。

Passwd [用戶名] Su 使一個普通的用戶具有超級用戶的權利,離開可用EXIT命令。 4.3其它命令 Echo命令在顯示器上顯示一段文字,一般起到一個提示的作用。

echo [-n] 字元串 Cal命令顯示某年某月的日歷。

cal [選項] [月[年]]

選項的含義:

-j 顯示也給定月中的每一天是一年中的和幾天(從1月1日算起)。

-y 顯示也整年的日歷。 Date命令 date命令的功能是顯示和設置系統日期和時間。 4.4磁碟管理 磁碟空間管理 df命令檢查文件系統的磁碟空間佔用局部。

Df [選項]

-a 顯示所有文件系統的磁碟使用情況,包括0塊(block)的文件系統,如/proc文件系統。

-k 以K位元組為單位顯示。

-i 顯示i節點信息,而不是磁碟塊。

- t 顯示各指定類型的文件系統的磁碟空間使用情況。

-x 列出不是某一指定類型文件系統的磁碟窨使用情況(與t相反)。

-T 顯示文件系統類型。 命令 的英文原意為disk usage,含義為顯示磁碟空間的使用情況。功能是統計目錄(或文件)所佔磁碟空間的大小。

[選項] [Names…]

-s 對每人Names 參數只給也佔用的數據塊總數。

-a 遞歸地顯示指定目錄中各文件用子孫目錄中的各文件佔用的數據塊總數。

-b 以位元組為單位列也磁碟窨使用情部(預設以K位元組為單位)

-k 以1024位元組為單位列也磁碟空間使用情況。

-c 最後再加上一個總計(系統預設)

-l 計算所有的文件大小,對硬鏈接文件,則計算多次。

-x 跳過在不同文件系統上的目錄不予統計。 dd命令把指定的輸入文件拷貝到指定的輸出文件中,並且在拷貝的過程中可以進行格式轉換。

語法: dd 〔選項〕 if =輸入文件(或設備名稱)。 of =輸出文件(或設備名稱)。 ibs = bytes 一次讀取bytes位元組,即讀入緩沖區的位元組數。 skip = blocks 跳過讀入緩沖區開頭的ibs*blocks塊。 obs = bytes 一次寫入bytes位元組,即寫 入緩沖區的位元組數。 bs = bytes 同時設置讀/寫緩沖區的位元組數(等於設置obs和obs)。 cbs = bytes 一次轉換bytes位元組。 count = blocks 只拷貝輸入的blocks塊。 conv = ASCII 把EBCDIC碼轉換為ASCII碼。 conv = ebcdic 把ASCII碼轉換為EBCDIC碼。 conv = ibm 把ASCII碼轉換為alternate EBCDIC碼。 conv = blick 把變動位轉換成固定字元。 conv = ublock 把固定們轉換成變動位 conv = ucase 把字母由小寫變為大寫。 conv = lcase 把字母由大寫變為小寫。 conv = notrunc 不截短輸出文件。 conv = swab 交換每一對輸入位元組。 conv = noerror 出錯時不停止處理。 conv = sync 把每個輸入記錄的大小都調到ibs的大小(用ibs填充)。 fdformat命令低級格式化軟盤。

format [-n] device QUOTE: -n 格式化後不做檢驗

4.5常用的網路命令 FTP命令 Telnet命令。

Netstat命令

-a 顯示所有的scoket,包括正在監聽和。

-c 每隔1秒就重新顯示一遍,直到用戶中斷它。

-i 顯示所有網路介面的信息,格式同」ifconfig –e」

-n 以網路IP地址代替名稱,顯示也網路連接情形。

-r 顯示核心路由表,格式同」route –e:。

-t 顯示TCP協議的連接情況。

-u 顯示UDP協議的連接情況。

-v 顯示正在進行的工作。 nslookup命令。 finger命令,功能是查詢用戶的信息。 ping命令。(用戶和組的管理可以使用工具:TurboUserCfg或是XturboUserCfg。)

4.6有關進程的命令。 進程和啟動 at [-V] [-q] [-f文件名] [-mldbv]時間 at –c 作業 [作業….] AT命令啟動的進程系統只執行一次。 batch [-V] [-q 隊列] [-f 文件名] [-mv] [時間] 在系統負載較小時,資源比較空閑時執行。 cron命令按一定的時間間隔執行命令。 crontab命令用於安裝、刪除或列出用於驅支cron後台進程的表格。進程查看

who命令。 w命令是一個比who命令更強大的命令 w

–[husfV] [user] -h 不顯示標題。

-u 當列出當前進程和CPU時間時忽略用戶名。

-s 使用短模式。不顯示登錄時間JCPU和PCPU時間。

-f 切換顯示FROM項,也就是遠程主機名項。

-V 顯示版本信息。 user 只顯示指定用戶的情況。 ps命令。

-e 顯示所有進程。

-f 全格式

-h 不顯示標題。

-l 長格式。

-w 寬輸出。 a 顯示終端上所有進程,包括其他用戶的進程。 r 只顯示正在運行的進程。 x 顯示沒有控制終端的進程。 top 命令動態顯示系統當前的進程和其他狀況。 5系統的啟動過程。

③ 用shell命令查看/home目錄下的可執行文件

find /home -type f -perm -111
-type f 表示查找普通文件
-perm -111 表示查找具有可執行許可權的文件

④ shell怎麼用文件名查找文件位置

題主你好,

使用命令: find

具體格式: find / -name 文件名

命令格式解釋:

find: 查找文件時使用的命令;

/ :斜杠相當於windows下的全盤搜索;

-name 文件名: 這兩個是一起的, -name參數告訴find命令使用 "文件名" 進行搜索.

總結: 使用find命令,全盤搜索名稱為"文件名"的文件, 返回的結果是相應文件名的絕對路徑.

----

舉例來說:

我的系統上有一個文件叫car, 但我不知道這個文件在哪,則可以使用下面命令進行搜索:

可以看到, 返回的搜索結果為/root/ok/car, 也就是說我要找的car文件在/root/ok目錄下.

-----

希望可以幫到題主, 歡迎追問.

⑤ Linux下文件搜索、查找、查看命令

1、最強大的搜索命令:find 查找各種文件的命令
2、在文件資料中查找文件:locate
3、搜索命令所在的目錄及別名信息:which
4、搜索命令所在的目錄及幫助文檔路徑:whereis
5、在文件中搜尋字元串匹配的行並輸出:grep
6、分頁顯示一個文件或任何輸出結果:more
7、分頁顯示一個文件並且可以回頭:less
8、指定顯示前多少行文件內容:head
9、指定顯示文件後多少行內容:tail
10、查看一個文件:cat
11、查看文件內容多少字元多少行多少位元組:wc
12、排序文件內容:sort

一、根據 文件或目錄名稱 搜索
find 【搜索目錄】【-name或者-iname】【搜索字元】:-name和-iname的區別一個區分大小寫,一個不區分大小寫
eg:在/etc 目錄下搜索名字為init的文件或目錄
①、find /etc -name init (精準搜索,名字必須為 init 才能搜索的到)
②、find /etc -iname init (精準搜索,名字必須為 init或者有字母大寫也能搜索的到)
③、find /etc -name *init (模糊搜索,以 init 結尾的文件或目錄名)
④、find /etc -name init??? (模糊搜索,? 表示單個字元,即搜索到 init___)
二、根據 文件大小 搜索
eg:在根目錄下查找大於 100M 的文件
find / -size +204800
這里 +n 表示大於,-n 表示小於,n 表示等於
1 數據塊 == 512 位元組 0.5KB,也就是1KB等於2數據塊
100MB == 102400KB204800數據塊
三、根據 所有者和所屬組 搜索
①、在home目錄下查詢所屬組為 root 的文件
find /home -group root
②、在home目錄下查詢所有者為 root 的文件
find /home -user root
四、根據 時間屬性 搜索
find 【路徑】【選項】【時間】
選項有下面三種:-amin 訪問時間
-cmin 文件屬性被更改
-mmin 文件內容被修改
時間:+n,-n,n分別表示超過n分鍾,n分鍾以內和n分鍾
eg:在 /etc 目錄下查找5 分鍾內被修改過屬性的文件和目錄
find /etc -cmin -5
五、根據 文件類型或i節點 搜索
-type 根據文件類型查找:
f表示文件,d表示目錄,l表示軟鏈接
eg:查找 /home 目錄下文件類型是目錄的
find /home -type d
-inum 根據i節點查找
eg:查找 /tmp 目錄下i節點為400342的文件或目錄
find /tmp -inum 400342
六、組合條件 搜索
這里有兩個參數:
①、-a 表示兩個條件同時滿足(and)
②、-o 表示兩個條件滿足任意一個即可(or)
範例:查找/etc目錄下大於80MB同時小於100MB的文件
find /etc -size +163840 -a -size -204800

語法:locate【文件名】 -i 不區分大小寫
注意:這里和 find 命令是有區別的,find是全盤檢索,而locate 是在文件資料庫中進行搜索。所以locate命令的執行要比find命令執行速度快很多。但是這里有個問題,文件資料庫是需要不斷更新的。我們新創建的文件如果不更新 文件資料庫,使用 locate 是查找不到的。
updatedb 手動更新資料庫,但是對於/tmp目錄下的新建文件,是更新不到文件資料庫的,因為/tmp目錄不屬於文件資料庫的收錄范圍。
eg:locate hcf

功能描述:搜索命令所在的目錄及別名信息
語法:which【命令】
eg:which ls

功能描述:搜索命令所在的目錄及幫助文檔路徑
語法:whereis【命令】
eg:whereis ls

功能描述:在文件中搜尋字元串匹配的行並輸出
語法:grep -iv 【指定字元串】【文件】
-i 不區分大小寫
-v 排除指定字元串
eg:查找 /root/install.log 文件中包含 mysql 字元串的行,並輸出
grep mysql /root/install.log
本搜索工具,根據用戶指定的模式,對目標文件逐行進行匹配檢查,列印匹配到的行
grep是在文件中搜索匹配的字元串,是在文件中進行內容搜索,這個命令後面用到的比較多

描述:
分頁顯示一個文件或任何輸出結果
用於查看純文本文件(較長的)格式
格式:
more[選項] 文件

less 與 more 類似,但使用 less 可以隨意瀏覽文件,而 more 僅能向前移動,卻不能向後移動,而且 less 在查看之前不會載入整個文件。

head[必要參數][選擇參數][文件]
用於顯示指定文件開始多少行內容
命令參數:
-n 10 顯示前10行
-n -10 正常輸出但不顯示最後的10行
eg:顯示new.txt的前兩行內容
head -n 2 new.txt
head -2 new.txt

tail[必要參數][選擇參數][文件]
用於顯示指定文件末尾多少行內容
命令參數:
-n 10 顯示後面10行
-f 持續刷新顯示的內容
eg:顯示new.txt的末尾兩行內容
tail -n 2 new.txt
tail -2 new.txt
eg:指定從第二行開始顯示
tail -n +2 new.txt

描述:一次顯示整個文件內容
cat 命令 用於查看純文本文件(較短)
cat [選項] [文件]…

描述:wc 命令默認情況下會列印換行符數、單詞數和字元數。
用法:wc [選項] [文件]

用法:sort [選項] [文件]

轉自: Linux下文件搜索、查找、查看命令_黃小小的博客-CSDN博客_linux 搜索

⑥ powershell怎麼查找文件

1.先使用WIN徽標鍵+R打開搜索框並輸入POWERSHELL。

2.進入你要打開文件的目錄,可以用 cd 盤符:\路徑 這串命令來進入要打開文件的目錄。然後輸入 dir 命令來查看當前目錄所有文件。例如小編要打開名為「截圖」的PNG圖片文件。

3.記住一點:在輸入命令時,一定要留意文件的拓展名,輸入時不要忘記加上去。

4.接下來,最最重要的地方到了,小編教你一條在Linux系統中也適用的命令:./文件名.拓展名 一定不要忘了最前面的。
5.注意事項:不要使用chcp 937來切換為英文代碼頁,否則中文會顯示不出!

⑦ linux如何查找文件

1、使用find命令

Linuxfind命令用來在指定目錄下查找文件。任何位於參數之前的字元串都將被視為欲查找的目錄名。如果使用該命令時,不設置任何參數,則find命令將在當前目錄下查找子目錄或文件。並且將查找到的子目錄和文件全部進行顯示。

語法:find path -option [ -print ] [ -exec -ok command ] {} ;

2、使用locate命令

Linux locate命令用於查找符合條件的文檔,他會去保存文檔和目錄名稱的資料庫內,查找合乎範本樣式條件的文檔或目錄。

一般情況我們只需要輸入locate your_file_name即可查找指定文件。

語法:locate [-d ][--help][--version][範本樣式...]

3、使用which命令

Linux which命令用於查找文件。

which指令會在環境變數$PATH設置的目錄里查找符合條件的文件。

語法:which [文件...]

4、使用whereis命令

Linux whereis命令用於查找文件。

該指令會在特定目錄中查找符合條件的文件。這些文件應屬於原始代碼、二進制文件,或是幫助文件。

該指令只能用於查找二進制文件、源代碼文件和man手冊頁,一般文件的定位需使用locate命令。

語法:whereis [-bfmsu][-B <目錄>...][-M <目錄>...][-S<目錄>...][文件...]

⑧ linux怎麼通過shell查找到某一個文件的絕對路徑

Linux下查找文件的絕對路徑可以用whereis、locate或者find命令。如果想快速查找到文件的絕對路徑,最好是用whereis或者locate命令,它們的查找速度要比find命令快很多,這是因為在Linux系統中有個資料庫,記錄了系統內的所有文件,而whereis和locate命令就是在這個資料庫中查找,並沒有實際查找硬碟,而資料庫查找往往是非常快的;而find命令是直接查找硬碟,如果硬碟文件比較多,就比較費時間。
注意一點:whereis和locate命令的資料庫是一天更新一次,所以有時候會找到已經刪除的文件,還會有找不到最新剛剛創建文件的情況,當明明記得有卻找不到時,就用find命令來查找。
find用法:
find 要查找的路徑 參數
-name參數:指定要查找的文件名
-user參數:指定要查找的文件所屬用戶
-type參數指定查找文件的類型,分別有d目錄、l連接文件、s socket文件等,find命令的使用例子:
find /home -name myfile.txt
上面的命令在/home路徑下查找myfile.txt的絕對路徑。

⑨ linux Shell怎麼查找指定文件,並進入該文件所在目錄,目錄有空格

1.使用絕對路徑執行的shell文件(如/home/xxx/binfile)
直接使用dirname $0即可
2.對於使用相對路徑執行的shell文件(如 ./xxx/binfile)
pwd與dirname結合使用;pwd獲得的是執行當前shell文件時,用戶所在的位置;dirname可以獲得相對於那個位置的偏移:
例如某shell文件所在的位置是/home/user_name/work2/SNS3_server_im/Developing/trunk/im_capp/src/notify_serv/shell文件名

1 #!/bin/sh
2 pwd
3 echo `dirname $0`
執行後輸出
/home/user_name/work2/SNS3_server_im/Developing/trunk/im_capp/src
./notify_serv

⑩ shell基本命令

常用命令

一、目錄操作

a) ls--查看文件/目錄:

常用:ls –l 查看詳細文件列表

b) pwd--查看當前目錄:

c) cd--改變工作目錄:

常用①:cd ../ 跳轉到上一級目錄

備註: [./]當前目錄 [../]上一級目錄

常用②:cd /boot/ 跳轉到指定目錄

備註:指定目錄一定是完整路徑,例如win的文件路徑一樣。

d) mkdir--創建目錄:

常用:mkdir 123 創建一個空文件夾

e) rm--刪除文件/目錄:

常用: rm -rf 123 刪除目錄文件夾,並且目錄下的文件一並刪除。

備註:直接使用命令[rm],只能刪除空目錄。

-r 刪除目錄 -f 強制刪除文件或目錄

f) mv--移動文件/目錄改名、移動:

移動文件: mv 1.sh ./123 à mv 目標文件 移動至某目錄

重名命文件:mv 1.sh 123.sh à mv 原文件 欲改後文件

g) ln--建立軟連接和硬連接:

軟連接:ln -s 123.sh ../ à ln -s 源文件 欲放置路徑

如同window下的快捷方式,原理一致。

ln -s /root/桌面/共享文件夾/armQT/ /root/桌面

硬連接:ln 123.sh ../ à ln 源文件 欲放置路徑

復制一個文件,且該文件具有獨立性,不受源文件刪除的影響;無論源文件或目標文件的內容修改時,兩份文件都會同步修改。

h) rmdir--刪除空目錄:

二、文件操作

a)cat--查看文件內容,若文件不存在,創建對應文件:

常用:cat 1.txt

b)cp--拷貝文件、目錄:

備份:cp 123.sh 1.sh à cp 源文件 目標文件

復制至某路徑:cp 123.sh ../ à cp 源文件 目標路徑

c)chmod--修改文件許可權:

常用:chmod 777 1.sh 給1.sh最高許可權

備註:讀、寫、運行三項許可權可以用數字表示,就是r=4,w=2,x=1。

777就是rwxrwxrwx,意思是該登錄用戶(可以用命令id查看)、他所在的組和其他人都有最高許可權。

一般模式:chmod +rw 1.sh 僅當前用戶下1.sh具有可讀寫許可權

d)touch--創建文件:

常用:touch ./1.sh à touch 路徑+名稱

f)vim--創建並打開文件:

常用:vim ./1.sh à vim 路徑+名稱

g)find--在指定目錄查找符合條件的文件:

以[文件名+類型]尋找:find ./ -name 「*.*」à find 路徑 -nama 「預找文件名+類型」

尋找文件名為」123」的文件,*代表不限制類型

find ./ ! -name 「*.txt」 à 過濾txt類型文件後,顯示其他文件

備註:-name 區分大小寫 -iname 不區分大小寫

-o 連接符,作用如下圖

以[文件名]尋找:find ./ -path 「*1*」à find 路徑 - path 「預找文件名」

尋找文件名為」1」的所有文件

根據文件類型進行搜索:find . -type 類型參數

h)grep--在文件里查找內容:

從指定文件里查找內容:grep h ./file.txt à grep 內容 路徑

從緩存區里查找內容:ps -ef | grep 5799 à 某顯示命令 | grep 內容

(從進程列表中尋找帶有」5799」的文本行)

i)tar--解壓文件:

壓縮:

tar -cvf 1.tar *.* //將目錄里所有文件打包成1.tar

rar a 1.rar *.* //rar格式的壓縮

zip 1.zip *.* //zip格式的壓縮

解壓:

tar -xvf file.tar //解壓tar包

tar -xzvf file.tar.gz //解壓tar.gz

unrar e file.rar //解壓rar

unzip file.zip //解壓zip

j)file--顯示指定文件的類型:

三、用戶系統及許可權管理操作

a)su--用戶類型切換:

b)adser--添加用戶:

c)passwd--設置(更改)用戶口令:

d)usermod--設置用戶屬性:

e)ps--顯示當前系統用戶進程列表:

常用:ps -ef 顯示當前系統所有用戶的詳細進程

-e 顯示所有程序。 -f 顯示UID,PPIP,C與STIME欄位

-A 顯示所有程序。

f)kill--刪除執行中的進程:

常用:kill 123 à kill pid號

強制結束進程: kill -9 123 à kill -9 pid號

四、幫助命令

a)man--查詢命令閱讀手冊

man kill à 查詢有關[kill]的全部信息

man 2 kill à 只查詢第二條有關[kill]的信息

b)help--查詢命令閱讀手冊

五、網路相關命令

a)ifconfig 查看網路信息,設置ip

b)ping 測試網路聯網狀態

六、U盤操作相關命令

a)fdisk -l 識別usb存儲設備

b)mount –t vfat /dev/sdb /mnt/udisk使用mount命令掛載U盤

c)umount /mnt/udisk 卸載U盤

七、安裝軟體包命令

a)rpm

常用組合命令:

-ivh:安裝顯示安裝進度--install--verbose--hash

-Uvh:升級軟體包--Update;

-qpl: 列出RPM軟體包內的文件信息[Query Package list];

-qpi:列出RPM軟體包的描述信息[Query Package install package(s)];

-qf:查找指定文件屬於哪個RPM軟體包[Query File];

-Va:校驗所有的 RPM軟體包,查找丟失的文件[View Lost];

-e:刪除包

閱讀全文

與shell查找文件命令相關的資料

熱點內容
怎樣將文件夾中的文件上移 瀏覽:917
如何在盒馬app更換盒馬門店 瀏覽:747
淘寶壓縮圖教程 瀏覽:237
谷歌瀏覽器安卓怎麼用插件 瀏覽:78
商業源碼網vipym 瀏覽:598
使用阿里雲伺服器怎麼選操作系統 瀏覽:388
雙付天下app下載哪裡靠譜 瀏覽:245
pdf轉化圖片格式 瀏覽:762
如何向實體店推廣app 瀏覽:647
g32斜進刀反螺紋編程 瀏覽:542
android獲取已安裝的apk 瀏覽:811
app圖標如何放一起 瀏覽:720
雲伺服器設置通過ip訪問網站 瀏覽:913
生命代源碼女主角 瀏覽:740
空調扇加壓縮機 瀏覽:309
linux鏡像寫入 瀏覽:479
多媒體卡文件夾 瀏覽:29
java類轉map 瀏覽:856
朗逸plus剎車輔助模塊編程 瀏覽:293
xp文件加密了 瀏覽:284