成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Linux命令行工具使用小貼士及技巧(四)

系統(tǒng) Linux 系統(tǒng)運(yùn)維
到目前為止,在該系列指南中,我們已經(jīng)討論了 cd - 和 pushd/popd 命令的基本使用方法和相關(guān)細(xì)節(jié),以及 CDPATH 環(huán)境變量。在這第四期、也是最后一期文章中,我們會(huì)討論別名的概念以及你可以如何使用它們使你的命令行導(dǎo)航更加輕松和平穩(wěn)。

Linux命令行工具使用小貼士及技巧

到目前為止,在該系列指南中,我們已經(jīng)討論了 cd - 和 pushd/popd 命令的基本使用方法和相關(guān)細(xì)節(jié),以及 CDPATH 環(huán)境變量。在這第四期、也是***一期文章中,我們會(huì)討論別名的概念以及你可以如何使用它們使你的命令行導(dǎo)航更加輕松和平穩(wěn)。

一如往常,在進(jìn)入該指南的核心之前,值得指出本文中的所有命令以及展示的例子都在 Ubuntu 14.04LTS 中進(jìn)行了測(cè)試。我們使用的命令行 shell 是 bash(4.3.11 版本)。

Linux 中的命令行別名

按照外行人的定義,別名可以被認(rèn)為是一個(gè)復(fù)雜命令或者一組命令(包括它們的參數(shù)和選項(xiàng))的簡(jiǎn)稱或縮寫。所以基本上,使用別名,你可以為那些不那么容易書寫/記憶的命令創(chuàng)建易于記憶的名稱。

例如,下面的命令為 cd ~ 命令創(chuàng)建別名 home:

  1. alias home="cd ~" 

這意味著現(xiàn)在在你的系統(tǒng)中無論何地,無論何時(shí)你想要回到你的主目錄時(shí),你可以很快地輸入 home 然后按回車鍵實(shí)現(xiàn)。

關(guān)于 alias 命令,man 手冊(cè)是這么描述的:

alias 工具可以創(chuàng)建或者重定義別名定義,或者把現(xiàn)有別名定義輸出到標(biāo)準(zhǔn)輸出。別名定義提供了輸入一個(gè)命令時(shí)應(yīng)該被替換的字符串值

一個(gè)別名定義會(huì)影響當(dāng)前 shell 的執(zhí)行環(huán)境以及當(dāng)前 shell 的所有子 shell 的執(zhí)行環(huán)境。按照 IEEE Std 1003.1-2001 規(guī)定,別名定義不應(yīng)該影響當(dāng)前 shell 的父進(jìn)程以及任何 shell 調(diào)用的程序環(huán)境。

那么,別名到底如何幫助命令行導(dǎo)航呢?這是一個(gè)簡(jiǎn)單的例子:

假設(shè)你正在 /home/himanshu/projects/howtoforge 目錄工作,它包括很多子目錄以及子子目錄。例如下面就是一個(gè)完整的目錄分支:

  1. /home/himanshu/projects/howtoforge/command-line/navigation/tips-tricks/part4/final 

現(xiàn)在想象你在 final 目錄,然后你想回到 tips-tricks 目錄,然后再從那里,回到 howtoforge 目錄。你會(huì)怎么做呢?

是的,一般情況下,你會(huì)運(yùn)行下面的一組命令:

  1. cd ../.. 
  2. cd ../../.. 

雖然這種方法并沒有錯(cuò)誤,但它絕對(duì)不方便,尤其是當(dāng)你在一個(gè)很長(zhǎng)的路徑中想往回走例如說 5 個(gè)目錄時(shí)。那么,有什么解決辦法嗎?答案就是:別名。

你可以做的是,為每個(gè) cd .. 命令創(chuàng)建容易記憶(和書寫)的別名。例如:

  1. alias bk1="cd .."   
  2. alias bk2="cd ../.."   
  3. alias bk3="cd ../../.."   
  4. alias bk4="cd ../../../.."   
  5. alias bk5="cd ../../../../.." 

現(xiàn)在無論你什么時(shí)候想從當(dāng)前工作目錄往回走,例如說 5 個(gè)目錄,你只需要運(yùn)行下面的命令:

  1. bk5 

現(xiàn)在這不是很簡(jiǎn)單嗎?

相關(guān)細(xì)節(jié)

盡管當(dāng)前我們?cè)?shell 中用于定義別名的技術(shù)(通過使用 alias 命令)實(shí)現(xiàn)了效果,別名只存在于當(dāng)前終端會(huì)話。很有可能你會(huì)希望你定義的別名能保存下來,使得此后你可以在任何新啟動(dòng)的命令行窗口/標(biāo)簽頁中使用它們。

為此,你需要在 ~/.bash_aliases 文件中定義你的別名,你的 ~/.bashrc 文件默認(rèn)會(huì)加載該文件(如果你使用更早版本的 Ubuntu,我沒有驗(yàn)證過是否有效)。

下面是我的 .bashrc 文件中關(guān)于 .bash_aliases 文件的部分:

  1. # Alias definitions. 
  2. # You may want to put all your additions into a separate file like 
  3. # ~/.bash_aliases, instead of adding them here directly. 
  4. # See /usr/share/doc/bash-doc/examples in the bash-doc package. 
  5. if [ -f ~/.bash_aliases ]; then  
  6.       . ~/.bash_aliases 
  7. fi 

一旦你把別名定義添加到你的 .bash_aliases 文件,該別名在任何新終端中都可用。但是,在任何其它你定義別名時(shí)已經(jīng)啟動(dòng)的終端中,你還不能使用它們 - 解決辦法是在這些終端中重新加載 .bashrc。下面就是你需要執(zhí)行的具體命令:

  1. source ~/.bashrc 

