UNIX SHELL基礎知識總結(一)

1. Unix常目錄結構與做用:bash

2.  基本命令命令行

$echoblog

$date排序

$who遞歸

$who am i 進程

3.  建立文件的幾種方式ip

A. touch FileName 建立空文件字符串

B. > FileName  建立空文件ast

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

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)

相關文章
相關標籤/搜索