切換目錄
在 Linux 里面使用.表示當(dāng)前目錄,
..表示上一級(jí)目錄
-表示上一次所在目錄菩掏,
~通常表示當(dāng)前用戶的home目錄辜梳。
使用pwd命令可以獲取當(dāng)前所在路徑(絕對(duì)路徑)凭峡。
# 絕對(duì)路徑
$cd/usr/local/bin# 相對(duì)路徑
$cd../../usr/local/bin
新建空白文件
使用touch命令創(chuàng)建空白文件选泻,關(guān)于touch命令,
其主要作用是來(lái)更改已有文件的時(shí)間戳的(比如淫茵,最近訪問(wèn)時(shí)間爪瓜,最近修改時(shí)間),但其在不加任何參數(shù)的情況下匙瘪,只指定一個(gè)文件名铆铆,則可以創(chuàng)建一個(gè)指定文件名的空白文件(不會(huì)覆蓋已有同名文件),當(dāng)然你也可以同時(shí)指定該文件的時(shí)間戳丹喻,更多關(guān)于touch命令的用法薄货,
$ touchtest
新建目錄
使用mkdir(make directories)命令可以創(chuàng)建一個(gè)空目錄,也可同時(shí)指定創(chuàng)建目錄的權(quán)限屬性碍论。
創(chuàng)建名為“ mydir ”的空目錄:
$mkdirmydir
使用-p參數(shù)谅猾,同時(shí)創(chuàng)建父目錄(如果不存在該父目錄),如下我們同時(shí)創(chuàng)建一個(gè)多級(jí)目錄(這在安裝軟件鳍悠、配置安裝路徑時(shí)非常有用):
$mkdir-p father/son/grandson
后面的目錄路徑税娜,以絕對(duì)路徑的方式表示也是可以的。
2. 復(fù)制
復(fù)制文件
使用cp(copy)命令復(fù)制一個(gè)文件到指定目錄藏研。
將之前創(chuàng)建的“ test ”文件復(fù)制到“ /home/shiyanlou/father/son/grandson ”目錄中:
$ cptestfather/son/grandson
復(fù)制目錄
如果直接使用cp命令復(fù)制一個(gè)目錄的話巧涧,會(huì)報(bào)錯(cuò):
要成功復(fù)制目錄需要加上-r或者-R參數(shù),表示遞歸復(fù)制遥倦,就是說(shuō)有點(diǎn)“全部復(fù)制”的意思:
$ cp -r father family
刪除
刪除文件
使用rm(remove files or directories)命令刪除一個(gè)文件:
$ rmtest
有時(shí)候你會(huì)遇到想要?jiǎng)h除一些為只讀權(quán)限的文件,直接使用rm刪除會(huì)顯示一個(gè)提示,如下:文件有寫(xiě)保護(hù)
你如果想忽略這提示袒哥,直接刪除文件缩筛,可以使用-f參數(shù)強(qiáng)制刪除:
$ rm-ftest
刪除目錄
跟復(fù)制目錄一樣,要?jiǎng)h除一個(gè)目錄堡称,也需要加上-r或-R參數(shù):
$ rm -r family
移動(dòng)文件與文件重命名
移動(dòng)文件
使用mv(move or rename files)命令移動(dòng)文件(剪切)瞎抛。將文件“ file1 ”移動(dòng)到Documents目錄:
mv 源目錄文件 目的目錄:
$ mkdir Documents? 新建目錄
$ mv file1 Documents
重命名文件
將文件“ file1 ”重命名為“ myfile ”:
mv 舊的文件名 新的文件名:
$ mv file1 myfile
批量重命名
要實(shí)現(xiàn)批量重命名,mv命令就有點(diǎn)力不從心了却紧,我們可以使用一個(gè)看起來(lái)更專業(yè)的命令rename來(lái)實(shí)現(xiàn)桐臊。不過(guò)它要用 perl 正則表達(dá)式來(lái)作為參數(shù),關(guān)于正則表達(dá)式我們要在后面才會(huì)介紹到晓殊,這里只做演示断凶,你只要記得這個(gè)rename命令可以批量重命名就好了,以后再重新學(xué)習(xí)也不會(huì)有任何問(wèn)題巫俺,畢竟你已經(jīng)掌握了一個(gè)更常用的mv命令认烁。
# 使用通配符批量創(chuàng)建 5 個(gè)文件:$ touch file{1..5}.txt# 批量將這 5 個(gè)后綴為 .txt 的文本文件重命名為以 .c 為后綴的文件:$ rename's/\.txt/\.c/'*.txt# 批量將這 5 個(gè)文件,文件名改為大寫(xiě):$ rename'y/a-z/A-Z/'*.c
簡(jiǎn)單解釋一下上面的命令介汹,rename是先使用第二個(gè)參數(shù)的通配符匹配所有后綴為.txt的文件却嗡,然后使用第一個(gè)參數(shù)提供的正則表達(dá)式將匹配的這些文件的.txt后綴替換為.c,這一點(diǎn)在我們后面學(xué)習(xí)了sed命令后嘹承,相信你會(huì)更好地理解窗价。
查看文件
使用cat,tac和nl命令查看文件
前兩個(gè)命令都是用來(lái)打印文件內(nèi)容到標(biāo)準(zhǔn)輸出(終端)叹卷,其中cat為正序顯示撼港,tac為倒序顯示。
標(biāo)準(zhǔn)輸入輸出:當(dāng)我們執(zhí)行一個(gè) shell 命令行時(shí)通常會(huì)自動(dòng)打開(kāi)三個(gè)標(biāo)準(zhǔn)文件豪娜,即標(biāo)準(zhǔn)輸入文件(stdin)餐胀,默認(rèn)對(duì)應(yīng)終端的鍵盤(pán)、標(biāo)準(zhǔn)輸出文件(stdout)和標(biāo)準(zhǔn)錯(cuò)誤輸出文件(stderr)瘤载,后兩個(gè)文件都對(duì)應(yīng)被重定向到終端的屏幕否灾,以便我們能直接看到輸出內(nèi)容。進(jìn)程將從標(biāo)準(zhǔn)輸入文件中得到輸入數(shù)據(jù)鸣奔,將正常輸出數(shù)據(jù)輸出到標(biāo)準(zhǔn)輸出文件墨技,而將錯(cuò)誤信息送到標(biāo)準(zhǔn)錯(cuò)誤文件中。
比如我們要查看之前從/etc目錄下拷貝來(lái)的passwd文件:
$ cat passwd
可以加上-n參數(shù)顯示行號(hào):
$ cat -n passwd
nl命令挎狸,添加行號(hào)并打印扣汪,這是個(gè)比cat -n更專業(yè)的行號(hào)打印命令。
這里簡(jiǎn)單列舉它的常用的幾個(gè)參數(shù):
-b : 指定添加行號(hào)的方式锨匆,主要有兩種:-b a:表示無(wú)論是否為空行崭别,同樣列出行號(hào)("cat -n"就是這種方式)-b t:只列出非空行的編號(hào)并列出(默認(rèn)為這種方式)-n : 設(shè)置行號(hào)的樣式冬筒,主要有三種:-n ln:在行號(hào)字段最左端顯示
-n rn:在行號(hào)字段最右邊顯示,且不加 0
-n rz:在行號(hào)字段最右邊顯示茅主,且加 0
-w : 行號(hào)字段占用的位數(shù)(默認(rèn)為 6 位)
使用more和less命令分頁(yè)查看文件
使用more命令打開(kāi)passwd文件:
$ more passwd
打開(kāi)后默認(rèn)只顯示一屏內(nèi)容舞痰,終端底部顯示當(dāng)前閱讀的進(jìn)度【饕Γ可以使用Enter鍵向下滾動(dòng)一行响牛,使用Space鍵向下滾動(dòng)一屏,按下h顯示幫助赫段,q退出呀打。
less的使用基本和more一致
使用head和tail命令查看文件
head 頭部文件tail尾部文件
這兩個(gè)命令,那些性子比較急的人應(yīng)該會(huì)喜歡糯笙,因?yàn)樗鼈円粋€(gè)是只查看文件的頭幾行(默認(rèn)為 10 行贬丛,不足 10 行則顯示全部)和尾幾行
$ tail /etc/passwd? 默認(rèn)顯示文件尾10行
甚至更直接的只看一行, 加上-n參數(shù)炬丸,后面緊跟行數(shù):
$ tail -n1/etc/passwd顯示文件最后1行內(nèi)容
循環(huán)查看文件內(nèi)容
tail -f test.log
用于一個(gè)以上的檔案監(jiān)視瘫寝。用Ctrl+c來(lái)終止。稠炬。這可以讓我們動(dòng)態(tài)查看日志焕阿,達(dá)到實(shí)時(shí)監(jiān)視的目的。
查看文件類型
前面我提到過(guò)首启,在 Linux 中文件的類型不是根據(jù)文件后綴來(lái)判斷的暮屡,我們通常使用file命令查看文件的類型:
$ file /bin/ls
說(shuō)明這是一個(gè)可執(zhí)行文件,運(yùn)行在 64 位平臺(tái)毅桃,并使用了動(dòng)態(tài)鏈接文件(共享庫(kù))褒纲。