我們每天都在使用linuxls命令而不去考慮它。真遺憾。注意一下,您會發現許多有用的選項,包括一些您應該新增到命令列庫中的選項。
ls命令可能是大多數Linux使用者遇到的第一個命令。我們這些整天圍著命令列轉的人日復一日地使用它,甚至沒有想過它。這也許可以解釋為什麼這個命令比大多數使用者意識到的要多。我們用它列出檔案,看看目錄裡有什麼。當我們想檢視檔案的許可權時,我們以長格式列出檔案。除此之外,它很少得到考慮。
ls命令是具有豐富選項的命令之一。也許這是問題的一部分。有這麼多的選擇,你如何從中篩選出有用的呢?找到它們之後,你怎麼記得它們?
ls命令及其選項和引數字串的有用排列是別名的最佳候選。實際上,在大多數發行版中,您認為的“裸”ls命令實際上是一個別名。除此之外,type命令還可以用來顯示別名的基本定義。讓我們看看ls的定義:
ls型
每次使用ls命令時,都會自動包含--color=auto引數。這就是為清單中的不同檔案型別提供不同顏色的原因。
相關:如何在Linux上建立別名和Shell函式
每個使用過Linux終端的人都知道,預設情況下,ls會列出當前目錄中的檔案和目錄。
ls如果要在單個列中生成列表,請使用-1(每行一個檔案)選項:
ls -1稍後我們將在列表頂部討論這個看起來很奇怪的檔名。
要讓ls列出當前目錄以外的目錄中的檔案,請在命令列上將目錄的路徑傳遞給ls。您還可以將多個目錄傳遞給ls,並將它們逐個列出。在這裡,我們要求ls列出兩個目錄中的檔案,一個稱為“Help”,另一個稱為“gc\u Help”
ls Help gc_help當ls列出第一個目錄的內容時,它會列出第二個目錄的內容。它在處理每個目錄時列印它們的名稱:
要有選擇地列出一組檔案,請使用模式匹配。“問號”?“將表示任何單個字元,星號“*”將表示任何字串。要列出名稱以“ip”開頭的任何檔案或目錄,請使用以下格式:
ls ip_*要列出副檔名為“.c”的檔案,請使用以下格式:
ls *.c您還可以將ls與grep一起使用,並使用grep的模式匹配功能。讓我們查詢名稱中包含字串“\u pin\”的任何檔案:
ls | grep _pin_這與單獨使用ls幾乎相同,有兩個萬用字元:
ls | grep _pin_ ls *_pin_*為什麼幾乎一樣?注意不同的佈局。grep強制輸出為每行一個檔名的格式。
您可能會發現自己的檔名中包含非列印或控制字元。通常,當您展開從web下載的存檔檔案或檢索git儲存庫時,會發生這種情況,而原始作者在建立檔案時出錯,但沒有發現它。
我們奇怪的檔案就是其中之一:
如果我們在檔案瀏覽器中檢視它並按“F2”將其重新命名,則非列印字元由一個奇怪的符號表示。
您可以使用-b(escape)選項來檢視檔名實際包含的內容。此選項使ls使用C程式語言的轉義序列來表示控制字元。
ls -b a*這個神祕的字元顯示為一個換行符,用C表示為“\n”
要從列表中刪除某些檔案,請使用--hide選項。假設您不想在清單中看到backup“.bak”檔案。您可以使用以下命令:
ls ls --hide=*.bak第二個清單中不包括“.bak”檔案。
l(長清單)選項使ls提供關於每個檔案的詳細資訊。
ls -l這裡有很多資訊,所以讓我們來看看。
ls顯示的第一件事是列表中所有檔案的總大小。然後每個檔案或目錄單獨顯示在一行上。
第一組10個字母和破折號是檔案型別以及所有者、組和其他檔案許可權。
第一個字元表示檔案型別。它將是以下之一:
接下來的九個字元是三組連續顯示的三個字元。每組三個代表讀、寫和執行許可權,按順序排列。如果授予了許可權,則會出現r、w或x。如果未授予許可權,則會顯示連字元。
第一組三個字元是檔案所有者的許可權。第二組三個許可權用於組成員,最後一組三個許可權用於其他成員。
有時,所有者的執行許可權由s表示。這是setuid位。如果存在,則表示該檔案是以檔案所有者的許可權執行的,而不是以執行該檔案的使用者的許可權執行的。
組的執行許可權也可以是s。這是setgid位。當它應用於一個檔案時,意味著該檔案將以ower組的許可權執行。當與目錄一起使用時,在目錄中建立的任何檔案都將從建立它們的目錄中獲取組許可權,而不是從建立檔案的使用者獲取組許可權。
其他人的執行許可權有時可以用t表示。這是粘性位。它通常應用於目錄。如果設定了此選項,則無論對目錄中的檔案設定了寫入和可執行許可權,只有檔案所有者、目錄所有者或根使用者可以重新命名或刪除目錄中的檔案。
粘性位的一個常見用法是在資料夾中,例如“/tmp”。這可由計算機上的所有使用者寫入。目錄上的粘性位確保使用者和使用者啟動的程序只能重新命名或刪除自己的臨時檔案。
我們可以在“/tmp”目錄中看到粘性位。請注意-d(directory)選項的使用。這會導致ls報告目錄的詳細資訊。如果沒有這個選項,ls將報告目錄中的檔案。
ls -l -d /tmp相關:如何在Linux上使用chmod命令
許可權後面的數字是指向檔案或目錄的硬連結數。對於一個檔案,這通常是一個,但如果其他硬連結被建立,這個數字將增加。一個目錄通常至少有兩個硬連結。一個是指向自身的連結,另一個是其父目錄中的條目。
接下來將顯示所有者和組的名稱。它們後跟檔案大小和上次修改檔案的日期。最後給出了檔名。
以位元組為單位的檔案大小並不總是方便的。要以最合適的單位(千位元組、兆位元組等)檢視檔案大小,請使用-h(人類可讀)選項:
ls -l -h要檢視隱藏檔案,請使用-a(all)選項:
ls -l -a兩個條目“.”和“.”分別表示當前目錄和父目錄。名為“.base\u settings”的檔案現在第一次可見。
如果您不希望列表中有“.”和“.”項,但確實希望看到隱藏的檔案,請使用-A(幾乎所有)選項:
ls -l -A隱藏檔案仍會列出,但“.”和“.”項將被抑制。
要讓ls列出所有子目錄中的檔案,請使用-R(遞迴)選項
ls -l -Rls遍歷起始目錄下的整個目錄樹,並列出每個子目錄中的檔案。
要顯示使用者ID和組ID而不是使用者名稱和組名,請使用-n(數字uid和gid)選項。
ls -n您可以按副檔名、檔案大小或修改時間對列表進行排序。這些選項不必與長列表格式一起使用,但這樣做通常是有意義的。如果按檔案大小排序,則可以在列表中檢視檔案大小。當您按擴充套件型別排序時,長列表格式並不那麼重要。
要按副檔名排序,請使用-X(按副檔名排序)選項。
ls -X -1首先列出目錄(完全沒有副檔名),然後根據副檔名按字母順序列出其餘目錄。
要按檔案大小排序,請使用-S(按檔案大小排序)選項。
ls -l -h -S排序順序是從大到小。
要按修改時間對列表排序,請使用-t(按修改時間排序)選項。
ls -l -t列表按修改時間排序。
如果檔案修改時間在當前年度內,則顯示的資訊為月份、日期和時間。如果修改日期不在當前年份中,則顯示的資訊是月份、日期和年份。
獲取目錄中最新和最舊檔案的一種快速方法是將ls與head和tail命令結合使用。
要獲取最新的檔案或目錄,請使用以下命令:
ls -t | head -1要獲取最舊的檔案或目錄,請使用以下命令:
ls -t | tail -1要反轉任何排序順序,請使用-r(reverse)選項。
ls -l -h -S -r列表現在從最小的檔案到最大的檔案排序。
檢視ls的手冊頁,有更多的選項。其中一些滿足一些模糊的用例,但是偶爾,您會很高興瞭解它們。
您需要以Linux所能提供的最大精度檢視檔案時間戳嗎?使用全職選項:
ls --full-time也許你想看看檔案的索引節點號?使用inode選項:
ls -i您是否正在使用單色顯示器,並希望消除所有混淆目錄和連結檔案的風險?使用classify選項,ls會將其中一個附加到每個列表條目:
做些挖掘。你會發現ls是一個豐富的礦脈,你會不斷髮現寶石。
... 今天我們將介紹如何在Windows、Mac和Linux上將命令的輸出傳送到bashshell中的文字檔案。 ...
... 要了解更多的Linux基礎知識,請檢視我們關於如何在Linux中重新命名檔案的概述。 ...
... 我們已經介紹瞭如何在Windows和Mac上隱藏檔案和資料夾。下面介紹如何在Linux上使用終端和Ubuntu中的檔案管理器Nautilus隱藏檔案和資料夾。我們還將討論幾種安全地隱藏檔案和資料夾的方法...
如果您不知道如何使用ls命令,那麼獲取與儲存上的檔案相關的詳細資訊是很困難的。在這裡,我們將討論Linux上與ls命令相關的所有內容,以及它使用的一些不同的標誌。 ...
...用,不需要對檔案系統有詳細、低階的瞭解。讓我們看看如何使用它! 相關:你想知道的關於Linux上inodes的一切 安裝測試盤 要在Ubuntu上安裝testdisk,請使用以下命令: sudo apt-get install testdisk 在Fedora上,您需要鍵入: sudo dnf insta...
...棒的特性,但是它們可能會斷開並指向任何東西。下面是如何找到斷開的符號連結,檢查它們,並在需要時從系統中刪除它們。 符號連結101 符號連結,也稱為“軟連結”和“符號連結”,是一種可以指向檔案和目錄的快捷方...
...shshell的行為,您可以控制超過50個設定。我們將向您展示如何按照您喜歡的方式定製您的Linux系統。 shopt內建 shopt內建是bashshell所有版本的一部分,因此不需要安裝任何東西。多年來,shopt提供的選項數量穩步增加。所以,Bash...
...一個分支,它的建立完全是為了避免使用systemd。 相關:如何在Linux系統上管理Systemd服務 $home目錄 在Linux目錄結構中,您所做的一切都駐留在“/home”目錄中。您的資料檔案、影象、音樂和整個個人目錄樹都儲存在這個以您的使...