Linux中對目錄和文件管理所使用的命令(操做部分,可全程跟作!)

咱們繼續接着上篇和你們說說Linux中對目錄和文件管理所使用的命令的操做:
此處須要用到的軟件有安裝好CentOS 7的VMware虛擬機和已經鏈接過CentOS 7的Xshell遠程控制終端。
咱們打開VMware中的CentOS 7登陸到root帳戶,咱們打開終端以後先安裝一下httpd的服務,由於這次實驗中咱們須要用到其中的配置文件,具體命令以下:yum install httpd
Linux中對目錄和文件管理所使用的命令(操做部分,可全程跟作!)
中途須要輸入兩次y並敲回車確認安裝,最終完成後以下圖:
Linux中對目錄和文件管理所使用的命令(操做部分,可全程跟作!)
此時咱們須要以下命令啓動此服務:systemctl start httpd,再輸入ifconfig查看IP,爲了可以訪問咱們創建的服務,還須要輸入命令關閉防火牆:systemctl stop firewalld.service
再輸入setenforce 0,操做過程以下:
Linux中對目錄和文件管理所使用的命令(操做部分,可全程跟作!)
這個時候咱們把獲得的地址192.168.195.136,輸入到咱們的瀏覽器中,進入界面以後就會獲得咱們用CentOS 7搭建的Apache的網站
Linux中對目錄和文件管理所使用的命令(操做部分,可全程跟作!)
這個時候若是咱們想查看它其中的配置文件須要回到命令界面輸入:vim /etc/httpd/conf/httpd.conf(進入到的是配置文件目錄下的配置文件)
Linux中對目錄和文件管理所使用的命令(操做部分,可全程跟作!)shell

  • 此時咱們敲回車進入此文件以後發現裏面的內容有不少,此處一共有353行,一個屏幕沒法同時承載這麼多行,此時若是咱們使用:cat /etc/httpd/conf/httpd.conf這條查看命令,此時咱們只能看到尾部的內容,由於此時咱們處在圖形化界面的終端,因此能夠友好的讓咱們使用鼠標的滾輪能夠上下滾動界面查看內容
  • 可是現實環境中咱們有可能不會趕上這種圖形化界面的環境,而是init 3的字符界面終端,此時咱們輸入帳戶:root,密碼:123123,在輸:cat /etc/httpd/conf/httpd.conf進入到剛剛咱們看到的配置文件中,此時咱們是沒法使用鼠標的滾輪實現上下翻頁的功能的:
    Linux中對目錄和文件管理所使用的命令(操做部分,可全程跟作!)
    Linux中對目錄和文件管理所使用的命令(操做部分,可全程跟作!)
  • 此時若是讀取的文件中內容過多,不能同時承載太多行,字符界面終端進行處理時,只能看到末尾的內容,這時咱們就可使用到more這條命令來進行處理了。
    輸入:more /etc/httpd/conf/httpd.conf,這時進入的是一種閱覽的模式,它會從頭開始顯示,而後在行末顯示出此段位於文章篇幅的%多少的位置:
    Linux中對目錄和文件管理所使用的命令(操做部分,可全程跟作!)
    接下來咱們還能夠以下操做:
  • 按回車逐行翻滾動
  • 按空格向下翻一屏(隨着頁數的翻動篇幅位置的百分比也會跟着變化
  • 按b向上翻頁
    咱們一直空格翻頁到94%的位置,再次按空格,原本應該下面還有一頁的,可是此時自動退出了, 獲得以下界面:
    Linux中對目錄和文件管理所使用的命令(操做部分,可全程跟作!)
    因此這條命令的問題就在於:咱們不知道哪一頁是最後一頁,只要一不當心點快了就會自動退出了,還要重頭再來,沒法再回看,此時咱們就能夠用less這條命令來進行處理。
    輸入:less /etc/httpd/conf/httpd.conf,此時進入的就是開頭的界面。
    Linux中對目錄和文件管理所使用的命令(操做部分,可全程跟作!)
    接下來咱們還能夠以下操做:
  • 按page up和page down上下翻頁
  • 按b上頁
  • 按空格下一頁
  • 按/能夠查找,例如:server,它會把全部帶這個單詞的都給列出來
  • 按n會針對查找到的詞進行逐個向下匹配
  • 按N會針對查找到的詞進行逐個向上匹配
  • 按空格(一直按),到最末頁他不會直接退出,會在末行顯示END提示結束,此時咱們按b是能夠進行回看的
  • 按q退出此模式

接下來的headtail命令是按行進行查詢的,通常咱們在須要查看帳戶帳號信息的時候須要用到,接下來咱們進行試驗(提早將Xshell與centos 7鏈接好),進入Xshell的界面:
查詢帳戶文件的話輸入:vim /etc/passwd,獲得以下圖:
Linux中對目錄和文件管理所使用的命令(操做部分,可全程跟作!)
若是咱們看前10行,輸入:head /etc/passwd:
Linux中對目錄和文件管理所使用的命令(操做部分,可全程跟作!)
若是咱們只看前三行,輸入:head -3 /etc/passwd:
Linux中對目錄和文件管理所使用的命令(操做部分,可全程跟作!)
若是咱們只看尾十行,輸入:tail /etc/passwd:
Linux中對目錄和文件管理所使用的命令(操做部分,可全程跟作!)
接下來咱們進行統計命令(wc)的操做:
輸入:wc /etc/httpd/conf/httpd.conf:
Linux中對目錄和文件管理所使用的命令(操做部分,可全程跟作!)
其中:353表明行、1801表明單詞數、 11753表明字節數
若是想分別統計格式以下:
Linux中對目錄和文件管理所使用的命令(操做部分,可全程跟作!)
接下來咱們進行檢索和過濾命令(grep)的操做:
輸入cd /etc/httpd/conf/進入相對應目錄找到配置文件,再輸入vim httpd.conf敲回車,這時會發現其中有#號爲開頭的是註釋,是描述信息,不起任何做用;不帶#的就是功能,若是咱們在功能前面加上#,那麼功能就會失效
此時咱們只看文件中有#號的行,輸入:grep 「#」 httpd.conf,敲回車獲得全部#號的行:
Linux中對目錄和文件管理所使用的命令(操做部分,可全程跟作!)
若是咱們在字符終端中這樣輸入會是什麼結果,輸入:grep 「#」 /etc/httpd/conf/httpd.conf,敲回車此時只能看到末尾的看不徹底,以下圖:
Linux中對目錄和文件管理所使用的命令(操做部分,可全程跟作!)
這種狀態下咱們應該怎麼辦?
1.咱們輸入:grep 「#」 /etc/httpd/conf/httpd.conf > /opt/httpd01.txt(其中>爲重定向符號),此時信息導出生成到opt文件夾當中,而且起名叫httpd01.txt
2.再輸入:cd /opt/進入此目錄
3.再輸入ls查看詳細信息,此時顯示有生成的httpd01.txt的文件在此文件夾下
4.再輸入:vim httpd01.txt進入查看下,這時咱們可以看到全部帶#號的行就被所有導入到其中了,具體操做和結果以下圖:
Linux中對目錄和文件管理所使用的命令(操做部分,可全程跟作!)
Linux中對目錄和文件管理所使用的命令(操做部分,可全程跟作!)
咱們還能夠進行反向過濾(此時過濾的就是全部不帶#號的行):
輸入:grep -v 「#」 /etc/httpd/conf/httpd.conf > /opt/httpd01.txt(此處咱們將過濾的信息導入到的仍是剛剛的文件當中,咱們看看會有什麼樣的結果)
再輸入:vim httpd01.txt進入查看下,這時咱們可以看到全部不帶#號的行就被所有導入到其中了,而原先帶#號的內容則沒有了,結果以下圖:
Linux中對目錄和文件管理所使用的命令(操做部分,可全程跟作!)
此時咱們總結以下:重定向在此處雖然可以將導出的內容生成到一個文件當中,可是若是是同名文件,會直接覆蓋本來裏面的內容,並且不會提醒。
若是咱們想在不動到文件中原先內容的狀況下,再繼續追加應該如何操做呢?
輸入:grep 「#」 /etc/httpd/conf/httpd.conf >> opt/httpd01.txt(>>爲追加符號,此時新增的內容不會覆蓋原有的內容,會跟在以前的內容後面進行添加)此處咱們過濾的是帶有#號的行
再輸入:vim httpd01.txt進入查看下,這時咱們可以看到前面是不帶有#號的行,翻頁以後有#行被添加在後面,結果以下圖:
Linux中對目錄和文件管理所使用的命令(操做部分,可全程跟作!)
咱們還能夠嘗試一下cat能不能配合重定向符號使用?
輸入cat /etc/passwd > /opt/abc.txt
再輸入ls查看詳細信息
再輸入vim abc.txt,查看其中信息,這時咱們發現全部的帳戶信息被導入在這個文件中了
Linux中對目錄和文件管理所使用的命令(操做部分,可全程跟作!)
咱們還能夠嘗試一下cat能不能配合重定向符號使用?
輸入cat /etc/passwd > /opt/abc.txt
再輸入ls查看詳細信息
再輸入vim abc.txt,查看其中信息,這時咱們發現全部的帳戶信息被導入在這個文件中了
輸入:grep -v 「#」 /etc/httpd/conf/httpd.conf > /opt/httpd02.txt(過濾沒有#號的行導入到opt文件夾中,同時重命名爲httpd02.txt)
再輸入:vim /opt/httpd02.txt,此時咱們看到顯示出的信息都是沒有#號的,可是咱們同時也發現其中是有空行的。
Linux中對目錄和文件管理所使用的命令(操做部分,可全程跟作!)
這時咱們應該如何過濾空行呢?
此時若是咱們輸入:grep -v 「^$」 /opt/httpd02.txt > /opt/httpd02.txt,會顯示以下內容:
Linux中對目錄和文件管理所使用的命令(操做部分,可全程跟作!)
由於這個文件此時正在被使用,就沒法執行此命令!
總結:grep不能同時操做同一個文件,不能同時對一個文件作導入導出
那咱們只能新生成一個文件並把內容導過去,輸入:grep -v 「^$」 /opt/httpd02.txt > /opt/httpd03.txt
再輸入:vim /opt/httpd03.txt,此時咱們再進入此新文件中查看內容,可是裏面是空的,其中的問題是由於在以前的導入過程當中由於進程的問題,內容在被轉移過程當中直接消失,只要沒有中途的失敗,那麼獲得的正確結果應該是過濾了空行的顯示,以下圖:
Linux中對目錄和文件管理所使用的命令(操做部分,可全程跟作!)
此時若是咱們想顯示有幾個用戶能夠登陸系統(只顯示數字):
輸入:grep 「bash$」 /etc/passwd | wc -1敲回車,此時會顯示數字爲2(此處「|」爲管道符號,把前面一條命令的操做結果轉給下一條命令繼續執行),結果以下圖:
Linux中對目錄和文件管理所使用的命令(操做部分,可全程跟作!)
接下來咱們對咱們以前創建的txt文件進行壓縮和解壓縮的操做:
首先咱們找到opt下的文件,輸入:cd /opt/
再輸入:ls,能夠看到咱們之間建立的三個txt文件,並且這幾個文件中都是有內容的
咱們如今直接在此目錄下直接建立壓縮包,該如何操做?
第一步:輸入:gzip -9 http01.txt敲回車,這時壓縮包建立完成
第二步:輸入:ls敲回車,這個時候咱們能夠看到httpd01.txt.gz格式的壓縮包文件在目錄中了,可是此時咱們也能夠發現源文件消失,過程結果以下圖:
Linux中對目錄和文件管理所使用的命令(操做部分,可全程跟作!)
結論:直接用gzip或bzip2格式建立壓縮包時,一旦建立壓縮包以後,源文件就會消失vim

解壓的操做以下:
第一步:輸入:gzip -d http01.txt.gz敲回車,這時候解壓縮完成
第二步:輸入:ls敲回車,這個時候咱們能夠看到httpd01.txt.gz格式的壓縮包從目錄中消失,此時http01.txt的文件已經被解壓出來,過程結果以下圖:
Linux中對目錄和文件管理所使用的命令(操做部分,可全程跟作!)
總結:直接用gzip -d/9或bzip2 -d/9格式解壓縮包時,一旦文件被解壓出來以後,壓縮包就會消失centos

那麼咱們用什麼樣的方法才能像微軟同樣,使源文件不消失呢?
此時咱們就要用到歸檔命令,tar命令
例如此時咱們要把目錄下剛剛的httpd01.txt換成gzip格式:
第一步:輸入:tar czvf httpd.tar.gz httpd*.txt,此時就將目錄下的httpd開頭的txt文件一塊兒打到了壓縮包裏瀏覽器

第二步:輸入:ls,能夠看到三個源文件沒有消失,並且壓縮包建立成功,過程和結果以下圖:
Linux中對目錄和文件管理所使用的命令(操做部分,可全程跟作!)bash

咱們再對此壓縮包進行解壓到data目錄下
第一步:輸入:tar zxvf httpd.tar.gz -C /data/敲回車,此時三個txt文件被解壓到了data目錄下
第二步:輸入ls /data/敲回車,此時咱們就能夠看到三個文件在目錄中,過程和結果以下圖:
Linux中對目錄和文件管理所使用的命令(操做部分,可全程跟作!)less

那麼若是建立bzip2的壓縮包步並解壓縮到data目錄中的操做驟以下:
Linux中對目錄和文件管理所使用的命令(操做部分,可全程跟作!)編輯器

接下來就是最重要的vi編輯器:

咱們接着以前的實驗文檔進行操做,
輸入:vim httpd01.txt,此時咱們敲回車進入的是文本的命令模式:
Linux中對目錄和文件管理所使用的命令(操做部分,可全程跟作!)
輸入:1G(跳轉至第一行)
輸入::set nu(顯示行號)
Linux中對目錄和文件管理所使用的命令(操做部分,可全程跟作!)
此時咱們怎麼在命令模式下進入輸入模式呢?
咱們以光標所在點的英文字母「S」爲參考點
1.輸入:a,末行顯示插入,此時進入插入模式,輸入內容abc,內容插入在S以後
按Esc退出到命令模式
2.光標回到「S」輸入「i」,此時進入插入模式,輸入內容abc,內容插入在S以前
按Esc退出到命令模式
3.光標回到「S」輸入「o」,此時進入插入模式,輸入內容abc,內容插入在S的下一行
按Esc退出到命令模式
4.光標回到「S」輸入「O」,此時進入插入模式,輸入內容abc,內容插入在S的上一行
按Esc退出到命令模式
此時咱們將光標移動到英文字母「R」處做爲參考點:ide

  • 跳轉到行首:按數字0或Home按鍵
  • 跳轉到行尾:按符號$或者按End按鍵
  • 跳轉到最後一行:按大寫G
  • 跳轉到第54行:按54G
  • 跳轉到第103行:按103G
  • 跳轉到屏幕的中間行:按大寫M
    複製、粘貼、刪除的操做以下:
  • 光標在第一行所在位置,想刪除單個字符:按x或者Delete
  • 刪除整行:按dd
  • 刪除1-3行:按3dd
  • 刪除到行首:按d^
  • 刪除到行尾:按d$
  • 刪除單詞:按dw
  • 複製一行:按yy,再粘貼,按:p
  • 複製三行:按3yy,找到位置再粘貼,按:p
  • 上下兩行對調位置:ddp(dd是剪切,p粘貼在下一行)
    文件內容查找和撤銷編輯及保存退出的操做以下:
    回到剛纔的界面,查找文件中的Directory這個單詞,
    輸入:/Directory就是自上而下查找出文本中有這個單詞的地方,此時再按n就是向下尋找,按N就是向上尋找
    輸入:?Directory就是自下而上的查找, 按N就是向上尋找
    若是咱們使用dd,對其中的行進行了刪除,此時咱們想恢復就是不保存退出,按U就是恢復全部操做,或者輸入::q!
    若是此時咱們想保存退出,在末行模式的狀況下輸入::wq,或者在命令模式按ZZ就能夠保存退出了
    替換行間內容:按Shift+r,此時咱們輸入192.168.10.10它會替換原來的內容,當咱們按Dtlete的時候它又會恢復成原來的內容,以下圖所示:
    Linux中對目錄和文件管理所使用的命令(操做部分,可全程跟作!)
    接下來咱們仍是使用以前的實驗文檔,此處編寫兩個簡單的新文件
    輸入:echo 「this is test01」 > test01.txt
    輸入:echo 「this is test02」 > test02.txt
    Linux中對目錄和文件管理所使用的命令(操做部分,可全程跟作!)
    這時咱們獲得兩個新的文件,進入編輯:
  • 輸入:vim test02.txt進入到編輯,若是中途想切換到test02
  • 輸入::號進入末行模式,再接着e test02.txt敲回車就進入了tst02中
  • 此時咱們在test01中,咱們想把test02中的內容複製到test01裏:
  • 輸入::號進入末行模式,再接着r test02.txt敲回車就把test02中的文字複製到了tst01中

接下來咱們仍是使用以前test01.txt,此處進行文件替換的操做:
首先進入文檔中編輯其中一行內容爲this this this is test01,而且粘貼到下面全部行
此時我想修改光標所在行第一個單詞「this」改成「the」,輸入::s .this/the/
此時我想修改光標所在行剩餘兩個單詞「this」改成「the」,輸入::s .this/the/g
只替換9-15行的全部單詞「this」改成「the」,輸入::9,15 s .this/the/g
Linux中對目錄和文件管理所使用的命令(操做部分,可全程跟作!)
替換全文的單詞「this」改成「the」,輸入::% s/this/the/g敲回車,此時全文的this改成the,結果以下圖:
Linux中對目錄和文件管理所使用的命令(操做部分,可全程跟作!)網站

以上就是全部Linux中的目錄和文件管理的基本操做實驗,謝謝你們!

相關文章
相關標籤/搜索