您好,登錄后才能下訂單哦!
這篇文章主要介紹linux中如何定義自己的命令,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
學習如何創建別名:你可以將太長或難以記憶的命令打包成你自己構建的命令。
命令別名在 Linux shell 中指的是將一些太長或者太難記的多個命令組合起來,成為一個由用戶自己構建的命令。
可以通過 alias
命令來創建命令別名。在 alias
后面跟上想要創建的別名名稱、一個等號(=
),以及希望使用這個別名來執行的命令,這樣一個命令別名就創建好了。舉個例子,ls
命令在默認情況下是不會對輸出的內容進行著色的,這樣就不能讓用戶一眼分辨出目錄、文件和連接了。對此,可以創建這樣一個命令別名,在輸出目錄內容的時候為輸出內容著色:
alias lc='ls --color=auto'
其中 lc
是自定義的命令別名,代表 “list with color” 的意思。在創建命令別名的時候,需要先確認使用的別名是不是已經有對應的命令了,如果有的話,原本的命令就會被覆蓋掉了。注意,定義命令別名的時候,=
兩端是沒有空格的。當運行 lc
的時候,就相當于執行了 ls --color
命令。
此后,執行 lc
列出目錄內容的時候,就會輸出帶有著色的內容了。
你可能會發現你在執行 ls
的時候,本來就是輸出帶有著色的內容。那是因為大部分 Linux 發行版都已經將 ls
設定為帶有著色的命令別名了。
實際上,執行不帶任何內容的 alias
命令就可以看到當前已經設定的所有命令別名。對于不同的發行版,包含的命令別名不盡相同,但普遍都會有以下這些命令別名:
alias ls='ls --color=auto'
:這個命令別名在前面已經提到過了。--color=auto
參數會讓 ls
命令在通過標準輸出在終端中顯示內容時進行著色,而其它情況(例如通過管道輸出到文件)下則不進行著色。--color
這個參數還可以設置為 always
或never
。
alias cp='cp -i'
:-i
參數代表“
”。在使用 cp
命令復制文件的時候,可能會無意中覆蓋現有的文件,在使用了 -i
參數之后,cp
命令會在一些關鍵操作前向用戶發出詢問。
alias free='free -m'
:在 free
命令后面加上 -m
參數,就可以將輸出的內存信息以 MiB 這個更方面閱讀和計算的單位輸出,而不是默認的 Byte 單位。
你使用的發行版自帶的命令別名可能多多少少和上面有些差別。但你都可以在命令前面加上 \
修飾符來使用命令的最基本形式(而不是別名)。例如:
\free
就是直接執行 free
,而不是 free -m
。還有:
\ls
執行的就是不帶有--color=auto
參數的 ls
。
如果想要持久地保存命令別名,可以在 .bashrc
文件中進行修改,而它來源于我們的 /etc/skel 目錄。
各種發行版的設計者都會盡量設置用戶可能需要用到的命令別名。但是不同的用戶的習慣各不相同,一些用戶可能剛從其它操作系統遷移到 Linux,而不同操作系統的基本命令又因 shell 而異。因此,對于剛從 Windows/MS-DOS 系統遷移到 Linux 系統的用戶,不妨使用
alias dir='ls'
這個命令別名來列出目錄內容。
類似地,
alias copy='cp'alias move='mv'
也可以在尚未完全熟悉 Linux 的時候用得順手。
還有一種情況,就是在經常出現輸入錯誤的場合中做出容錯,例如,對于我來說, Administration 這個單詞就很難快速正確地輸入,因此很多用戶都會設置類似這樣的別名:
alias sl='ls'
以及
alias gerp='echo "You did it *again*!"; grep'
grep
命令最基本的用途就是在文件中查找字符串,在熟悉這個命令之后,它一定是最常用的命令之一,因此輸入錯誤導致不得不重輸命令就很令人抓狂。
在上面 gerp
的例子中,包含的不只是一條命令,而是兩條。***條命令 echo "You did it *again*!"
輸出了一條提醒用戶拼寫錯誤的消息,然后使用分號(;
)把兩條命令隔開,再往后才是 grep
這一條正確的命令。
在我的系統上使用 gerp
來搜索 /etc/skel/.bashrc
中包含“alias”這個單詞的行,就會輸出以下內容:
$ gerp -R alias /etc/skel/.bashrcYou did it *again*! alias ls='ls --color=auto' alias grep='grep --colour=auto' alias egrep='egrep --colour=auto' alias fgrep='fgrep --colour=auto' alias cp="cp -i"alias df='df -h'alias free='free -m'alias np='nano -w PKGBUILD' alias more=less shopt -s expand_aliases
在命令別名中以固定的順序執行多個命令,甚至更進一步,把多個命令串連起來,讓后面的命令可以使用到前面的命令的執行結果。這樣的做法已經非常接近 bash 腳本了。這篇文章已經接近尾聲,我們將在下一篇文章中詳細介紹。
如果想要刪除在終端中臨時設置的別名,可以使用 unalias
命令。
unalias gerp
以上是“linux中如何定義自己的命令”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。