如果你覺得這要做的也太多了(是的,我期待你有更懶惰的辦法),那么這里有一個(gè)快捷方式來做到這一切:

  1. "alias [the-alias]" >> ~/.bash_aliases && source ~/.bash_aliases 

毫無疑問,你需要用實(shí)際的命令替換 [the-alias]。例如:

  1. "alias bk5='cd ../../../../..'" >> ~/.bash_aliases && source ~/.bash_aliases 

接下來,假設(shè)你已經(jīng)創(chuàng)建了一些別名,并時(shí)不時(shí)使用它們有一段時(shí)間了。突然有一天,你發(fā)現(xiàn)它們其中的一個(gè)并不像期望的那樣。因此你覺得需要查看被賦予該別名的真正命令。你會(huì)怎么做呢?

當(dāng)然,你可以打開你的 .bash_aliases 文件在那里看看,但這種方式可能有點(diǎn)費(fèi)時(shí),尤其是當(dāng)文件中包括很多別名的時(shí)候。因此,如果你正在查找一種更簡(jiǎn)單的方式,這就有一個(gè):你需要做的只是運(yùn)行 alias 命令并把別名名稱作為參數(shù)。

這里有個(gè)例子:

  1. $ alias bk6 
  2. alias bk6='cd ../../../../../..' 

你可以看到,上面提到的命令顯示了被賦值給別名 bk6 的實(shí)際命令。這里還有另一種辦法:使用 type 命令。下面是一個(gè)例子:

  1. $ type bk6 
  2. bk6 is aliased to `cd ../../../../../..' 

type 命令產(chǎn)生了一個(gè)易于人類理解的輸出。

另一個(gè)值得分享的是你可以將別名用于常見的輸入錯(cuò)誤。例如:

  1. alias mroe='more' 

***,還值得注意的是并非每個(gè)人都喜歡使用別名。他們中的大部分人認(rèn)為一旦你習(xí)慣了你為了簡(jiǎn)便而定義的別名,當(dāng)你在其它相同而不存在別名(而且不允許你創(chuàng)建)的系統(tǒng)中工作時(shí)就會(huì)變得非常困難。更多(也是更準(zhǔn)確的)為什么一些專家不推薦使用別名的原因,你到這里查看。

總結(jié)

就像我們之前文章討論過的 CDPATH 環(huán)境變量,別名也是一把應(yīng)該謹(jǐn)慎使用的雙刃劍。盡管如此也別太喪氣,因?yàn)槊總€(gè)東西都有它自己的好處和劣勢(shì)。遇到類似別名的概念時(shí),更多的練習(xí)和完備的知識(shí)才是重點(diǎn)。

那么這就是該系列指南的***章節(jié)。希望你喜歡它并能從中學(xué)到新的東西/概念。如果你有任何疑問或者問題,請(qǐng)?jiān)谙旅娴脑u(píng)論框中和我們(以及其他人)分享。 

責(zé)任編輯:龐桂玉 來源: Linux中國(guó)
相關(guān)推薦

2017-03-27 14:40:01

Linux命令行工具技巧

2017-04-05 14:10:55

Linux命令行工具技巧

2017-04-10 13:26:00

Linux命令技巧

2021-07-08 08:56:30

Linux命令刪除用戶

2018-03-14 14:27:00

2009-12-23 14:14:09

Linux高級(jí)命令行

2009-08-11 09:26:06

2017-09-05 08:57:02

Linux命令行技巧

2010-07-15 12:45:30

Perl命令行

2010-07-20 14:27:46

Perl命令行

2017-03-13 08:50:35

科技新聞早報(bào)

2023-03-08 15:38:56

Linux命令dict

2022-06-12 15:32:27

bashLinux

2010-06-01 19:14:53

SVN命令行

2014-01-24 09:09:32

Linux命令行網(wǎng)速

2019-08-27 10:32:01

Linux操作系統(tǒng)Windows

2020-12-10 16:16:08

工具代碼開發(fā)

2020-12-11 06:44:16

命令行工具開發(fā)

2015-05-25 10:40:22

Linux命令行技巧

2015-06-16 10:36:45

Linux命令行
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: av一二三区 | 国产精品视频偷伦精品视频 | 日本一区二区三区免费观看 | av在线播放网 | 亚洲综合在线播放 | 综合色播| 999久久久精品 | 黄色一级毛片 | 中文字幕1区2区3区 亚洲国产成人精品女人久久久 | 亚洲精品在线免费观看视频 | 精品亚洲一区二区 | 人人九九精 | 亚洲性人人天天夜夜摸 | 欧美激情 亚洲 | 美女爽到呻吟久久久久 | 午夜久久av | 成人在线播放网站 | 在线亚洲免费视频 | 亚洲精品电影 | 中文字幕一区二区三区日韩精品 | 亚洲va中文字幕 | 国产精品视频网站 | 搞av.com | 久久久激情 | 三级黄片毛片 | 亚洲一区中文字幕 | 精品国产黄色片 | 盗摄精品av一区二区三区 | 亚洲欧美在线观看视频 | 女同av亚洲女人天堂 | 91欧美 | 91传媒在线观看 | 91免费入口 | 欧美日韩国产在线观看 | 亚洲精品日韩在线 | 天堂色综合 | 中文字幕一区二区三区四区五区 | 日韩欧美在线观看 | 国产一区 在线视频 | 日韩精品一区二区三区中文字幕 | 国产激情网站 |