Linux經常使用命令及使用技巧

本文重點講述Linux命令的使用,命令是學習Linux必須熟練掌握的一個部分。Linux下的命令大 概有600個,而經常使用的命令其實只有80個左右,這些經常使用的命令是須要靈活掌握的。雖然Linux的各個發行版大同小異,可是經常使用命令基本相同,所以只要 掌握了經常使用的Linux命令,就能融會貫通、舉一反三各個Linux版本了。本章經過分類的方式詳細介紹經常使用命令的使用語法與技巧。html

4.1 Linux下的shell簡介

4.1.1 什麼是shell(略)

4.1.2 shell命令的語法分析

Linux下的各類shell的主要區別在於命令行的語法。對於一些普通的命令,各個shell版本的語法基本相同,只有在編寫一個shell腳本或者使用一些shell高級特性的時候,各個版本shell的差別纔會顯示出來。node

shell語法分析是指shell對命令的掃描處理過程,也就是,把命令或者用戶輸入的內容分解成要處理的各個部分的操做。在Linux系統下,shell語法分析包含不少內容,如重定向、文件名擴展和管道等。linux

本節以bash爲例,介紹shell命令的語法分析。shell

1.shell的命令格式

用戶登陸系統後,shell命令行啓動。shell遵循必定的語法格式將用戶輸入的命令進行分析解釋並傳遞給系統內核。shell命令的通常格式爲:緩存

command [options] [arguments]

其中,安全

  • command:表示命令的名稱。
  • options:表示命令的選項。
  • arguments:表示命令的參數。

根據習慣,咱們通常把具備以上格式的字符串稱爲命令行。命令行是用戶與shell之間對話的基本單位。bash

在命令行中,選項是包含一個或多個字母的代碼,主要用於改變命令的執行方式。通常在選項前面有一個「-」符號,用於區別參數。例如:markdown

[root@WEBServer ~]#ls -a

ls命令加上-a選項後,列出當前目錄下的全部文件(包含隱藏文件)。若是ls不加「-a」選項,則僅僅顯示當前目錄下的文件名和目錄(不顯示隱藏文件)。網絡

通常命令都有不少選項,能夠單獨列出它們,也能夠在「-」後面把須要的選項都列出來,例如:oracle

ls–a –l

也能夠寫成:

ls–al

不少命令均可以接受參數。參數就是在選項後面緊跟的一個或多個字符串,這些字符串指定命令的操做對象,如文件或者目錄。例如,要顯示/etc目錄下的全部文件及信息,可用如下命令。

[root@WEBServer ~]#ls –al  /etc

特殊狀況下,有些命令能夠不帶參數,例如ls命令,而有些必須帶參數。當參數不夠時,shell就會給出錯誤提示。例如,mv命令至少須要兩個參數。

[root@WEBServer ~]#mv  mylinux1.txt  mylinux.txt

在shell的一個命令行中,還能夠輸入多個命令,用分號將各個命令分開,例如:

[root@WEBServer ~]#ls –al;cp mylinux1.txt  mylinux2.txt

相反,也能夠在多行中輸入一個命令,用「\」將一個命令持續到下一行。

[root@WEBServer ~]#cp –i \
>mylinux1.txt \
>mylinux2.txt

2.shell的通配符

通配符主要是爲了方便用戶對文件或者目錄的描述,例如,當用戶僅僅須要以「.sh」結尾的文件時,使用通配符就能很方便地實現。各個版本的 shell都有通配符,這些通配符是一些特殊字符,用戶能夠在命令行的參數中使用這些字符,進行文件名或者路徑名的匹配。shell將把與命令行中指定的 匹配規則符合的全部文件名或者路徑名做爲命令的參數,而後執行這個命令。

bash中經常使用的通配符有「*」、「?」、「[]」。

(1)「*」——匹配任意一個或多個字符

例如:

[root@WEBServer ~]#ls *.txt

這條命令列出當前目錄中全部以「.txt」結尾的文件(除去以「.」開頭的文件)。

[root@WEBServer ~]#cp doc/* /opt

這條命令表示將doc目錄下的全部文件(除去以「.」開頭的文件)複製到/opt目錄下。

[root@WEBServer ~]#ls –al /etc/*/*.conf

這條命令列出/etc目錄的子目錄下全部以「.conf」結尾的文件。在/etc目錄下以「.conf」結尾的文件將不會列出。

(2)「?」——匹配任意單一字符

例如:

[root@WEBServer ~]#ls ab?.txt

這條命令列出當前目錄下以ab開頭,隨後一個字母是任意字符,接着以「.txt」結尾的文件。

[root@WEBServer ~]#ls ab??.txt

這條命令列出當前目錄下以ab開頭,隨後的兩個字母是任意字符,接着以「.txt」結尾的文件。

(3)「[]」——匹配任何包含在方括號內的單字符

例如:

[root@WEBServer ~]#ls /dev/sda[12345]
/dev/sda1  /dev/sda2  /dev/sda3  /dev/sda4  /dev/sda5

上面的命令列出了在/dev目錄下以sda開頭,第4個字符是一、二、三、4或5的全部文件。

[root@WEBServer ~]#ls /dev/sda[1-5]

在方括號中「1-5」給出了匹配的範圍,與上面一條命令徹底等效。

(4)通配符的組合使用

在Linux下,通配符也能夠組合使用,例如:

[root@WEBServer ~]#ls [0-9]?.conf

這條命令列出當前目錄下以數字開頭,隨後一個是任意字符,接着以「.conf」結尾的全部文件。

[root@WEBServer ~]#ls [xyz]*.txt

這條命令列出當前目錄下以x、y或z開頭,最後以「.txt」結尾的文件。

3.shell的重定向

Linux下系統打開3個文件,即標準輸入、標準輸出和標準錯誤輸出。用戶的shell將鍵盤設爲默認的標準輸入,默認的標準輸出和標準錯誤輸出爲屏幕。也就是,用戶從鍵盤輸入命令,而後將結果和錯誤消息輸出到屏幕。

所謂的重定向,就是不使用系統默認的標準輸入/輸出,而是從新指定,所以重定向分爲輸入重定向、輸出重定向和錯誤輸出重定向。要實現重定向就須要瞭解重定向操做符,shell就是根據重定向操做符來決定重定向操做的。

(1)輸入重定向

輸入重定向用於改變命令的輸入源,利用輸入重定向,就能夠將一個文件的內容做爲命令的輸入,而不從鍵盤輸入。

用於輸入重定向的操做符有「<」和「<<」。例如:

[root@WEBServer ~]#wc</etc/shadow
40   40 1169

這裏用wc命令統計輸入給它的文件/etc/inittab的行數、單詞數和字符數。

還有一種輸入重定向操做符「<<」。這種重定向告訴shell,當前命令的標準輸入爲來自命令行中一對分隔號之間的內容。例如:

[root@WEBServer ~]#wc<< aa
> # Default runlevel. The runlevels used by RHS are:
> #   0 - halt (Do NOT set initdefault to this)
> #   1 - Single user mode
> #   2 - Multiuser, without NFS (The same as 3, if you do not have networking)
> #   3 - Full multiuser mode
> #   4 - unused
> #   5 - X11
> #   6 - reboot (Do NOT set initdefault to this)
>aa
8  65 303

上面的命令將一對分隔號aa之間的內容做爲wc命令的輸入。分隔號能夠是任意字符。shell將在第一個分隔號後開始讀取內容,直到出現另外一個分隔號讀取結束,而後將內容送給wc命令處理。

(2)輸出重定向

輸出重定向不是將命令的輸出結果在屏幕輸出,而是輸出到一個指定文件中。

在Linux下輸出重定向用得不少。例如,某個命令的輸出很長,一個屏幕沒法顯示完畢,這時能夠將命令的輸出指定到一個文件,而後用more命令查看這個文件,從而獲得命令輸出的完整信息。

用於輸出重定向的操做符有「>」和「>>」。例如:

[root@WEBServer ~]#ps –ef >ps.txt

這條命令將ps –ef輸出的系統運行進程信息所有輸入到了ps.txt文件,而不輸出到屏幕,能夠用more命令查看ps.txt文件中系統運行的進程信息。

[root@WEBServer ~]#more file1 file2 file3 >file

其中,more命令用於查看文件的內容,上面的命令是將file一、file2和file3的內容所有輸出到file文件中,相似於文件內容的合併。

