無意間搜索LINUX 看到網上有很多LINUX的概念和常用的一些命令,整理出來讓供大家參考。
什麼是Linux終端
鍵盤和現實器合稱為終端,也稱控制台,一台計算機的IO設備就是一個物理控制台;在一台機器上用軟件方法實現多個鄉互不干擾、獨立工作的控制台界面,就是實現了多個虛擬控制台。Linux虛擬控制台有六個,如果直接方式選擇X WINDOW,那麼x window在第7個虛擬終端上。在 Linux 系統中的字符操作控制台界面,通過組合鍵 Alt + (F1 - F6) 可以切換到另外的控制台。在圖像用戶界面下通過組合鍵 Ctrl+Alt + (F1 - F6)可以切換到字符控制台, 每一個控制台是系統中一個完全獨立的會話,不同的用戶可以同時使用。虛擬控制台使Linux成為一個多用戶操作系統。這一多控制台的特點與 Windows 中的多桌面不同。在 Linux 中,每一個控制台可以分別由完全不同的用戶來控制。例如,您可能在控制台 1 中以 root身份登錄,而在控制台 2 中以 yifan 身份登錄。兩個控制台在各自的用戶空間中運行不同的程序。如果您是在圖形模式下,那麼您可以打開一個 終端 (terminal)以進入控制台窗口。通常在桌面的任務條上會有終端的按鈕。您也可以從上下文菜單(在桌面上單擊右鍵)打開終端 .
什麼是shell
shell是系統用戶界面,它提供用戶與內核交互的接口。用戶就能通過鍵盤輸入指令來操作計算機了,它再將執行結果顯示給用戶。shell用戶界面,也就是我們常說的字符操作界面。shell是一個命令解釋器,擁有自己內建的 shell 命令集。此外,shell也能被系統中其他有效的Linux 實用程序和應用程序(utilities and application programs)所調用。 shell 是如何執行命令解釋的,shell 首先檢查命令是否是內部命令,不是的話再檢查是否是一個應用程序,這裡的應用程序可以是Linux本身的實用程序,比如ls 和 rm,也可以是購買的商業程序,比如 xv,或者是公用軟件(public domain software),就象 ghostview.然後shell試著在搜索路徑裡尋找這些應用程序。搜索路徑是一個能找到可執行程序的目錄列表。如果你鍵入的命令不是一個內部命令並且在路徑裡沒有找到這個可執行文件,(學過DOS的朋友,一定對內部,外部命令的含義很了解)將會顯示一條錯誤信息。而如果命令被成功的找到的話,shell的內部命令或應用程序將被分解為系統調用並傳給Linux內核。
shell的種類
目前流行的Shell有 bash、ksh、csh
bash是Linux系統默認使用的Shell,它由Brian Fox和Chet Ramey共同完成,是Bourne Again Shell的縮寫,內部命令一共有40個。Linux使用它作為默認的Shell是因為它有以下的特色:
(1)可以使用類似DOS下面的doskey的功能,用上下方向鍵查閱和快速輸入並修改命令。
(2)自動通過查找匹配的方式,給出以某字串開頭的命令。
(3)包含了自身的幫助功能,你只要在提示符下面鍵入help就可以得到相關的幫助。
ksh是Korn Shell的縮寫,由Eric Gisin編寫,共有42條內部命令。該Shell最大的優點是幾乎和商業發行版的ksh完全相容,這樣就可以在不用花錢購買商業版本的情況下嘗試商業版本的性能了。
csh是Linux比較大的內核,它由以William Joy為代表的共計47位作者編成,共有52個內部命令。該Shell其實是指向/bin/tcsh這樣的一個Shell,也就是說,csh其實就是tcsh.
一凡在此介紹Linux 常用命令,主要是介紹bash的命令
bash 主要有支持三種通配符:
* 匹配任何字符和任何數目的字符
? 匹配任何單字符
[……] 匹配任何包含在括號裡的單字符
有的還支持-,它表示字符范圍,如[a-h]表示從a到h的任意一個字符
bash命令的一般格式如下:命令名「選項」「參數1」「參數2」……「選項」是對命令的特別定義,以減號(-)開始,多個選項可以用一個減號(-)連起來,如ls -l -a 與ls -la 相同。「參數」提供命令運行的信息,或者是命令執行過程中所使用的文件名。使用分號(;)可以將兩個命令隔開,這樣可以實現一行中輸入多個命令。命令的執行順序和輸入的順序相同。有的參數也以——開頭。命令、選項和參數可以用空格或TAB隔開。
bash命令
在送入命令的任何時刻,可以按鍵,當這樣做時,系統將試圖補全此時已輸入的命令。如果已經輸入的字符串不足以唯一地確定它應該使用的命令,系統將發出警告聲。再次按鍵,系統則會給出可用來用來補全的字符串清單。使用命令補全功能,可以提高使用長命令或操作較長名字的文件或文件夾的都是非常有意義的。
歷史命令
系統會把過去輸入過的命令記憶下來,只要按方向鍵中的上下箭頭,就可以選擇以前輸入過的命令了。
聯機幫助
可以通過man命令來查看任何命令的聯機幫助信息。它將命令名作為參數,該命令的語法格式為: man 「命令名」 在任何命令之後給——help參數,也可以顯示該命令的幫助信息。
Linux的文件與文件類型,和DOS,WIN有點相似,在此不做介紹。注意LINUX文件名區分大小寫
目錄和文件的基本操作
1、文件查看和連接命令
將文件連接到一起,用“>”操作將幾個文件組合成一個新的文件,或者是用“>>”把文件追加到已存文件的後面。
語法:
cat[參數]filelist
-b或——number-nonblank:和n相似,但對空行不編號
-s:遇到兩行空白,替換為一行空白
-v:顯示不可打印的字符
filelist:用於結合文件的可選列表。
2、分屏顯示命令
類似於cat,但它是每次顯示一頁,按空格顯示下一頁,按鍵退出,按語法
more [選項] ……
-num:指定每屏顯示的行數
-d:在屏幕下面提示信息
-l:more默認遇到送紙符^L會暫停,使用該選項可以取消該功能
-f:計算實際行數
-p:不是以卷動的方式顯示每頁,而是先清屏再顯示
-s:遇到兩行空白,替換為一行空白
-u:不顯示下劃線
+/:在文件中搜索字符串string,並顯示字符串所在頁的內容
+/:從第num行開始顯示
file用於顯示的文件
3、按頁顯示文件。類似於more,但允許在文件中前後移動。
語法:
less [參數]文件名
-i:查詢時忽略大小寫。
-num:指定每頁顯示的行數
-p:在文件中搜索字符串string,並從第一個符合條件的地方開始顯示
-S:當某列的內容超過顯示畫面的寬度時,直接將超出的部分截斷捨棄,默認情況下會把超出的部分折回來顯示
復制、刪除和移動命令
1、拷貝文件。
語法:
cp[選項]
cp[選項]……
-r遞歸拷貝目錄
-f刪除已存在的目標文件再復制
-a在備份中盡可能的保留源文件的結構和屬性。
2、刪除
rm [選項] ……
該命令用於逐個刪除指定的文件或目錄。默認清苦下,為文件名,rm命令不刪除目錄,只有指定-d選項時候,才能刪除目錄
語法:
-f強制刪除,包括只讀文件,並且不給用戶任何提示
-i在刪除每個文件時提示用戶
-r遞歸刪除目錄下的內容
移動或更名文件和目錄
共4頁。
語法:
mv[參數]源文件目標文件
-f強制復蓋已有文件。
-i在復蓋已有文件前提示用戶。
-u在目標文件的時間比原文件新時不復蓋目標文件。
-v在移動文件時輸出相關信息。
創建和刪除目錄命令
1、創建目錄命令
mkdir[參數]目錄名
-p如果父目錄不存在,創建所有的父目錄。
2、刪除空目錄。
語法:
rmdir[參數]目錄列表
-p 表示刪除指定目錄後,如果該目錄的父目錄為空,則將一並刪除
切換工作目錄和顯示目錄命令
1、改變當前工作目錄。
語法:
cd 目錄名
如果後面不加目錄名,則返回用戶的根目錄,此外用戶必須擁有進入該目錄的權限。另外cd ~ 指切換到自己的主目錄,cd ……/…… 可以切換到單前目錄的上上目錄
2、顯示正在工作或當前的目錄名。
pwd [參數]
3、列出目錄中的內容。
語法:
ls [參數][目錄]
-A顯示所有文件,包括隱藏文件(以“。”開頭的文件,但不列出當前目錄“。”和上級目錄“……”
-a顯示所有文件,包括“。”和“……”目錄。
-d只列出目錄名;不列出它的內容。
-l給出文件的長列表。包括權限、所有權、大小、文件名、最後修改時間等等。
-t 按時間順序顯示
-F 在列出的文件名後以符號表示文件類型,一般文件不加符號,可執行文件“*”,目錄加“/”
-R 若目錄下有文件,則遞歸地列出目錄下的文件
查找與定位命令
1、查找文件或目錄命令
格式
find [path……] [expression]
該命令在目錄樹層次中從path開始向下查找文件,將符合expression要求的文件列出來。輸入命令中第一個以
-、(、)、,、!開始的參數作為expression的部分,在這些符號之前的參數都被認為是要搜索的路徑,在這
些符號之後的才被認為是expression的部分,如果不給出path,則使用當前工作的目錄,如果不給出expressi
on,則使用-print作為預設expression
expression的參數有二三十個之多,這裡只提幾個常用的
-amin 在過去n分鐘內被訪問過的文件
-anewer 比文件file更晚被訪問過的文件
-atime 在過去n天被訪問過的文件
-cmin 在過去n分鐘內修改過的文件
-cnewer 比文件file更新的文件
-ctime 在過去n天內修改過的文件
-empty 內容為空的文件
-gid或-group gid是n或是group名是name的文件
-ipath
,-path
路徑名稱符合p的文件,ipath表示忽略大小寫
-name,-iname 文件名稱符合name的文件,iname表示忽略大小寫
-size 文件大小是n個單位
-type<文件類型〉文件類型的含義與名利ls的選型一樣
-pid 進程id是n的文件
exp1 exp2 或者exp1 -a exp2 或者exp1 -and exp2 含義相同,表示同時滿足這兩個條件
!expr或者-not expr 表示expr的否定
exp1 -o exp2 或者exp1 -or exp2 表示滿足其中一個條件就可以
2、文件定位命令
locate 讓使用者可以很快速的搜尋檔案系統內是否有指定的檔案。其方法是先建立一個包括系統內所有檔案
名稱及路徑的資料庫,之後當尋找時就只需查詢這個資料庫,而不必實際深入檔案系統之中了。在一般的
distribution 之中,資料庫的建立都被放在 contab 中自動執行。一般使用者在使用時只要用
locate [選項]
-u 建立資料庫,-u 會由根目錄開始
-U 建立資料庫,-U 則可以指定開始的位置。
-e 將排除在尋找的范圍之外。
-l 如果 是 1.則啟動安全模式。在安全模式下,使用者不會看到權限無法看到的檔案。這會始速度減慢,因
為 locate 必須至實際的檔案系統中取得檔案的權限資料。
-f 將特定的檔案系統排除在外,例如我們沒有到理要把 proc 檔案系統中的檔案放在資料庫中。
-q 安靜模式,不會顯示任何錯誤訊息。
-n 至多顯示 個輸出。
-r 使用正規運算式 做尋找的條件。
-o 指定資料庫存的名稱。
-d 指定資料庫的路徑
-h 顯示輔助訊息
-v 顯示更多的訊息
-V 顯示程式的版本訊息
連接命令
ln [選項]
Linux/Unix 檔案系統中,有所謂的連結(link),我們可以將其視為檔案的別名,而連結又可分為兩種;硬連結(hard link)與軟連結(symbolic link),硬連結的意思是一個檔案可以有多個名稱,而軟連結的方式則是產生一個特殊的檔案,該檔案的內容是指向另一個檔案的位置。硬連結是存在同一個檔案系統中,而軟連結卻可以跨越不同的檔案系統。 ln source dist 是產生一個連結(dist)到 source,至於使用硬連結或軟鏈結則由參數決定。 不論是硬連結或軟鏈結都不會將原本的檔案復制一份,只會占用非常少量的磁碟空間。
-f : 鏈結時先將與 dist 同檔名的檔案刪除
-d : 允許系統管理者硬鏈結自己的目錄
-i : 在刪除與 dist 同檔名的檔案時先進行詢問
-n : 在進行軟連結時,將 dist 視為一般的檔案
-s : 進行軟鏈結(symbolic link)
-v : 在連結之前顯示其檔名
-b : 將在鏈結時會被覆寫或刪除的檔案進行備份改變文件或目錄的時間命令改變文件或目錄的時間命令
touch [選項] [……]
-a 改變檔案的讀取時間記錄。
-m 改變檔案的修改時間記錄。
-c 假如目的檔案不存在,不會建立新的檔案。與 ——no-create 的效果一樣。
-f 不使用,是為了與其他 unix 系統的相容性而保留。
-r 使用參考檔的時間記錄,與 ——file 的效果一樣。
-d 設定時間與日期,可以使用各種不同的格式。
-t 設定檔案的時間記錄,格式與 date 指令相同。
——no-create 不會建立新檔案。
備份命令
tar <主選項> [輔選項] <文件或目錄>
tar可以為文件和目錄創建檔案。利用tar,用戶可以為某一特定文件創建檔案(備份文件),也可以在檔案中改變文件,或者向檔案中加入新的文件。tar最初被用來在磁帶上創建檔案,現在,用戶可以在任何設備上創建檔案,如軟盤。利用tar命令,可以把一大堆的文件和目錄全部打包成一個文件,這對於備份文件或將幾個文件組合成為一個文件以便於網絡傳輸是非常有用的。Linux上的tar是GNU版本的。
主選項:
c 創建新的檔案文件。如果用戶想備份一個目錄或是一些文件,就要選擇這個選項。
r 把要存檔的文件追加到檔案文件的未尾。例如用戶已經作好備份文件,又發現還有一個目錄或是一些文件忘記備份了,這時可以使用該選項,將忘記的目錄或文件追加到備份文件中。
t 列出檔案文件的內容,查看已經備份了哪些文件。
u 更新文件。就是說,用新增的文件取代原備份文件,如果在備份文件中找不到要更新的文件,則把它追加到備份文件的最後。
x 從檔案文件中釋放文件。
輔選項:
b 該選項是為磁帶機設定的。其後跟一數字,用來說明區塊的大小,系統預設值為20(20*512 bytes)。
f 使用檔案文件或設備,這個選項通常是必選的。
k 保存已經存在的文件。例如我們把某個文件還原,在還原的過程中,遇到相同的文件,不會進行覆蓋。
m 在還原文件時,把所有文件的修改時間設定為現在。
M 創建多卷的檔案文件,以便在幾個磁盤中存放。
v 詳細報告tar處理的文件信息。如無此選項,tar不報告文件信息。
w 每一步都要求確認。
z 用gzip來壓縮/解壓縮文件,加上該選項後可以將檔案文件進行壓縮,但還原時也一定要使用該選項進行解壓縮。
tar的最基本的用法舉例
tar -cf all.tar *.jpg
這條命令是將所有。jpg的文件打成一個名為all.tar的包。-c是表示產生新的包,-f指定包的文件名。
tar -rf all.tar *.gif
這條命令是將所有。gif的文件增加到all.tar的包裡面去。-r是表示增加文件的意思。
tar -uf all.tar logo.gif
這條命令是更新原來tar包all.tar中logo.gif文件,-u是表示更新文件的意思。
tar -tf all.tar
這條命令是列出all.tar包中所有文件,-t是列出文件的意思
tar -tvf all.tar |more
這條命令是列出all.tar包中所有文件,並以分屏方式
壓縮和解壓命令
gzip命令是用來壓縮文件的。它不僅可以用來壓縮大的、較少使用的文件以節省磁盤空間,還可以和tar命令一起構成Linux操作系統中比較流行的壓縮文件格式。據統計,gzip命令對文本文件有60%~70%的壓縮率。
gzip [選項] [文件名]
-c 輸出並保留原文件
-d 將壓縮文件解壓,默認情況下為壓縮
-l 顯示壓縮文件的壓縮的提示信息
-r 遞歸的壓縮或解壓
-t,可以用來測試壓縮文件的完整性。如果文件正常,gzip不會給出任何顯示。如果想看到OK這兩個字母,可以在測試某個文件時使用-tv參數。
-v 對每個操作的文件,顯示文件名和壓縮比例
unzip 命令位於/usr/bin目錄中,它們和MS DOS下的pkzip、pkunzip及MS Windows中的Winzip軟件功能一樣,將文件壓縮成。zip文件,以節省硬盤空間,當需要的時候再將壓縮文件用unzip命令解開。該命令使用權限是所有用戶。
unzip [選項] [壓縮文件名]
-d<目錄> 知道解壓的某個目錄下,默認為當前目錄
-n:解壓縮時不要覆蓋原有的文件。
-o:不必先詢問用戶,unzip執行後覆蓋原有文件
-j:不處理壓縮文件中原有的目錄路徑,把所有文件解壓到同一目錄
-v:察看壓縮文件的內容,但不解壓
-t:檢查壓縮文件是否正確,但不解壓
顯示文字命令
echo [-n] <字符串〉
在屏幕上顯示字符串,-n表示不換行
顯示日歷命令
cal [選項] [[月]年]
- j 顯示出給定月中的每一天是一年中的第幾天(從1月1日算起)。
- y 顯示出整年的日歷。
-1 顯示當月的日歷
-3顯示前一月,本月,下月的日歷
-s以星期天作為一周的第一天
-m以星期一作為一周的第一天
如cal 5 2006
顯示2006年5月份的日歷
日期時間命令
date [選項] [+FormatString] 顯示日期時間
date 設置日期時間
它的選項比較多,一凡在此就不一一列出來了
清屏命令clear
軟件包管理
RPM全稱是 Red Hat Package Manager(Red Hat包管理器)。幾乎所有的 Linux 發行版本都使用這種形式的軟件包管理安裝、更新和卸載軟件。
01、安裝
rpm -i ( or ——install) options file1.rpm …… fileN.
rpm