一點建議室抽,學(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 -l
和ls -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
會逐條提示你是否刪除目錄下的子文件,但是這樣帶來的問題就是械馆,當目錄下有很多文件的時候胖眷,要逐條同意刪除
*注意 這兩個命令中的r
和R
效果是一樣的,都是遞歸的意思
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
(查看文件頭)
head
同tail
這里介紹的知識一些常用的基本命令,還有很多功能沒有具體介紹