若是在「>」後面指定的文件不存在,shell就會自動重建一個;若是文件存在,那麼這個文件原有的內容將被覆蓋;若是不想覆蓋存在的文件,可使用「>>」操做符。例如:

[root@WEBServer ~]#ls –al /etc/* >>/root/install.log

這條命令將/etc目錄及其子目錄下的全部文件信息追加到/root/install.log文件的後面。/root/install.log文件原來的內容仍然存在。

(3)錯誤重定向

錯誤重定向和標準輸出重定向同樣,可使用操做符「2>」和「2>>」實現對錯誤輸出的重定向。例如:

[root@WEBServer ~]#tar zxvf text.tar.gz 2> error.txt

其中,tar是打包命令,能夠在屏幕上看到tar的解壓過程。若是「text.tar.gz」是個損壞的壓縮包,就會把錯誤消息輸出到error.txt文件。

4.shell的管道

管道能夠把不少命令鏈接起來,能夠把第1個命令的輸入看成第2個命令的輸出,第2個命令的輸出看成第3個命令的輸入,依此類推。所以,管道的做用就是把一個命令的輸出看成下一個命令的輸入,而不通過任何中間文件。

經過管道符「|」能夠創建管道鏈接,例如:

[root@WEBServer ~]#ls -al /etc/* |more

這條命令表示將/etc目錄以及子目錄下的全部文件分屏顯示。

[root@WEBServer ~]#ps -ef|grep httpd|wc –l

這個命令用於查看系統中正在運行的httpd進程,並統計httpd的進程數。

5.shell中的引用

在bash中有不少特殊字符,這些字符自己就具備特殊含義。若是在shell的參數中使用它們,就會出現問題。Linux中使用了「引用」技術來忽 略這些字符的特殊含義,引用技術就是通知shell將這些特殊字符看成普通字符處理。shell中用於引用的字符有轉義字符「\」、單引號「'」、雙引號 「""」。

(1)轉義字符「\」

若是將「\」放到特殊字符前面,shell就忽略這些特殊字符的原有含義,把它們看成普通字符對待,例如:

[root@WEBServer ~]#ls
abc?*  C:\backup
[root@WEBServer ~]#mv abc\?\*  abc
[root@WEBServer ~]#mv C\:\\backup backup

上面是將abc?*重命名爲abc,將C:\backup重命名爲backup。由於文件名中包含特殊字符,因此都使用了轉義字符「\」。

(2)單引號「'」

若是將字符串放到一對單引號之間,那麼字符串中全部字符的特殊含義將被忽略,例如:

[root@WEBServer ~]#mv C\:\\backup backup
[root@WEBServer ~]#mv 'C:\backup'  backup

上面兩條命令徹底等效。

(3)雙引號「""」

雙引號的引用與單引號基本相同,包含在雙引號內的大部分特殊字符能夠看成普通字符處理,可是仍有一些特殊字符即便用雙引號括起來,也仍然保留本身的特殊含義,好比「$」、「\」和「`」。

[root@WEBServer ~]#str="The \$SHELL Current shell is $SHELL"
[root@WEBServer ~]#str1="\$$SHELL"
[root@WEBServer ~]#echo $str
The $SHELL Current shell is /bin/bash
[root@WEBServer ~]#echo $str1
$/bin/bash

從上面的輸出能夠看出,「$」和「\」在雙引號內仍然保留了特殊含義。

[root@WEBServer ~]# str="This hostname is `hostname`" 
[root@WEBServer ~]# echo $str
This hostname is WEBServer

上面的輸出中,字符「`」在雙引號中也保留了本身的特殊含義。

6.shell的自動補全命令行

自動補全命令行是bash一個簡單並且實用的功能,自動補全命令行也就是在輸入命令時沒必要把命令輸全,shell就能智能判斷用戶所要輸入的命令。

當用戶輸入某個命令的一部分後,按Tab鍵,shell就會根據系統環境變量信息提示出與用戶輸入命令類似的全部命令和文件,例如:

[root@WEBServer ~]# if<按Tab鍵>
if    ifcfg    ifconfig   ifdown    ifenslave  ifnames    ifrename   ifup  
[root@WEBServer ~]# if

能夠從上面看到,用戶輸入「if」後按Tab鍵,便可顯示以「if」爲前綴的全部命令和文件。若是須要的是ifconfig命令,那麼只須再次輸入「co」,而後按Tab鍵,shell就能補全命令。

若是咱們要進入一個很深的目錄中,而且每一個目錄的名字又很長,此時利用bash的自動補全功能,就再好不過了。

4.2 系統管理與維護

4.2.1 ls命令

1.功能說明

ls命令顯示指定工做目錄下的內容,列出工做目錄所含的文件及子目錄。此命令與Windows下的dir相似。另外,Linux也提供了dir命令,用戶也能夠用dir命令代替ls命令。ls的語法以下。

ls [選項] [路徑或文件]

ls的選項及其說明如表4.1所示。

表4.1 ls的選項及其說明

選 項

說 明

-a

顯示指定目錄下的全部文件以及子目錄,包含隱藏文件(Linux下將「.」開頭的文件或者目錄視爲隱藏文檔)

-d

只顯示目錄列表,不顯示文件

-l

除文件名稱外,同時將文件或者子目錄的權限、使用者和大小等信息詳細列出

-s

在每一個文件名後輸出該文件的大小

-k

以k字節的形式表示文件的大小

-u

以文件上次被訪問的時間排序

-t

以時間排序

-o

顯示除組信息外的詳細信息

-x

按列輸出,橫向排序

-r

對目錄反向排序

-q

用「?」代替不可輸出的字符

-m

橫向輸出文件名,並以「,」做爲分格符

-S

以文件大小排序

-R

列出全部子目錄下的文件

-pF

在每一個文件名後附上一個字符以說明該文件的類型。「*」表示可執行的普通文件,「/」表示目錄,「@」表示符號連接,「 | 」表示FIFO,「=」表示套接字(socket)

-C

按列輸出,縱向排序

-R

列出全部子目錄下的文件

-Q

把輸出的文件名用雙引號括起來

2.舉例(略)

4.2.2 pwd命令

功能說明

顯示當前的工做目錄,執行pwd指令可馬上得知目前所在的工做目錄的絕對路徑名稱,pwd命令的語法以下。

pwd

4.2.3 cd命令

1.功能說明

改變當前工做目錄,其用法與Windows下的cd相似。具體的語法格式以下。

cd  [目錄名]

cd命令的選項及其說明如表4.2所示。

表4.2 cd命令的選項及其說明

選 項

說 明

cd [目錄]

切換到有目錄名指定的目錄下,注意,Linux下文件和目錄是區分大小寫的

cd 或者cd ~

返回當前用戶的默認工做目錄,注意,cd與「~」之間有一個空格

cd ~[用戶名]

返回指定用戶的工做目錄下,注意,這裏「~」和用戶名之間沒有空格

cd ..或者cd ../

返回到上級工做目錄下

cd /

返回到根目錄下

2.舉例(略)

4.2.4 date命令

1.功能說明

顯示或者修改系統時間與日期。只有超級用戶才能用date命令設置時間,通常用戶只能用date命令顯示時間。date命令的語法以下。

date [選項] 顯示時間格式(以+開頭,後面接時間格式)

date命令的選項及其說明以下。

  • -s --set:設置系統時間。
  • -d --date:顯示描述的日期。

時間顯示格式如表4.3所示。

表4.3 時間顯示格式

格 式

表 示 含 義

%H

顯示小時,表示範圍00~23

%I

顯示小時,表示範圍01~12

%k

顯示小時,表示範圍0~23

%l

顯示小時,表示範圍1~12

%M

顯示分鐘,顯示格式爲00~59

%S

顯示秒鐘,顯示格式爲00~59

%p

顯示是AM(上午)仍是PM(下午)

%r

顯示時間,格式爲hh:mm:ss AM或PM,其中hh表明小時,mm表明分鐘,ss表明秒

%T

顯示時間,格式爲hh:mm:ss

%x

顯示年份和日期,格式爲mm/dd/yyyy,這裏的yyyy表明年份

%X

顯示時間格式,至關於%H:%M:%S的組合

%a

顯示星期幾

%b或%B

顯示月份,%b是月的簡稱,%B是顯示月的全稱

%m

顯示月份,表示格式爲從01~12

%Z

顯示時區

%d

顯示一個月的第幾天

%D

