這篇文章主要為大家展示了“l(fā)inux中命令別名有什么用”,內(nèi)容簡(jiǎn)而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“l(fā)inux中命令別名有什么用”這篇文章吧。
為康縣等地區(qū)用戶提供了全套網(wǎng)頁(yè)設(shè)計(jì)制作服務(wù),及康縣網(wǎng)站建設(shè)行業(yè)解決方案。主營(yíng)業(yè)務(wù)為成都網(wǎng)站制作、成都網(wǎng)站設(shè)計(jì)、康縣網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠(chéng)的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長(zhǎng)期合作。這樣,我們也可以走得更遠(yuǎn)!
Linux shell 最美妙的事情之一是可以使用數(shù)以萬(wàn)計(jì)的選項(xiàng)和把命令連接在一起執(zhí)行真正復(fù)雜的操作。好吧,也許這種美麗是在旁觀者的眼中的,但是我們覺(jué)得這個(gè)功能很實(shí)用。
不利的一面是,你經(jīng)常需要記得難以記憶或難以打字出來(lái)的命令組合。比如說(shuō)硬盤(pán)上的空間非常寶貴,而你想要做一些清潔工作。你的***步可能是尋找隱藏在你的家目錄里的東西。你可以用來(lái)判斷的一個(gè)標(biāo)準(zhǔn)是查找不再使用的內(nèi)容。ls
可以幫助你:
ls -lct
上面的命令顯示了每個(gè)文件和目錄的詳細(xì)信息(-l
),并顯示了每一項(xiàng)上次訪問(wèn)的時(shí)間(-c
),然后它按從最近訪問(wèn)到最少訪問(wèn)的順序排序這個(gè)列表(-t
)。
這難以記住嗎?你可能不會(huì)每天都使用 -c
和 -t
選項(xiàng),所以也許是吧。無(wú)論如何,定義一個(gè)別名,如:
alias lt='ls -lct'
會(huì)更容易一些。
然后,你也可能希望列表首先顯示最舊的文件:
alias lo='lt -F | tac'
圖 1:使用 lt 和 lo 別名。
這里有一些有趣的事情。首先,我們使用別名(lt
)來(lái)創(chuàng)建另一個(gè)別名 —— 這是完全可以的。其次,我們將一個(gè)新參數(shù)傳遞給 lt
(后者又通過(guò) lt
別名的定義傳遞給了 ls
)。
-F
選項(xiàng)會(huì)將特殊符號(hào)附加到項(xiàng)目的名稱后,以便更好地區(qū)分常規(guī)文件(沒(méi)有符號(hào))和可執(zhí)行文件(附加了 *
)、目錄文件(以 /
結(jié)尾),以及所有鏈接文件、符號(hào)鏈接文件(以 @
符號(hào)結(jié)尾)等等。-F
選項(xiàng)是當(dāng)你回歸到單色終端的日子里,沒(méi)有其他方法可以輕松看到列表項(xiàng)之間的差異時(shí)用的。在這里使用它是因?yàn)楫?dāng)你將輸出從 lt
傳遞到 tac
時(shí),你會(huì)丟失 ls
的顏色。
第三件我們需要注意的事情是我們使用了管道。管道用于你將一個(gè)命令的輸出傳遞給另外一個(gè)命令時(shí)。第二個(gè)命令可以使用這些輸出作為它的輸入。在包括 Bash 在內(nèi)的許多 shell 里,你可以使用管道符(|
) 來(lái)做傳遞。
在這里,你將來(lái)自 lt -F
的輸出導(dǎo)給 tac
。tac
這個(gè)命令有點(diǎn)玩笑的意思,你或許聽(tīng)說(shuō)過(guò) cat
命令,它名義上用于將文件彼此連接(concat
),而在實(shí)踐中,它被用于將一個(gè)文件的內(nèi)容打印到終端。tac
做的事情一樣,但是它是以逆序?qū)⒔邮盏降膬?nèi)容輸出出來(lái)。明白了嗎?cat
和 tac
,技術(shù)人有時(shí)候也挺有趣的。
cat
和 tac
都能輸出通過(guò)管道傳遞過(guò)來(lái)的內(nèi)容,在這里,也就是一個(gè)按時(shí)間順序排序的文件列表。
那么,在有些離題之后,最終我們得到的就是這個(gè)列表將當(dāng)前目錄中的文件和目錄以新鮮度的逆序列出(即老的在前)。
***你需要注意的是,當(dāng)在當(dāng)前目錄或任何目錄運(yùn)行 lt
時(shí):
# 這可以工作:lt# 這也可以:lt /some/other/directory
……而 lo
只能在當(dāng)前目錄奏效:
# 這可工作:lo# 而這不行:lo /some/other/directory
這是因?yàn)?Bash 會(huì)展開(kāi)別名的組分。當(dāng)你鍵入:
lt /some/other/directory
Bash 實(shí)際上運(yùn)行的是:
ls -lct /some/other/directory
這是一個(gè)有效的 Bash 命令。
而當(dāng)你鍵入:
lo /some/other/directory
Bash 試圖運(yùn)行:
ls -lct -F | tac /some/other/directory
這不是一個(gè)有效的命令,主要是因?yàn)?/some/other/directory
是個(gè)目錄,而 cat
和 tac
不能用于目錄。
alias lll='ls -R'
會(huì)打印出目錄的內(nèi)容,并深入到子目錄里面打印子目錄的內(nèi)容,以及子目錄的子目錄,等等。這是一個(gè)查看一個(gè)目錄下所有內(nèi)容的方式。
mkdir='mkdir -pv'
可以讓你一次性創(chuàng)建目錄下的目錄。按照 mkdir
的基本形式,要?jiǎng)?chuàng)建一個(gè)包含子目錄的目錄,你必須這樣:
mkdir newdirmkdir newdir/subdir
或這樣:
mkdir -p newdir/subdir
而用這個(gè)別名你將只需要這樣就行:
mkdir newdir/subdir
你的新 mkdir
也會(huì)告訴你創(chuàng)建子目錄時(shí)都做了什么。
別名的另一個(gè)好處是它可以作為防止你意外地刪除或覆寫(xiě)已有的文件的保護(hù)措施。你可能聽(tīng)說(shuō)過(guò)這個(gè) Linux 新用戶的傳言,當(dāng)他們以 root 身份運(yùn)行:
rm -rf /
整個(gè)系統(tǒng)就爆了。而決定輸入如下命令的用戶:
rm -rf /some/directory/ *
就很好地干掉了他們的家目錄的全部?jī)?nèi)容。這里不小心鍵入的目錄和 *
之間的那個(gè)空格有時(shí)候很容易就會(huì)被忽視掉。
這兩種情況我們都可以通過(guò) alias rm='rm -i'
別名來(lái)避免。-i
選項(xiàng)會(huì)使 rm
詢問(wèn)用戶是否真的要做這個(gè)操作,在你對(duì)你的文件系統(tǒng)做出不可彌補(bǔ)的損失之前給你第二次機(jī)會(huì)。
對(duì)于 cp
也是一樣,它能夠覆蓋一個(gè)文件而不會(huì)給你任何提示。創(chuàng)建一個(gè)類似 alias cp='cp -i'
來(lái)保持安全吧。
以上是“l(fā)inux中命令別名有什么用”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!