第三章【Linux 常用命令之文件管理】

      網(wǎng)友投稿 767 2025-03-31

      一、 概述


      很多人可能在電視或電影中看到過類似的場景,黑客面對一個(gè)黑色的屏幕,上面飄著密密麻麻的字符,梆梆一頓敲,就完成了竊取資料的任務(wù)。

      Linux 剛出世時(shí)沒有什么圖形界面,所有的操作全靠命令完成,就如同電視里的黑客那樣,充滿了神秘與晦澀。

      近幾年來,盡管 Linux 發(fā)展得非常迅速,圖形界面越來越友好,但是在真正的開發(fā)過程中,Linux 命令行的應(yīng)用還是占有非常重要的席位,而且許多Linux功能在命令行界面要比圖形化界面下運(yùn)行的快。可以說不會命令行,就不算會 Linux。

      Linux 提供了大量的命令,利用它可以有效地完成大量的工作,如磁盤操作、文件存取、目錄操作、進(jìn)程管理、文件權(quán)限設(shè)定等。Linux 發(fā)行版本最少的命令也有 200 多個(gè),這里只介紹比較重要和使用頻率最多的命令。

      二、 命令使用方法

      1、 Linux 命令格式

      command? [-options]? [parameter1]? …

      說明:

      command:命令名,相應(yīng)功能的英文單詞或單詞的縮寫

      [-options]:選項(xiàng),可用來對命令進(jìn)行控制,也可以省略,[]代表可選

      parameter1 …:傳給命令的參數(shù),可以是零個(gè)一個(gè)或多個(gè)

      2、 查看幫助文檔

      1) --help

      一般是 Linux 命令自帶的幫助信息,并不是所有命令都自帶這個(gè)選項(xiàng)。

      如我們想查看命令 ls 的用法:ls --help

      2) man(有問題找男人)

      man 是 Linux 提供的一個(gè)手冊,包含了絕大部分的命令、函數(shù)使用說明。

      該手冊分成很多章節(jié)(section),使用 man 時(shí)可以指定不同的章節(jié)來瀏覽不同的內(nèi)容。

      man 中各個(gè) section 意義如下:

      Standard commands(標(biāo)準(zhǔn)命令)

      System calls(系統(tǒng)調(diào)用,如open,write)

      Library functions(庫函數(shù),如printf,fopen)

      Special devices(設(shè)備文件的說明,/dev下各種設(shè)備)

      File formats(文件格式,如passwd)

      Games and toys(游戲和娛樂)

      Miscellaneous(雜項(xiàng)、慣例與協(xié)定等,例如Linux檔案系統(tǒng)、網(wǎng)絡(luò)協(xié)定、ASCII 碼;environ全局變量)

      Administrative Commands(管理員命令,如ifconfig)

      MAN(1) Manual pager utils MAN(1) NAME man - an interface to the on-line reference manuals SYNOPSIS man [-C file] [-d] [-D] [--warnings[=warnings]] [-R encoding] [-L locale] [-m system[,...]] [-M path] [-S list] [-e extension] [-i|-I] [--regex|--wildcard] [--names-only] [-a] [-u] [--no-subpages] [-P pager] [-r prompt] [-7] [-E encoding] [--no-hyphenation] [--no-justification] [-p string] [-t] [-T[device]] [-H[browser]] [-X[dpi]] [-Z] [[section] page[.section] ...] ... man -k [apropos options] regexp ... man -K [-w|-W] [-S list] [-i|-I] [--regex] [section] term ... man -f [whatis options] page ... man -l [-C file] [-d] [-D] [--warnings[=warnings]] [-R encoding] [-L locale] [-P pager] [-r prompt] [-7] [-E encoding] [-p string] [-t] [-T[device]] [-H[browser]] [-X[dpi]] [-Z] file ... man -w|-W [-C file] [-d] [-D] page ... man -c [-C file] [-d] [-D] page ... man [-?V] DESCRIPTION man is the system's manual pager. Each page argument given to man is normally the name of a program, utility or function. The manual page associ‐ ated with each of these arguments is then found and displayed. A section, if provided, will direct man to look only in that section of the manual. The default action is to search in all of the available sections following a pre-defined order ("1 1p 8 2 3 3p 4 5 6 7 9 0p n l p o 1x 2x 3x 4x 5x 6x 7x 8x" by default, unless overridden by the SECTION directive in /etc/man_db.conf), and to show only the first page found, even if page exists in several sections. The table below shows the section numbers of the manual followed by the types of pages they contain. 1 Executable programs or shell commands 2 System calls (functions provided by the kernel) 3 Library calls (functions within program libraries) 4 Special files (usually found in /dev) 5 File formats and conventions eg /etc/passwd 6 Games 7 Miscellaneous (including macro packages and conventions), e.g. man(7), groff(7) 8 System administration commands (usually only for root) 9 Kernel routines [Non standard] A manual page consists of several sections.

      man使用格式如下:

      man [選項(xiàng)]? 命令名

      man設(shè)置了如下的功能鍵:

      功能鍵

      功能

      空格鍵

      顯示手冊頁的下一屏

      Enter鍵

      一次滾動手冊頁的一行

      b

      回滾一屏

      f

      前滾一屏

      q

      退出man命令

      h

      列出所有功能鍵

      /word

      搜索word字符串

      如,我們想查看 ls 的用法:man 1 ls ( 1:為數(shù)字“1”,代表第 1 個(gè) section,標(biāo)準(zhǔn)命令 )

      實(shí)際上,我們不用指定第幾個(gè)章節(jié)也用查看,如,man ls。但是,有這個(gè)一種情況,假如,命令的名字和函數(shù)的名字剛好重名(如:printf),它既是命

      令,也可以是庫函數(shù),如果,我們不指定章節(jié)號,man printf,它只查看命令的用法,不會查詢函數(shù)的用法,因?yàn)?man 是按照手冊的章節(jié)號的順序進(jìn)行搜索的。

      所以,使用 man 手冊時(shí),最好指定章節(jié)號:

      3、 使用技巧

      1) 自動補(bǔ)全

      在敲出命令的前幾個(gè)字母的同時(shí),按下tab鍵,系統(tǒng)會自動幫我們補(bǔ)全命令。

      當(dāng)系統(tǒng)執(zhí)行過一些命令后,可按上下鍵翻看以前的命令,history將執(zhí)行過的命令列舉出來。

      三、 常用命令

      1、 文件管理

      1) 查看文件信息:ls

      ls是英文單詞list的簡寫,其功能為列出目錄的內(nèi)容,是用戶最常用的命令之一,它類似于DOS下的dir命令。

      Linux文件或者目錄名稱最長可以有256個(gè)字符,“.”代表當(dāng)前目錄,“..”代表上一級目錄,以“.”開頭的文件為隱藏文件,需要用 -a 參數(shù)才能顯示。

      ls常用參數(shù):

      參數(shù)

      含義

      -a

      顯示指定目錄下所有子目錄與文件,包括隱藏文件

      -l

      以列表方式顯示文件的詳細(xì)信息

      -h

      配合 -l 以人性化的方式顯示文件大小

      圖中列出的信息含義如下圖所示:

      與DOS下的文件操作類似,在Unix/Linux系統(tǒng)中,也同樣允許使用特殊字符來同時(shí)引用多個(gè)文件名,這些特殊字符被稱為通配符。

      通配符

      含義

      *

      文件代表文件名中所有字符

      ls te*

      查找以te開頭的文件

      ls *html

      查找結(jié)尾為html的文件

      代表文件名中任意一個(gè)字

      ls ?.c

      只找第一個(gè)字符任意,后綴為.c的文件

      ls a.?

      只找只有3個(gè)字符,前2字符為a.,最后一個(gè)字符任意的文件

      []

      [”和“]”將字符組括起來,表示可以匹配字符組中的任意一個(gè)。“-”用于表示字符范圍。

      [abc]

      匹配a、b、c中的任意一個(gè)

      [a-f]

      匹配從a到f范圍內(nèi)的的任意一個(gè)字符

      ls [a-f]*

      找到從a到f范圍內(nèi)的的任意一個(gè)字符開頭的文件

      ls a-f

      查找文件名為a-f的文件,當(dāng)“-”處于方括號之外失去通配符的作用

      \

      如果要使通配符作為普通字符使用,可以在其前面加上轉(zhuǎn)義字符。“?”和“*”處于方括號內(nèi)時(shí)不用使用轉(zhuǎn)義字符就失去通配符的作用。

      ls \*a

      查找文件名為*a的文件

      2) 輸出重定向命令:>

      Linux允許將命令執(zhí)行結(jié)果重定向到一個(gè)文件,本應(yīng)顯示在終端上的內(nèi)容保存到指定文件中。

      如:ls > test.txt ( test.txt 如果不存在,則創(chuàng)建,存在則覆蓋其內(nèi)容 )

      >輸出重定向會覆蓋原來的內(nèi)容,>>輸出重定向則會追加到文件的尾部。

      3) 分屏顯示:more

      查看內(nèi)容時(shí),在信息過長無法在一屏上顯示時(shí),會出現(xiàn)快速滾屏,使得用戶無法看清文件的內(nèi)容,此時(shí)可以使用more命令,每次只顯示一頁,按下空格鍵可以顯示下一頁,按下q鍵退出顯示,按下h鍵可以獲取幫助。

      4) 管道:|

      管道:一個(gè)命令的輸出可以通過管道做為另一個(gè)命令的輸入。

      管道我們可以理解現(xiàn)實(shí)生活中的管子,管子的一頭塞東西進(jìn)去,另一頭取出來,這里“ | ”的左右分為兩端,左端塞東西(寫),右端取東西(讀)。

      5) 清屏:clear

      clear作用為清除終端上的顯示(類似于DOS的cls清屏功能),也可使用快捷鍵:Ctrl + l ( “l(fā)” 為字母 )。

      6) 切換工作目錄: cd

      在使用Unix/Linux的時(shí)候,經(jīng)常需要更換工作目錄。cd命令可以幫助用戶切換工作目錄。Linux所有的目錄和文件名大小寫敏感。

      cd后面可跟絕對路徑,也可以跟相對路徑。如果省略目錄,則默認(rèn)切換到當(dāng)前用戶的主目錄。

      命令

      含義

      cd

      切換到當(dāng)前用戶的主目錄(/home/用戶目錄),用戶登陸的時(shí)候,默認(rèn)的目錄就是用戶的主目錄。

      cd ~

      切換到當(dāng)前用戶的主目錄(/home/用戶目錄)

      cd .

      切換到當(dāng)前目錄

      cd ..

      切換到上級目錄

      cd -

      可進(jìn)入上一個(gè)進(jìn)入的目錄

      第三章【Linux 常用命令之文件管理】

      注意:如果路徑是從根路徑開始的,則路徑的前面需要加上 “ / ”,如 “ /mnt ”,通常進(jìn)入某個(gè)目錄里的文件夾,前面不用加? “ / ”。

      7) 顯示當(dāng)前路徑:pwd

      使用pwd命令可以顯示當(dāng)前的工作目錄,該命令很簡單,直接輸入pwd即可,后面不帶參數(shù)。

      8) 創(chuàng)建目錄:mkdir

      通過mkdir命令可以創(chuàng)建一個(gè)新的目錄。參數(shù)-p可遞歸創(chuàng)建目錄。

      需要注意的是新建目錄的名稱不能與當(dāng)前目錄中已有的目錄或文件同名,并且目錄創(chuàng)建者必須對當(dāng)前目錄具有寫權(quán)限。

      9) 刪除目錄:rmdir

      可使用rmdir命令刪除一個(gè)目錄。必須離開目錄,并且目錄必須為空目錄,不然提示刪除失敗。

      10) 刪除文件:rm

      可通過rm刪除文件或目錄。使用rm命令要小心,因?yàn)槲募h除后不能恢復(fù)。為了防止文件誤刪,可以在rm后使用-i參數(shù)以逐個(gè)確認(rèn)要?jiǎng)h除的文件。

      常用參數(shù)及含義如下表所示:

      參數(shù)

      含義

      -i

      以進(jìn)行交互式方式執(zhí)行

      -f

      強(qiáng)制刪除,忽略不存在的文件,無需提示

      -r

      遞歸地刪除目錄下的內(nèi)容,刪除文件夾時(shí)必須加此參數(shù)

      11) 建立鏈接文件:ln

      Linux鏈接文件類似于Windows下的快捷方式。

      鏈接文件分為軟鏈接和硬鏈接。

      軟鏈接:軟鏈接不占用磁盤空間,源文件刪除則軟鏈接失效。

      硬鏈接:硬鏈接只能鏈接普通文件,不能鏈接目錄。

      使用格式:

      ln 源文件 鏈接文件

      ln -s 源文件 鏈接文件

      如果沒有-s選項(xiàng)代表建立一個(gè)硬鏈接文件,兩個(gè)文件占用相同大小的硬盤空間,即使刪除了源文件,鏈接文件還是存在,所以-s選項(xiàng)是更常見的形式。

      注意:如果軟鏈接文件和源文件不在同一個(gè)目錄,源文件要使用絕對路徑,不能使用相對路徑。

      12) 查看或者合并文件內(nèi)容:cat

      13) 文本搜索:grep

      Linux系統(tǒng)中g(shù)rep命令是一種強(qiáng)大的文本搜索工具,grep允許對文本文件進(jìn)行模式查找。如果找到匹配模式, grep打印包含模式的所有行。

      grep一般格式為:

      grep [-選項(xiàng)] ‘搜索內(nèi)容串’文件名

      在grep命令中輸入字符串參數(shù)時(shí),最好引號或雙引號括起來。例如:grep‘a(chǎn) ’1.txt。

      常用選項(xiàng)說明:

      選項(xiàng)

      含義

      -v

      顯示不包含匹配文本的所有行(相當(dāng)于求反)

      -n

      顯示匹配行及行號

      -i

      忽略大小寫

      grep搜索內(nèi)容串可以是正則表達(dá)式。

      正則表達(dá)式是對字符串操作的一種邏輯公式,就是用事先定義好的一些特定字符、及這些特定字符的組合,組成一個(gè)“規(guī)則字符串”,這個(gè)“規(guī)則字符串”用來表達(dá)對字符串的一種過濾邏輯。

      grep常用正則表達(dá)式:

      參數(shù)

      含義

      ^a

      行首,搜尋以 m 開頭的行

      grep -n '^a' 1.txt

      ke$

      行尾,搜尋以 ke 結(jié)束的行

      grep -n 'ke$' 1.txt

      [Ss]igna[Ll]

      匹配 [] 里中一系列字符中的一個(gè)

      搜尋匹配單詞signal、signaL、Signal、SignaL的行

      grep -n '[Ss]igna[Ll]' 1.txt

      . (點(diǎn))

      匹配一個(gè)非換行符的字符

      匹配 e 和 e 之間有任意一個(gè)字符,可以匹配 eee,eae,eve,但是不匹配 ee,eaae

      grep -n 'e.e' 1.txt

      14) 計(jì)算文件行數(shù)或字?jǐn)?shù):wc

      常用選項(xiàng)說明:

      選項(xiàng)

      含義

      -l

      統(tǒng)計(jì)行數(shù)

      -w

      統(tǒng)計(jì)字?jǐn)?shù)。一個(gè)字被定義為由空白、跳格或換行字符分隔的字符串。

      -c

      統(tǒng)計(jì)字節(jié)數(shù)

      -m

      統(tǒng)計(jì)字符數(shù)。這個(gè)標(biāo)志不能與 -c 標(biāo)志一起使用。

      15) 查找文件:find

      find命令功能非常強(qiáng)大,通常用來在特定的目錄下搜索符合條件的文件,也可以用來搜索特定用戶屬主的文件。

      常用用法:

      命令

      含義

      find ./ -name test.sh

      查找當(dāng)前目錄下所有名為test.sh的文件

      find ./ -name '*.sh'

      查找當(dāng)前目錄下所有后綴為.sh的文件

      find ./ -name "[A-Z]*"

      查找當(dāng)前目錄下所有以大寫字母開頭的文件

      find? /tmp? -size?? 2M

      查找在/tmp 目錄下等于2M的文件

      find? /tmp? -size? +2M

      查找在/tmp 目錄下大于2M的文件

      find? /tmp? -size? -2M

      查找在/tmp 目錄下小于2M的文件

      find ./ -size +4k -size -5M

      查找當(dāng)前目錄下大于4k,小于5M的文件

      find ./ -perm 0777

      查找當(dāng)前目錄下權(quán)限為 777 的文件或目錄

      16) 拷貝文件:cp

      cp命令的功能是將給出的文件或目錄復(fù)制到另一個(gè)文件或目錄中,相當(dāng)于DOS下的copy命令。

      常用選項(xiàng)說明:

      選項(xiàng)

      含義

      -a

      該選項(xiàng)通常在復(fù)制目錄時(shí)使用,它保留鏈接、文件屬性,并遞歸地復(fù)制目錄,簡單而言,保持文件原有屬性。

      -f

      刪除已經(jīng)存在的目標(biāo)文件而不提示

      -i

      交互式復(fù)制,在覆蓋目標(biāo)文件之前將給出提示要求用戶確認(rèn)

      -r

      若給出的源文件是目錄文件,則cp將遞歸復(fù)制該目錄下的所有子目錄和文件,目標(biāo)文件必須為一個(gè)目錄名。

      -v

      顯示拷貝進(jìn)度

      cp vim_configure/ code/ -ivr 把文件夾 vim_configure 拷貝到 code 目錄里:

      17) 移動文件:mv

      用戶可以使用mv命令來移動文件或目錄,也可以給文件或目錄重命名。

      常用選項(xiàng)說明:

      選項(xiàng)

      含義

      -f

      禁止交互式操作,如有覆蓋也不會給出提示

      -i

      確認(rèn)交互方式操作,如果mv操作將導(dǎo)致對已存在的目標(biāo)文件的覆蓋,系統(tǒng)會詢問是否重寫,要求用戶回答以避免誤覆蓋文件

      -v

      顯示移動進(jìn)度

      18) 獲取文件類型:file

      Linux系統(tǒng)文件類型不是根據(jù)文件擴(kuò)展名分類的,通過file命令可以確認(rèn)文件具體類型。

      19) 歸檔管理:tar

      計(jì)算機(jī)中的數(shù)據(jù)經(jīng)常需要備份,tar是Unix/Linux中最常用的備份工具,此命令可以把一系列文件歸檔到一個(gè)大文件中,也可以把檔案文件解開以恢復(fù)數(shù)據(jù)。

      tar使用格式

      tar? [參數(shù)]? 打包文件名? 文件

      tar命令很特殊,其參數(shù)前面可以使用“-”,也可以不使用。

      常用參數(shù):

      參數(shù)

      含義

      -c

      生成檔案文件,創(chuàng)建打包文件

      -v

      列出歸檔解檔的詳細(xì)過程,顯示進(jìn)度

      -f

      指定檔案文件名稱,f后面一定是.tar文件,所以必須放選項(xiàng)最后

      -t

      列出檔案中包含的文件

      -x

      解開檔案文件

      注意:除了f需要放在參數(shù)的最后,其它參數(shù)的順序任意。

      20) 文件壓縮解壓:gzip

      tar與gzip命令結(jié)合使用實(shí)現(xiàn)文件打包、壓縮。

      tar只負(fù)責(zé)打包文件,但不壓縮,用gzip壓縮tar打包后的文件,其擴(kuò)展名一般用tar.gz。

      gzip使用格式如下:

      gzip? [選項(xiàng)]? 被壓縮文件

      常用選項(xiàng):

      選項(xiàng)

      含義

      -d

      解壓

      -r

      壓縮所有子目錄

      tar這個(gè)命令并沒有壓縮的功能,它只是一個(gè)打包的命令,但是在tar命令中增加一個(gè)選項(xiàng)(-z)可以調(diào)用gzip實(shí)現(xiàn)了一個(gè)壓縮的功能,實(shí)行一個(gè)先打包后壓縮的過程。

      壓縮用法:tar cvzf 壓縮包包名 文件1 文件2 ...

      -z

      指定壓縮包的格式為:file.tar.gz

      例如:tar zcvf test.tar.gz 1.c 2.c 3.c 4.c把 1.c 2.c 3.c 4.c 壓縮成 test.tar.gz

      解壓用法: tar zxvf 壓縮包包名

      參數(shù)

      含義

      -z

      指定壓縮包的格式為:file.tar.gz

      解壓到指定目錄:-C (大寫字母“C”)

      例子:tar -xvf new.tar.gz -C ./test/?將?new.tar.gz?解壓到當(dāng)前目錄下的 test 目錄下:

      21) 文件壓縮解壓:bzip2

      tar與bzip2命令結(jié)合使用實(shí)現(xiàn)文件打包、壓縮(用法和gzip一樣)。

      tar只負(fù)責(zé)打包文件,但不壓縮,用bzip2壓縮tar打包后的文件,其擴(kuò)展名一般用tar.bz2。

      在tar命令中增加一個(gè)選項(xiàng)(-j)可以調(diào)用bzip2實(shí)現(xiàn)了一個(gè)壓縮的功能,實(shí)行一個(gè)先打包后壓縮的過程。

      壓縮用法:tar cjvf 壓縮包包名 文件...(tar jcvf bk.tar.bz2 *.c)

      解壓用法:tar xjvf 壓縮包包名 (tar jxvf bk.tar.bz2)

      22) 文件壓縮解壓:zip、unzip

      通過zip壓縮文件的目標(biāo)文件不需要指定擴(kuò)展名,默認(rèn)擴(kuò)展名為zip。

      壓縮文件:zip [-r] 目標(biāo)文件(沒有擴(kuò)展名) 源文件

      解壓文件:unzip -d 解壓后目錄文件 壓縮文件

      23) 查看命令位置:which

      grep Linux

      版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。

      版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。

      上一篇:在excel中排名次的方法
      下一篇:怎么從多個(gè)表格中篩選出同樣的名字(怎么在表格內(nèi)篩選同樣的名字)
      相關(guān)文章
      亚洲VA中文字幕无码一二三区| 亚洲狠狠婷婷综合久久蜜芽| 亚洲Av高清一区二区三区| 亚洲国产成人99精品激情在线| 久久精品亚洲中文字幕无码网站 | 亚洲国产成人久久三区| 2022年亚洲午夜一区二区福利| 亚洲av网址在线观看| 亚洲国产精品乱码一区二区| 国产成人精品久久亚洲| 亚洲精品专区在线观看| 亚洲精品99久久久久中文字幕| 亚洲AV无码成H人在线观看| 国产亚洲美女精品久久久久| 亚洲精品无码久久久久APP| 亚洲av无码一区二区三区人妖| 亚洲1234区乱码| 亚洲国产精品热久久| 亚洲精品天天影视综合网| 亚洲伊人久久大香线蕉苏妲己| 久久亚洲精品中文字幕| 久久精品国产亚洲AV高清热| 亚洲最大的视频网站| 久久亚洲精品国产亚洲老地址| 亚洲色成人网站WWW永久四虎| 亚洲国产精品无码第一区二区三区| 亚洲精品精华液一区二区| 国产亚洲福利精品一区二区| 亚洲人成电影在线播放| 久久久久无码专区亚洲av| 亚洲三区在线观看无套内射| 亚洲Av永久无码精品三区在线| 亚洲成人在线电影| 亚洲熟妇av一区| 亚洲综合av一区二区三区| 国产成人亚洲综合a∨| 久久久久亚洲AV成人网人人网站| 久久99国产亚洲高清观看首页| 亚洲人成在线电影| 精品久久久久久亚洲精品| 最新亚洲人成网站在线观看|