顯示年份和月份,格式爲mm/dd/yy,這裏yy表明年份的最後兩個數字

%Y或%y

顯示年份,%Y顯示完整的年份,%y顯示年份的最後兩個數字

%c

顯示日期和時間格式,至關於「%a %d %b %Y %r %Z」的組合

2.舉例(略)

4.2.5 passwd命令

1.功能說明

用於設置用戶密碼。語法格式以下。

passwd [用戶名]

2.舉例(略)

4.2.6 su命令

1.功能說明

su命令主要用於改變用戶身份,其格式以下。

su [選項] [用戶名]

su命令的選項及其說明如表4.4所示。

表4.4 su命令的選項及其說明

選 項

說 明

-

加載相應用戶下的環境變量

-l

使目前的shell成爲改變身份後用戶默認的shell

-c

改變身份運行一個指令後就結束

-m

改變用戶身份,可是不改變環境變量

2.舉例(略)

4.2.7 clear命令

功能說明

clear命令用來清除屏幕信息,格式以下。

clear

4.2.8 man命令

1.功能說明

man命令用來顯示指定命令的幫助信息,其格式以下。

man [命令名稱]

2.舉例(略)

4.2.9 who命令

1.功能說明

who命令顯示目前登陸到系統的用戶,其格式以下。

who [選項] [file]

who命令的通常輸出格式以下。

名稱 [狀態] 終端 時間 [活動] [進程標識](主機名)
  • 名稱:用戶的登陸名。
  • 狀態:代表終端是否對用戶都是可寫的。
  • 終端:相似於pts/一、pts/2等,此終端標識在/dev目錄中可找到。
  • 時間:用戶登陸系統的時間。
  • 活動:某個用戶在本身的終端上最後一次活動發生以來到如今的時間,若是此項是個「.」,就表示一分鐘內的終端活動;若是終端保持靜止已經超過24小時或自從系統啓動以來尚未被使用過,那麼此項標記爲「old」。
  • 進程標識:用戶登陸shell的進程id。
  • 主機名:登陸到Linux系統上的客戶端機器標識。

who命令的選項及其說明如表4.5所示。

表4.5 who命令的選項及其說明

選 項

說 明

-a

列出全部信息,至關於全部選項

-b

列出系統最近啓動的日期

-l

列出全部可登陸的終端信息

-m

僅列出關於當前終端的信息。「who –m」命令等同於「who am i」和「who am I」命令

-q

列出在本地系統上的用戶和用戶數的清單

-r

顯示當前系統的運行級別

-s

僅顯示名稱、終端和時間字段信息。這是who默認的輸出,即「who」和「who –s」命令是等效的

-u

顯示當前每一個用戶的用戶名、登陸終端、登陸時間、終端活動和進程標識

-T或-w

顯示tty終端的狀態,「+」表示對任何人可寫,「-」表示僅對root用戶或全部者可寫,「?」表示遇到終端故障

在Linux下who一般經過/var/run/utmp文件來獲取信息,若是「[file]」選項指定另外一個文件,則who命令再也不默認讀取/var/run/utmp文件,而是讀取指定文件來獲取信息。

2.舉例(略)

4.2.10 w命令

1.功能說明

用於顯示登陸到系統的用戶信息,其格式以下。

w [選項] [用戶]

w命令的選項及其說明如表4.6所示。

表4.6 w命令的選項及其說明

選 項

說 明

-h

不顯示輸出信息的標題

-l

用長格式輸出

-s

用短格式輸出,不顯示登陸時間、JCPU和PCPU時間

-V

顯示版本信息

[用戶]表示當指定用戶後,只顯示該用戶的信息。

2.舉例(略)

4.2.11 uname命令

1.功能說明

uname命令用來顯示操做系統相關信息。其格式以下。

uname [選項]

uname命令的選項及其說明如表4.7所示。

表4.7 uname命令的選項及其說明

選 項

說 明

-a

顯示操做系統所有信息

-m

顯示系統CPU類型,是32位仍是64位系統

-n

顯示操做系統的主機名

-s

顯示操做系統類型

-r

顯示操做系統內核版本

2.舉例(略)

4.2.12 uptime命令

1.功能說明

uptime命令用來輸出系統任務隊列信息,其格式以下。

uptime

uptime輸出當前系統時間、系統開機到如今的運行時間、目前有多少用戶在線和系統平均負載等。

2.舉例(略)

4.2.13 last命令

功能說明

列出目前與過去登入系統的用戶相關信息。當執行last指令時,它會默認讀取位於/var/log目錄下名稱爲wtmp的文件,並把該給文件記錄的登入系統的用戶名單所有顯示出來。

last [選項] [-n 顯示列數]

last命令的選項及其說明如表4.8所示。

表4.8 last命令的選項及其說明

選 項

說 明

-a

把從何處登入系統的主機名稱或IP地址顯示在最後一行

-R

不顯示登入系統的主機名稱或IP地址

-x

顯示系統關機、從新開機以及執行等級的改變等信息

-n <顯示列數>或-<顯示列數>

設置列出名單的顯示列數

-d

將顯示的IP地址轉換成主機名稱

4.2.14 dmesg命令

功能說明

顯示開機信息。內核會將開機信息存儲在系統緩衝區(ring buffer)中,若是開機來不及查看相關信息,能夠在開機後利用dmesg命令查看,也能夠在/var/log/目錄中查看dmesg文件。其格式以下。

dmesg [選項]

dmesg命令的選項及其說明如表4.9所示。

表4.9 dmesg命令的選項及其說明

選 項

說 明

-c

顯示開機信息後,清除ring buffer信息

-s

設置緩衝區大小,默認設置爲8192

-n

設置記錄信息的層級

4.2.15 free命令

1.功能說明

free命令用來顯示系統內存狀態,具體包括系統物理內存、虛擬內存、共享內存和系統緩存。其格式以下。

free [選項] [-s (間隔秒數)]

free命令的選項及其說明如表4.10所示。

表4.10 free命令的選項及其說明

選 項

說 明

-b

以字節爲單位顯示內存使用狀況

-m

以MB爲單位顯示內存使用狀況

-K

以KB爲單位顯示內存使用狀況

-t

顯示內存總和列

-s(間隔秒數)

根據指定的間隔秒數持續顯示內存使用狀況

-o

不顯示系統緩衝區列

2.舉例(略)

4.2.16 ps命令

1.功能說明

ps命令顯示系統進程在瞬間的運行動態,其格式以下。

ps [選項]

ps的選項很是之多,這裏僅僅列出經常使用的選項介紹,ps命令的選項及其說明如表4.11所示。

表4.11 ps命令的選項及其說明

選 項

說 明

a

顯示全部用戶的進程,包含每一個程序的完整路徑

-x

顯示全部系統程序,包括那些沒有終端的程序

-u

顯示使用者的名稱和起始時間

-f

詳細顯示程序執行的路徑羣

-c

只顯示進程的名稱,不顯示進程的完整路徑

-e

將除內核進程之外全部進程的信息寫到標準輸出

2.舉例(略)

4.2.17 top命令

top命令提供了對系統處理器狀態的實時監控,它可以實時顯示系統中各個進程的資源佔用情況。該命令能夠按照對CPU的使用、內存使用和執行時間對系統任務進程進行排序顯示,同時top命令還能夠經過交互式命令進行設定顯示。

1.功能說明

查看即時活躍的進程,相似於Windows的任務管理器。其格式以下。

top [選項]

top的選項不少,這裏列出經常使用的選項及其說明,如表4.12所示。

表4.12 top命令的選項及其說明

選 項

說 明

-d

指定每兩次屏幕信息刷新之間的時間間隔

-i

不顯示閒置或者僵死的進程信息

-c

顯示進程的整個命令路徑,而不是隻顯示命令名稱

-s

使top命令在安全模式下運行,此時top的交互式指令被取消,避免潛在危險

-b

分屏顯示輸出信息,結合「-n」選項能夠將屏幕信息輸出到文檔

-n

top輸出信息更新的次數,完成後將退出top命令

除了一些選項以外,top命令還有不少交互式命令。交互式命令就是在top命令執行過程當中使用的一些命令,這些命令都是單個字母,從應用來說,熟悉這些交互式命令相當重要。

表4.13所示爲交互式命令及其具體說明。

表4.13 交互式命令及其說明

交互式命令

說 明

h或?

顯示幫助信息,給出交互式命令的一些說明總結

k

