一萄凤、基本的bash shell命令

一點建議室抽,學(xué)習(xí)的時候把命令行工具開著,隨時敲靡努,驗證坪圾,別光看,沒用
涉及到得命令:

命令 作用
cd 目錄
pwd 顯示當前所在文件的絕對路徑
ls 顯示當前目錄下的文件和目錄
touch 創(chuàng)建一個文件
cp 復(fù)制文件
ln 符號鏈接
mv 從命名文件或?qū)⑽募苿拥搅硗庖粋€位置
rm 刪除文件
mkdir 創(chuàng)建目錄
rmdir 刪除一個目錄
file 查看文件類型
cat 查看文件內(nèi)容

1.遍歷目錄

cd 進入某一目錄
其后跟的參數(shù)有兩種形式惑朦,絕對文件路徑和相對文件路徑
絕對和相對的區(qū)別就是看是否以/開頭
.表示當前目錄
..表示當前目錄的父目錄
cd ..就會返回當前目錄的父目錄

pwd 顯示當前所在文件的絕對路徑

2.文件和目錄列表

ls 顯示當前目錄下的文件和目錄
ls后面可以跟多個參數(shù)兽泄,分別代表不同的操作

參數(shù) 作用
-F 可以區(qū)分文件和目錄
-a 顯示隱藏文件
-R 遞歸顯示當前目錄下的子目錄中的文件
-l 以列表的形式顯示子文件(會附帶一些文件的信息)

*注意:ls后跟的參數(shù)不一定是一個,可以同時跟多個參數(shù)
例如:ls -a -lls -al表示的是一樣的意思漾月,以列表形式顯示文件已日,并同時顯示隱藏文件

ls -l后面還可以跟參數(shù),用于過濾輸出列表

