UNIX SHELL基礎知識總結(一)


1. Unix常目錄結構與作用:

2.  基本命令

$echo

$date

$who

$who am i 

3.  創建文件的幾種方式

A. touch FileName 創建空文件

B. > FileName  創建空文件

C. vi FileName  創建空文件並開始編輯其中內容

D. cat /dev/null > FileName 創建空文件

4. 文件操作:

$rm:刪除文件;(rm -rf FilePath:強制刪除FilePath及其下的所有內容;r:向下遞歸;f:強制刪除,不做任何提示)

$cp:文件復制;

$mv:文件重命名;

$cat:查看文件內容;

$ls[list]:(-l 顯示文件詳細描述信息)查看當前目錄中的文件;

$wc:(-l:行數;-c:字符數;-w:單詞數)統計文件中的單詞數量;

$ln:鏈接文件;

$sort:排序;

$file:查看文件類型;

5. 文件夾操作:

$.:當前目錄;

$mkdir(Make Directory):創建目錄;

$cd(Change Directory):切換目錄;

$pwd(Print Working Directory):顯示宿主目錄;

$rmdir(Remove Directory)刪除目錄;

$mv:文件移動

6. 文件基本類型:

   以‘_’開頭為普通文件;

   以‘b’開頭為塊設備(Block Device);

   以‘c’開頭為字符設備(Character Device);

   以‘s’開頭為Socket文件;

   以‘p’開頭為Pipe文件;

   以‘l’開頭為字符鏈接文件;

   以‘d’開頭為目錄文件;

7. 字符匹配:

*:匹配0個或以上的字符;

?:匹配1個字符;(??匹配兩個字符)

[]:匹配一個范圍,如[a-np-z]匹配一個除o之外的任何小寫字母;

!:反匹配,如[!H]匹配任何不以大寫字母H開頭的所有字符;

8. 標准輸入/輸出/錯誤:

>:輸出重定向;

<:輸入重定向;

echo CONTENT > FileName:覆蓋文件中的數據;

echo CONTENT >> FileName:將CONTENT追加到文件中;

9.  關於過濾器的定義:

能夠從標准輸入中接受輸入,對輸入進行處理后,再把結果寫入標准輸出的任何程序。如wc為過濾器,而ls則不是,因為它不能從標准輸入中讀取輸入;

10.  uniq 在文件中查找重復行:

用法:uniq in_file out_file;

-d:把重復行寫入out_file中,只寫入一次;

-n:顯示重復出現的行號;

11. cut 從數據文件或命令行的輸出中提取數據

cut -c chars file:chars指想從文件中提取的文字內容;

paste(-d:指定一個分隔符;-s:(把同一個文件中的行粘在一起,而不是其他文件中)把多行合在一起;

12. sed(不對原始文件作出任何改變)

流式處理數據,不可以進行交互操作,用戶新增行,刪除行,顯示及替換行;

13. tr 轉換來自標准輸入的字符:

命令格式:tr from-chars to-chars

-c:替換from-chars到to-chars;

-s:壓縮to-chars中重復出現的字符,只保留第一個;

-d:刪除輸入流中的字符,如:tr -d from-chars

14. grep 從文件或流中提取特定的字符串

-v:顯示不包含指定模式的行;

-l:顯示包含指定模式的行;

-n:顯示符全指定模式的行所在的行號;

15. sort 排序

-u:在輸出結果中去掉重復行;

-r:反轉排序的順序;

-o:把輸出結果寫入標准輸出;

-n:把行中的第一個字段當做數值,數據按算術方法排序;

16. 單引號和雙引號的區別:

SHELL中會保留單引號中的任何特殊字符,如echo '$file' => $file

而雙引號會保留除$,`及\之外的所有字符,即所下所示的echo "$X"也會對變量名進行替換而不做文件名的替換:

X=*
echo $X     => File Name List
echo '$X'   => $X
echo "$X"   => *

17. 整數操作符:

-eq:等於;-ne:不等於;

-ge:大於或等於;-gt:大於;

-le:小於或等於;-l:小於;

18. 常見符號表示:

$#:傳遞給腳本文件的參數個數;

$0:獲取當前腳本的文件名稱;

$1:獲取第一個參數;

$2:獲取第二個參數;

$@:獲取傳遞給腳本文件的所有的參數列表;

$*:以一個單字符串顯示所有向腳本傳遞的參數,可>9;

$$:腳本運行的當前進程ID號;

$?:顯示最后命令的退出狀態,0表示無錯誤;

19. tar:文件的打包,壓縮解壓

A:文件打包

     $tar -cvf xxx.tar FileA,FileB

     -c:創建tar文件;

     -v:列出詳細的執行過程;

     -f:創建的tar文件的文件名。

B:解開tar文件

     $tar -xvf xxx.tar

     -x 用於解開tar文件。

C:文件打包並壓縮

      $tar-cvzf xxx.tar.gz FileA,FileB

     -z:自動調用gzip程序完成打包與壓縮;

D:解壓xxx.tar.gz文件

      $tar -xzf xxx.tar.gz

      該命令相當於以下兩個命令:

      $gzip -dv xxx.tar.gz      => xxx.tar

      $tar -xvf xxx.tar            => FileName

20. 其他操作:

管道:$ls -l | grep "psw";

一行鍵入多行命令(用分號隔開):date;pwd;

命令發送到后台執行:&

切換用戶(用法:su root)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM