Linux Shell 命令(-)

Linux, 經常會接觸到的一個領域,應用最多的還是Shell 命令,這裏一點一點總結一下。

Shell 是用戶和Linux內核之間的接口程序,當從shell或其他程序向Linux傳遞命令時,內核會做出相應的反應。

Shell是一個命令語言解釋器,它擁有自己內建的Shell命令集,shell也能被系統中其他應用程序所調用,用戶在提示符下輸入的命令都由shell先解釋然後傳給Linux核心。

 

Shell 的優越性:

字符操作:可以高效完成所有任務,系統管理,字符遠程,節省了系統資源。

字符區分大小寫

Shell 的功能: 通配符,補全,歷史,重定向,管道,shell編程(另外的帖子詳述)

 

一。關機重啓命令

 

poweroff                        立刻關機

shutdown -h now          立刻關機

shutdown -h 10             定時10分鐘後關機

shutdown -h 20:25        定時到20:25關機

shutdown -r now           現在重啓

reboot                            重啓

 

二。文件目錄類命令

1)查看聯機幫助信息

man  例如 #man ls

info   例如 # info cd

 

2、列出當前目錄或指定目錄的文件名和目錄名
ls [選項] 文件或目錄
常用[選項]如下:
-a:顯示所有的文件,包括以“.”開頭的隱含文件。
-l:長格式輸出
-m:寬行輸出
-F:以各種符號表示不同的文件類型
--color:彩色輸出
-R:遞歸輸出


3、touch
功能:修改文件的創建日期或以當前系統日期創建一個空文件。
-d:修改文件的日期。
#touch –d 20030123 test.txt

4、cp
功能:複製文件
用法:cp [選項] 源文件或目錄 目標文件或目錄
選項:
a: 該選項通常在拷貝目錄時使用。它保留鏈接、文件屬性,並遞歸地拷貝目錄,其作用等於dpR選項的組合。
- d 拷貝時保留鏈接。
- f 刪除已經存在的目標文件而不提示。
- i 和f選項相反,在覆蓋目標文件之前將給出提示要求用戶確認。回答y時目標文件將被覆蓋,是交互式拷貝。
- p 此時cp除複製源文件的內容外,還將把其修改時間和訪問權限也複製到新文件中。
- r 若給出的源文件是一目錄文件,此時cp將遞歸複製該目錄下所有的子目錄和文件。此時目標文件必須爲一個目錄名。

5、mv
功能:給文件或目錄改名或將一個文件或目錄移到另一個目錄
用法:mv [選項] 源文件或目錄 目標文件或目錄
-i 交互方式操作。如果mv操作將導致對已存在的目標文件的覆蓋,此時系統詢問是否重寫,要求用戶回答y或n,這樣可以避免誤覆蓋文件。
- f 禁止交互操作。在mv操作要覆蓋某已有的目標文件時不給任何指示,指定此選項後,i選項將不再起作用。

6、rm
功能:刪除文件或目錄
用法:rm [選項] 文件…
- f 強制刪除
- r 指示rm將參數中列出的全部目錄和子目錄均遞歸地刪除。
- i 進行交互式刪除

7、cd
功能:改變工作目錄。
語法:cd [directory]
用法:
#cd ..返回上一層目錄
#cd ~進入自家目錄


8、pwd
功能:顯示當前工作目錄
用法:#pwd

9、mkdir
功能:創建一個目錄(類似MSDOS下的md命令)。
語法:mkdir [選項] dir-name
- m 對新建目錄設置存取權限。也可以用chmod命令設置。
- p 可以是一個路徑名稱。此時若路徑中的某些目錄尚不存在, 加上此選項後, 系統將自動建立好那些尚不存在的目錄,即一次可以建立多個目錄。
#mkdir –m a=rwx test
#mkdir –m u=rwx,g=rx,o=rx test1
#mkdir –m 755 test2
#mkdir –p test3/test4(test3和test4均爲新目錄)

10、rmdir
功能:刪除空目錄。
語法:rmdir [選項] dir-name
- p 遞歸刪除目錄dirname,當子目錄刪除後其父目錄爲空時,也一同被刪除。


11、file
功能:查看文件類型
語法:file 文件名

12、cat
功能:查看文本文件的內容
語法:cat 文件名
13、more
功能:分屏顯示文本文件的內容。
14、less
功能:顯示文本文件的內容,可使用pageup和pagedown上翻頁下翻頁。

15、head
功能:查看文件的開頭部分內容
語法:head [行數] 文件名
用法:#head test.txt:顯示前10行內容
#head -20 test.txt 顯示前20行內容。


16、tail
功能:查看文件的結尾部分內容。
語法:tail [行數] 文件名
默認的行數爲10行。

17、sort
功能:對文本文件中的各行進行排序
用法:sort 文件名
例:#sort 123.txt >456.txt 將123.txt排序後重定向到456.txt文件中。
18、uniq
功能:將重複行從輸出文件中刪除,只留下每條記錄的唯一樣本
語法: uniq 文件名
#uniq 456.txt文件中的重複行刪除後輸出

19、pr
功能:處理文件以便打印,輸出到標準輸出
語法:pr [參數] 文件名列表
[參數]
-d:將輸出的每一行後加一新的空白行
-n:輸出行號
如:#pr –n 123.txt


20、ln
功能:建立鏈接文件
語法:ls [-s] 源文件名 目標文件名
說 明:鏈接文件分爲硬連接和軟連接,硬連接相當於一個數據源有兩個文件名,刪除一個文件另一個文件不變,修改一個文件的內容另一個文件的內容也跟着改變。硬 連接不能和另一個目錄鏈接,也不能和其他文件系統的文件進行鏈接。軟鏈接相當於快捷方式,沒有上面的限制,加-s參數創建軟鏈接。

21、wc
功能:統計文件的行數、字符數和單詞數。
語法:wc [-lwc] 文件名
-l: 只顯示行數,-w:只顯示單詞數,-c:只顯示字符總數。


22、whatis
功能:可以用一行內容顯示對命令行後輸入的關鍵詞的說明。
語法:whatis 關鍵詞
用法:#whatis find whereis

23、Whereis
功能:確定指定文件的源程序/二進制程序和手冊部分的位置。
用法:#whereis ls


24、which
功能:顯示可執行命令的路徑和它的別名。
用法:#which ls


25、locate
功能:可以查找具體文件或命令的路徑,可以查找具體的字符串或子串
用法:locate 文件名或關鍵字

26、du
功能:統計文件和目錄所佔用的磁盤空間
語法:du [-ask] 文件名或目錄名
-a:顯示對涉及到的所有文件的統計,而不僅僅統計目錄
-s:只打印出合計數
-k:以kB字節數顯示

Find使用範例
find . -name ls.txt
find . -name ls.txt –print
find / -name 'c??’ –print
find / -name 'f*’ –print
find . -name 'f*’ –exec ls –l {} /;
find . -name f/* –ok rm {} /; (交互式提問)
find . -perm 644 –mtime 4
find . -name 'c??’ –o -name 'd??’


28、grep
功能:在文件中搜尋匹配的行並進行輸出
語法:grep [參數]<要找的字串><原文件>
-num:輸出匹配行前後各num行的內容
-A num:輸出匹配行後num行的內容
-B num:輸出匹配行前num行的內容
-i:忽略大小寫的區別
-v:只顯示出那些不包括某字串的行和文件,和默認的相反

三。文件壓縮類命令:

1、gzip
功能:是一種壓縮程序,特點是可以得到最佳的壓縮率,但速度較慢。
語法:gzip [-vd9] 文件名
-v:冗長型選項,可以顯示每個文件的大小等
-d:解壓
-9:產生最佳壓縮效果,但速度較慢。

2、gunzip
功能:可以把壓縮的文件解壓成原始文件狀態,可以解壓擴展名爲.gz,.z,.Z和.tgz等類型的壓縮文件
語法:gunzip [-v] 文件名
-v:顯示解壓縮文件的冗長結果

3、tar
功能:可以歸檔多個文件和目錄到一個.tar文件下,還可以從一個歸檔文件中抽取一個文件和目錄。
語法:tar [-c][-r][-t][-x][-v][-z][f 文件名] 文件和目錄名
-c:創建歸檔文件
-r:增加文件到歸檔文件中
-t:查看歸檔文件中的文件
-x:解開歸檔文件
-v:顯示冗長信息
-z:進行壓縮和解壓


如: #tar –cvf back.tar 文件1 目錄1 文件2
#tar –rvf back.tar 文件3
#tar –tf back.tar
#tar –xvf back.tar
#tar –czvf back.tar.gz 文件1 目錄1 文件2
#tar –xzvf back.tar.gz


4、安裝以rpm方式提供的軟件
Rpm(the red hat package manager)是一個開放的軟件包管理系統。
功能:可以安裝和卸載RPM包的軟件
#rpm –ivh *.rpm 安裝RPM包;
#rpm –ivh –force *.rpm 在原先安裝的基礎上再強行安裝一次;
#rpm –Uvh *.rpm 升級rpm包
#rpm –qa 查找列出系統中所有安裝的rpm包
#rpm –q sendmail:查看sendmail包的情況
#rpm –ql sendmail:查看sendmail安裝的位置
#rpm –e *.rpm 卸載rpm包
#rpm - qlp name.rpm 查看name.rpm有哪些文件
#rpm - qf name.rpm 查看已經裝好的文件屬於哪個rpm包
#rpm2cpio filename.rpm 使用“rpm2cpio”來從RPM文檔中提取文件

5、安裝以源代碼方式提供的軟件
(1)、解包解壓:
#tar –xzvf *.tar.gz 解包解壓後會在當前目錄下建立一個子目錄,如xxxx
(2)、#cd xxxx
(3)、#./configure
(4)、#make
(5)、#make install

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章