[TOC] 第一部分: 虛擬機創建、系統安裝、Linux歷史介紹 1.超級用戶(管理員用戶)提示符是 ,普通用戶提示符是` 2. linux關機重啟的命令有哪些 ? 3.bash是什麼? 4.bash特性, 常見的bash特性有哪些? 5.網卡的配置文件路徑什麼? 6.echo命令的功能是什麼? 7 ...
目錄
第一部分:
虛擬機創建、系統安裝、Linux歷史介紹
1.超級用戶(管理員用戶)提示符是#
,普通用戶提示符是`
2. linux關機重啟的命令有哪些 ?
關機
shutdown -h 0
init 0
halt
poweoff
重啟
shutown -r 0
reboot
init 6
3.bash是什麼?
命令解釋器,與內核進行交互
4.bash特性, 常見的bash特性有哪些?
命令補全
選項補全
參數補全(路徑)
歷史記錄
命令別名
5.網卡的配置文件路徑什麼?
/etc/sysconfig/network-scripts/ifcfg-enss33
6.echo命令的功能是什麼?
所見即所得,把內容輸出屏幕上面
7.列印出 “hello world”到屏幕上面。
echo “hello world”
8.我想列印出oldboy和oldgirl兩組字元列印到屏幕上面,且要分兩行顯示,請問怎麼實現?
echo -e “oldboy\noldgirl”
9. [root@qiudao ~]# 已知這個是linux命令行,那麼請問root表示什麼?
當前登錄用戶,超級管理員
10.接上題,@表示什麼?
分隔符
11.接第九題,qiudao表示什麼?
主機名
12.接第九題,~的位置表示什麼?而~又代表了什麼?
當前目錄路徑
當前用戶的家目錄
[root@qiudao ~]# yum install -y net-tools 已知命令行內容,下麵幾道練習題根據此命令行內容作答。
13.已知當前游標所在位置在最後面,我如果要刪除命令行的內容,該怎樣操作呢?
ctrl +u
14.已知當前游標所在位置在最前面,我如果要刪除命令行的內容,該怎樣操作呢?
ctrl +k
15.已知當前游標所在位置在最後面,我想只刪除net-tools,該怎樣操作呢?
ctrl+w
16.你還知道哪些bash的快捷鍵呢?請把他寫出來?
Ctrl+y 將粘貼板上的內容粘貼出來,配合u k w使用
Ctrl+c
Ctrl+z
Ctrl+d
Ctrl+l
Ctrl+e
Ctrl+a
ESC+.
Ctrl+r
Ctrl+方向鍵
delete
17.我們之前安裝的操作系統都是多少位的呢?
64
命令查看
[root@oldboyedu ~]# uname -m
18.磁碟分區安裝系統的時候,你是怎麼分區的?
標準分區
/boot 500M-1024M
swap 物理記憶體的1-2倍,最大16G
/
/data
19.網路類型都有哪幾種?這幾種模式,各個意思你是怎麼理解的?
僅主機
NAT
橋接
20.快照有什麼作用?
保存虛擬機當前的狀態
21.克隆分哪幾種?各表示什麼含義?
鏈接
完整
22.遠程連接工具xshell,你是怎麼優化這個軟體的?
緩衝區大小
閃爍游標
日誌路徑
取消更新
複製即選中
23.GNU是什麼,介紹一下都有哪些內容?
FSF下的是一個項目,GNU is not unix?
emacs bash gcc gawk 等優秀軟體。
24.GPL是什麼,內容是什麼?
通用公共許可協議
開源的
可以任意傳播和修改
必須把修改之後的源代碼發出來
25.Linux的發行版本都有哪些?
CentOS
Redhat
Ubuntu
Debian
Fedora
FreeBSD
SUSE
紅旗
麒麟
26.創建一個目錄,shanghai。
mkdir /shanghai
27.創建一個文件,test.txt
touch test.txt
28.進入到shanghai這個目錄。
cd /shanghai
29.顯示你當前所在的位置。
pwd
30.如何快速從當前目錄切換到家目錄?
cd
cd ~
第二部分
Bash shell初識、目錄和文件管理
cd 、cp、mkdir、touch 、tree、命令
1.假設超級用戶root當前所在目錄為:/usr/local,鍵入cd命令後,用戶當前所在目錄為?
家目錄
/root
2. 在使用mkdir命令創建新的目錄時,在其父目錄不存在時先創建父目錄的選項是?
-p
3.在linux中,下麵(A)命令不是針對目錄操作的。
A. ps
B. cd
C.pwd
D. ls
4. 欲把當前目錄下的file1.txt複製為file2.txt 命令是?
cp file1.txt file2.txt
5. 建立一個新文件可以使用的命令為?
touch
6. 如果要列出一個目錄下的所有文件需要使用命令為?
ls -a
7. 除非特別指定,不然的話cp要拷貝出來的文件在哪個目錄下?
當前目錄
8.Linux系統習慣將許多設備驅動存儲在什麼目錄中?
/dev
9.包含了功能變數名稱與IP地址的映射關係的文件是?
/etc/hosts
10.用什麼命令來顯示當前目錄?
pwd
11.在類linux操作系統中,哪個用戶預設對整個操作系統擁有完全控制權?
root
12.linux系統管理員創建一個普通oldboy用戶,預設會在哪個目錄下創建一個用戶的主目錄
/home
13.使用cd命令進入到/usr/local目錄下,然後又執行了cd .. 請問,當前你所在的位置是哪裡?
/usr
14.已知你在/etc/sysconfig/network-scripts/目錄下,你執行了cd /etc/systemd/命令,怎樣才能快速的到達/etc/sysconfig/network-scripts/目錄下?
cd -
15.已知當前位置為/opt,請問,執行cd . ,寫出你所在的位置?
/opt
16.創建/oldboy目錄?
mkdir /oldboy
17.創建/data/test目錄,已知/data目錄不存在,請給出命令?
mkdir -p /data/test
18.創建/root/user /root/logs /root/conf /root/html目錄,請用一條命令實現
mkdir -p /root/{user,logs,conf,html}
19.創建文件oldboy.txt
touch oldboy.txt
20.在/root/目錄下創建文件test.txt test.log test.sh test.conf 請用一條命令創建。
touch /root/test.{txt,log,sh,conf}
21.顯示/root目錄下的目錄結構。
tree/root
22.只顯示/目錄的兩層目錄結構。
tree -L2/
23.只顯示/etc目錄下的目錄。
tree -d /etc
24.如果我在當前在/目錄下,之後執行了以下操作,請告訴我,最後我所在的目錄位置
cd /etc/sysconfig/
cd ..
cd ..
cd -
cd ~
cd ..
/
25.批量創建oldboy01,oldboy02,...oldoby05這幾個目錄?
mkdir oldboy{01..05}
26.顯示/oldboy下麵所有文件(包含隱藏文件)的詳細信息?
ls -a
28.在你名字的目錄下麵創建兩個文件,分別為test.txt,test.log請用一條命令實現?
touch /oldboy/qiu/test.{txt,log}
29.把/etc/hosts文件複製到你名字的目錄下,然後把你名字的目錄複製到/opt/目錄下
cp /etc/hosts /oldboy/qiu/
cp -a /oldboy/qiu /opt/
30.切換到/tmp目錄下,查看當前的工作位置,同時創建data1、data2、data3、共三個目錄。
cd /tmp
pwd
mkdir data{1..3}
31.把/oldboy目錄移動到/tmp目錄下麵
mv /oldboy /tmp/
32.把oldboy目錄重命名為oldgirl
mv oldboy oldgirl
33.刪除oldgirl這個目錄
rm -rf oldgirl
34.什麼是.和..
. 當前位置
.. 當前目錄的上一級目錄
35.什麼是絕對路徑,什麼又是相對路徑?
以/開始的路徑為絕對路徑
不是以/開始的路徑為相對路徑
第三部分
命令:cat 、rm 、mv 、more/less 、head 、tailf 、grep
1.查看oldboy.txt文件中的內容,並顯示行號(請使用cat命令)。
cat -n oldboy.txt
2.使用cat命令把oldboy oldgirl student三行內容(每個字元串是一行內容)寫入到test.txt文件中
[root@gong ~]# cat >>test.txt <<eof
Oldboy
Oldgirl
Student
eof
3.查看系統中/etc/services文件中的內容(使用more和less命令,進行上下頁查看,並搜索關鍵字‘ssh’,之後退出。)
Less -n 顯行號
4.顯示/etc/passwd文件的前5行內容。
head -n 5 /etc/passwd
5.顯示/etc/passwd文件的最後5行內容。
tailf -5 /etc/passwd
6.顯示/etc/services文件的第11行到第20行的內容
head -20 etc/services | tail -10
7.已知文件123.txt內容如下,請過濾出包含oldboy字元串的命令
test
OLDBOY
online
oldboy
Oldboy
oldboy
grep ‘oldboy’ 123.txt
8.過濾出文件123.txt中不包含test
的行,並給其過濾出來的內容加上行號
grep -vn‘test’ 123.txt
9.要求過濾出文件123.txt中包含oldboy的字元串,忽略大小寫。
grep -i ‘oldboy’ 123.txt
10.要求過濾出文件123.txt中包含online字元串的行,並統計共有多少行。
Grep -c ‘online’123.txt
Grep -ci ‘oldboy’ 123.txt (統計oldboy共多少行)
11.要求過濾出文件123.txt中包含oldboy的單詞。
Grep -w‘oldboy’ 123.txt
12.調試系統服務時,希望能實時查看系統日誌/var/log/messages的更新,如何做?
Tail -f /var/log/messages
13.列印配置文件/etc/passwd內容的行號及內容,你有幾種方法可以實現?
cat -n /etc/passwd
grep -N “.” /etc/passwd
Less -n /etc/passwd
14.複製/etc/hosts文件到/root目錄下麵
cp /etc/hosts /root
Cp /etc/hosts ./
15.把/root/hosts移動到/tmp目錄下
mv /root/hosts /tmp
16.刪除/tmp/hosts文件
rm -f /tmp/hosts
17.複製/etc/services文件拷貝到當前目錄。
cp /etc/services /etc
Cp /etc/services ./
18.查詢services文件中包含ssh字元有多少行
grep -c ‘ssh’ services
19.在當前目錄創建一個文件oldboy.txt,並將其移動到/opt目錄下麵
touch oldboy.txt
mv oldboy.txt /opt
20.在/tmp目錄下創建oldboy.txt文件,將其移動到/opt目錄,提示文件已經存在,是否覆蓋,如果不想看到這個提示,怎麼執行命令?
touch /tmp/oldboy.txt
\mv /tmp/oldboy.txt /opt
21.刪除/opt/下的所有文件
rm -fr /opt/*
22.已知,/oldboy已存在,如果給該目錄名稱修改為/oldgirl,請問怎麼實現?
mv /oldgirl /oldboy
23.rm命可以刪除目錄和文件,其主要差別就是是否使用了什麼選項。
文件可以直接刪除
目錄,需加參數 rm-r
24.怎樣強制刪除一個文件,例如,刪除oldboy.txt文件。
rm -f oldboy.txt
25.什麼命令可以移動目錄或文件,還可以為文件或目錄重命名。
mv
26.如何刪除一個非空目錄/opt?
rm - fr /opt
27.用"rm -i"刪除文件時,系統會提示什麼來讓你確認
是否刪除
28.用戶編寫一個文本文件a.txt,想將該文件名稱改為txt.a,請問怎麼實現?
touch a.txt
mv a.txt txt.a
29.你知道有哪些命令可以查看文件內容?請一一列舉出來。
cat less more head tail grep
30.若希望在查看文件內容過程中可以用游標上下移動來查看文件內容,應使用什麼命令?
Less
more
31.列印/etc/passwd 文件中的第 2-5 行
head -5 /etc/passwd|tail -4
32.查看ip地址的命令有哪些?
ip a
Ifconfig
Hostname - A
Ip a s etho(單獨取ip地址)
Infonfig etho
33.只顯示/etc/passwd文件的第五行
head -5 /etc/passwd|tail -1
34.統計/etc/passwd文件一共有多少行
cat -n /etc/passwd
35.使用cat命令查看文本文件的內容時要對所有的輸出行進行顯示行號,怎麼實現?
Grep -n “.”/etc/passwd |tail -1
cat -n /etc/passwd|tail -1
36.使用mv命令,下列說法錯誤的是?
A.mv命令可以重命名文件
B.mv命令可以移動文件
C.mv命令可以複製文件
D.mv命令可以刪除文件
C
37.刪除文件的命令為?
rm
38.改變bash的提示符實際上就是改變變數?
PS1
寫一個文件,文件內容如下,下麵39-45題請用該文件作答?
cat >>test.txt<<EOF server { lisTEN 80; server_nAme <www.oldboy.com>; root /code/dOcs index INDEX.html; } EOF
[root@gong ~]# catcat >>test.txt<<EOF
server { lisTEN 80; server_nAme <www.oldboy.com>; root /code/dOcs index INDEX.html; }
EOF
39.過濾<www.oldboy.com>
這段關鍵字
grep ‘www.oldboy.com’ test.txt
40.同時過濾出root和index的行,不區分大小寫
egrep -i ‘root|index’test.txt
41.過濾index,區分大小寫
grep ‘index’ test.txt
42.過濾出帶"O"的行,不區分大小寫
grep -i ‘O’test.txt
43.過濾出不帶";"的行
grep -v ‘;’test.txt
44.過濾出以s開頭的行
grep ‘^s’test.txt
45.統計該文件的行數
cat -n test.txt|tail -1
46.如果某一天你誤操作了"rm -rf *",會發生哪些情況
當前目錄下的所有內容都會刪除,不包括隱藏文件
47.rm是個危險的命令,要求用命令rm刪除文件時提示“rm command no bny”,怎麼實現?
echo ‘alias rm=“echo‘rm command no bug’”’>> /etc/bashrc
Source /etc/bashrc
48.設置rm命令不能用之後,有要刪除/oldboy這個目錄,怎麼實現?
\rm - fr /oldboy
已知123.txt文件內容如下:
zenglaoshi
Qiulaoshi
oldboy 要求過濾出oldboy這一行的內容?你有幾種方法?
Grep “oldboy” 456.txt
Grep “^o” 456.txt
Tail -1 456.txt
49.接上題,要求不顯示oldboy這行內容,怎麼實現?你有幾種方法?
Grep -v “oldboy” 456.txt
Grep -v “^o” 456.txt
Head -2 456.txt
第四部分
命令:文件上傳下載及查找、排序sort 、去重uniq、截取cut 、統計wc
1.打開這個網站http://nginx.org/download/,下載一個結尾為tar.gz的軟體包
wget <http://nginx.org/download/nginx-0.1.0.tar.gz>
Curl -o 123 <http://nginx.org/download/nginx-0.1.0.tar.gz>
(軟體下載用wget,用curl 直接下載文件格式會不全,需指定位置)
2.同樣打開上面的網站,下載一個結尾為tar.gz的軟體包,要求下載之後的軟體包名為nginx.tar.gz
curl -o ‘nginx.tar.gz’ <http://nginx.org/download/nginx-0.1.0.tar.gz>
wget -O ‘nginx.tar.gz’ http://nginx.org/download/nginx-0.1.0.tar.gz
3.打開此網站https://mirrors.aliyun.com/zabbix/zabbix/4.0/rhel/7/x86_64/ 下載一個結尾為rpm的軟體包
Wget <https://mirrors.aliyun.com/zabbix/zabbix/4.0/rhel/7/x86_64/zabbix-agent-4.0.0-2.el7.x86_64.rpm>
4.同樣打開上面這個網站,下載一個結尾為rpm的軟體包,要求下載之後的軟體包名為zabbix.rpm
wget -O ‘zabbix.rpm’<https://mirrors.aliyun.com/zabbix/zabbix/4.0/rhel/7/x86_64/zabbix-agent-4.0.0-2.el7.x86_64.rpm>
curl -o ‘zabbix.rpm’ https://mirrors.aliyun.com/zabbix/zabbix/4.0/rhel/7/x86_64/zabbix-agent-4.0.0-2.el7.x86_64.rpm
5.在linux中訪問曾老師的博客網站,訪問主頁就可以
Curl <https://www.driverzeng.com/>
6.在linux中訪問曾老師的博客網站,要求把主頁的內容保存到zenglaoshi.html文件中。
Wget -O ‘zenglaoshi.html’ <https://www.driverzeng.com/>
Curl -o ‘zenglaoshi.html’ <https://www.driverzeng.com/>
7.在linux中訪問百度的首頁
Curl http://www.baidu.com
8.在linux中訪問百度的首頁,要求把主頁的內容保存到baidu.html文件中
Wget -O ‘baidu.html’http://www.baidu.com
Curl - o ‘baidu.html’http://www.baidu.com
9.把/etc/hosts文件下載到本地電腦桌面
sz /etc/hosts 選擇桌面
10.把/etc/services文件下載到本地電腦D盤中
sz /etc/sercices 選擇D盤
11.把你的課堂筆記上傳到linux系統中
rz
12.把你的習題筆記上傳到linux系統中的/opt目錄下麵
先找到目錄,直接拖進去 xftp
或者cd /opt/ rz
13.如果我要把本地電腦中的目錄上傳到linux系統,請問怎麼上傳?
先打包壓縮,再rz上傳 (rz命令不能上傳目錄)
14.查找ifconfig命令的絕對路徑在哪裡?你能使用幾種方法實現?
Which cd
Type -a cd
Whereis cd
(本地查詢的時候只能用which)
15.查找netstat命令的絕對路徑在哪裡?你能使用幾種方法實現?
Which cd
Type -a cd
Whereis cd
(本地查詢的時候只能用which)
16.統計文件/etc/hosts的行數?你能使用幾種方法實現?
Wc -l /etc/hosts
Cat -n /etc/hosts
17.統計文件/etc/services的位元組數。你能使用幾種方法實現?
Wc -c /etc/services
Ll /etc/services
18.執行下麵的命令echo "Im qiuzengjia , is QQ 1176494252" >file.txt,
要求取出該文件中的姓名和QQ號。
Cut -d ‘ ’-f 2,4 file.txt|cut -c 1-10,14-24
19.執行如下命令
cat > file.txt <<EOF
abc
123
abc
123
def
EOF
要求去除重覆的列
Sort file.txt|uniq
20.接上題,取出每列出現的次數
Sort file.txt|uniq -c
21.接19題,只取出重覆的列
Sort file.txt|uniq -c |grep -v ‘1’
Sort file.txt|uniq -d
22.接19題,只取出不重覆的列
Sort file.txt|uniq -c |grep ‘1’
Sort file.txt|uniq -u
23.已知sort.log文件內容如下,請根據文件內容的第二列進行倒序排序。
cat >>sort.log<<'EOF'
218.65.30.25 68652
218.65.30.53 34326
218.87.109.154 21201
112.85.42.103 18065
112.85.42.99 17164
218.87.109.151 17163
218.87.109.150 17163
218.65.30.61 17163
218.65.30.126 17163
218.65.30.124 17163
EOF
Sort rnk2 sort.log (sort預設的分隔符是空格)
Sort rnk2 sort.log|column -t(排列的整齊)
24.取出系統中的文件/etc/passwd的第七列
Cut -d ‘:’ -f 7 /etc/passwd
25.統計/var/log下的文件個數,不統計下級目錄。
ll /var/log |grep ‘^-’|wc -l
Tree -L 1 、var/log|tail-1
26.統計/var/log下的所有文件和目錄個數,不包含隱藏文件。
Tree /var/log |tail-1
27.以“:”為分隔符,取出/etc/passwd第一行的最後一列的內容
Head -1 /etc/passwd|cut -d ‘:’-f 7
28.將群發的access-log文件在本地解壓,將解壓後的文件上傳到linux系統中,根據該文件進行答題取出訪問的ip地址最多10個,並統計訪問的次數。(提示,文件很大,不要直接打開,不然會刷屏)
cut -d ' ' -f1 access.log |sort |uniq -c |sort -rn |head
29.執行ifconfig ens33 命令,要求只取出ip地址,如:10.0.0.98
ifconfig ens33|head -2|tail -1|cut -d ' ' -f10
ifconfig | head -2 |tail -1| cut -c 14-23
30.執行ip a s ens33 命令,要求只取出ip地址,如:10.0.0.98
ip a s ens33|head -3|tail -1|cut -d ' ' -f6|cut -d ‘/’ -f1
ip a s ens33 | head -3 | tail -1 |cut -c 10-18
31.過濾出/etc/passwd以nologin結尾的內容,並統計行數
grep ‘nologin$’ /etc/passwd|wc -l
32.使用ifconfig命令獲取當前的IP地址
Ifconfig etho|grep netmask|cut -d ‘ ’-f 10
Ifconfig etho|grep netmask|cut -c 14-23
Hostname - I
33.將/etc/sysconfig/selinux文件中的SELINUX=enforcing替換為SELINUX=disabled
將/etc/sysconfig/selinux文件中的SELINUX=enforcing替換為SELINUX=disabled
[root@oldboyedu ~]# sed -i.bak 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/sysconfig/selinux
34.分析如下日誌內容,每個功能變數名稱被訪問次數
[root@student tmp]# cat web.log
http://www.driverzeng.com/index.html
http://www.driverzeng.com/1.html
http://post.driverzeng.com/index.html
http://mp3.driverzeng.com/index.html
http://www.driverzeng.com/3.html
http://post.driverzeng.com/2.html
Cut -d ‘/’ -f 3 access.log|uniq -c
35.用普通用戶身份登陸虛擬機上完成練習
36..在用戶家目錄下創建6個文件 song1.mp3 ~ song6.mp3
Touch song{1..6}.mp3
37.把上題創建的songX.mp3文件移動到Music目錄下(不存在則創建)
Madir music
Mv song{1..6}.mp3 music/ 或者 mv song* music/
38.在用戶家目錄下創建三個目錄,分別為 friends,family,work
Mkdir friends family workl
39.切換到friends目錄下,把Music目錄下的song1.mp3 ~ song3.mp3 拷貝到當前目錄
Cd friends/
Cp ../music/song{1..3}.mp3 .
40.切換到family目錄下,把Music目錄下的song4.mp3 ~ song6.mp3 移動到當前目錄
Cd ../family
Mv ../music/song{4..6}.* ./
41.切換到用戶主目錄
cd
42. 刪除family目錄
Rm -fr family/
43. 切換到friends目錄,把目錄下的所有文件刪除
Rm -f ./*
44.切換到主目錄,把friends目錄刪除
cd
Rm -fr friends/
第五部分
Linux文件管理---文件軟硬鏈接&VIM編輯
1.文件在Linux上被分成兩個部分,分別為什麼?且每個對應的存儲的是什麼?
用戶數據:文件數據塊(data block),數據塊是記錄文件真實內容的地方,稱為block
元數據:文件的附加屬性,例如文件大小,創建時間,屬組,屬主等,稱為inode
2.Linux系統有兩種鏈接文件,分別為?
軟鏈接
硬鏈接
3.什麼是軟鏈接?
相當於windows的快捷方式,軟鏈接文件會將incode指向源文件的block
當我們訪問這個軟連接文件時,其實就是在訪問源文件的本身
4.什麼是硬鏈接?
若一個inode號對應多個文件名,則稱這些文件為硬鏈接。換句話說,硬鏈接就是同一個文件使用了多個別名
5.已知文件/root/oldboy/oldboy.txt,請給其創建一個軟連接為/root/oldboy.txt
Ln -s /root/oldboy/oldboy.txt /root/oldboy.txt
6.給其文件/root/oldboy/oldboy.txt,請給其創建一個硬連接為/opt/oldboy.txt
Ln /root/oldboy/oldboy.txt /opt/oldboy.txt
7.已知目錄/root/oldboy/data,請給其創建一個軟連接為/root/data
Ln -s /root/oldboy/data /root/data
8.給其目錄/root/oldboy/data,請給其創建一個硬連接為/opt/data
Ln /root/oldboy/data /opt/data
會報錯
不能給目錄創造硬鏈接
9.說明一下軟連接和硬鏈接的區別?
1.創建命令不同
軟鏈接:ln -s
硬鏈接:ln
\2. 目錄不能創建硬鏈接,並且硬鏈接不可以跨越系統的分區,軟鏈接可以
\3. 硬鏈接文件與源文件incode相同,軟鏈接文件與源文件incode不同
\4. 刪除軟鏈接文件,對源文件無影響,但是刪除軟鏈接文件對軟鏈接文件有影響
\5. 刪除硬鏈接文件,對源文件也無影響,並且刪除源文件,對硬鏈接文件也無影響
創建文件回答下列練習題
[root@web ~]# cat file.txt
server {
listen 80;
server_name test.oldboy.com;
index index.html;
}
10.跳轉到某行時使用
Ngg 或者 NG
11.複製server{ 到 }結尾的這一行, 粘貼到 } 結尾的下一行
1gg >>5yy >> 5G>> Shift+p
12.刪除listen相關的所有行
dd >>n >> dd
13.將server_name 替換為SERVER_NAME
%s#server_name#SERVER_NAME#g
14.刪除oldboy.com,boy刪除
x
.15.撤銷一次
u
16.在編輯模式下修改 test.oldboy.com為test.ett.com
:%s#oldboy#ett#g
17.在index 最後面,添加index.php
4G>>$>>i
18.在index行下麵插入一行內容為:root html;。
4G>>o
19.退出編輯模式。
Esc
20.將/etc/passwd 複製到/root/目錄下,並重命名為test.txt
Cp /etc/passwd /root/test.txt
21.用vim打開test.txt並顯示行號
Shift+: set nu
22.分別向下、向右、向左、向右移動5個字元,分別向下、向上翻兩頁
5j、5l、5h、5l、 ctrl+f 、ctrl+b
23.把游標移動到第10行,讓游標移動到行末,再移動到行首,移動到test.txt文件的最後一行,移動到文件的首行
10gg >> $ >> ^ >> G>> gg
24.搜索文件中出現的 root 並數一下一共出現多少個
/root 4個
25.把從第一行到第三行出現的root 替換成admin,然後還原上一步操作
:1,3s#root#admin#g
26.把整個文件中所有的root替換成admin
:%s#root#admin#g
27.把游標移動到20行,刪除本行,還原上一步操作
20gg>> dd >>u
28.刪除從5行到10行的所有內容,還原上一步操作
5gg >> 6dd >>u
29.複製2行並粘貼到11行下麵,還原上一步操作(按兩次u)
2gg >>yy>> 11gg >>p>> uu
30.複製從11行到15行的內容並粘貼到8行上面,還原上一步操作(按兩次u)
11gg >>5yy>> 8gg >>P>>uu
31.把13行到18行的內容移動文件的尾部,還原上一步操作(按兩次u)
13gg >>6dd>G>> p>>uu
32.將文件中所有的/sbin/nologin為/bin/bash
:%s#/sbin/nologin#/bin/bash#g
33.在第一行下麵插入新的一行,並輸入"# Hello!"
gg >>o >>“#Hello”
34.保存文檔並退出
: wq
根據文件回答下列習題:
[root@www ~]# cat proxy.conf
server {
Listen 8080;
Server_Name vim.OldboyEDU.com;%
location / {
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $http_host;
proxy_set_header X-Forward-for;
proxy_intercept_errors on;
proxy_next_upstream error timeout;
proxy_next_upstream_timeout 3s;
proxy_next_upstream_tries 2;
error_page 500 502 403 404 = /proxy_error.html;
}
location = /proxy_error.html {
root /code/proxy;
}
}
35.使用vim打開proxy.conf文件
Vim proxy.conf
36.修改Listen為listen小寫,並將8080修改為80
%s#Linten#listen#g
%s#8080#80#g
37.修改ServerName為server_name小寫。
%s#ServerName#server_name#g
38.修改vim.OldboyEDU.com為vim.oldboy.com
%s#vim.OldboyEDU.com#vim.oldboy.com#g
39.在server_name行下插入一行 root /code;
3gg>> o >>root/code
40.複製5-14行的內容,然後將其粘貼到14行下麵
5gg>>10yy>>14gg>>p
41.刪除與proxy_set_header相關的兩行全部刪除
/proxy_set_header>>dd>>dd
42.如上操作完成後,在13-20行前面加上#號
13gg >>ctrl+v>>shift+i>>shift+#>>esc esc
43.刪除21-23的行,然後保存當前文件
21gg >>3dd>>:wq
44.寫出你所知道的vim的普通模式,並解釋其含義
可控制游標移動,對文本進行查看、翻頁、複製、粘貼、刪除、剪切等工作
45.寫出你所知道的vim的編輯模式,並解釋其含義
可移動游標自由修改文件
46.寫出你所知道的vim的末行模式,並解釋其含義
主要用於搜索,保存,退出文件,還可以讓用戶執行外部的Linux命令或跳轉到所編寫文檔的特定行數