1查看文件
Linux下查看文件的命令有很多,下面列出的幾個是幾乎所有Linux發(fā)行版中都帶有的命令,他們各有特點,適用于不同的場合。
cat[filename],查看整個文件,適合小文件(如果看大文件,只能看到屏幕飛速的刷……一瞬間就到尾部了)。
head[filename],查看文件的首部【默認(rèn)前 10行,可以用 -num選項指定顯示的行數(shù)】。
tail[filename],查看文件的尾部【默認(rèn)尾 10行,可以用 -num選項指定顯示的行數(shù)】。
more[filename],分段查看文件,適合大文件【輸入命令后先顯示文件的前面一部分,屏幕下方顯示當(dāng)前閱讀的百分比,形如:--More--(18%);然后按空格鍵翻到下一屏,或按回車鍵滾到下一行】。
view[filename],vi的只讀版本,使用vi的命令進行翻頁等操作上述命令的參數(shù)都可以有多個,以達(dá)到同時(或依次)查看多個文件的目的。當(dāng)操作系統(tǒng)為CentOS 5.2時,若輸入?yún)?shù)有多個,則cat命令依次顯示多個文件,中間沒有任何間隔符。
head命令 依次顯示多個文件的首部,每個文件以 filename開頭。
tail命令 依次顯示多個文件的尾部,每個文件以filename開頭。
more命令 依次分段顯示多個文件,每個文件以(r)filename(r)開頭,且每個文件結(jié)束后,下方的百分比提示變成:--More--繼續(xù)翻屏或滾行后,開始顯示新文件。
2創(chuàng)建(空白)文件
廣義上說,大部分命令其實都可以創(chuàng)建文件,當(dāng)他們通過 >>或>(輸出重定向操作符)將自己的輸出信息重定向到一個不存在的文件時,系統(tǒng)就會自動幫助創(chuàng)建該文件。不過這樣得到的文件基本都是有內(nèi)容的,不是所以,下面要介紹的幾個命令,都可以創(chuàng)建我們通常意義上所說的空白新文件。
(1)不帶 -c選項的touch命令
格式:touch[filename]
參數(shù),filename是待創(chuàng)建新文件的路徑加文件名,當(dāng)你的目的是創(chuàng)建新文件時,它不應(yīng)與同路徑下其他文件重名【若位于當(dāng)前目錄下,則無需指定路徑】。
例如,在當(dāng)前目錄下創(chuàng)建一個名為test1的新文件可以使用,touch tes1
補充:touch命令原本的用途是用來修改文件的訪問時間、修改時間,當(dāng)目標(biāo)文件不存在時,它的作用變成創(chuàng)建新文件。使用-c選項可以禁止它創(chuàng)建新文件。
(2)vi(m)命令,并在 vi(m)里面使用:wq保存
格式:vim[filename]或 vi[filename]
參數(shù),filename是待創(chuàng)建新文件的路徑加文件名,當(dāng)你的目的是創(chuàng)建新文件時,它不應(yīng)與同路徑下其他文件重名。
例如,在當(dāng)前目錄下創(chuàng)建一個名為test1的新文件可以使用,vim tes1或vi tes1
補充:vi(m)命令常被用于創(chuàng)建并編輯一個新文件。使用vi(m)命令后,新文件只處于VI編輯器的緩存內(nèi),所以一定要記得用VI編輯器內(nèi)的 :w或 :wq命令保存一下。
(3)cat命令,與重定向操作符>或 >>結(jié)合
格式:cat>[filename]或 cat>>[filename]
參數(shù),filename是待創(chuàng)建新文件的路徑加文件名,當(dāng)你的目的是創(chuàng)建新文件時,它不應(yīng)與同路徑下其他文件重名【若位于當(dāng)前目錄下,則無需指定路徑】
例如,在當(dāng)前目錄下創(chuàng)建一個名為test1的新文件可以使用,cat>tes1或cat>>tes1
補充:cat命令常用于創(chuàng)建小文件或空白文件。此外,使用cat命令創(chuàng)建文件后直接進入文件編輯狀態(tài),此時的輸入分行保存,亦即每當(dāng)你輸入一個回車鍵就保存一次。(可以打開文件所在文件夾,編輯過程中可以明顯看到文件圖標(biāo)的變化);
文件編輯結(jié)束后,使用ctrl+d快捷鍵結(jié)束編輯并退回命令提示符。還有人說,編輯完成后,使用ctrl+c快捷鍵就可以保存文件。但ctrl+c其實是結(jié)束當(dāng)前任務(wù)的快捷鍵,使用后回到命令行提示符。在使用ctrl+c前請務(wù)必先使用回車鍵保存最后一行輸入,不然你會發(fā)現(xiàn)你在文件輸入的最后一行木有了~~~
3復(fù)制文件
cat命令,與重定向操作符>結(jié)合的
格式:cat[srcpath_oldname]>[dstpath_newname]
參數(shù),srcpath_oldname是待復(fù)制源文件的路徑加文件名。
參數(shù),dstpath_newname是目標(biāo)路徑加新文件名【若位于當(dāng)前目錄下,則無需指定路徑,無論改不改文件名,必須指定新文件名】。
例如:將上層目錄下的test.c文件復(fù)制到當(dāng)前目錄下,并重命名為test.c.bak,命令為
cat../test.c>test.c.bak
4鏈接文件--ln
鏈接文件的意思,是在現(xiàn)有文件和一個新文件名之間建立新鏈接。(此處的文件名廣義,是指的文件的路徑加狹義文件名)Linux系統(tǒng)中的鏈接文件其實可以理解為Windows系統(tǒng)中為文件建立快捷方式。它可以用來為文件建立別名,也可以使得我們擁有在當(dāng)前目錄訪問其他目錄下文件的能力,只要我們在當(dāng)前目錄下為該文件建立了鏈接。鏈接文件的命令是 ln,它的使用方法如下,
格式:ln[srcpath_oldname][dstpath_newname]
參數(shù),srcpath_oldname是現(xiàn)有文件的路徑加文件名【若位于當(dāng)前目錄下,則無需指定路徑】。
參數(shù),dstpath_newname是鏈接文件的路徑加新文件名【若位于當(dāng)前目錄下,則無需指定路徑(但需命新名)】【若不欲為鏈接文件重新命名,則僅需指定鏈接文件路徑(不同于源文件路徑)】。
例如,為當(dāng)前目錄下的test0.99.c文件在 /home/wind/bak/目錄下建立鏈接文件,重命名為 test.c,命令為ln test0.99.c/home/wind/bak/test.c
補充:對于原文件與鏈接文件,cat等命令效果相同,而rm等命令則效果不同。
5統(tǒng)計文件信息--wc
格式:wc[filename]
選項:-l選項統(tǒng)計行數(shù),
-w選項統(tǒng)計單詞數(shù),
-c選項統(tǒng)計字符數(shù)
參數(shù),filename是待統(tǒng)計文件的路徑加文件名【若位于當(dāng)前目錄下,則無需指定路徑】。
例如:統(tǒng)計當(dāng)前目錄下test1文件的行數(shù)和字符數(shù),可以使用wc-lc test1
補充:wc命令默認(rèn)統(tǒng)計行數(shù)、單詞數(shù)與字符數(shù)全部三樣信息,可以通過選項指定只統(tǒng)計其中一項或任意兩項;可以同時指定多個文件作為參數(shù),同時統(tǒng)計多個文件的信息。
1查看當(dāng)前目錄路徑&&切換目錄
pwd
查看當(dāng)前目錄的路徑
cd[dstpath]
參數(shù)dstpath用以指定要切換的目錄路徑,可以使用相對路徑或絕對路徑,也可以為空。若為空,則切回到當(dāng)前用戶的主目錄。
2查看指定目錄下內(nèi)容--ls
格式:ls[dstpath]
幾個重要的選項:-a顯示隱藏文件
-l顯示所列文件的詳細(xì)信息
-R循環(huán)列出子目錄的內(nèi)容
參數(shù) dstpath用以指定要切換的目錄路徑,可以使用相對路徑或絕對路徑,也可以為空。若為空,則默認(rèn)查看當(dāng)前目錄;
3創(chuàng)建目錄--mkdir
格式:mkdir[dstpath_dirname]
選項:-p創(chuàng)建完整的多層目錄結(jié)構(gòu)
參數(shù) dstpath_dirname是要待創(chuàng)建目錄的路徑加目錄名【若在當(dāng)前目錄下建立子目錄,則無需指定目錄的路徑】。
例如:使用一句命令,實現(xiàn)在當(dāng)前目錄下創(chuàng)建 mine子目錄,并在mine目錄下創(chuàng)建 hello子目錄,再在 hello目錄下建立 world子目,可以用 mkdir-p mine/hello/world。
補充,(1)從參數(shù)可以看出,并沒有限定必須在當(dāng)前目錄建立子目錄,我們可以在任何指定的路徑下建立目錄;
(2)當(dāng)未使用 -p選項時,要求指定的路徑必須存在;反之,使用了-p選項后,只要指定的路徑不存在,系統(tǒng)就幫助自動建立相應(yīng)目錄結(jié)構(gòu)。
4刪除目錄--rmdir
格式:rmdir[dstpath_dirname]
參數(shù) dstpath_dirname是待刪除目錄的路徑加目錄名【若在當(dāng)前目錄下刪除子目錄,則無需指定目錄的路徑】。
補充:(1)只能刪除空的子目錄【即,除了當(dāng)前目錄(.)和父目錄(..)外,不包含任何其他子目錄或者文件】。
(2)多數(shù)UNIX系統(tǒng)下只能刪除當(dāng)前目錄的子目錄,但CentOS下,則無此限制。
1通用復(fù)制--cp
格式:cp[srcpath_oldname][dstpath_newname]
選項:-r當(dāng)復(fù)制目錄時,需使用此選項。
參數(shù),srcpath_oldname是待復(fù)制源文件的路徑加文件名(或目錄名)【若位于當(dāng)前目錄下,則無需指定路徑】。
參數(shù),dstpath_newname是目標(biāo)路徑加新文件名【若位于當(dāng)前目錄下,則無需指定路徑】【若不欲修改源文件名,則僅需指定目標(biāo)文件路徑(不同于源文件路徑)】
例如,將當(dāng)前目錄下的test.c文件復(fù)制到/home/wind/bak/目錄下,文件名不變,命令為cp test.c/home/wind/bak/。
2通用移動--mv
格式:mv[srcpath_oldname][dstpath_newname]
參數(shù),srcpath_oldname是待移動源文件的路徑加文件名(或目錄名)。
參數(shù),dstpath_newname是目標(biāo)路徑加新文件名(或目錄名)【若位于當(dāng)前目錄下,則無需指定路徑】【若不欲修改源文件名,則僅需指定目標(biāo)文件路徑(不同于源文件路徑)】。
例如:將當(dāng)前目錄下的test1文件移動到當(dāng)前目錄的new子目錄下,可以使用mv test1 new/
補充:當(dāng)目標(biāo)路徑與源文件路徑一致,且新文件名不同于源文件名時,mv起到重命名的作用。
例如:將new目錄下的test1重命名為test2,可以用命令
mv new/test1 new/test2
3通用刪除--rm
格式:rm[dstpath_dirname]
選項:-r當(dāng)復(fù)制目錄時,需使用此選項。
參數(shù) dstpath_dirname是待刪除目錄的路徑加文件名(或目錄名)【若位于當(dāng)前目錄下,則無需指定路徑】。