中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Linux文件目錄管理和VIM編輯器的方法

發布時間:2021-09-27 15:08:14 來源:億速云 閱讀:125 作者:iii 欄目:系統運維

這篇文章主要介紹“Linux文件目錄管理和VIM編輯器的方法”,在日常操作中,相信很多人在Linux文件目錄管理和VIM編輯器的方法問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Linux文件目錄管理和VIM編輯器的方法”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

文件和目錄管理,剛開始學這塊的時候感覺內容很多很雜,但是學完進行總結后,發現其實很有條理的而且沒什么難度,只是熟練掌握這些常用的命令就行了。至于Vim編輯器,不得不說,用了這個編輯器之后,感覺windows的notepad很沒有技術含量了。

先簡單總結一下文件和目錄常用到的命令,簡單的用法就略過。

文件操作命令:touch、file、which、find、cp、rm、mv、ln

文件內容操作命令:cat、more、less,head、tail,wc、grep

目錄操作命令:pwd、cd、ls、mkdir、du

歸檔及壓縮命令:gzip、bzip2、tar

代碼如下:

[jzhou@localhost ~]$ pwd  ==>顯示當前目錄
/home/jzhou
[jzhou@localhost ~]$ mkdir dirtest   ==>創建一個目錄
[jzhou@localhost ~]$ cd dirtest      ==>進入這個目錄
[jzhou@localhost dirtest]$ touch testfile    ==>創建一個文件
[jzhou@localhost dirtest]$ mkdir dirtest1    ==>創建子目錄
[jzhou@localhost dirtest]$ ls    ==>列出當前目錄內容
dirtest1  testfile
[jzhou@localhost dirtest]$ echo hello linux >>testfile  ==>追加內容到文件
[jzhou@localhost dirtest]$ cat testfile    ==>顯示文件內容
hello linux
[jzhou@localhost dirtest]$ file testfile  ==>查看文件類型
testfile: ASCII text
[jzhou@localhost dirtest]$ du -sh testfile  ==>顯示文件所占空間
8.0K    testfile
[jzhou@localhost dirtest]$ wc testfile  ==>統計文件行數、字數、字符數
2 12 testfile
[jzhou@localhost dirtest]$ echo haha,I love Linux >> testfile   ==>追加內容
[jzhou@localhost dirtest]$ echo no,no ,I hate C plus plus >> testfile
[jzhou@localhost dirtest]$ echo OK,the end >> testfile
[jzhou@localhost dirtest]$ cat testfile   ==>查看內容
hello linux
haha,I love Linux
no,no ,I hate C plus plus
OK,the end
[jzhou@localhost dirtest]$ head -2 testfile  ==>查看文件前兩行內容
hello linux
haha,I love Linux
[jzhou@localhost dirtest]$ tail -2 testfile  ==>查看文件最后兩行內容
no,no ,I hate C plus plus
OK,the end
[jzhou@localhost dirtest]$ cat testfile | grep "Linux"  查找特定關鍵字
haha,I love Linux
[jzhou@localhost dirtest]$

以上只是展示部分命令的簡單用法,很多選項沒有加入,head和tail命令默認是顯示前10行和后10行記錄,du是查看目錄或文件所占的空間,通常比實際大小要大,且通常為4的整數倍。

more和less命令也是查看文件內容的方法,不過less已經漸漸取代more了,因為more的所有功能less都具有,而且less可以向上翻頁查看,more則不可以,cat是直接將文件內容一屏顯示出來,不管多長,所有如果文件很長時,則使用less命令,同樣,也是按q鍵退出。

代碼如下:

[jzhou@localhost dirtest]$ cd dirtest1    ==>進入到剛才建的子目錄
[jzhou@localhost dirtest1]$ touch testfile1   ==>在子目錄中創建一個新文件
[jzhou@localhost dirtest1]$ echo haha >> testfile1
[jzhou@localhost dirtest1]$ cd .. ==>返回到上一目錄
[jzhou@localhost dirtest]$ ls
dirtest1  testfile
[jzhou@localhost dirtest]$ cp testfile ./dirtest1/ ==>把文件testfile復制到子目錄dirtest1下
[jzhou@localhost dirtest]$ cd dirtest1/   ==>進入到子目錄
[jzhou@localhost dirtest1]$ ls   ==>查看子目錄下多了一個剛才復制過來的文件
testfile  testfile1
[jzhou@localhost dirtest1]$ cd ..
[jzhou@localhost dirtest]$ ls
dirtest1  testfile
[jzhou@localhost dirtest]$ rm -f testfile ==>強制刪除dirtest目錄下的testfile文件
[jzhou@localhost dirtest]$ ls  ==>testfile文件已經被刪除
dirtest1
[jzhou@localhost dirtest]$ cd ./dirtest1/   ==>進入到子目錄
[jzhou@localhost dirtest1]$ mv testfile ./testfile  ==>這里我嘗試移動的目標目錄錯誤
testfile   testfile1  
[jzhou@localhost dirtest1]$ pwd   ==>所以我要查看當前目錄,以使用絕對路徑
/home/jzhou/dirtest/dirtest1
[jzhou@localhost dirtest1]$ mv testfile /home/jzhou/dirtest/==>將testfile文件移到dirtest目錄下
[jzhou@localhost dirtest1]$ cd ..
[jzhou@localhost dirtest]$ ls   ==>很好,testfile文件已經被移動過來了
dirtest1  testfile
[jzhou@localhost dirtest]$ ln -s testfile linkfile  ==>建立軟鏈接
[jzhou@localhost dirtest]$ ls -l   ==>注意下面軟鏈接文件的顯示方式
總計 20
drwxrwxr-x 2 jzhou jzhou 4096 03-05 22:43 dirtest1
lrwxrwxrwx 1 jzhou jzhou    8 03-05 22:45 linkfile -> testfile
-rw-rw-r-- 1 jzhou jzhou   67 03-05 22:40 testfile
[jzhou@localhost dirtest]$

rm 文件作用在文件與目錄的唯一區別就是是否帶有-r選項,因為刪除目錄時,目錄里面可能嵌套有文件和目錄,所以必須要有-r選項,cp和rm的格式都是: cp/rm  原文件   目標文件(注意這里的路徑問題)

ln鏈接文件:分為軟鏈接和硬鏈接,軟鏈接又稱符號鏈接,即帶有-s選項。軟鏈接即相當于windows下的快捷方式,若原文件損壞,則快捷方式無效,而硬鏈接則相當于對原文件的一個拷貝,通常情況,硬鏈接用的很少。所以建立鏈接文件時,通常加-s選項即建立軟鏈接。鏈接文件的文件類型位為:l,后續筆記文件權限中會介紹這個位。

另外要注意的是:不能為目錄建立硬鏈接文件,而且硬鏈接與原始文件必須位于同一分區(文件系統)中。

代碼如下:

[jzhou@localhost ~]$ cd dirtest/
[jzhou@localhost dirtest]$ ls
dirtest1  linkfile  testfile
[jzhou@localhost dirtest]$ tar cf test.tar dirtest1 testfile  ==>歸檔目錄和文件
[jzhou@localhost dirtest]$ ls  ==>多了一個剛新建的歸檔文件test.tar
dirtest1  linkfile  testfile  test.tar
[jzhou@localhost dirtest]$ rm -rf dirtest1 testfile   ==>刪除原文件,方便后面確認文件是否歸檔
[jzhou@localhost dirtest]$ ls
linkfile  test.tar
[jzhou@localhost dirtest]$ pwd  ==>查看一下當前目錄,后面要解歸檔在這個目錄
/home/jzhou/dirtest
[jzhou@localhost dirtest]$ tar xf test.tar -C /home/jzhou/dirtest/   ==>解開歸檔,testfile文件釋放了
[jzhou@localhost dirtest]$ ls
dirtest1  linkfile  testfile  test.tar
[jzhou@localhost dirtest]$ rm -f test.tar  ==>刪除這個歸檔包,助于后面測試
[jzhou@localhost dirtest]$ ls
dirtest1  linkfile  testfile
[jzhou@localhost dirtest]$ gzip -9 testfile   ==>將這個文件以gz格式壓縮
[jzhou@localhost dirtest]$ ls
dirtest1  linkfile  testfile.gz ==>這個就是壓縮后自動生成的文件名
[jzhou@localhost dirtest]$ gzip -d testfile.gz   ==>將剛壓縮的包解開
[jzhou@localhost dirtest]$ ls
dirtest1  linkfile  testfile    ==>看,testfile被解壓出來了
[jzhou@localhost dirtest]$ bzip2 -9 testfile    ==>將這個文件以bz2格式壓縮
[jzhou@localhost dirtest]$ ls
dirtest1  linkfile  testfile.bz2  ==>看,這個bz2就是剛生成的
[jzhou@localhost dirtest]$ bzip2 -d testfile.bz2   ==>解開這個壓縮包
[jzhou@localhost dirtest]$ ls
dirtest1  linkfile  testfile  ==>看,它被釋放出來了
[jzhou@localhost dirtest]$ tar jcf test.tar.bz2 testfile   ==>這個是bz2格式歸檔壓縮,注意選項是j
[jzhou@localhost dirtest]$ ls
dirtest1  linkfile  testfile  test.tar.bz2
[jzhou@localhost dirtest]$ rm -r testfile
[jzhou@localhost dirtest]$ ls
dirtest1  linkfile  test.tar.bz2
[jzhou@localhost dirtest]$ tar jxf test.tar.bz2 -C /home/jzhou/dirtest/  ==>解開歸檔壓縮
[jzhou@localhost dirtest]$ ls
dirtest1  linkfile  testfile  test.tar.bz2
[jzhou@localhost dirtest]$ tar zcf test.tar.gz dirtest1   ==>這個是gz格式歸檔壓縮,注意選項是z
[jzhou@localhost dirtest]$ ls
dirtest1  linkfile  testfile  test.tar.bz2  test.tar.gz
[jzhou@localhost dirtest]$ rm -rf dirtest1
[jzhou@localhost dirtest]$ ls
linkfile  testfile  test.tar.bz2  test.tar.gz
[jzhou@localhost dirtest]$ tar zxf test.tar.gz -C /home/jzhou/dirtest/   ==>解開歸檔壓縮
[jzhou@localhost dirtest]$ ls
dirtest1  linkfile  testfile  test.tar.bz2  test.tar.gz
[jzhou@localhost dirtest]$

上面命令顯示格式不太友好,因為在真實環境下,若刪除原文件,軟鏈接文件會處于不可用狀態背景會變成紅底。不過這個不影響理解呵呵。

注意歸檔只是將文件或者目錄打在一個包里,并不進行壓縮,而gzip和bzip2是進行壓縮,上述最后幾行命令是將二者結合起來使用的,即先歸檔后壓縮。

tar和gzip  bzip2的命令格式如下: 

代碼如下:

tar  [選項]...  歸檔文件名  源文件或目錄    ==》制作歸檔文件</p> <p>tar  [選項]...  歸檔文件名  [-C 目標目錄]   ==》解開歸檔文件</p> <p>gzip/bzip2 [-9] 文件名或目錄                 ==》制作壓縮文件</p> <p>gzip/bzip2  -d .gz/.bz2格式的壓縮文件    ==》解開壓縮文件

對于上述命令,只是舉出最簡單的用法,至于要實現更強大的功能,使用時那就要去查每個命令帶有哪些選項,或者直接找man命令幫助,那些選項太多,所以我認為只要知道有某個命令,至于具體用法用到時再去查而沒必要記住所有的選項含義。

