Linux / Mac 下 基本的 bash shell 命令詳解(cd 、ls)

Linux / Mac 下 基本的 bash shell 命令詳解

前言

本篇主要介紹了cd 、ls 這兩個(gè)基本命令,本博客同時(shí)發(fā)表在CSDN和簡(jiǎn)書。

遍歷目錄 cd

cd destination

cd命令可以帶單個(gè)參數(shù)destination,用以制定你想切換到的目錄名。如果用戶沒有指定目標(biāo)路徑,將會(huì)切換到當(dāng)前用戶主目錄。
目錄路徑參數(shù)可以使用兩種方式表達(dá):

  • 絕對(duì)文件路徑
    用戶可在虛擬目錄中采用==絕對(duì)文件路徑==來引用目錄名。絕對(duì)文件路徑定義了在虛擬目錄結(jié)構(gòu)中該目錄的確切位置,以虛擬目錄的根目錄開始,相當(dāng)于目錄的全名。
    即以“/”開頭的目錄的絕對(duì)路徑,當(dāng)當(dāng)前所在的目錄已經(jīng)在工作目錄中時(shí),可以使用 cd / 回到根目錄。

  • 相對(duì)文件路徑
    ==相對(duì)文件路徑==允許用戶指定一個(gè)基于當(dāng)前位置的目錄文件路徑,而無需再?gòu)母夸涢_始。相對(duì)文件路徑不以代表根目錄的正斜線(/)開頭,而以目錄名(如果用戶準(zhǔn)備切換到當(dāng)前工作目錄下的一個(gè)目錄)或是一個(gè)表示基于用戶當(dāng)前目錄的相對(duì)位置的特殊字符開始。有兩個(gè)特殊字符:

    • 單點(diǎn)符(.),表示當(dāng)前目錄;
    • 雙點(diǎn)符(..),表示當(dāng)前目錄的父級(jí)目錄。

    例如:

    cd ../Desktop
    cd ./Doc
    cd ../../etc
    

列表命令 ls

基本列表功能

命令區(qū)分大小寫。
ls命令的基本格式會(huì)顯示當(dāng)前目錄下的文件和目錄。
ls命令輸出的列表是按字母排序的(按列排序而不是按行排序)。如果用戶用的是支持彩色的終端模擬器(==Mac 電腦終端默認(rèn)是沒有色彩的,可以百度添加配置文件==),ls命令還可以用不同的顏色來區(qū)分不同類型的文件。LS_COLORS環(huán)境變量控制著這個(gè)功能。

  • ls -F:該命令會(huì)在結(jié)果中的目錄名后面加正斜線(/),以方便用戶在輸出中分辨它們。類似的,他會(huì)在可執(zhí)行文件后面加個(gè)星號(hào),以便找出可在系統(tǒng)上運(yùn)行的文件。
  • ls -a:該命令可以將隱藏文件和目錄一起顯示出來。
  • ls -R:該命令可以列出當(dāng)前目錄下的包含的目錄中的文件。如果有很多個(gè)目錄,這個(gè)輸出會(huì)很長(zhǎng)。

修改輸出信息

ls命令并沒有輸出每個(gè)文件額太多相關(guān)信息。需要顯示更多的信息,需要使用改命令:

  • ls -l:該參數(shù)會(huì)產(chǎn)生長(zhǎng)列表格式的輸出,包含了目錄中每個(gè)文件的更多的相關(guān)信息:
    這種超列表格式的輸出在每一行中列出了單個(gè)文件或目錄。除了文件名,輸出中還有其他有用信息。輸出的第一行顯示了目錄中包含的塊的總數(shù)。之后每一行都包含了關(guān)于文件(或目錄)的下述信息:
    • 文件類型,比如目錄(d)、文件(-)、字符型文件(c)或者塊文件(b);
    • 文件的權(quán)限;
    • 文件的硬鏈接總數(shù);
    • 文件屬主的用戶名;
    • 文件屬主的組名;
    • 文件的大?。ㄒ炎止?jié)為單位);
    • 文件的上次修改時(shí)間;
    • 文件名或目錄名。

完整的參數(shù)列表

在進(jìn)行文件管理時(shí),ls命令的很多參數(shù)可能會(huì)派上用場(chǎng)。針對(duì)ls運(yùn)行一下man命令,你就能看到可用來修改ls命令輸出的參數(shù)就有好幾頁。man ls
ls命令采用兩種格式的命令行參數(shù):

  • 單字母參數(shù);
  • 全字母參數(shù);