代碼 作用
ls -l my_dir 匹配名字是my_dir的文件
ls -l my_?ir ?替代任意位置的單個字符
ls -l my_* *匹配零個或多個字符(*也可以放在中間栅屏,例如ls -l my_*r
ls -l my_[abcd]ir []匹配固定位置中出現(xiàn)的字符([]中可以用范圍標示,例如ls -l my_[a-z]ir
ls -l my_[!a]ir !去除給位置不需要的內(nèi)容

列出的只是簡單常用的堂鲜,還有很多參數(shù)沒有列出

3.處理文件

touch 創(chuàng)建一個文件栈雳,該文件是一個空文件,大小是0
例: touch test_one

cp復(fù)制文件 后面會跟兩個參數(shù)——源對象和目標對象
例:cp test_one test_two
復(fù)制后的文件名字是test_two

如果單純寫cp test_one test_two可能會覆蓋原來的test_two文件缔莲,這時候可以加參數(shù)-i
例:cp -i test_one test_two
這樣就會彈出選項哥纫,詢問你是否覆蓋已有的test_two文件

第二個參數(shù)還可以跟一個路徑名
例:cp -i test_one ~/Desktop/shell學(xué)習(xí)/ 會在指定的文件下復(fù)制一個名字為test_one的文件
注意路徑最后的/表示shell學(xué)習(xí)是一個目錄,缺失/會產(chǎn)生不必要的錯誤
另外這個路徑也可以使用相對路徑痴奏,不是一定要絕對路徑

將指定路徑的文件復(fù)制到當前目錄下蛀骇,這時候就用到了前面提到的.
例:cp -i ~/Desktop/shell學(xué)習(xí)/test_one . 將test_one復(fù)制到當前目錄下

遞歸復(fù)制整個目錄下的所有內(nèi)容
例:cp -R ~/Desktop/shell學(xué)習(xí)/ ~/Desktop/shell學(xué)習(xí)2 將shell學(xué)習(xí)中的所有文件都復(fù)制到了shell學(xué)習(xí)2目錄下

*注意 cp命令也支持通配符? *
*注意 使用命令行工具的時候使用tab鍵進行自動補全
*注意 使用命令行工具的時候使用上下鍵進行查找已經(jīng)輸入過得命令語句

文件鏈接厌秒,方便在系統(tǒng)上維護同一個文件的多個副本,有兩種方式:
符號鏈接 ln -s test_one sl_test_one
下面是操作結(jié)果

?  shell學(xué)習(xí) ls
test_one test_two
?  shell學(xué)習(xí) ln -s test_one sl_test_one
?  shell學(xué)習(xí) ls -l
total 8
lrwxr-xr-x  1 musong  staff  8  8  8 14:55 sl_test_one -> test_one
-rw-r--r--  1 musong  staff  0  8  8 11:59 test_one
-rw-r--r--  1 musong  staff  0  8  8 11:59 test_two

產(chǎn)生的是一個實實在在的文件sl_test_one擅憔,當你打開sl_test_one文件的時候鸵闪,實際打開的是test_one文件,但是sl_test_one和test_one是兩個不同的文件
使用命令ls -i *test*可以查看文件在inode編號暑诸,不同的文件編號是不同的

?  shell學(xué)習(xí) ls -i *test*
11296164 sl_test_one 11292136 test_one    11292173 test_two

硬鏈接 ln test_one sl_test_one1
查看生成的sl_test_one1文件的inode編號

?  shell學(xué)習(xí) ls -i *test*
11296164 sl_test_one  11292136 sl_test_one1 11292136 test_one     11292173 test_two

發(fā)現(xiàn)sl_test_one1和test_one的編號是相同的蚌讼,這說明硬鏈接其實是同一個文件
*注意 我們一般不要cp連接

mv 從命名文件或?qū)⑽募苿拥搅硗庖粋€位置
例: mv test_two test_three將文件test_two改名為test_three
mv test_three ~/Desktop/shell學(xué)習(xí)2將文件test_three移到shell學(xué)習(xí)2目錄下
承接上面的例子
mv test_three ~/Desktop/shell學(xué)習(xí)/test_two(注意:該操作是在shell學(xué)習(xí)2目錄下)將shell學(xué)習(xí)2目錄下的test_three文件移回shell學(xué)習(xí)目錄同時將文件名字改為test_two

*注意 在mv命令中也可插入-i參數(shù),用來判斷相同名字文件是否存在
*注意 mv的第一個參數(shù)也可以是路徑

rm 刪除文件
例:rm test_two刪除test_two文件
*注意 rm命令中也可插入-i參數(shù)个榕,用來提出是否刪除的警告
*注意 rm命令中也可使用通配符? *等同時刪除多個數(shù)據(jù)
*注意 bash shell不存在回收站之類的東西篡石,刪除則徹底刪除

4.處理目錄

創(chuàng)建目錄 mkdir
例:mkdir dir1創(chuàng)建一個目錄dir1
同時創(chuàng)建多個目錄層級要用參數(shù) -p
例:mkdir -p dir2/sub_dir1/sub_sub_dir1
*注意 可以用ls -R查看目錄層級關(guān)系

刪除目錄 rmdir
例:rmdir dir1刪除一個目錄dir1
*注意 rmdir只能刪除空目錄,當目錄中有文件的時候西采,上面的命令是不會起作用的

rmdir -rf dir1刪除一個目錄以及目錄中的所有文件
*注意 該條命令是很危險的凰萨,該刪除沒有任何提示

rmdir -ir dir1刪除一個目錄以及目錄中的所有文件
*注意 -ir-fr命令的不同是-ir會逐條提示你是否刪除目錄下的子文件,但是這樣帶來的問題就是械馆,當目錄下有很多文件的時候胖眷,要逐條同意刪除
*注意 這兩個命令中的rR效果是一樣的,都是遞歸的意思

5.查看文件內(nèi)容

查看文件類型 file
例:file dir2查看dir2的文件類型(該命令適用于文件和目錄)

查看文件內(nèi)容 cat
例:cat 文本文件.rtf查看名字為文本文件.rtf文本的內(nèi)容

例:cat -n 文本文件.rtf查看名字為文本文件.rtf文本的內(nèi)容狱杰,并為所有行加上行號

例:cat -d 文本文件.rtf查看名字為文本文件.rtf文本的內(nèi)容瘦材,并為所有文本行加上行號

more 命令 查看大型文件
cat命令比的好處就是more命令支持通過回車鍵或者空格鍵逐行查看,而cat命令不支持該功能
*注意 退出按q

less 命令 查看大型文件
less命令是more的升級版仿畸,提供更多的命令集食棕,具體的命令集自行了解
*注意 可以用man less命令查看具體命令集
*注意 man命令查看各種shell命令的詳細說明

查看部分文件 tail (查看文件尾)
例:tail 文本文件.rtf查看最后10行文件內(nèi)容
*注意 可以通過參數(shù)-n修改顯示的行數(shù),tail -n 2 文本文件.rtf顯示最后兩行內(nèi)容
*注意 可以在-之后直接接數(shù)字错沽,省略n簿晓,上面的語句等同于tail -2 文本文件.rtf

查看部分文件 head (查看文件頭)
headtail

這里介紹的知識一些常用的基本命令,還有很多功能沒有具體介紹

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末千埃,一起剝皮案震驚了整個濱河市憔儿,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌放可,老刑警劉巖谒臼,帶你破解...
    沈念sama閱讀 211,042評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異耀里,居然都是意外死亡蜈缤,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,996評論 2 384
  • 文/潘曉璐 我一進店門冯挎,熙熙樓的掌柜王于貴愁眉苦臉地迎上來底哥,“玉大人,你說我怎么就攤上這事≈夯眨” “怎么了续滋?”我有些...
    開封第一講書人閱讀 156,674評論 0 345
  • 文/不壞的土叔 我叫張陵,是天一觀的道長孵奶。 經(jīng)常有香客問我疲酌,道長,這世上最難降的妖魔是什么拒课? 我笑而不...
    開封第一講書人閱讀 56,340評論 1 283
  • 正文 為了忘掉前任徐勃,我火速辦了婚禮,結(jié)果婚禮上早像,老公的妹妹穿的比我還像新娘僻肖。我一直安慰自己,他們只是感情好卢鹦,可當我...
    茶點故事閱讀 65,404評論 5 384
  • 文/花漫 我一把揭開白布臀脏。 她就那樣靜靜地躺著,像睡著了一般冀自。 火紅的嫁衣襯著肌膚如雪揉稚。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,749評論 1 289
  • 那天熬粗,我揣著相機與錄音搀玖,去河邊找鬼。 笑死驻呐,一個胖子當著我的面吹牛灌诅,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播含末,決...
    沈念sama閱讀 38,902評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼猜拾,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了佣盒?” 一聲冷哼從身側(cè)響起挎袜,我...
    開封第一講書人閱讀 37,662評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎肥惭,沒想到半個月后盯仪,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,110評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡蜜葱,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,451評論 2 325
  • 正文 我和宋清朗相戀三年磨总,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片笼沥。...
    茶點故事閱讀 38,577評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出奔浅,到底是詐尸還是另有隱情馆纳,我是刑警寧澤,帶...
    沈念sama閱讀 34,258評論 4 328
  • 正文 年R本政府宣布汹桦,位于F島的核電站鲁驶,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏舞骆。R本人自食惡果不足惜钥弯,卻給世界環(huán)境...
    茶點故事閱讀 39,848評論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望督禽。 院中可真熱鬧脆霎,春花似錦、人聲如沸狈惫。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,726評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽胧谈。三九已至忆肾,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間菱肖,已是汗流浹背客冈。 一陣腳步聲響...
    開封第一講書人閱讀 31,952評論 1 264
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留稳强,地道東北人场仲。 一個月前我還...
    沈念sama閱讀 46,271評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像键袱,于是被迫代替她去往敵國和親燎窘。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,452評論 2 348

推薦閱讀更多精彩內(nèi)容