
1.基礎(chǔ)文件和目錄操作(1). 在用戶主目錄下創(chuàng)建一個名為test_dir的目錄并在該目錄中創(chuàng)建一個名為test_file.txt的空文本文件。#mkdir /test_dir #touch /test_dir/test_file.txt(2). 將test_file.txt文件復(fù)制到/tmp目錄下并將復(fù)制后的文件重命名為copy_of_test.txt。#cp /test_dir/test_file.txt /tmp/copy_of_test.txt(3). 刪除test_dir目錄及其下的所有文件包括test_file.txt請使用一個命令完成此操作。#rm -rf /test_dir(4).在test_dir目錄如果已刪除可重新創(chuàng)建下創(chuàng)建一個test_file.txt文件然后再創(chuàng)建該文件的軟鏈接鏈接名為soft_link.txt再創(chuàng)建一個硬鏈接鏈接名為hard_link.txt。#mkdir /test_dir #touch /test_dir/test_file.txt #ln -s /test_dir/test_file.txt #~/test_dir/soft_link.txt #ln /test_dir/test_file.txt ~/test_dir/hard_link.txt(5). 刪除test_file.txt文件查看軟鏈接和硬鏈接文件是否還能訪問分別說明原因。#rm /test_dir/test_file.txt #ls l ~/test_dir/soft_link.txt #cat /test_dir/soft_link.txt #cat /test_dir/hard_link.txt2.文件內(nèi)容查看與編輯(1). 使用合適的命令查看/etc/passwd文件的前 10 行內(nèi)容。#head -10 /etc/passwd(2). 向copy_of_test.txt文件中追加一行內(nèi)容 “這是追加的測試內(nèi)容”并使用命令查看文件內(nèi)容確認(rèn)追加成功。#echo 這是追加的測試內(nèi)容 /tmp/copy_of_test.txt #cat /tmp/copy_of_test.txt(3). 使用文本編輯器如vim打開copy_of_test.txt文件將 “測試” 替換為 “練習(xí)”保存并退出編輯器。#vim /tmp/copy_of_test.txts3.綜合操作(1).在/home目錄下創(chuàng)建一個名為backup的目錄將/etc目錄下所有以.conf結(jié)尾的文件復(fù)制到backup目錄中。#mkdir /home/backup #cp /etc/*.conf /home/backup/(2). 統(tǒng)計(jì)backup目錄中文件的數(shù)量并輸出結(jié)果。#ls -1 /home/backup | wc -l(3).將backup目錄打包成一個名為etc_backup.tar.gz的壓縮包并刪除原始的backup目錄。#tar -czf /home/etc_backup.tar.gz -C /home backup #rm -rf /home/backup(4).將當(dāng)前主機(jī)/home/backup目錄中的所有文件備份到另一臺主機(jī)的/test目錄。#scp -r /home/backup userremote_host:/test4.文件權(quán)限管理(1).將copy_of_test.txt文件的所有者修改為當(dāng)前系統(tǒng)中的普通用戶user1假設(shè)user1存在文件所屬組修改為group1假設(shè)group1存在。#chown user1:group1 /tmp/copy_of_test.txt(2).為copy_of_test.txt文件設(shè)置權(quán)限使得所有者有讀寫執(zhí)行權(quán)限所屬組有讀和執(zhí)行權(quán)限其他用戶只有讀權(quán)限寫出具體命令。#chmod urwx,grx,or /tmp/copy_of_test.txt(3).查看copy_of_test.txt文件的詳細(xì)權(quán)限信息。#ls -l /tmp/copy_of_test.txt5.用戶和用戶組基礎(chǔ)操作(1).創(chuàng)建一個名為newuser1的普通用戶并指定其默認(rèn)登錄 Shell 為/bin/bash。#useradd -s /bin/bash newuser1(2).創(chuàng)建一個名為newgroup1的用戶組然后將newuser1添加到該用戶組中。#groupadd newgroup1 #usermod -aG newgroup1 newuser1(3).刪除用戶newuser1要求保留其家目錄。#userdel newuser16.文件和目錄權(quán)限設(shè)置與修改(1).在用戶主目錄下創(chuàng)建一個名為perm_test_dir的目錄和perm_test_file.txt的文件分別為該目錄和文件設(shè)置權(quán)限目錄的所有者有讀寫執(zhí)行權(quán)限所屬組有讀和執(zhí)行權(quán)限其他用戶無任何權(quán)限文件的所有者有讀寫權(quán)限所屬組和其他用戶只有讀權(quán)限。#mkdir /perm_test_dir #touch /perm_test_dir/perm_test_file.txt #chmod 750 /perm_test_dir #chmod 644 /perm_test_dir/perm_test_file.txt(2).將perm_test_dir目錄及其下所有文件的所屬組修改為newgroup1。#chgrp -R newgroup1 ~/perm_test_dir(3).遞歸地將perm_test_dir目錄的權(quán)限修改為所有者和所屬組有讀寫執(zhí)行權(quán)限其他用戶只有讀權(quán)限。#chmod -R 774 /perm_test_dir7.寫出通過dnf以及本地源安裝httpd的詳細(xì)過程。#mkdir /sr0 #mount /dev/sr0 /sr0 # 臨時生效 #echo “mount /dev/sr0 /sr0” /etc/rc.d/rc.local #chmod x /etc/rc.d/rc.local #vim /etc/yum.repos.d/base.repo [BaseOS] nameRHEL9-BaseOS baseurlfile:///sr0/BaseOS/ gpgcheck0 enabled1 [AppStream] nameApp baseurlfile:///sr0/AppStream/ gpgcheck0 enabled1 # dnf install httpd # systemctl start httpd8.vim 練習(xí)題分類選項(xiàng)作用說明示例文件操作-o 或 -O-o 水平分割窗口打開多個文件-O 垂直分割窗口打開多個文件。vim -o file1.txt file2.txt水平分割窗口打開兩個文件vim -O file1.txt file2.txt垂直分割窗口打開兩個文件 ctrlww-R以只讀模式打開文件防止誤修改。vim -R config.txt只讀模式打開config.txt文件-M與 -R 類似但不允許強(qiáng)制寫入更嚴(yán)格的只讀模式。vim -M important_file.txt嚴(yán)格只讀打開文件[num]打開文件后將光標(biāo)定位到指定行號num處。vim 10 script.sh打開script.sh后光標(biāo)定位到第 10 行/{pattern}打開文件后自動搜索并將光標(biāo)定位到第一個匹配pattern的位置。vim /function_name main.c打開main.c后定位到首個出現(xiàn)function_name的位置搜索與替換--cmd在啟動 vim 時執(zhí)行指定命令常用于設(shè)置搜索或替換規(guī)則。vim --cmd :%s/old/new/g打開文件時自動執(zhí)行全文替換模式分類快捷鍵 / 指令功能說明命令模式光標(biāo)移動w移動到下一個單詞的開頭W移動到下一個以空格分隔的單詞開頭b移動到當(dāng)前單詞的開頭B移動到上一個以空格分隔的單詞開頭e移動到當(dāng)前單詞的結(jié)尾E移動到當(dāng)前以空格分隔的單詞結(jié)尾0移動到當(dāng)前行首^移動到當(dāng)前行第一個非空白字符處$移動到當(dāng)前行尾gg移動到文件開頭G移動到文件結(jié)尾nG移動到第 n 行n 為數(shù)字文本刪除x刪除光標(biāo)所在字符X刪除光標(biāo)前一個字符dd刪除當(dāng)前行ndd刪除從當(dāng)前行開始的 n 行d0刪除從光標(biāo)處到行首的內(nèi)容d$刪除從光標(biāo)處到行尾的內(nèi)容dw刪除從光標(biāo)處到下一個單詞開頭的內(nèi)容dG刪除從當(dāng)前行到文件結(jié)尾的內(nèi)容dgg刪除從當(dāng)前行到文件開頭的內(nèi)容文本復(fù)制yy復(fù)制當(dāng)前行nyy復(fù)制從當(dāng)前行開始的 n 行y0復(fù)制從光標(biāo)處到行首的內(nèi)容y$復(fù)制從光標(biāo)處到行尾的內(nèi)容yw復(fù)制從光標(biāo)處到下一個單詞開頭的內(nèi)容yG復(fù)制從當(dāng)前行到文件結(jié)尾的內(nèi)容ygg復(fù)制從當(dāng)前行到文件開頭的內(nèi)容文本粘貼p在光標(biāo)后粘貼復(fù)制 / 刪除的內(nèi)容P在光標(biāo)前粘貼復(fù)制 / 刪除的內(nèi)容np粘貼 n 次復(fù)制 / 刪除的內(nèi)容文本修改r替換光標(biāo)所在字符輸入新字符后生效R進(jìn)入替換模式持續(xù)替換光標(biāo)后的字符cc刪除當(dāng)前行并進(jìn)入插入模式cw刪除從光標(biāo)處到單詞結(jié)尾的內(nèi)容并進(jìn)入插入模式~切換光標(biāo)所在字符的大小寫J將當(dāng)前行與下一行合并撤銷與重做u撤銷上一步操作Ctrl r重做上一步被撤銷的操作:u n撤銷前 n 步操作插入模式進(jìn)入方式i在光標(biāo)當(dāng)前位置插入I在當(dāng)前行首插入a在光標(biāo)后插入A在當(dāng)前行尾插入o在當(dāng)前行下方新建一行并插入O在當(dāng)前行上方新建一行并插入可視化模式進(jìn)入方式v字符可視化模式選中單個字符V行可視化模式選中整行Ctrl v塊可視化模式選中矩形塊操作指令d刪除選中內(nèi)容y復(fù)制選中內(nèi)容c刪除選中內(nèi)容并進(jìn)入插入模式將選中內(nèi)容向右縮進(jìn)將選中內(nèi)容向左縮進(jìn)~切換選中內(nèi)容的大小寫U將選中內(nèi)容轉(zhuǎn)為大寫u將選中內(nèi)容轉(zhuǎn)為小寫命令行模式文件操作:w保存文件:w filename另存為 filename 文件:q退出 vim無修改時:q!強(qiáng)制退出不保存修改:wq或:x保存并退出:e filename打開另一個文件 filename:e!放棄修改重新加載當(dāng)前文件:r filename將 filename 文件內(nèi)容插入到當(dāng)前光標(biāo)位置:r !command將 Shell 命令 command 的輸出插入到當(dāng)前光標(biāo)位置查找替換/pattern向下查找 pattern?pattern向上查找 pattern:noh取消高亮顯示查找結(jié)果:%s/old/new/g全文替換 old 為 new:%s/old/new/gc全文替換每次替換前確認(rèn):n1,n2s/old/new/g在 n1 到 n2 行之間替換 old 為 new窗口操作:split或:sp水平分割窗口:vsplit或:vsp垂直分割窗口:close關(guān)閉當(dāng)前窗口:only關(guān)閉其他窗口只保留當(dāng)前窗口配置設(shè)置:set nu顯示行號:set nonu隱藏行號:set hlsearch高亮顯示查找結(jié)果:set nohlsearch關(guān)閉查找結(jié)果高亮(1).使用快捷鍵將光標(biāo)快速移動到文件的第 3 行第 5 個字符處打開vim test.txt文件后在命令模式下輸入3G可以將光標(biāo)快速移動到第 3 行的行首然后輸入5ll表示向右移動一個字符輸入5l即向右移動 4 個字符即可將光標(biāo)移動到第 3 行第 5 個字符處。(2).刪除文件中第二行的所有內(nèi)容然后撤銷該刪除操作在命令模式下將光標(biāo)移動到第二行可以使用2G快速定位到第二行輸入dd即可刪除當(dāng)前行即第二行的所有內(nèi)容。刪除后輸入u命令即可撤銷上一步的刪除操作恢復(fù)第二行內(nèi)容。(3).復(fù)制文件的前兩行內(nèi)容并粘貼到文件末尾形成一個新的段落最后保存文件在命令模式下將光標(biāo)移動到第一行輸入2yy復(fù)制當(dāng)前行及下一行即前兩行的內(nèi)容。然后將光標(biāo)移動到文件末尾可以使用G快速定位到文件末尾輸入p將復(fù)制的內(nèi)容粘貼到文件末尾。完成操作后輸入:w保存文件。查找與替換(4).在vim test.txt文件中查找 “Linux” 這個單詞并統(tǒng)計(jì)其出現(xiàn)的次數(shù)在命令模式下輸入/Linux然后按回車鍵vim 會自動定位到第一個 “Linux” 出現(xiàn)的位置。繼續(xù)按n鍵可以查找下一個 “Linux”按N鍵查找上一個。若要統(tǒng)計(jì)出現(xiàn)的次數(shù)可以在命令模式下輸入:%s/Linux//gn其中%表示在整個文件范圍內(nèi)s表示替換操作//表示查找 “Linux”g表示全局替換即查找每一處n表示只顯示匹配次數(shù)而不進(jìn)行實(shí)際替換執(zhí)行該命令后vim 會在底部顯示 “Linux” 出現(xiàn)的次數(shù)。(5).將文件中所有的 “Linux” 替換為 “RHEL 系統(tǒng)”要求在替換前顯示替換提示在命令模式下輸入:%s/Linux/RHEL系統(tǒng)/gc其中%表示整個文件s表示替換Linux是要查找的內(nèi)容RHEL系統(tǒng)是替換后的內(nèi)容g表示全局替換c表示在每次替換前顯示確認(rèn)提示輸入y確認(rèn)替換n跳過本次替換 。(6).在文件中查找以 “LOGO” 開頭的行并將光標(biāo)定位到該行在命令模式下輸入/^LOGO然后按回車鍵vim 會自動將光標(biāo)定位到以 “LOGO” 開頭的行。其中^表示匹配行首。