單字母參數(shù)通常是由英文破折號(hào)開始,全字參數(shù)則更易于看懂,通常以雙英文破折號(hào)開始。許多參數(shù)都有單字母和全字母兩種版本,而有些則只有一種。

==Mac 終端下,測(cè)試了幾個(gè)命令并不用輸入“--”,直接輸入“-”加后面的命令即可,還有就是下表的一些命令,在Mac 并沒有響應(yīng)。目前不知道是測(cè)試輸入錯(cuò)誤還是本身并不支持。==

單字母 全字 描述
-a --all 輸出包括以“.”打頭的隱藏文件
-A --almost-all 不要輸出“.”和“..”文件
--author 輸出每個(gè)文件的作者
-b --escape 輸出不可打印的字符的八進(jìn)制值
--block-size=size 按照size字節(jié)的大小來計(jì)算大小塊(快數(shù))
-B --ignore-backups 不要列出名稱中包含波浪線(~)的條目(波浪線用來表示備份的副本)
-c 按最后一次修改時(shí)間排序
-C 按列輸出條目
--color=when 何時(shí)使用彩色(always,never或者auto)
-d --directory 列出目錄條目而非內(nèi)容,并且不用跟蹤符號(hào)鏈接
-F --classify 給條目追加文件類型標(biāo)識(shí)符
--file-type 只在部分文件類型(非可執(zhí)行文件)后追加文件類型標(biāo)識(shí)符
--format=word 將輸出格式化成across(交叉)、commas(逗號(hào))。horizontal(水平)、long(長(zhǎng))、single-column(單列)、verbose(詳細(xì))或vertical(垂直)
-g 輸出除文件屬主之外所有信息
--group-directories-first 在文件之前列出所有目錄
-G --no-group 在長(zhǎng)列表輸出格式下,不顯示組名
-h --human-readable 打印大小,K表示千字節(jié)
--si 和-h相同,但進(jìn)率為1000,而非1024
-i --inode 顯示每個(gè)文件的所有值(inode)
-l 按長(zhǎng)列表輸出格式顯示
-L --dereference 對(duì)于鏈接文件,顯示原文件信息
-n --numeric-uid-gid 顯示數(shù)字類型的userid和groupid以替代名字
-o 在長(zhǎng)列表格式下不顯示組名
-r --reverse 在輸出文件和目錄時(shí),反轉(zhuǎn)排序的順序
-R --recursive 遞歸的列出子目錄的內(nèi)容
-s --size 輸出每個(gè)文件的塊大小
-S --sort=size 按文件大小排序輸出
-t --sort=time 按文件修改時(shí)間排序輸出
-u 輸出文件的最后訪問時(shí)間而非最后修改時(shí)間
-U --sort=none 不要將輸出排序
-v --sort=version 將文件版本排序輸出
-x 按行而非按列輸出條目
-X --sort=extension 按文件擴(kuò)展名排序輸出

如果需要,也可以一次使用多個(gè)參數(shù)。多個(gè)雙破折線參數(shù)必須分開輸入,而多個(gè)單波折線可以組合成一個(gè)字符串跟在一個(gè)單破折線后面。例如:ls -alis單命令無關(guān)順序。

過濾輸出列表

由前面的例子可以知道,默認(rèn)情況下,ls命令會(huì)輸出目錄下的所有文件。
ls命令還支持在命令行下定義過濾器。它會(huì)用過濾器決定應(yīng)該在輸出中顯示哪些文件和目錄。
這個(gè)過濾器就是個(gè)進(jìn)行簡(jiǎn)單文本匹配的的字符串,可以在要用的命令行參數(shù)后添加這個(gè)過濾器:

ls -l 匹配字符串

當(dāng)用戶指定特定的文件名稱作為過濾器時(shí),ls命令只會(huì)顯示那個(gè)文件的信息。
有時(shí)候當(dāng)不知道要找的文件的確切名稱。ls命令可以識(shí)別標(biāo)準(zhǔn)通配符,并在過濾器中用它們來進(jìn)行模式匹配:

  • 問好代表一個(gè)字符。
  • 星號(hào)代表零個(gè)或多個(gè)字符。

問號(hào)可用在過濾器字符串中替代任意位置的單個(gè)字符。
例如:

ls -l mypro?
ls -l mypro*
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容