終止一個進程,系統將提示用戶輸入一個須要終止進程的PID

i

忽略閒置進程和僵死進程,這是一個開關式命令

s

改變top輸出信息兩次刷新之間的時間,系統將提示輸入新的時間,單位是秒。若是輸入小數,就換算成毫秒;若是輸入0,系統輸出將不斷刷新,默認刷新時間是5秒。須要注意的是,若是設置過短的時間,可能會引發系統不斷刷新,沒法看清輸出顯示狀況,並且系統負載也會加大

o或者O

改變top輸出信息中顯示項的順序。按小寫的a~z鍵能夠將相應的列向右移動,而按大寫的A~Z鍵能夠將相應的列向左移動。最後按Enter鍵肯定

f或者F

從當前顯示列表中添加或者刪除項。按f鍵以後會顯示列的列表,按a~z鍵便可顯示或隱藏對應的列。最後按Enter鍵肯定

m

切換顯示內存信息

t

切換顯示進程和CPU狀態信息

r

從新設置一個進程的優先級,系統提示用戶輸入須要改變的進程PID以及須要設置的進程優先級值。輸入一個正值將使優先級下降,反之則可使該進程擁有更高的優先權。默認值是10

l

切換顯示平均負載和啓動時間信息

q

退出top顯示

c

切換顯示完整命令行和命令名稱信息

M

根據駐留內存大小進行排序輸出

P

根據CPU使用百分比大小進行排序輸出

T

根據時間/累計時間進行排序輸出

S

切換到累計模式

W

將當前top設置寫入~/.toprc文件中

2.舉例(略)

4.3 文件管理與編輯

4.3.1 mkdir命令

1.功能說明

mkdir命令用於建立一個目錄。mkdir是make directory的縮寫。其格式以下。

mkdir [選項] 目錄名

mkdir命令的選項及其說明如表4.14所示。

表4.14 mkdir命令的選項及其說明

選 項

說 明

-m

對新建目錄設置存取權限

-p

能夠指定一個路徑名稱。此時,若路徑中的某些目錄尚不存在,加上此選項後,系統將自動建立那些尚不存在的目錄,也就是說,一次能夠建立多個目錄

2.舉例(略)

4.3.2 more命令

1.功能說明

若是一個文本文件比較長,一屏沒法顯示完畢,就須要使用more命令。more命令讀取文本文件時,每次顯示一屏,而且在每屏後暫停,同時在屏幕底 部顯示單詞「More」。若是此時按Enter鍵,more命令就會接着再顯示文本的一行,依此類推;若是按空格鍵,more命令就繼續顯示文本文件的另 一屏信息。其格式以下。

more [選項] 文件名

more命令的選項及其說明如表4.15所示。

表4.15 more命令的選項及其說明

選 項

說 明

-d

在屏幕底部more提示符後顯示友好信息,此信息是有關使用哪些鍵繼續,哪些鍵退出,哪些鍵提供more命令幫助的

-s

將輸出文件中的多個空行減小爲只有一個空行輸出。以文件的第1行爲準

-p

先清除顯示屏之前的信息,再顯示文本信息

-c

顯示文件時,每屏顯示都清除屏幕先前的信息,而後從最頂端顯示出來

2.舉例(略)

4.3.3 cat命令

1.功能說明

cat命令用來將文件的內容輸出到標準輸出,相似於DOS下的type命令,同時cat還能夠用於鏈接合併文件。其格式以下。

cat [選項] 文件名

或者:

cat 文件1  文件2 >文件3

cat命令的選項及其說明如表4.16所示。

表4.16 cat命令的選項及其說明

選 項

說 明

-A

將文件中的製表符顯示爲「^I」,同時在每行的末尾顯示一個$符號

-b

將文件中的全部非空行按順序編號,編號從1開始

2.舉例(略)

4.3.4 diff命令

1.功能說明

diff命令用來比較文件的差別。diff以逐行的方式比較文本文件的異同,若是指定比較的是目錄,則diff會比較目錄中相同文件名的文件,但不會比較其中的子目錄。其格式以下。

diff [選項]  文件1  文件2

diff命令的選項及其說明如表4.17所示。

表4.17 diff命令的選項及其說明

選 項

說 明

-c

顯示所有內容,並標出不一樣之處

-b

忽略行尾的空格,同時字符串中的一個或多個空格都將視爲相同

-r

當文件1和文件2爲目錄時,會比較子目錄中的文件

-s

當兩個文件相同時,顯示文件的相同信息

2.輸出格式

一般輸出信息由以下格式組成。

n1 a n3,n4
n1,n2 d n3
n1,n2 c n3,n4

其中,字母a、d、c以前的n1和n2表明文件1的行號,字母a、d、c以後的n3和n4表明文件2的行號,字母a、d、c分別表示附加、刪除和修 改操做。在上面輸出形式的每行後緊跟着兩個文件的若干不一樣行,其中以「<」打頭的行屬於文件1,以「>」打頭的行屬於文件2。

3.舉例(略)

4.3.5 grep命令

1.功能說明

grep命令是Linux下的文本過濾工具,grep根據指定的字符串,對文件的每一行進行搜索,若是找到了這個字符串,就輸出該行的內容。其格式以下。

grep [選項] 須要查找的字符串文件名

grep命令的選項有不少,這裏列出最常使用的選項說明,如表4.18所示。

表4.18 grep命令的選項及其說明

選 項

說 明

-A NUM

除了列出符合條件的行外,同時列出每一個符合條件行的後NUM行

-c

只顯示符合條件的行數,而不顯示每行的具體信息

-f file

事先將要搜索的樣式寫入一個文件中,每行一個樣式,而後以這個文件做爲條件進行搜索

-i

搜索時忽略大小寫

-n

在搜索結果中顯示行號

-B

與選項「-A」相反,除了列出符合條件的行外,同時列出每一個符合條件行的前NUM行

2.舉例(略)

4.3.6 rm命令

功能說明

rm命令用來刪除某個目錄及其下的全部文件及子目錄。對於連接文件,只是斷開了連接,原文件保持不變。其格式以下。

rm [選項] 文件或者目錄

rm命令的選項及其說明如表4.19所示。

表4.19 rm命令的選項及其說明

選 項

說 明

-r

告訴rm將選項中列出的所有目錄以及子目錄還有文件均遞歸地刪除,若是在選項中不指定「-r」選項,「rm」命令將不能刪除目錄

-f

忽略不存在的問題,也不給出提示

-i

交互式刪除,即在刪除前進行確認

 

注意

 使用rm命令要特別當心,「rm-rf」組合要慎用,由於一旦文件被刪除,就不能被恢復。Linux沒有相似於Windows的回收站。所以,爲 了防止文件或者目錄被誤刪除,可使用rm的「-i」選項,來逐個確認要刪除的文件。使用「-i」選項時,若是用戶輸入「y」,文件將被刪除;若是輸入其 他任何信息,文件則不被刪除。

4.3.7 touch命令

1.功能說明

touch命令用來改變指定文件的訪問時間和修改時間,若指定文件不存在則建立此文件。若是沒有指定時間,則使用當前時間。其格式以下。

touch [選項] 設定的時間文件

touch命令的選項及其說明如表4.20所示。

表4.20 touch命令的選項及其說明

選 項

說 明

-a

改變文件的訪問時間爲系統當前時間,無須設置時間選項

-m

改變文件的修改時間爲系統當前時間,無須設置時間選項

-c

若是文件不存在,不建立也不提示

-d或者-t

使用指定的日期或時間

-r<參考文件或目錄>

把指定文件或目錄的日期、時間都設成和參考文件或目錄的日期、時間相同

2.舉例

下面是touch命令的一個操做實例,「#」號後面的內容爲命令註釋。

