1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        萬字詳解 Linux 常用指令(值得收藏)

        共 14117字,需瀏覽 29分鐘

         ·

        2022-07-05 09:28

        點(diǎn)擊上方[全棧開發(fā)者社區(qū)]右上角[...][設(shè)為星標(biāo)?

        點(diǎn)擊領(lǐng)取全棧資料全棧資料

        本文將給大家詳細(xì)介紹Linux常用的指令、演示以及一些基礎(chǔ)知識(shí)的講解

        目錄

        • ls指令
        • file指令
        • pwd命令
        • whoami指令
        • cd指令
          • 相對(duì)路徑和絕對(duì)路徑
        • which指令
        • touch指令
        • mkdir指令
        • 添加用戶信任關(guān)系
        • rmdir指令
        • rm指令
        • man指令
        • cp指令
        • mv指令
        • 編輯
        • cat指令
        • echo指令
        • 重定向
        • more指令
        • less指令
        • head 指令
        • tail指令
        • 管道操作
        • date指令
        • cal指令
        • find指令
        • grep指令
        • zip指令/unzip指令
        • tar指令
        • bc指令
        • uname 指令
        • shutdown指令
        • stat指令
        • Linux下的三個(gè)時(shí)間
        • touch指令補(bǔ)充
        • Linux中的熱鍵-
        • 指令一覽

        ls指令

        語法:ls [選項(xiàng)] [目錄]

        功能:ls有多個(gè)選項(xiàng),對(duì)于目錄,該命令列出該目錄下的所有子目錄與文件。對(duì)于文件,將列出文件名以及其他信息

        ls不帶選項(xiàng)默認(rèn)顯示當(dāng)前目錄下的文件

        選項(xiàng):

        -l   :以列表的形式列出文件詳細(xì)信息

        在Linux系統(tǒng)中,不以文件后綴區(qū)分文件類型,而是以第一個(gè)字符標(biāo)識(shí)文件類型,不管是文件后綴是.c還是.txt或是其他后綴,只有是以-開頭的就是普通文件

        • d:目錄文件,簡(jiǎn)單來說就是文件夾,我們可以在該目錄文件下新建文件
        • -:普通文件,分為文本文件、動(dòng)靜態(tài)庫、可執(zhí)行程序等
        • l:軟鏈接(類似Windows的快捷方式)
        • b:塊設(shè)備文件(例如硬盤、光驅(qū)等)
        • p:管道文件
        • c:字符設(shè)備文件(例如屏幕等串口設(shè)備)-
        • s:套接口文件

        我們今天重點(diǎn)在前面的兩類文件

        單普通文件就可以分很多種,為了兼容windows同時(shí)便于我們大多數(shù)linux的用戶區(qū)分文件的不同,我們還是習(xí)慣通過后綴來表示不同文件的類型。但有的文件必須加后綴,例如用c語言寫的.c文件,需要特殊處理,以后綴區(qū)分類型

        • -a:顯示目錄下的所有文件包括隱藏文件,以點(diǎn)開頭的表示隱藏文件,其中一個(gè)點(diǎn)表示當(dāng)前路徑,兩個(gè)點(diǎn)表示上一級(jí)路徑,我們將在下面的cd指令中講解和..
        • -d :將目錄像文件一樣顯示,而不顯示目錄下的文件,這里的點(diǎn),就表示當(dāng)前路徑
        • -R:列出所有子目錄下的文件(以遞歸的方式) ,目錄下的所有文件都會(huì)列出來
        • -n  :用數(shù)字的 UID,GID 代替名稱

        還有一些其他的選項(xiàng)就不演示了,大家下去可以嘗試一下

        • -1 一行只輸出一個(gè)文件
        • -r 對(duì)目錄反向排序
        • -k 以 k 字節(jié)的形式表示文件的大小。ls –alk 指定文件
        • -i 輸出文件的 i 節(jié)點(diǎn)的索引信息。如 ls –ai 指定文件-
        • -t 以時(shí)間排序

        file指令

        功能:查看文件類型

        語法:file [文件]

        [king@VM-12-11-centos ~]$ file cat.txt
        cat.txt: UTF-8 Unicode text             #類型是文本文件
        [king@VM-12-11-centos ~]$ file ret      #類型是目錄文件
        ret: directory

        pwd命令

        語法:pwd

        功能:顯示當(dāng)前路徑

        whoami指令

        功能:顯示當(dāng)前用戶

        兩種寫法

        cd指令

        功能:切換路徑

        用法:cd [想要切換的路徑]

        Linux是以多叉樹的結(jié)構(gòu)管理文件的,磁盤上的文件和目錄被組成一棵目錄樹,每個(gè)節(jié)點(diǎn)都是目錄或文件。根目錄:/

        相對(duì)路徑和絕對(duì)路徑

        當(dāng)我們需要找一個(gè)文件時(shí),就必須知道文件所在路徑和文件名,例如尋找text.c文件,因?yàn)槊恳粋€(gè)節(jié)點(diǎn)只有一個(gè)父親節(jié)點(diǎn),從根目錄出發(fā)到text.c文件的路徑是唯一的。完整的描述文件位置的路徑就是絕對(duì)路徑,絕對(duì)路徑能唯一標(biāo)識(shí)一個(gè)文件,上面的pwd指令顯示的就是絕對(duì)路徑

        而相對(duì)路徑是:自己相對(duì)于目標(biāo)位置而言的路徑,不具有唯一性,我們可以從不同的位置找到文件

        • 絕對(duì)路徑:從跟目錄出發(fā)到到指定文件的路徑,能唯一標(biāo)識(shí)一個(gè)文件

        • 相對(duì)路徑:從某個(gè)文件出發(fā)到指定文件的路徑,不能唯一標(biāo)識(shí)一個(gè)文件

        cd命令就可以通過相對(duì)路徑和絕對(duì)路徑的方式進(jìn)行路徑切換

        可以通過絕對(duì)路徑切換到指定目錄

        也可以通過相對(duì)路徑切換,點(diǎn)點(diǎn)表示上一級(jí)路徑,cd ..切換到上一級(jí)目錄,cd ../../ 切換到上上級(jí)路徑

        [king@VM-12-11-centos Linuxclass]$ pwd
        /home/king/Linuxclass
        [king@VM-12-11-centos Linuxclass]$ cd classcode
        [king@VM-12-11-centos classcode]$ ls
        a.out  ret.txt  test  test.c
        [king@VM-12-11-centos classcode]$ cd test
        [king@VM-12-11-centos test]$ cd ../../p1        #切換到上上級(jí)目錄的p1路徑下
        [king@VM-12-11-centos p1]$ pwd
        /home/king/Linuxclass/p1

        有的小伙伴可能就有疑問了,cd ..可以切換到上一級(jí)路徑,那么cd .有什么用呢?我們本來就在當(dāng)前目錄下,不需要切換啊。

        這里我們用vim編寫一個(gè)hello Linux的代碼,通過gcc編譯,生成a.out的可執(zhí)行程序,而我們要運(yùn)行可執(zhí)行程序就需要路徑和文件名,用點(diǎn)就可以表示它的路徑了,相比于下面用絕對(duì)路徑方便很多

        cd還有兩個(gè)選項(xiàng)

        [king@VM-12-11-centos Linuxclass]$ pwd
        /home/king/Linuxclass
        [king@VM-12-11-centos Linuxclass]$ cd ~    #cd ~進(jìn)入工作目錄,就是用戶的路徑下
        [king@VM-12-11-centos ~]$ pwd
        /home/king
        [king@VM-12-11-centos ~]$ cd -             #cd -返回最近一次訪問的路徑
        /home/king/Linuxclass

        which指令

        語法:which [指令]

        功能:查看指令的系統(tǒng)路徑和相關(guān)信息

        [king@VM-12-11-centos Linuxclass]$ which ls
        alias ls='ls --color=auto'                     #alias:給指令取別名
         /usr/bin/ls                                #我們的指令都是系統(tǒng)簡(jiǎn)化過的
        [king@VM-12-11-centos Linuxclass]$ which ll        
        alias ll='ls -l --color=auto'                  #ll可以代替ls -l
         /usr/bin/ls                                     
        [king@VM-12-11-centos Linuxclass]$ which cd    #同時(shí)我們發(fā)現(xiàn)指令都是在bin目錄下的
        /usr/bin/cd

        指令本質(zhì)上就是程序,Linux中,指令、命令、工具都是可執(zhí)行程序 ,都存放在普通文件中,linux下一切皆文件,我們的指令都在bin目錄下

        touch指令

        功能:新建文件,更改文檔或目錄的日期,包括存取時(shí)間和更改時(shí)間,我們先了解新建文件,關(guān)于更改目錄日期我們?cè)谖恼碌淖詈蠼榻B

        需要注意的是touch創(chuàng)建的是普通文件,不是目錄文件,所以不能cd進(jìn)入

        [king@VM-12-11-centos test]$ touch file1 file2 file3   #touch可以連續(xù)創(chuàng)建多個(gè)文件
        [king@VM-12-11-centos test]$ touch file4               #創(chuàng)建單個(gè)文件
        [king@VM-12-11-centos test]$ ls
        file1  file2  file3  file4

        mkdir指令

        功能:新建目錄文件

        mkdir也可以同時(shí)創(chuàng)建多個(gè)目錄文件,cd可以進(jìn)入,但是不能在一個(gè)目錄文件下再創(chuàng)建多個(gè)子目錄,這里就顯示無法創(chuàng)建

        選項(xiàng)-p:遞歸建立多個(gè)子目錄

        添加用戶信任關(guān)系

        這里的tree指令是以樹狀顯示文件,需要用yum下載

        yum intsall -y tree

        如果我們是普通用戶,需要在前面加sudo, sudo可以短暫提升權(quán)限,以root的身份執(zhí)行相應(yīng)指令

        單獨(dú)su表示切換為root用戶,需要輸入root用戶的密碼

        [ret@VM-12-11-centos ~]$ su
        Password:                            #輸入root用戶密碼
        [root@VM-12-11-centos ret]# whoami   #切換為root用戶
        root
        [root@VM-12-11-centos ret]# su ret  #root用戶可以直接切換成指定用戶,不需要輸入用戶密碼
        [ret@VM-12-11-centos ~]$ whoami     #現(xiàn)在我們就切換到用戶ret了
        ret

        如果我們sudo yum install -y tree顯示類似如下的指令,表示當(dāng)前用戶沒有添加信任關(guān)系

        需要以root的身份幫用戶添加信任關(guān)系,我們將身份切換為root用戶,執(zhí)行如下指令即可添加信任關(guān)系,之后我們就可以sudo 了

        echo 'xxx ALL=(ALL) ALL' >> /etc/sudoers  (其中xxx代表用戶名) 

        rmdir指令

        功能:刪除空目錄 ,也就是不存放其他文件的目錄

        這里p1不為空,所以無法刪除,如要借助rm指令

        rm指令

        我們刪除文件一般都用rm指令,rmdir有點(diǎn)雞肋

        功能:刪除目錄或文件

        選項(xiàng):

        • -f:強(qiáng)制刪除
        • -r:刪除目錄及目錄下的所有文件,以遞歸的方式。

        刪除目錄要帶r選項(xiàng),此時(shí)我們的p1/p2/p3就刪除了

        如果我們想刪除目錄中的所以文件而不想刪除目錄,直接加通配符*

        切記別把根目錄給刪除

        rm -rf /    #切記不要使用,遞歸強(qiáng)制刪除根目錄,可能會(huì)把系統(tǒng)干崩

        man指令

        linux中有很多的指令,如果我們不記得某個(gè)指令的使用,可以man一下,問問那個(gè)男人

        選項(xiàng):

        1 是普通的命令

        2 是系統(tǒng)調(diào)用,如open,write之類的(通過這個(gè),至少可以很方便的查到調(diào)用這個(gè)函數(shù),需要加什么頭文 件)

        3 是庫函數(shù),如printf,fread4是特殊文件,也就是/dev下的各種設(shè)備文件

        5 是指文件的格式,比如passwd, 就會(huì)說明這個(gè)文件中各個(gè)字段的含義

        6 是給游戲留的,由各個(gè)游戲自己定義

        7 是附件還有一些變量,比如向environ這種全局變量在這里就有說明

        8 是系統(tǒng)管理用的命令,這些命令只能由root使用,如ifconfig

        9 內(nèi)核例程

        我們目前先了解 1 和 3

        同樣man需要我們下載 ,普通用戶加sudo

        yum install -y man-pages

        man不加選項(xiàng),默認(rèn)解釋指令

        [king@VM-12-11-centos file11]$ man ls  

        q退出當(dāng)前界面

        [king@VM-12-11-centos file11]$ man 3 printf   #我們可以查看printf庫函數(shù)

        cp指令

        語法:cp [選項(xiàng)] [源文件] [目標(biāo)文件] [指定目錄]

        功能:復(fù)制文件或目錄

        常用選項(xiàng):

        • -f     強(qiáng)行復(fù)制文件或目錄, 不論目的文件或目錄是否已經(jīng)存在

        • -r    遞歸處理,將指定目錄下的文件與子目錄一并處理。

        我們復(fù)制文件file11,同時(shí)命名為file

        默認(rèn)復(fù)制到當(dāng)前目錄下,也可以最后指定目錄

        mv指令

        功能:移動(dòng)文件或重命名文件

        用法:mv [選項(xiàng)] [源文件] [目標(biāo)文件]

        選項(xiàng):

        • -f :force 強(qiáng)制的意思,如果目標(biāo)文件已經(jīng)存在,不會(huì)詢問而直接覆蓋

        • -i :若目標(biāo)文件 (destination) 已經(jīng)存在時(shí),就會(huì)詢問是否覆蓋!

        這里我們將文件file11移動(dòng)到file目錄下

        如果mv后面跟的不是文件,而是文件名,就會(huì)將文件重命名

        例如將文件file11重命名為change

        cat指令

        功能:查看文件內(nèi)容

        語法:cat [選項(xiàng)] [文件]

        選項(xiàng):

        • -b :對(duì)非空輸出行編號(hào)

        • -n :對(duì)輸出的所有行編號(hào)

        • -s :不輸出多行空行

        echo指令

        功能:將字符串顯示到標(biāo)準(zhǔn)輸出,也就是屏幕上,echo默認(rèn)換行

        重定向

        那我們可以將字符串寫入文件中嗎?

        答案是可以的,通過重定向,字符串后面加 > 符號(hào)和文件名,就可以將本該顯示到標(biāo)準(zhǔn)輸出的字符串,寫入文件中,如果文件不存在,就會(huì)自動(dòng)創(chuàng)建文件,這就是輸出重定向

        將本該顯示到屏幕上的字符串寫入目標(biāo)文件中,同時(shí)輸出重定向會(huì)清空文件原始內(nèi)容再重新寫入

        在此寫入時(shí),之前的hello Linux已近被清空了

        想要保留之前的內(nèi)容并寫入就需要追加重定向 > 符號(hào)變成 >> 符號(hào)

        cat指令后面不加文件,默認(rèn)從鍵盤中讀取內(nèi)容并回顯到顯示器上,也就是屏幕上

        之前cat顯示文件內(nèi)容就是通過輸入重定向顯示的

        [king@VM-12-11-centos ~]$ cat < file   #這個(gè) < 符號(hào)可以省略
        AAAAAAA
        BBBBBBB
        CCCCCCC

        more指令

        功能:和cat類似,一般用于查看日志,內(nèi)容比較長(zhǎng)的文件

        選項(xiàng):

        • -n :對(duì)行編號(hào)

        • q :退出more

        比如這里我寫一個(gè)內(nèi)容從0-1000行的文件

        count=0; while [ $count -le 1000 ]; do echo "hello ${count}"let count++; done > cat.txt

        1more會(huì)先顯示一部分內(nèi)容,按回車就可以繼續(xù)讀取內(nèi)容,按q退出,但more有一個(gè)弊端,只能往下翻,不能往上翻,所以我們一般不用more指令

        less指令

        功能:查看文件內(nèi)容,less用法比more更具有彈性,可以使用 [pageup][pagedown] (前后按鍵)等按鍵的功能來往前往后翻看文件,而且less在查看之前不會(huì)加載整個(gè)文件。

        選項(xiàng):

        • -i   :忽略大小寫

        • -N :顯示行號(hào)

        • /字符串:向上搜索字符串的內(nèi)容

        • ?字符串:向下搜索字符串的內(nèi)容

        • n :重復(fù)前一個(gè)搜索(與/ 或?有關(guān))

        • N:返向重復(fù)前一個(gè)搜索(與/ 或?有關(guān))

        • q:退出less

        [king@VM-12-11-centos ~]$ less cat.txt

        我們輸入 /3向上搜索字符3,less就會(huì)幫我們標(biāo)記字符3的內(nèi)容

        還有其它選項(xiàng)大家可以直接嘗試,這里就不在演示了,我們q退出less界面

        head 指令

        功能:顯示文件內(nèi)容的開頭到標(biāo)準(zhǔn)輸出,也就是屏幕上,head不加參數(shù)默認(rèn)顯示前10行

        選項(xiàng):

        -n<行數(shù)>

        [king@VM-12-11-centos ~]$ head cat.txt    #默認(rèn)輸出前10行
        hello 0
        hello 1
        hello 2
        hello 3
        hello 4
        hello 5
        hello 6
        hello 7
        hello 8
        hello 9
        [king@VM-12-11-centos ~]$ head -n5 cat.txt   #指定輸出前5行
        hello 0
        hello 1
        hello 2
        hello 3
        hello 4
        [king@VM-12-11-centos ~]$ head -5 cat.txt    # n可以省略
        hello 0
        hello 1
        hello 2
        hello 3
        hello 4

        tail指令

        功能:用于顯示指定文件末尾內(nèi)容,我們一般查看日志時(shí)肯定是查看最新的內(nèi)容,也就是從尾部開始查看,tail就能很好的幫助我們查看最近的內(nèi)容

        選項(xiàng):

        • -f :循環(huán)讀取

        • -n<行號(hào)> :顯示行數(shù)

        tail - f filename會(huì)把filename里最尾部的內(nèi)容顯示在屏幕上,并且不但刷新,使你看到最新的文件內(nèi)容,非常適合查看日志

        [king@VM-12-11-centos ~]$ tail cat.txt   #tail不加行號(hào)默認(rèn)顯示尾10行
        hello 991
        hello 992
        hello 993
        hello 994
        hello 995
        hello 996
        hello 997
        hello 998
        hello 999
        hello 1000
        [king@VM-12-11-centos ~]$ tail -n5 cat.txt  #指定顯示尾5行
        hello 996
        hello 997
        hello 998
        hello 999
        hello 1000
        [king@VM-12-11-centos ~]$ tail -5 cat.txt   #n可以省略
        hello 996
        hello 997
        hello 998
        hello 999
        hello 1000

        那我們可以顯示文件的頭和尾,如果要顯示文件中間的內(nèi)容怎么辦呢?

        比如我們要顯示第100行到110行,有兩種方法:

        通過重定向?qū)⑶?10行寫入一個(gè)tmp臨時(shí)文件,然后在讀取尾10行,不過這種方法需要重新創(chuàng)建文件,不進(jìn)浪費(fèi)空間效率也低

        答案是有的,第二種方法借助管道操作

        管道操作

        使用管道時(shí),默認(rèn)隱式發(fā)生了重定向

        # 符號(hào) | 表示管道,通過管道將執(zhí)行的結(jié)果傳給下一條指令
        [king@VM-12-11-centos ~]$ head -110 cat.txt | tail -10 
        hello 100
        hello 101
        hello 102
        hello 103
        hello 104
        hello 105
        hello 106
        hello 107
        hello 108
        hello 109

        date指令

        格式

        • %H : 小時(shí)(00..23)
        • %M : 分鐘(00..59)
        • %S : 秒(00..61)
        • %X : 相當(dāng)于 %H:%M:%S
        • %d : 日 (01..31)
        • %m : 月份 (01..12)
        • %Y : 完整年份 (0000..9999)
        • %F : 相當(dāng)于 %Y-%m-%d
        [king@VM-12-11-centos ~]$ date                 #date默認(rèn)顯示
        Fri Jan 28 16:55:54 CST 2022
        [king@VM-12-11-centos ~]$ date +%s             #date +%s顯示時(shí)間戳
        1643360162
        [king@VM-12-11-centos ~]$ date +%F%X           #按年月日 時(shí)分秒的格式顯示當(dāng)前時(shí)間
        2022-01-2804:56:08 PM
        [king@VM-12-11-centos ~]$ date +%F%X@1643360162  # @時(shí)間戳,將時(shí)間戳轉(zhuǎn)換成標(biāo)準(zhǔn)時(shí)間
        2022-01-2804:56:27 PM@1643360162

        我們可以加_以示區(qū)分,但不能是空格,這種寫法是錯(cuò)誤的

        cal指令

        功能:查看日歷

        選項(xiàng):

        • -3 顯示系統(tǒng)前一個(gè)月,當(dāng)前月,下一個(gè)月的月歷

        • -y  顯示當(dāng)前年份的年歷

        • cal默認(rèn)顯示當(dāng)前月的月歷

        [king@VM-12-11-centos ~]$ cal -y 2021  #也可以指定年份顯示2021的年歷

        find指令

        功能:在文件數(shù)中查找文件,并做出相應(yīng)的處理(可能會(huì)訪問磁盤),find指令會(huì)幫我們?cè)诋?dāng)前目錄以及所有該目錄的所以子目錄下查找相應(yīng)的文件,當(dāng)我們遍歷一個(gè)大的文件系統(tǒng)時(shí),可能會(huì)花費(fèi)一點(diǎn)時(shí)間,然后顯示相應(yīng)的文件信息,但當(dāng)我們下一次再用find查找時(shí),就會(huì)快很多

        find的選項(xiàng)非常多,這里列舉一個(gè),想了解更多可以man find

        選項(xiàng):-name  :按照文件名查找

        我們?cè)诟夸浵虏檎椅募麨閠ext的文件,不過這里很多都是permission denied,因?yàn)槠胀ㄓ脩舻臋?quán)限不夠,有很多文件都不能讀取

        我們?cè)谧约旱哪夸浵虏檎椅募麨閒ile的文件,就會(huì)把該目錄下的所以子文件名為file的顯示出來

        指定目錄

        語法:find [起始目錄位置] [-name][filename]

        grep指令

        功能:文本行過濾,搜索字符串

        常用選項(xiàng):

        • -i:忽略大小寫,大小寫視為相同

        • -n:輸出行號(hào)

        • -v:反向選擇

        還是拿那個(gè)文件內(nèi)容為0-1000行的文件cat.txt舉例

        我們?cè)陲@示文件內(nèi)容時(shí),將帶'90'的字符都顯示出來

        我們利用輸出重定向再往文件內(nèi)寫入兩行,-i忽略大小寫,就可以將這兩行都搜索出來

        同時(shí)grep指令也支持正則表達(dá)式,可以搜索 任意我們想要搜索的字符,大家下去可以自行嘗試

        我們先追加兩行到cat.txt中,用正則表達(dá)式就可以將這兩行搜索出來

        [king@VM-12-11-centos ~]$ echo "he9999" >> cat.txt
        [king@VM-12-11-centos ~]$ echo "he9290" >> cat.txt
        [king@VM-12-11-centos ~]$ cat cat.txt | grep 'he[0-9]*$'   
        he9290
        he9999

        zip指令/unzip指令

        zip語法:zip [壓縮后的文件名.zip] [目標(biāo)文件]

        功能:將文件壓縮成.zip格式

        常用選項(xiàng):

        • -r :將指定目錄下的所有文件和子目錄一并處理,按遞歸方式

        • unzip 語法 :unzip [壓縮文件.zip]

        • -d:壓縮到指定路徑下

        如果我們不加-r選項(xiàng),直接壓縮文件

        我們以壓縮test文件為例,其中test還有3個(gè)子目錄file,file22和file33,壓縮后的file.zip大小只有160

        解壓后發(fā)現(xiàn)test文件是個(gè)空目錄,沒幫我們將所以文件都?jí)嚎s過來

        所以我們需要帶上選項(xiàng)-r,解壓后我們發(fā)現(xiàn)cur.zip的大小為774,明顯大于之前的160

        加選項(xiàng)-d,將cur.zip解壓到指定路徑ret文件中

        tar指令

        zip/unzip類似,不過解壓后的文件后綴為.tgz

        功能:完成打包,壓縮,解壓

        選項(xiàng):

        • -c :建立一個(gè)壓縮文件的參數(shù)指令(create 的意思)
        • -x :解開一個(gè)壓縮文件的參數(shù)指令
        • -t :查看 tarfile 里面的文件!
        • -z :是否同時(shí)具有 gzip 的屬性?亦即是否需要用 gzip 壓縮?
        • -j :是否同時(shí)具有 bzip2 的屬性?亦即是否需要用 bzip2 壓縮?
        • -v :壓縮的過程中顯示文件!這個(gè)常用,但不建議用在背景執(zhí)行過程!
        • -f :使用檔名,請(qǐng)留意,在 f 之后要立即接檔名喔!不要再加參數(shù)!
        • -C :解壓到指定目錄

        通常將-czf-xzf配合使用,用來壓縮和解壓 ,這里我們同樣將壓縮后的文件cur.tgz移動(dòng)到test目錄下進(jìn)行解壓

        這里我們將壓縮后的文件cur.tgz通過-C選項(xiàng)指定路徑,將文件解壓到ret目錄中

        前面的操作都是解壓和壓縮,而打包是將需要壓縮的所以文件都打包在一起,可以理解將文件都整理起來,文件的大小沒有發(fā)生變化

        bc指令

        功能:可以理解為計(jì)算器

        直接將計(jì)算結(jié)果顯示到屏幕上,Ctrl+c退出

        uname 指令

        功能:獲取電腦和操作系統(tǒng)相關(guān)信息

        選項(xiàng):

        • -a :輸出詳細(xì)信息,依次為內(nèi)核名稱,主機(jī)名,內(nèi)核版本號(hào),內(nèi)核版本,硬件名,處理器類 型,硬件平臺(tái)類型,操作系統(tǒng)名稱

        • -r :輸出內(nèi)核版本號(hào)

        uname默認(rèn)輸出內(nèi)核名稱,hostname默認(rèn)輸出主機(jī)名,實(shí)際上我們只需要-a選項(xiàng)就夠了

        內(nèi)核版本號(hào):3表示主版本號(hào),10表示副版本號(hào),其中副版本號(hào)為偶數(shù):穩(wěn)定版內(nèi)核 為奇數(shù):測(cè)試版內(nèi)核,我們服務(wù)器的使用的內(nèi)核版本一般都不是最新的,而是一些已經(jīng)使用過多年的經(jīng)典版本,對(duì)全新的版本,需要經(jīng)過歲月的考驗(yàn),證明內(nèi)核是穩(wěn)定,安全,高效的才可能使用

        shutdown指令

        選項(xiàng):

        • -h:將系統(tǒng)的服務(wù)停掉后立即關(guān)機(jī)

        • -r:將系統(tǒng)服務(wù)停掉后重新啟動(dòng)

        - -t second:-t [秒數(shù)],即過幾秒后關(guān)機(jī)

        對(duì)于服務(wù)器呢我們就不需要關(guān)機(jī)了

        這里我們補(bǔ)充touch指令的更改時(shí)間

        在介紹touch修改文件時(shí)間前我們先介紹一個(gè)指令

        stat指令

        功能:查看文件詳細(xì)信息

        用法 :stat [文件]

        stat查看test文件詳細(xì)信息

        文件的相關(guān)信息:

        • File:顯示文件名
        • Size:顯示文件大小
        • Blocks:文件使用的數(shù)據(jù)塊總數(shù)
        • IO Block:IO塊大小
        • regular file:文件類型(常規(guī)文件)
        • Device:設(shè)備編號(hào)
        • Inode:Inode號(hào)
        • Links:鏈接數(shù)
        • Access:文件的權(quán)限
        • Gid、Uid:文件所有權(quán)的Gid和Uid

        Linux下的三個(gè)時(shí)間

        1. Access Time:簡(jiǎn)寫為atime,表示文件最近一次被訪問時(shí)間。
        2. Modify Time:簡(jiǎn)寫為mtime,表示文件內(nèi)容最近一次被修改時(shí)間
        3. Change Time:簡(jiǎn)寫為ctime,表示文件屬性最近一次被修改的時(shí)間

        atime:當(dāng)我們過一段時(shí)間cat查看文件后,stat再次查看就會(huì)發(fā)先atime時(shí)間發(fā)生變化,當(dāng)然對(duì)于2.6之后的內(nèi)核,對(duì)atime的刷新時(shí)間重設(shè)了規(guī)則,atime不會(huì)立即被更新,而是一定時(shí)間間隔后OS才會(huì)自動(dòng)更新時(shí)間。因?yàn)橄啾扰c修改文件內(nèi)容和屬性,查看文件是最高頻的,如果頻繁刷新atime會(huì)導(dǎo)致效率降低

        對(duì)mtime:我們寫入hell后,它的三個(gè)時(shí)間都發(fā)生變化,mtime的改變不一定會(huì)影響atime,但是ctime可能會(huì)隨之改變,因?yàn)樾薷奈募?nèi)容時(shí),有可能會(huì)修改文件的屬性,比如寫入數(shù)據(jù)時(shí)文件的大小屬性會(huì)被修改

        ctime:更改文件屬性的最近時(shí)間,這一行表示的就是文件屬性

        chgmod指令可以更改文件的訪問權(quán)限,也就更改了文件屬性。

        touch指令補(bǔ)充

        選項(xiàng):

        • -a    改變atime和ctime
        • -c   或--no-create  不建立任何文檔。
        • -d  使用指定的日期時(shí)間,而非現(xiàn)在的時(shí)間,改變atime和mtime
        • -f  此參數(shù)將忽略不予處理,僅負(fù)責(zé)解決BSD版本touch指令的兼容性問題。
        • -m    改變ctime和mtime
        • -r  把指定文檔或目錄的日期時(shí)間,統(tǒng)統(tǒng)設(shè)成和參考文檔或目錄的日期時(shí)間相同。
        • -t  使用指定的日期時(shí)間,而非現(xiàn)在的時(shí)間

        常用的就是-d,-a -m,而touch指令默認(rèn)修改所有時(shí)間,這里的touch是對(duì)已經(jīng)創(chuàng)建的文件操作

        Linux中的熱鍵

        [Tab] :命令補(bǔ)全,按一次或兩次,會(huì)將以wh開頭的指令顯示到屏幕上

        [c]:終止當(dāng)前程序,比如屏幕上一直輸出字符,寫了一個(gè)死循環(huán)代碼,就可以Ctrl +c終止

        [Ctrl d]:代替exit切換身份,多次Ctrl d直接退出

        [Ctrl r] :根據(jù)關(guān)鍵字查找歷史命令。我們輸入r,自動(dòng)轉(zhuǎn)換換成歷史命令

        [page up page down]:上和下,可以翻看歷史命令,我們可以直接翻最近輸入過的指令,非常方便

        指令一覽

        • 安裝和登錄命令:login、shutdown、halt、reboot、install、mount、umount、chsh、exit、last

        • 文件處理命令:file、mkdir、grep、dd、find、mv、ls、diff、cat、ln

        • 系統(tǒng)管理相關(guān)命令:df、top、free、quota、at、lp、adduser、groupadd、kill、crontab

        • 網(wǎng)絡(luò)操作命令:ifconfig、ip、ping、netstat、telnet、ftp、route、rlogin、rcp、finger、mail、 nslookup

        • 系統(tǒng)安全相關(guān)命令:passwd、su、umask、chgrp、chmod、chown、chattr、sudo ps、who

        • 其它命令:tar、unzip、gunzip、unarj、mtools、man、unendcode、uudecode

        覺得本文對(duì)你有幫助?請(qǐng)分享給更多人

        關(guān)注「全棧開發(fā)者社區(qū)」加星標(biāo),提升全棧技能

        本公眾號(hào)會(huì)不定期給大家發(fā)福利,包括送書、學(xué)習(xí)資源等,敬請(qǐng)期待吧!

        如果感覺推送內(nèi)容不錯(cuò),不妨右下角點(diǎn)個(gè)在看轉(zhuǎn)發(fā)朋友圈或收藏,感謝支持。

        好文章,留言、點(diǎn)贊、在看和分享一條龍


        瀏覽 36
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        評(píng)論
        圖片
        表情
        推薦
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            精品国产黄a∨片高清在线 | 国产精品高清在线观看 | 国产成人在线电影 | 国产精品爽爽久久久久久鸭绿欲 | 狂操骚逼 | 美女逼逼图| 天天干天天操天天射黄色电影 | 久久精品三级 | 做爱的视频网站 | www成年人视频 |