advertisement

2012年12月4日

Bash shell 基本指令

------------------------------說明-------------------------------
△:代表為鍵入空白


列:xxxxxxxxxx


行:
x
x
x
x
x

------------------------------------------------------------------------------------------------------------


echo


echo△字串/字元⇨顯示字串(並自動換行(

範例:


~$echo△abc
abc
-n⇨顯示字串不自動換行

------------------------------------------------------------------------------------------------------------


cd


cd△絕對路徑目錄/相對路徑目錄⇨進入目錄位置

範例:

~$cd△Downloads
~/Downloads$
cd⇨回到家目錄
備:root的家目錄在/root 使用者帳號名稱的家目錄在/home/使用者帳號名稱
cd△-⇨回到剛剛所在的目錄位置
cd△..⇨回到現在所在目錄的上一層目錄

------------------------------------------------------------------------------------------------------------


sort


sort△檔案名稱⇨對此檔案內行向的第一個字元以ASCII的值做由小到大排序
sort△-參數△檔案名稱
-r⇨對此檔案內行向的第一個字元以ASCII的值做由大到小排序
-n⇨對此檔案內的字串數值的列做由小到大排序(先排英文在排數字)
-k⇨-k數字,表示以第幾行來排序,其中每行之間必須要有區隔符號用做區別哪些是屬於第幾行(符號可以是空格、符號、TAB,或沒有則視為同一行)
-t⇨-t'符號',設定用來區別每行的區隔符號為何(符號可以是空格、符號、TAB)

範例:

~$cat△test
4a:8d:9c:8d
6e:7w:6v:6p
1q:4e:5w:3a
sort△-t':'△-k3△test⇨-t':'表示以:此符號來區分行號,由此可知4a 6e 1q為第一行,8d 7w 4e 為第二行以此類推,-k3表示以第三行來做小到大排序,第三行為9c 6v 5w

------------------------------------------------------------------------------------------------------------


uniq


uniq△檔名⇨將檔名內的行向以每列由上往下重複字元或字串刪除
uniq△-參數△檔名
-d⇨將檔名內的行向以每列由上往下重複字元或字串
-c⇨計算檔案內行向字元或字串重複的個數

------------------------------------------------------------------------------------------------------------


cut


cut△-參數△檔名
-c數字⇨剪出每列第幾個字元,並以行向顯示
-c2⇨剪出每列第2個字元,並以行向顯示
-c5-8⇨剪出每列從第5到第8的字元,並以行向顯示
-c5-⇨剪出每列從第5到最後的字元,並以行向顯示
-c5,8⇨剪出每列第5跟第8的字元,並以行向顯示
-c5-8,2⇨剪出每列從第5到第8跟第2的字元,並以行向顯示
-d⇨-d'符號',設定用來區別每行的區隔符號為何(符號可以是空格、符號、TAB)
-f⇨-f數字,表示剪出第幾行,其中每行之間必須要有區隔符號用做區別哪些是屬於第幾行(符號可以是空格、符號、TAB,或沒有則視為同一行)

範例:

~$cat△test
4a:8d:9c:8d
6e:7w:6v:6p
1q:4e:5w:3a
cut△-d':'△-f2,4△test⇨-d':'表示以:此符號來區分行號,由此可知4a 6e 1q為第一行,8d 7w 4e 為第二行以此類推,-f2,4表示剪出第二行與第四行,並以行向顯示
8d:8d
7w:6p
4e:3a

------------------------------------------------------------------------------------------------------------


grep


grep△字元/字串△*⇨從目前目錄底下往裏面收尋所有檔案之內容,含有此字元/字串,即列出⇨
(含有此字元/字串的)檔案名稱:(檔案內含有字元/字串的那)ㄧ整列
檔案名稱1:XXXXXXXX
檔案名稱2:xxxxxxxxxxx
.
.

grep△字元/字串△檔案名稱⇨收尋此檔案名稱內容之字元/字串,即印出⇨

(檔案內含有字元/字串的那)ㄧ整列

範例:

$grep△a△*
test3.c:void kitty(int a)
ex_rc1_run.eps:newpath
:前為檔案名稱 :後為出現a的那一整列
grep△-參數△a△*
-i⇨不區分大小寫,會尋找A a,並顯示出
-v⇨尋找不含a的,並顯示出
-l⇨只顯示含有a之檔案名稱,不會顯示檔案內容
-n⇨列出⇨檔案名稱:(顯示檔案內含有a字元,所在的位置是檔案內之第幾列)列號:某ㄧ整列
-a⇨含二進制檔案也會尋找a,並顯示出

------------------------------------------------------------------------------------------------------------


tr


tr△a△A△<△檔名
也可tr△a△A<檔名⇨將檔案內小寫a換成大寫A,並顯示出
tr△';'△':'<檔名⇨將檔案內;號換成:號,並顯示出
tr△'[a-z]'△'[A-Z]'<檔名⇨將檔案內小寫a到z換成大寫A到Z,並顯示出
tr△-s△字元<檔名⇨將檔案內重複的字元刪除留下一個,並顯示出
tr△-d△字元<檔名⇨將檔案內的字元刪除,並顯示出
tr△-s△'符號'<檔名⇨將檔案內重複的符號刪除留下一個,並顯示出
tr△-d△'符號'<檔名⇨將檔案內的符號刪除,並顯示出

------------------------------------------------------------------------------------------------------------


wc


wc△檔名⇨計算檔案內共有多少列、多少句(以空白區分句子)、多少個bytes,並顯示出

補充:

UTF8:
英文字 1 byte
常用中文字 3 bytes
非常用中文字 6 bytes
UTF16:
英文字 2 bytes
常用中文字 2 bytes
非常用中文字 4 bytes
範例:UTF8
~$cat△test
auf hudn vr
fjifn:fkm
n蓮
~$wc△test
3 5 27 test⇨列 句 byte個數 檔名
(說明:大家計算可能發現字元只有21個,可是他卻顯示24個!!,因為他是以共有幾個游標 | 來計算,所以每列最後一行雖然沒有字元還是會被算入)
wc△-參數△檔名
-l⇨計算檔案內共有多少列,並顯示出
-w⇨計算檔案內共有多少句(以空白區分句子),並顯示出
-m⇨計算檔案內共有多少個字元,並顯示出
-c⇨計算檔案內共有多少bytes,並顯示出

------------------------------------------------------------------------------------------------------------


ln


ln△檔名1△檔名2
ln△abc△123⇨建立一個abc的連結檔,此連結檔之檔名為123(hard link)
ln△-s△abc△123⇨建立一個abc的連結檔,此連結檔之檔名為123(symbolic link等同於windows的捷徑)
hard link、symbolic link之差異請見參考資料
http://linux.vbird.org/linux_basic/0230filesystem.php

沒有留言:

張貼留言

文章有誤或有問題麻煩您留言告知! 謝謝您~~