[root@mylinux~]# touch test.txt#建立一個文件test.txt
[root@mylinux~]# ls -l#顯示文件建立時間(修改時間)
total 0
-rw-r--r--  1 root root 0 Jul 18 06:44 test.txt
[root@mylinux~]# ls –lu#顯示文件的訪問時間
total 0
-rw-r--r--  1 root root 0 Jul 18 06:44 test.txt
[root@mylinux~]# date     #顯示系統當前時間
Fri Jul 18 06:45:21 CST 2008
[root@mylinux~]# touch -a test.txt #改變文件的訪問時間爲系統當前時間
[root@mylinux~]# ls -lu
total 0
-rw-r--r--  1 root root 0 Jul 18 06:45 test.txt
[root@mylinux~]# ls -l 
total 0
-rw-r--r--  1 root root 0 Jul 18 06:44 test.txt
[root@mylinux~]# touch -m test.txt  #改變文件的修改時間爲系統當前時間
[root@mylinux~]# ls -l
total 0
-rw-r--r--  1 root root 0 Jul 18 06:46 test.txt
[root@mylinux~]# touch linux.txt
[root@mylinux~]# ls -l
total 0
-rw-r--r--  1 root root 0 Jul 18 06:47 linux.txt
-rw-r--r--  1 root root 0 Jul 18 06:46 test.txt
[root@mylinux~]# ls -lu  
total 0
-rw-r--r--  1 root root 0 Jul 18 06:47 linux.txt
-rw-r--r--  1 root root 0 Jul 18 06:45 test.txt
[root@mylinux~]# touch -a -r linux.txt  test.txt 
#將test.txt文件的訪問時間修改成linux.txt文件的訪問時間
[root@mylinux~]# ls -lu
total 0
-rw-r--r--  1 root root 0 Jul 18 06:47 linux.txt
-rw-r--r--  1 root root 0 Jul 18 06:47 test.txt
[root@mylinux~]# touch -d "20080718 06:40" linux.txt 
#將linux.txt文件的修改時間設定爲2008年7月18日6點40分
[root@mylinux~]# ls -l
total 0
-rw-r--r--  1 root root 0 Jul 18 06:40 linux.txt
-rw-r--r--  1 root root 0 Jul 18 06:46 test.txt

4.3.8 ln命令

1.功能說明

ln命令用來在文件或目錄之間建立連接。

Linux下的連接有兩種,一種是硬連接(Hard Link),另外一種是符號連接(Symbolic Link),默認狀況下ln命令產生的是硬連接。

  • 硬連接:是指經過文件的inode來進行連接。在Linux的文件系統中,保存在磁盤的全部類型的文件都會分配 一個編號,這個編號稱爲inode號(Inode Index)。多個文件指向同一個inode在Linux系統中是容許的,這就是所謂的硬連接。硬連接的做用是容許一個文件擁有多個有效的路徑名,這樣用 戶就能夠對一些重要文件創建硬連接,以防止誤刪除操做。由於對應該文件的inode有一個以上的連接,因此只刪除一個連接並不影像inode自己和其餘鏈 接,只有當最後一個連接被刪除後,文件的數據塊及目錄的連接纔會釋放,也就是說,此時文件纔會被真正刪除。
  • 符號連接:也叫軟連接,軟連接相似於Windows中的快捷方式,所以軟連接是一個指向真正的文件或者目錄位置的符號鏈接。

ln命令的格式以下。

ln [選項] 源文件目標連接名

ln命令的選項及其說明如表4.21所示。

表4.21 ln命令的選項及其說明

選 項

說 明

-f

若是在目標位置存在與連接名相同的文件,這個文件將被刪除

-s

進行軟連接

-d

容許系統管理員硬連接本身的目錄

-b

對將在連接時會被覆蓋或者刪除的文件進行備份

2.舉例(略)

4.3.9 file命令

1.功能說明

file命令用來顯示文件的類型。對於長度爲0的文件,將識別爲空文件;對於符號鏈接文件,默認狀況下將顯示符號連接引用的真實文件路徑。其格式以下。

file [選項] 文件名

file命令的選項及其說明如表4.22所示。

表4.22 file命令的選項及其說明

選 項

說 明

-b

顯示文件類型結果,不顯示對應文件名稱

-L

直接顯示符號連接所指向文件的類型

-z

顯示壓縮文件的信息

-i

若是文件不是常規文件,則不進一步對文件類型進行分類

2.舉例(略)

4.3.10 cp命令

1.功能說明

cp命令用來將給出的文件或者目錄複製到另外一個文件或者目錄中。cp與Windows下的copy命令相似,可是cp命令更增強大。其格式以下。

cp [選項] 源文件或目錄目標文件或目錄

cp命令的選項及其說明如表4.23所示。

表4.23 cp命令的選項及其說明

選 項

說 明

-a

在複製目錄時使用。它保留全部的信息,包含文件連接、文件屬性,並遞歸地複製目錄

-r

若給出的源文件是一目錄文件,此時cp將遞歸複製該目錄下全部的子目錄和文件。此時目標文件必須爲一個目錄名

-d

複製時保留連接,這樣不會失去連接文件

-p

保留文件的修改時間和存取權限

-i

若是已經有相同文件名的目標文件,則提示用戶是否覆蓋

2.舉例

1)將當前目錄下的全部文件複製到/tmp目錄下,「./*」表示當前目錄下全部文件和目錄。

[root@mylinux~]#cp –r  ./* /tmp

2)將/home/oracle目錄及其子目錄下的所有內容複製到/home/ixdba下。

[root@mylinux~]#cp –r /home/oracle /home/ixdba

4.3.11 find命令

1.功能說明

find命令用來在指定的路徑下查找指定的文件。其格式以下。

find path-name[-options]  [-print –exec -ok命令 {} \;]

具體的選項說明以下。

  • path-name:find命令查找的目錄路徑,例如,能夠用「.」表示當前目錄,用「/」表示系統根目錄。
  • -options:find命令的這個選項主要用來控制搜索的方式。這裏列出「-options」選項常見的幾種格式,如表4.24所示。

表4.24 「-options」選項常見的格式及其說明

格 式

說 明

-name '字符串'

查找文件名匹配所給字符串的全部文件,字符串內可用通配符*、?、[]

-lname '字符串'

查找文件名匹配所給字符串的全部符號連接文件,字符串內可用通配符*、?、[]

-gid n

查找屬於ID號爲n的用戶組的全部文件

-uid n

查找屬於ID號爲n的用戶的全部文件

-empty

查找大小爲0的目錄或文件

-path '字符串'

查找路徑名匹配所給字符串的全部文件,字符串內可用通配符*、?、[]

-group'字符串'

查找屬於用戶組名爲所給字符串的全部的文件

-depth

在查找文件時,首先查找當前目錄下的文件,而後再查找其子目錄下的文件

-prune 目錄

指出搜索時不搜索該目錄。若是同時使用-depth選項,那麼-prune將被find命令忽略

-size n

查找文件長度爲n塊的文件,帶有c時表示文件長度以字節計

-user '字符串'

查找屬於用戶名爲所給字符串的全部的文件

-mtime +n或-n

按時間搜索,+n表示n天以前的,-n表示今天到n天前之間的

-type 文件類型

按指定文件類型搜索。文件類型包括b(塊設備文件)、c(字符設備文件)、f(普通文件)、l(符號連接)、d(目錄)、p(管道)、s(socket)文件

 

  • -print:將搜索結果輸出到標準輸出。
  • -exec:對搜索出符合條件的文件執行所給出的Linux命令,而不詢問用戶是否須要執行該命令。{}表示shell命令的選項即爲所查找到的文件。命令的末尾必須以「;」結束。

注意

 格式要正確,「-exec 命令 {} \;」,在「}」和「\」之間必定要有空格才行。

  • -ok:對搜索出符合條件的文件執行所給出的Linux命令。與-exec不一樣的是,它會詢問用戶是否須要執行該命令。

2.舉例(略)

4.3.12 split命令

1.功能說明

split命令用來分割文檔,將一個文件分紅數個。其格式以下。

split [選項] [input_file] [output_file]

split命令的選項及其說明如表4.25所示。

表4.25 split命令的選項及其說明

選 項

說 明

-b size

指定分割出來的文件大小,size可加入單位,b表明512字節,k表明1KB,m表明1MB

-n

這裏「n」指定分割的每一個文件的長度,默認爲1000行

-d

將split命令生成的文件序列以數字形式命名

-a

指定split命令生成的文件序列的長度,默認長度爲2

  • input_file:須要分割的文件。
  • output_file:分割出來的文件序列,split命令分割後生成的文件序列名依次爲output_fileaa、output_fileab、output_fileac等。若是沒有指定output_file,系統默認以「x」做爲輸出文件名。

2.舉例(略)

4.3.13 mv命令

1.功能說明

mv命令用來將文件或目錄更名或將文件由一個目錄移入另外一個目錄中。若是源類型和目標類型都是文件或者目錄,mv將進行目錄重命名。若是源類型爲文 件,而目標類型爲目錄,mv將進行文件的移動。若是源類型爲目錄,則目標類型只能是目錄,不能是文件,此時完成目錄重命名。其格式以下。

mv [選項] 源文件或目錄目標文件或目錄

mv命令的選項及其說明如表4.26所示。

表4.26 mv命令的選項及其說明

選 項

說 明

-i

交互式操做,在對已經存在的文件或目錄覆蓋時,系統會詢問是否覆蓋,用戶輸入「y」進行覆蓋,輸入「n」則不覆蓋

-f

禁止交互式操做,在mv將要覆蓋某個文件或者目錄時,不給任何提示,默認覆蓋

2.舉例(略)

4.4 壓縮與解壓

4.4.1 zip/unzip命令

1.功能說明

將通常的文件或者目錄進行壓縮或者解壓,默認生成以「.zip」爲後綴的壓縮包。zip命令相似於Windows中的winzip壓縮程序。其格式以下。

zip [選項] 壓縮文件名須要壓縮的文檔列表
unzip [選項] 壓縮文件名

zip命令的選項及其說明如表4.27所示。

表4.27 zip命令的選項及其說明

選 項

說 明

-r

遞歸壓縮,將指定目錄下的全部文件以及子目錄所有壓縮

-d

從壓縮文件內刪除指定的文件

-i "文件列表"

只壓縮文件列表中的文件

-x "文件列表"

壓縮時排除文件列表中指定的文件

-u

更新文件到壓縮文件中

-m

將文件加入壓縮文件壓縮後,刪除原始文件,即把文件移到壓縮文件中

-F

嘗試修復損壞的壓縮文件

-T

檢查壓縮文件內的每一個文件是否正確無誤

- 壓縮級別

壓縮級別是1~9之間的一個數字

unzip命令的選項及其說明如表4.28所示。

表4.28 unzip命令的選項及其說明

選 項

說 明

-x "文件列表"

解壓文件,但不包含文件列表中指定的文件

-t

測試壓縮文件有無損壞,並不解壓

-v

查看壓縮文件的詳細信息,具體包括壓縮文件中包含的文件大小、文件名和壓縮比等,並不解壓

-n

解壓時不覆蓋已經存在的文件

-o

解壓時覆蓋已經存在的文件,而且不要求用戶確認

-d 目錄名

把壓縮文件解壓到指定目錄下

2.舉例(略)

4.4.2 gzip/gunzip命令

1.功能說明

將通常的文件進行壓縮或者解壓。壓縮文件預設的擴展名爲「.gz」,其實gunzip就是gzip的硬連接,所以不管是壓縮或者解壓均可以經過gzip來實現。

注意

 gzip只能對文件進行壓縮,不能壓縮目錄,即便指定壓縮的目錄,也只能壓縮目錄內的全部文件。

其格式以下。

gzip [選項] 壓縮(解壓縮)的文檔名

gzip命令的選項及其說明如表4.29所示。

表4.29 gzip命令的選項及其說明

選 項

說 明

-d

對壓縮的文件進行解壓

-r

遞歸式壓縮指定目錄以及子目錄下的全部文件

-t

檢查壓縮文檔的完整性

-v

對於每一個壓縮和解壓縮的文檔,顯示相應的文件名和壓縮比

-l

顯示壓縮文件的壓縮信息,顯示字段爲壓縮文檔大小、未壓縮文檔大小、壓縮比和未壓縮文檔名稱

-num

用指定的數字num配置壓縮比,「-1」或「-fast」表示最低壓縮比,「-9」或「-best」表示最高壓縮比。系統默認壓縮比爲6

2.舉例(略)

4.4.3 bzip2/bunzip2命令

1.功能說明

對文件進行壓縮與解壓縮。此命令相似於「gzip/gunzip」命令,只能對文件進行壓縮。對於目錄只能壓縮目錄下的全部文件,壓縮完成後,在目 錄下生成以「.bz2」爲後綴的壓縮包。bunzip2實際上是bzip2的符號連接,即軟連接,所以壓縮、解壓均可以經過bzip2實現。其格式以下。

bzip2 [選項] 要壓縮或解壓的文件

bzip2命令的選項及其說明如表4.30所示。

表4.30 bzip2命令的選項及其說明

選 項

說 明

-d

執行解壓縮,此時選項後面跟要解壓縮的文件

-v

壓縮或解壓文件時,顯示詳細信息

-k

bzip2在壓縮或解壓縮後,會刪除原始文件,若要保留原始文件,可以使用此選項

-f

bzip2在壓縮或解壓縮時,若輸出文件與現有文件同名,預設不會覆蓋現有文件。若要覆蓋,就要使用此選項

-t

測試「.bz2」壓縮文件的完整性

- 壓縮級別

壓縮級別能夠從1~9中選取,數字越大,壓縮率越高

2.舉例(略)

4.4.4 tar命令

1.功能說明

tar是Linux下常用的歸檔工具,對文件或者目錄進行打包歸檔,歸檔成一個文件,可是並不進行壓縮。其格式以下。

tar [主選項+輔助選項] 文件或者目錄

tar命令的選項不少,這裏列出一些常常用到的主選項,如表4.31所示。

表4.31 tar命令的主選項及其說明

主 選 項

說 明

-c

新建文件

-r

把要歸檔的文件追加到檔案文件的末尾

-t

列出檔案文件中已經歸檔的文件列表

-x

從打包的檔案文件中還原出文件

-u

更新檔案文件,用新建文件替換檔案中的原始文件

輔助選項的詳細信息如表4.32所示。

表4.32 tar命令的輔助選項及其說明

輔 助 選 項

說 明

-z

調用gzip命令在文件打包的過程當中壓縮/解壓文件

-w

在還原文件時,把全部文件的修改時間設定爲如今時間

-j

調用bzip2命令在文件打包的過程當中壓縮/解壓文件

-Z

調用compress命令過濾檔案

-f

「-f」選項後面緊跟檔案文件的存儲設備,默認是磁盤,須要指定檔案文件名;若是是磁帶,只需指定磁帶設備名便可。注意,在「-f」選項以後不能再跟任何其餘選項,也就是說,「-f」必須是tar命令的最後一個選項

-v

指定在建立歸檔文件過程當中,顯示各個歸檔文件的名稱

-p

在文件歸檔的過程當中,保持文件的屬性不發生變化

-N "yyyy/mm/dd"

在指定日期以後的文件纔會打包到檔案文件中

--exclude file

在打包過程當中,不將指定file文件打包

2.舉例(略)

4.4.5 dd命令

1.功能說明

dd命令用來轉換或複製文件,同時能夠對設備進行備份。其格式以下。

dd if="input_file" of="output_file" bs="block_size" count="number"

dd命令的選項及其說明以下。

  • if:就是輸入文件,能夠是設備,例如,磁盤某分區或者整個磁盤。
  • of:就是輸出文件,也能夠是輸出設備,例如,磁盤、磁帶等。
  • bs:指定一個block的大小,若是沒有指定,默認爲512字節。
  • count:就是「bs」的數量。

2.舉例(略)

4.4.6 cpio命令

1.功能說明

cpio命令是經過重定向的方式將文件進行打包、備份、還原、恢復的工具,它能夠解壓以「.cpio」或者「.tar」結尾的文件。其格式以下。

cpio [選項] >文件名或者設備名
cpio [選項] <文件名或者設備名

cpio命令的選項及其說明如表4.33所示。

表4.33 cpio命令的選項及其說明

選 項

說 明

-o

將文件複製、打包成文件或者將文件輸出到設備上

-i

將打包文件解壓或者將設備上的備份還原到系統中

-t

查看cpio打包的文件內容或者輸出到設備上的文件內容

-v

顯示打包過程當中的文件名稱

-d

在cpio還原文件的過程當中,自動創建相應的目錄

-c

一種較新的存儲方式

-B

讓默認塊能夠增大到5120字節,默認塊爲512字節,這樣作的好處是能夠加快存取速度

2.舉例(略)

4.5 磁盤管理與維護

4.5.1 df命令

1.功能說明

df命令用來檢查Linux系統的磁盤空間佔用狀況。其格式以下。

df [選項]

df命令的選項及其說明如表4.34所示。

表4.34 df命令的選項及其說明

選 項

說 明

-h

以容易理解的格式輸出文件系統分區佔用狀況,如32KB、120MB、60GB

-k

以KB大小爲單位輸出文件系統分區佔用狀況

-m

以MB大小爲單位輸出文件系統分區佔用狀況

-a

列出全部的文件系統分區,包含0大小的文件系統分區

-i

列出文件系統分區的inode信息

-T

顯示磁盤分區的文件系統類型

2.舉例(略)

4.5.2 du命令

1.功能說明

du命令用來顯示文件或目錄所佔用的磁盤空間狀況。其格式以下。

du [選項] 文件或目錄

du命令的選項及其說明如表4.35所示。

表4.35 du命令的選項及其說明

選 項

說 明

-s

顯示文件或者整個目錄的大小,單位爲KB

-b

以字節爲單位顯示文件大小或者顯示目錄下全部文件的大小

-sh

以人性化的格式顯示文件或者目錄大小,如300MB、1.2GB等

-sm

以MB爲單位顯示文件或者目錄大小

2.舉例(略)

4.5.3 fsck命令

1.功能說明

fsck命令用來檢查文件系統並嘗試修復錯誤。其格式以下。

fsck [選項] [-t <文件系統類型>] [設備名]

fsck命令的選項及其說明如表4.36所示。

表4.36 fsck命令的選項及其說明

選 項

說 明

-a

自動修復文件系統,沒有任何提示

-r

採起交互式的修復模式,在執行修復時進行詢問,讓用戶得以確認並決定處理方式

-A

依照/etc/fstab配置文件的內容,檢查文件內所列的所有文件系統

-T

執行fsck指令時,不顯示標題信息

-V

顯示fsck指令的執行過程

-N

不執行指令,僅列出實際執行會進行的動做

「-t <文件系統類型>」是指定要檢查的文件系統類型。

注意

 在執行fsck命令修復某個文件系統時,這個文件系統對應的磁盤分區必定要處於卸載狀態,磁盤分區在掛載狀態下進行修復是極爲不安全的,數據可能遭到破壞,也有可能損壞磁盤。

2.舉例(略)

4.5.4 sync命令

功能說明

sync命令用來強制把內存中的數據寫回硬盤,以避免數據的丟失。其格式以下。

sync

須要說明的是:在Linux系統中,修改過的操做會緩存到內存中,不會立刻寫入硬盤,等待適當的時候再從內存寫入磁盤,這樣能夠提升系統讀寫效率。 Linux下默認每隔3秒系統自動執行一次sync操做,系統正常關機時也會執行sync操做,保證全部操做所有從內存寫入磁盤。若是非法關機,系統內存 信息沒法及時同步到硬盤,就會形成數據丟失或者文件損壞,因而可知,Linux系統中正常關機是很是重要的。

4.5.5 eject命令

1.功能說明

eject命令用來退出抽取式設備,如光驅或者磁帶。若是該設備已經掛載,則eject先將設備卸載,而後再退出設備。其格式以下。

eject [選項]  設備名

eject命令的選項及其說明如表4.37所示。

表4.37 eject命令的選項及其說明

選 項

說 明

-c <光驅編號>

若是Linux系統中有多個光驅,須要指定某個光驅

-d或--default

顯示默認設備,而不是實際執行操做

-f或--floppy

退出抽取式軟盤

-q或--tape

退出磁帶

-r或--cdrom

退出光盤

-t或--trayclose

關閉光盤的托盤

-n或--noop

顯示指定的設備名對應的設備文件路徑。默認顯示光盤的設備文件路徑

2.舉例(略)

4.5.6 mount/umount命令

1.功能說明

掛載以及卸載指定的文件系統。在第3章咱們曾經講述過mount/umount命令,這裏再深刻講述mount/umount的使用。

mount [選項] [-L<標籤>] [-o<選項>] [-t<文件系統類型>] [設備名] [掛載點]
umount [掛載點]

mount命令的選項及其說明如表4.38所示。

表4.38 mount命令的選項及其說明

選 項

說 明

-a

加載文件/etc/fstab中指定的全部設備

-n

不將加載信息記錄在/etc/mtab文件中

-r

以只讀方式加載設備

-w

以可讀寫模式加載設備,屬於mount默認設置

-f或-v

不加載設備,僅查看mount的掛載狀態

1)-L<標籤>:標籤其實就是磁盤分區標識的別名,標籤能夠隨便起名,這樣便於記憶,在Linux下磁盤分區的設備名比較難記,利用標籤代替設備名,簡單易記。

2)-o<選項>:指定加載文件系統時的選項,這些選項以下。

  • async:以非同步的方式執行文件系統的輸入、輸出動做。
  • atime:每次存取都更新inode的存取時間,默認設置,取消選項爲noatime。
  • auto:必須在/etc/fstab文件中指定此選項。指定-a選項時,會加載設置爲auto的設備,取消選項爲noauto。
  • dev:可讀文件系統上的字符或塊設備,取消選項爲nodev。
  • exec:可執行二進制文件,取消選項爲noexec。
  • noatime:每次存取時不更新inode的存取時間。
  • noauto:加入此選項,就沒法使用-a選項來加載。
  • nodev:不讀文件系統上的字符或塊設備。
  • noexec:沒法執行二進制文件。
  • nosuid:關閉set-user-identifier(設置用戶ID)與set-group-identifer(設置組ID)設置位。
  • nouser:使用戶沒法執行加載操做,默認設置。
  • iocharset=XXX:指定mount分區時使用的字符集。
  • codepage=XXX:指定mount分區時使用的內碼錶。
  • remount:從新加載設備。一般用於改變設備的設置狀態。
  • ro:以只讀模式加載。
  • rw:以可讀寫模式加載。
  • suid:啓動set-user-identifier(設置用戶ID)與set-group-identifer(設置組ID)設置位,取消選項爲nosuid。
  • sync:以同步方式執行文件系統的輸入、輸出動做。
  • user:可讓通常用戶加載設備。
  • defaults:使用默認選項。默認選項爲rw、suid、dev、exec、anto、nouser與async。

3)-t<文件系統類型>:指定設備的文件系統類型,經常使用選項以下。

  • ext3/ext2:Linux目前的經常使用文件系統。
  • msdos:MS-DOS的FAT。
  • vfat:Windows 95/98的VFAT。
  • nfs:網絡文件系統。
  • iso9660:CD-ROM光盤的標準文件系統。
  • ntfs:Windows NT的文件系統。

4)設備名:硬盤分區在Linux上的設備標識,相似於/dev/sda一、/dev/hda2等。

5)掛載點:Linux系統下指定的某個目錄。

2.舉例(略)

4.6 網絡設置與維護

4.6.1 ifconfig命令

1.功能說明

ifconfig命令用來配置網絡或顯示當前網絡接口狀態。它相似於Windows下的ipconfig命令,同時ifconfig命令必須以root用戶來執行。其格式以下。

ifconfig  [選項] [interface] [inet|up|down|netmask|addr|broadcast]

ifconfig命令的選項及其說明如表4.39所示。

表4.39 ifconfig命令的選項及其說明

選 項

說 明

-a

顯示全部的網絡接口信息,包括活動的和非活動的

-s

僅顯示每一個接口的摘要數據,是有關接口活動性的,每一個接口顯示一行信息

-v

若是某個網絡接口出現錯誤,將返回錯誤消息,以幫助發現和處理故障

 

  • interface:網絡接口名,Linux下的網絡接口名相似於eth0、eth1和lo等(在CentOS 7.x版本中,網絡接口名變爲相似enp0s一、enp0s2這樣的標識),分別表示第1塊網卡、第2塊網卡和迴環接口。這是個可選項,若是不添加此選 項,則顯示系統中全部的網卡信息;若是添加此選項,則顯示指定網卡信息。
  • up:激活一個網絡接口。
  • down:與up相反,使指定的網絡接口無效。
  • netmask:爲一個指定的網絡接口指定子網掩碼。
  • addr:這裏的「addr」爲網絡接口指定的IP地址。
  • broadcast:爲指定的接口設置廣播地址。

2.舉例(略)

4.6.2 scp命令

1.功能說明

scp就是secure copy,用於將文件或者目錄從一個Linux系統複製到另外一個Linux系統下。scp傳輸數據用的是SSH協議,保證了數據傳輸的安全。其格式以下。

scp  遠程用戶名@ip地址:文件的絕對路徑本地Linux系統路徑
scp  本地Linux系統文件路徑遠程用戶名@ip地址:遠程系統文件絕對路徑名

scp使用第1種格式將遠程Linux系統上的某個文件或者目錄複製到本地Linux系統上,使用第2種格式是將本地的某個文件或者目錄複製到遠程Linux系統的某個路徑下。

2.舉例(略)

4.6.3 netstat命令

1.功能說明

netstat命令用來顯示本機網絡鏈接、運行端口和路由表等信息。其格式以下。

netstat [選項]

netstat命令的選項及其說明如表4.40所示。

表4.40 netstat命令的選項及其說明

選 項

說 明

-a

顯示本機全部鏈接和監聽端口

-n

以網絡IP地址的形式顯示當前創建的有效鏈接和端口

-r

顯示路由表信息

-s

顯示按協議的統計信息。默認狀況下,將顯示IP、IPv六、ICMP、ICMPv六、TCP、TCPv六、UDP和UDPv6的統計信息

-v

顯示當前的有效鏈接,與「-n」選項相似

-t

顯示全部的TCP協議鏈接狀況

-u

顯示全部的UDP協議鏈接狀況

-c<秒數>

後面跟的秒數,表示每隔幾秒就刷新顯示一次

-i

顯示自動配置接口的狀態

-l

僅顯示鏈接狀態爲「LISTEN」的服務的網絡狀態

-p

顯示鏈接對應的PID與程序名

2.舉例(略)

4.6.4 traceroute命令

1.功能說明

traceroute命令用來顯示網絡數據包傳輸到指定主機的路徑信息,追蹤數據傳輸路由情況。預設數據包大小是38字節,用戶可另行設置。它與Windows下的tracert命令相似,其格式以下。

traceroute [選項] [遠程主機名或者IP地址] [數據包大小]

traceroute命令的選項及其說明如表4.41所示。

表4.41 traceroute命令的選項及其說明

選 項

說 明

-i <網絡接口>

使用指定的網絡接口發送數據包

-n

直接使用IP地址而不使用主機名

-v

詳細顯示命令的執行過程

-w<超時秒數>

設置等待遠程主機迴應的時間

-x

開啓或者關閉對數據包的正確性檢驗

-s<來源ip>

設置本地主機發送數據包的IP地址

-g<網關地址>

設置來源的路由網關,最多可設置8個

2.舉例(略)

4.6.5 telnet命令

1.功能說明

telnet命令經過telnet協議與遠程主機通訊或者獲取遠程主機對應端口的信息。它與Windows下的telnet具備相同的功能。其格式以下。

telnet  主機名或者IP地址端口

2.舉例(略)

4.6.6 wget命令

1.功能說明

wget命令用來從網絡上下載某個軟件,這個命令對於可以鏈接到互聯網的Linux系統做用很是大,能夠直接從網絡下載本身須要的軟件。其格式以下。

wget [要下載軟件的網址]

2.舉例(略)

4.7 文本編輯工具vi

vi是Linux下標準的文本編輯程序,也是Linux系統命令行下最常用的文本文件可視化編輯器,相似於DOS命令edit。那麼什麼是可視 化呢?其實就是讓用戶在編輯文本文件的時候可以看到它們。這聽起來彷佛很普通,可是在命令行的字符界面下,可視化編輯確實起了很大的做用。

vi是Linux下默認的編輯器,幾乎全部的Linux/UNIX系統都捆綁了vi。這表示只要你學會了vi這個編輯工具,就能夠在任何Linux/UNIX系統上使用它,並且vi程序很是小,只有幾百千字節大小。所以,只要熟練了vi操做,你能夠作任何想作的事情。

vi編輯程序有兩種工做模式,即命令模式和文本輸入模式。在命令模式下,輸入的字符被解釋爲vi命令,就是這些命令組合造成了vi的強大功能,經過 vi命令能夠轉換到文本輸入模式;在文本輸入模式下,輸入的字符做爲正在編輯的文件的正文內容來接受,若是按Esc鍵則切換到vi命令模式。

下面經過分類的方式,逐個介紹vi的一系列命令的含義和用法。

1)Linux命令行下用vi打開文件的命令選項,其詳細說明如表4.42所示。

表4.42 用vi打開文件的命令選項及說明

vi使用的選項

說 明

vi filename

打開或者新建一個文件,並將光標置於第一行的首部

vi –r filename

恢復上次vi打開時崩潰的文件

vi –R filename

把指定的文件以只讀方式放入編輯器中

vi + filename

打開文件並將光標置於最後一行的首部

vi +n filename

打開文件,並將光標置於第n行的首部

vi +/pattern filename

打開文件,並將光標置於第一個與pattern匹配的位置

vi –c command filename

在對文件進行編輯前,先執行指定的命令

2)vi命令模式下的命令選項,主要分爲移動光標類命令、屏幕翻滾類命令、插入與刪除文本類命令、搜索與替換類命令以及保存與退出類命令。這些分別在下面依次說明。

  • 移動光標類命令及其說明如表4.43所示。

表4.43 移動光標類命令及其說明

按的鍵或者輸入的字符

說 明

h

光標左移一個字符

l

光標右移一個字符

Backspace鍵

光標左移一個字符

k或Ctrl+p

光標上移一個字符

j或Ctrl+n

光標下移一個字符

Enter鍵

光標下移一行

w或W

光標右移一個字到字首

b或B

光標左移一個字到字首

e或E

光標右移一個字到字尾

nG

光標移動到第n行首部

n+

光標下移n行

n-

光標上移n行

n$

相對於當前光標所在行,光標再向後移動n行到行尾

H

光標移至當前屏幕的頂行

M

光標移至當前屏幕的中間行

L

光標移至當前屏幕的最底行

0

將光標移至當前行首

$

將光標移至當前行尾

:$

將光標移動到文件最後一行的行首

屏幕翻滾類命令及其說明如表4.44所示。

表4.44 屏幕翻滾類命令及其說明

按的鍵或輸入的字符

說 明

Ctrl+u

相對於當前屏幕,向文件首翻半屏

Ctrl+d

相對於當前屏幕,向文件尾翻半屏

Ctrl+b

相對於當前屏幕,向文件首翻一屏

Ctrl+f

相對於當前屏幕,向文件尾翻一屏

nz+Enter

將文件的第n行滾至屏幕頂部,若是不指定n值,將當前行滾至屏幕頂部

插入與刪除文本類命令及其說明如表4.45所示。

表4.45 插入與刪除文本類命令及其說明

按的鍵或輸入的字符

說 明

Esc

返回命令行模式

i

在光標前輸入文字

a

在光標後輸入文字

o

在當前行之下新開一行

O

在當前行之上新開一行

r

替換光標所在字符,輸入r命令後,在鍵盤上輸入須要替換的新字符便可完成替換

x

刪除光標所在的字符

dd

刪除光標所在的行。刪除後的內容自動保存在剪貼板

yy

將光標所在的行復制到剪貼板,若是在「yy」前加上數字,可複製多行

p

將剪貼板的內容複製到光標後

P

將剪貼板的內容複製到光標前

yw

將光標所在的單詞複製到剪貼板

搜索及替換類命令及其說明如表4.46所示。

表4.46 搜索及替換類命令及其說明

按的鍵或輸入的字符

說 明

/abc

在文件中向前查找字符串abc

?abc

在文件中向後查找字符串abc

n

在同一方向重複上次的搜索命令

N

在相反方向重複上次的搜索命令

:s/a1/a2/g

將當前光標所在行中的全部a1均用a2替換

:n1,n2s/a1/a2/g

將文件第n1至n2行中全部a1均用a2替換

:g/a1/a2/g

將文件中全部的a1均用a2替換

:set nu

給文件的每行加上行號

保存與退出類命令及其說明如表4.47所示。

表4.47 保存與退出類命令及其說明

按的鍵或輸入的字符

說 明

:wq

保存並退出vi編輯器,「:wq!」表示不保存,強制退出

:q

不保存就退出vi編輯器,「:q!」表示不保存,強制退出

:w

保存可是不退出vi編輯器,「:w!」表示強制保存,「:w filename」表示將修改保存到「filename」中。至關於另存文件

x!

保存文件,退出vi編輯器,更通用的一個vi命令

本文摘自《按部就班Linux》

沒看過癮就收入一本。購買連接:

【京東】http://item.jd.com/11868199.html

【噹噹】http://product.dangdang.com/23904022.html

轉自:http://www.epubit.com.cn/article/412?hmsr=toutiao.io&utm_medium=toutiao.io&utm_source=toutiao.io
相關文章
相關標籤/搜索