日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux文件列表的理解,如何深刻理解 Linux 上的文件列表和排序?

發布時間:2024/3/24 linux 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux文件列表的理解,如何深刻理解 Linux 上的文件列表和排序? 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在 Linux 系統上,有許多方法可以列出文件并顯示它們的信息。這篇文章回顧了一些提供文件細節的命令,并提供了自定義文件列表的選項,以滿足你的需求。

大多數命令都會列出單個目錄中的文件,而其他命令則可以深入到文件系統的目錄中,只要你愿意看。

當然,最主要的文件列表命令是 ls。然而,這個命令有大量的選項,可以只查找和列出你想看的文件。另外,還有 find 可以幫助你進行非常具體的文件搜索。

按名稱列出文件

最簡單的方法是使用 ls 命令按名稱列出文件。畢竟,按名稱(字母數字順序)列出文件是默認的。你可以選擇 ls(無細節)或 ls -l(大量細節)來決定你看到什么。

$ls|head-6

8pgs.pdf

Aesthetics_Thank_You.pdf

alien.pdf

Annual_Meeting_Agenda-20190602.pdf

bigfile.bz2

bin

$ls-l|head-6

-rw-rw-r--1shsshs10886Mar2220198pgs.pdf

-rw-rw-r--1shsshs284003May112019Aesthetics_Thank_You.pdf

-rw-rw-r--1shsshs38282Jan242019alien.pdf

-rw-rw-r--1shsshs97358May192019Annual_Meeting_20190602.pdf

-rw-rw-r--1shsshs18115234Apr1617:36bigfile.bz2

drwxrwxr-x4shsshs8052736Jul1013:17bin

如果你想一次查看一屏的列表,可以將 ls 的輸出用管道送到 more 命令中。

按相反的名字順序排列文件

要按名稱反轉文件列表,請添加 -r( 反轉(Reverse))選項。這就像把正常的列表倒過來一樣。

$ls-r

$ls-lr

按文件擴展名列出文件

ls 命令不會按內容分析文件類型,它只會處理文件名。不過,有一個命令選項可以按擴展名列出文件。如果你添加了 -X ( 擴展名(eXtension))選項,ls 將在每個擴展名類別中按名稱對文件進行排序。例如,它將首先列出沒有擴展名的文件(按字母數字順序),然后是擴展名為 .1、.bz2、.c 等的文件。

只列出目錄

默認情況下,ls 命令將同時顯示文件和目錄。如果你想只列出目錄,你可以使用 -d( 目錄(Directory))選項。你會得到一個像這樣的列表:

$ls-d*/

1/backups/modules/projects/templates/

2/html/patches/public/videos/

bin/new/private/save/

按大小排列文件

如果你想按大小順序列出文件,請添加 -S( 大小(Size))選項。但請注意,這實際上不會顯示文件的大小(以及其他文件的細節),除非你還添加 -l( 長列表(Long listing))選項。當按大小列出文件時,一般來說,看到命令在按你的要求做事情是很有幫助的。注意,默認情況下是先顯示最大的文件。添加 -r 選項可以反過來(即 ls -lSr)。

$ls-lS

total959492

-rw-rw-r--1shsshs357679381Sep192019sav-linux-free-9.tgz

-rw-rw-r--1shsshs103270400Apr1617:38bigfile

-rw-rw-r--1shsshs79117862Oct52019Nessus-8.7.1-ubuntu1110_amd64.deb

按屬主列出文件

如果你想按屬主列出文件(例如,在一個共享目錄中),你可以把 ls 命令的輸出傳給 sort,并通過添加 -k3 來按第三個字段排序,從而挑出屬主一欄。

$ls-l|sort-k3|more

total56

-rw-rw-r--1doryshs0Aug2312:27tasklist

drwx------2gdmgdm4096Aug2117:12tracker-extract-files.121

srwxr-xr-x1rootroot0Aug2117:12ntf_listenerc0c6b8b4567

drwxr-xr-x2rootroot4096Aug2117:12hsperfdata_root

^

|