VIM編輯器的常用快捷編輯方式

文本編輯器可用來創建或修改文本文件,以及維護Linux系統中的各種配置文件。首次接觸這個編輯器時會由于不熟練而是影響編輯效率,但是掌握常用快捷鍵后,非常神速。下面只是簡單介紹下Vim編輯器,至于更深入的用法大家可以網上找找。

Unix和早期的Linux中默認使用的文本編輯器是Vi,現在用的都是vi的增強版vim,由于vi用的比較習慣了,所以現在仍然叫vi,其實是別名 alias vi='/usr/bin/vim',這個可以通過命令which vi看到。

Vim編輯器有3種工作模式:命令模式、輸入模式、末行模式,在有的資料中可能說有2中工作模式,不將&lsquo;末行模式&rsquo;列在其中,這個不重要,總之前兩種模式確實很重要;因為在這兩種模式下可以做很多事。各種模式之間的切換如下圖:

Linux文件目錄管理和VIM編輯器的方法

 這幾個模式的轉換也要非常熟練。

命令模式中的基本操作:

(1)顯示行號::set nu     取消行號: :set nonu

(2)行間快速跳轉:#G:跳轉到文件中的第#行;G:跳轉到文件的末尾行;1G或gg:跳轉到文件的行首。

(3)行內快速跳轉:Home  End

關于刪除復制和粘貼:(命令模式下)

刪除

x或Del

刪除光標處的單個字符

dd

刪除當前光標所在行

#dd

刪除從光標處開始的#行內容

d^

刪除當前光標之前到行首的所有字符

d$

刪除當前光標處到行尾的所有字符

復制

yy

復制當前行整行的內容到剪貼板

#yy

復制從光標處開始的#行內容

粘貼

p

將緩沖區中的內容粘貼到光標位置處之后

P

粘貼到光標位置處之前

在文件內容中查找:

操作鍵

功能

/word

從上而下在文件中查找字符串“word”

?word

從下而上在文件中查找字符串“word”

n

定位下一個匹配的被查找字符串

N

定位上一個匹配的被查找字符串

撤銷編輯及保存退出:

u

按一次取消最近的一次操作

多次重復按u鍵,恢復已進行的多步操作

U

用于取消對當前行所做的所有編輯

ZZ

保存當前的文件內容并退出vi編輯器

保存文件及退出vi編輯器:(末行模式下)

保存文件

  

:w /root/newfile

另存為其它文件

退出vi

:q

未修改退出

:q!

放棄對文件內容的修改,并退出vi

保存文件退出vi

:wq

 

文件內容替換:(末行模式下)

:s /old/new

將當前行中查找到的第一個字符“old” 串替換為“new”

:s /old/new/g

將當前行中查找到的所有字符串“old” 替換為“new”

:#,# s/old/new/g

在行號“#,#”范圍內替換所有的字符串“old”為“new”

:% s/old/new/g

在整個文件范圍內替換所有的字符串“old”為“new”

:s /old/new/c

在替換命令末尾加入c命令,將對每個替換動作提示用戶進行確認

到此,關于“Linux文件目錄管理和VIM編輯器的方法”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

濮阳县| 大余县| 临桂县| 岫岩| 会理县| 渭源县| 丰原市| 东兰县| 平原县| 宿迁市| 策勒县| 田林县| 太原市| 尼木县| 永春县| 泾源县| 大冶市| 会东县| 清河县| 永福县| 浪卡子县| 林甸县| 凤冈县| 双鸭山市| 炎陵县| 张掖市| 宝坻区| 房产| 竹北市| 勃利县| 长葛市| 商河县| 桐柏县| 铁力市| 延安市| 海晏县| 白城市| 宁化县| 新源县| 镇远县| 玉山县|