學(xué)習(xí)啦 > 學(xué)習(xí)電腦 > 操作系統(tǒng) > Linux教程 > Linux下最常用的Shell命令的介紹

Linux下最常用的Shell命令的介紹

時(shí)間: 志藝942 分享

Linux下最常用的Shell命令的介紹

  你還在為不知道Linux下最常用的Shell命令的介紹而不知所措么?Linux下最常用的Shell命令的介紹你了解多少?下面來(lái)是學(xué)習(xí)啦小編為大家收集的Linux下最常用的Shell命令的介紹,歡迎大家閱讀:

  Linux下最常用的Shell命令的介紹

  Shell基礎(chǔ):

  你可以通過(guò)打開(kāi)Linux的terminal(終端)來(lái)執(zhí)行Shell命令。Shell的種類有很多種,例如CSH,Bourne Shell,Korn Shell。在現(xiàn)在的大多數(shù)Linux發(fā)行版中,默認(rèn)的Shell一般都是Bourne again shell(bash)。

  想看看你的Shell是哪一種,執(zhí)行下面的命令

  echo $SHELL

  在Linux中,$符號(hào)代表一個(gè)shell變量。所有的shell都用這種方式使用變量。有一些shell變量在你的系統(tǒng)啟動(dòng)的時(shí)候就有了默認(rèn)值。例如,$SHELL;$LOGNAME是你的登錄名,而$PATH變量指明了你的shell命令的搜索范圍。

  echo命令的作用就是打印出你的輸入。如果你的輸入具有shell的特殊意義,例如shell變量,他就輸出變量的值。

  一個(gè)重要的地方是,你要注意文本的大小寫(xiě)。例如,ls,是DOS的dir命令的Linux版本。這個(gè)命令列出當(dāng)前工作目錄下的文件列表。如果你輸入的是LS,你得到的只能是“找不到命令”的錯(cuò)誤信息。

  另外在Linux shell命令中一個(gè)重要的地方是,你可以將命令串起來(lái)。這是Unix/Linux從第一天開(kāi)始就有的巧妙的特點(diǎn)。最簡(jiǎn)單的將命令連起來(lái)的辦法就是使用“|”,我們稱之為“pipe”。第一個(gè)命令的輸出就是下一個(gè)命令的輸入。

  Linux命令有自己的語(yǔ)法規(guī)則:

  基本的語(yǔ)法就像這樣:

  command -option file

  例如:

  ls -la

  這行命令的意義是輸出當(dāng)前目錄的所有文件的文件名,l代表“long”,a代表“all”,有了l選項(xiàng),你會(huì)發(fā)現(xiàn),輸出的內(nèi)容比較豐富,不只包括文件 名,還有文件的訪問(wèn)權(quán)限,所有者,所屬組等。你會(huì)發(fā)現(xiàn)這個(gè)命令會(huì)在屏幕上輸出大量的信息,如果當(dāng)前目錄的文件比較多的話。

  現(xiàn)在就是“pipe”出場(chǎng)的時(shí)候了。

  ls -la | more

  你會(huì)在屏幕上看到如下信息:

  你也可以在大多數(shù)Linux命令中使用通配符。通配符就是可以代表文件名中任何未知的字符或字符串。例如,*就代表任意字符串,?代表單個(gè)字符。例如:

  ls -l a*

  這個(gè)命令會(huì)列出在當(dāng)前工作目錄下所有的以小寫(xiě)a開(kāi)頭的文件,比如說(shuō)abc.txt,alpha.jpg等等。

  ls a?cd

  這條命令會(huì)列出所有以小寫(xiě)a開(kāi)頭隔一個(gè)未知字符以小寫(xiě)cd結(jié)尾的所有文件。例如adcd,axcd,但是不會(huì)列出adfdcd,也不會(huì)列出axcd.txt。

  一些常用的命令

  man:如果你想了解每一個(gè)命令代表什么含義以及他的用法,你就可以使用man(意義為manual)命令,例如:

  man ls

  man輸出的內(nèi)容是為系統(tǒng)管理員和開(kāi)發(fā)者編寫(xiě)的,如果你想了解更多命令的用法,你可以去找網(wǎng)絡(luò)上的Linux命令文檔,有一個(gè)非常方便的就是丹尼爾·巴雷特的Linux的袖珍指南。

  在以前如果你真的想學(xué)習(xí)Linux和Unix你必須閱讀man手冊(cè)。而在2012年的今天,面對(duì)如此好用的圖形界面,這句話顯得不是那么的重要,但是如果你想了解Linux更深,閱讀man手冊(cè)仍然是一個(gè)好的開(kāi)始。

  su和sudo:su命令的作用是切換用戶,這也被稱為超級(jí)用戶,因?yàn)樵谟行┫到y(tǒng)中su命令可以使你以系統(tǒng)的所有權(quán)限用戶root登錄。除非你是系統(tǒng)管理員,否則我絕不推薦你使用su切換到root,因?yàn)檫@可能給你帶來(lái)很多麻煩。

  一個(gè)相對(duì)安全的多的辦法是使用sudo命令,這個(gè)命令可以上你以root權(quán)限運(yùn)行一個(gè)命令。

  這兩個(gè)命令都需要系統(tǒng)密碼。在大多數(shù)Linux的桌面發(fā)行版中這兩個(gè)是相同的,就是你系統(tǒng)的第一個(gè)用戶設(shè)置的密碼。

  grep:grep是一種強(qiáng)大的文本搜索工具,它能使用正則表達(dá)式搜索文本,并把匹配的行打印出來(lái)。例如:

  grep foo /etc/passwd

  返回在password文件中所有的含有foo的行

  grep -i “foo” /etc/passwd

  -i選項(xiàng)是忽略大小寫(xiě),這就意味著若某一行含有FOO或FOo也會(huì)被搜索到。

  grep還支持遞歸搜索:

  grep -r “foo” /home/sjvn

  這條命令將會(huì)搜索/home/sjvn目錄及其子目錄下所有的包含“foo”的行

  grep也通常與其他命令串連起來(lái)使用,例如:

  ls -la | grep foo*

  列出當(dāng)前目錄下任何以foo開(kāi)頭的文件或目錄。例如如下文件將被匹配:foo,foobar,foolish.txt等等。

  ps:報(bào)告進(jìn)程的狀態(tài)。此命令將顯示哪些程序正在運(yùn)行。我使用PS和grep比其他任何命令使用的都要多。

  現(xiàn)在假如你有一個(gè)程序運(yùn)行出了錯(cuò)誤,你不能再桌面上把他關(guān)掉,(我看準(zhǔn)你了,火狐),我運(yùn)行如下命令就能查看他的進(jìn)程id:

  ps -ef | grep firefox

  這條命令做了如下事情:

  kill -9 1234

  ·第一,他找出所有當(dāng)前在我的電腦上運(yùn)行的程序

  ·然后grep命令找出這些文件中叫“firefox”的,顯示到屏幕上。

  ·每一行都有一個(gè)進(jìn)程id數(shù)字。有了,現(xiàn)在我就可以是用...

  kill:這條命令就想他的名字一樣,他可以干掉指定的進(jìn)程。干掉運(yùn)行錯(cuò)誤的firefox或者其他我想干掉的進(jìn)程。

  kill 1234

  這將會(huì)干掉所有進(jìn)程id為1234的程序。為了確保這個(gè)程序已經(jīng)被干掉(強(qiáng)行終止),我使用下面的命令。

  clear:如果你覺(jué)得你的屏幕上有太多的東西,看起來(lái)很討厭,可以使用clear命令清空。

  文件/目錄命令

  cp:cp代表copy,就是復(fù)制,他可以復(fù)制一個(gè)或多個(gè)文件到指定的一個(gè)或多個(gè)目錄下。

  一個(gè)通常的用法是:

  cp fred.txt ethel.txt

  把fred.txt中的內(nèi)容復(fù)制到當(dāng)前文件夾中名為ethel.txt中

  cp fred.txt /home/sjvn/docs/fred.txt

  把fred.txt復(fù)制到指定文件中。

  cp *.txt /home/sjvn/docs/

  復(fù)制當(dāng)前目錄下所有以.txt結(jié)尾的文件到指定的目錄下。

  cp -r /home/sjvn/docs/* /home/sjvn/backup

  遞歸的復(fù)制在/home/sjvn/docs/目錄下的所有文件到指定的文件夾。

  hostname:顯示你當(dāng)前登錄進(jìn)去的計(jì)算機(jī)的名稱。

  mv:mv(意義為move)顧名思義就是移動(dòng),可以移動(dòng)指定文件到指定位置。當(dāng)然這個(gè)命令有的時(shí)候還可以用來(lái)實(shí)現(xiàn)重命名。

  例如:

  mv fred.txt ethel.txt

  這條命令的作用你可以簡(jiǎn)單的認(rèn)為是重命名fred.txt為ethel.txt。

  當(dāng)然此命令還有其他用法,此處不再一一羅列,用法與cp類似,只是這條命令不再保留原文件。

  rm:rm代表remove,是刪除的意思,所以我運(yùn)行:

  rm fred.txt

  我將刪除fred.txt。

  我強(qiáng)烈推薦你在執(zhí)行rm命令的時(shí)候使用-i選項(xiàng)。這兒選項(xiàng)將在你執(zhí)行命令的時(shí)候詢問(wèn)你是否要真的刪除文件。就像這樣:

  rm -i fred.txt

  系統(tǒng)信息

  uname:uname -a命令用一行簡(jiǎn)短的給你總結(jié)的電腦的基本信息。這通常包括你的電腦名稱,Linux內(nèi)核版本,你的發(fā)行版名稱等。

  對(duì)于更詳細(xì)的信息,你可以使用cat命令,他可以顯示你的Linux電腦中的文本信息。

  cat /proc/cpuinfo

  展示你的CPU的重要的統(tǒng)計(jì)。

  cat /proc/version

  展示你的當(dāng)前運(yùn)行的Linux發(fā)行版的詳細(xì)信息。

  cat /etc/printcap

  展示你當(dāng)前安裝的打印機(jī)。

  set | more: set|more

  組合命令可以給你更多的呢當(dāng)前的桌面環(huán)境變量的信息。單如果你只是想知道你系統(tǒng)環(huán)境變量中的某一個(gè)或兩個(gè),可以執(zhí)行如下命令:

  echo $PATH

  結(jié)束或者說(shuō)是另一個(gè)開(kāi)始

  這里給你展示的只不過(guò)是Linux命令的表皮。成百上千的書(shū)和網(wǎng)站可以給你更多更復(fù)雜的如何使用Linux命令的展示。本文只是讓你在想了解比Linux Gui更深一層時(shí)的參考。


看了“Linux下最常用的Shell命令的介紹”還想看:

1.Linux系統(tǒng)如何查看shell

2.必學(xué)100個(gè)常用linux命令大全

3.怎么查看Linux中的shell指南

4.Linux中常用操作命令介紹

2862724