事實上,你可以用這種方式對任何字段進行排序(例如,年份)。只是要注意,如果你要對一個數字字段進行排序,則要加上一個 n,如 -k5n,否則你將按字母數字順序進行排序。這種排序技術對于文件內容的排序也很有用,而不僅僅是用于列出文件。

按年份排列文件

使用 -t( 修改時間(Time modified))選項按年份順序列出文件 —— 它們的新舊程度。添加 -r 選項,讓最近更新的文件在列表中最后顯示。我使用這個別名來顯示我最近更新的文件列表。

$aliasrecent='ls-ltr|tail-8'

請注意,文件的更改時間和修改時間是不同的。-c( 更改時間(time Changed))和 -t(修改時間)選項的結果并不總是相同。如果你改變了一個文件的權限,而沒有改變其他內容,-c 會把這個文件放在 ls 輸出的頂部,而 -t 則不會。如果你想知道其中的區別,可以看看 stat 命令的輸出。

$statckacct

File:ckacct

Size:200Blocks:8IOBlock:4096regularfile

Device:801h/2049dInode:829041Links:1

Access:(0750/-rwxr-x---)Uid:(1000/shs)Gid:(1000/shs)

Access:2020-08-2016:10:11.063015008-0400

Modify:2020-08-1707:26:34.579922297-0400<==contentchanges

Change:2020-08-2409:36:51.699775940-0400<==contentorpermissionschanges

Birth:-

按組別列出文件

要按關聯的組別對文件進行排序,你可以將一個長列表的輸出傳給 sort 命令,并告訴它在第 4 列進行排序。

$ls-l|sort-k4

按訪問日期列出文件

要按訪問日期(最近訪問的日期在前)列出文件,使用 -ltu 選項。u 強制“按訪問日期”排列順序。

$ls-ltu

total959500

-rwxr-x---1shsshs200Aug2409:42ckacct<==mostrecentlyused

-rw-rw-r--1shsshs1335Aug2317:45lte

單行列出多個文件

有時,精簡的文件列表更適合手頭的任務。ls 命令甚至有這方面的選項。為了在盡可能少的行上列出文件,你可以使用 --format=comma 來用逗號分隔文件名,就像這個命令一樣:

$ls--format=comma

1,10,11,12,124,13,14,15,16pgs-landscape.pdf,16pgs.pdf,17,18,19,

192.168.0.4,2,20,2018-12-23_OoS_2.pdf,2018-12-23_OoS.pdf,20190512_OoS.pdf,

'2019_HOHO_applicationworking.pdf'…

喜歡用空格?使用 --format=across 代替。

$ls--format=acrossz*

zzipzipfileszipfiles1.batzipfiles2.bat

zipfiles3.batzipfiles4.batzipfiles.batzoom_amd64.debzoomap.pdf

zoom-mtg

增加搜索的深度

雖然 ls 一般只列出單個目錄中的文件,但你可以選擇使用 -R 選項( 遞歸(Recursively))地列出文件,深入到整個目錄的深處。

$ls-Rzzzzz|grep-v"^$"

zzzzz:

zzzz

zzzzz/zzzz:

zzz

zzzzz/zzzz/zzz:

zz

zzzzz/zzzz/zzz/zz:

z

zzzzz/zzzz/zzz/zz/z:

sleeping

另外,你也可以使用 find 命令,對深度進行限制或不限制。在這個命令中,我們指示 find 命令只在三個層次的目錄中查找:

$findzzzzz-maxdepth3

zzzzz

zzzzz/zzzz

zzzzz/zzzz/zzz

zzzzz/zzzz/zzz/zz

選擇 ls 還是 find

當你需要列出符合具體要求的文件時,find 命令可能是比 ls 更好的工具。

與 ls 不同的是,find 命令會盡可能地深入查找,除非你限制它。它還有許多其他選項和一個 -exec 子命令,允許在找到你要找的文件后采取一些特定的行動。

總結

ls 命令有很多用于列出文件的選項。了解一下它們。你可能會發現一些你會喜歡的選項。

總結

以上是生活随笔為你收集整理的linux文件列表的理解,如何深刻理解 Linux 上的文件列表和排序?的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。