一、判斷題
1.Linux是單用戶、多任務的操作系統 (❌)
2.使用在CentOS6和CentOS7中查看IP地址得命令都是ifconfig (❌)
3.Linux 得發行版是建立在Linux內核版本之上得(√ )
4.Windowns server的服務器市場占有率比Linux的更大(❌)
5.[ -r file.txt ] 執行后使用echo $?返回結果為0,說明該文件有可讀權限;返回結果為1,說明該文件沒有可讀權限(√ )
6.沒有安裝操作系統的計算機,通常被稱為 裸機(√ )
7.操作系統的作用主要作用是管理好硬件設備,並為用戶和應用程序提供一個簡單的接口,以便於使用(√ )
8.關於虛擬機的描述是否正確虛擬機(Virtual Machine)指通過軟件模擬的具有完整硬件系統功能的、運行在一個完全隔離環境中的完整計算機系統(√ )
9.C語言的可移植性比最開始Unix中的B語言可移植性更差(❌)
10.VIM編輯器是從VI發展出來的一個性能更強大的文本編輯器有三種模式分別是一般模式、編輯模式和指令模式(√ )
11.Linux 中crontab可以設置定時任務 -e:表示編輯定時任務;-l:表示獲取定時任務列表; -r表示刪除定時任務(√ )
12.Linux 使用 ls -al 命令將列出當前目錄中的文件和子目錄名(❌)
13.top -d 5 表示5秒鍾更新一次進程的狀態信息(√ )
14.在shell中創建變量可以以數字開頭例如 0a=1 該變量是有效的(❌)
15.在shell中使用unset可以撤銷readonly修飾的變量(❌)
16.在shell中創建變量export name=lisi,變量name在所有會話以及所有用戶下都可以訪問(❌)
17.使用shutdown -k 5 表示5分鍾后關閉計算機(❌)
18.Windowns是封閉的,系統的可定制性很差,而Linux是開源,可定制性強(√ )
19.Linux系統中一切皆文件(√ )
20.Shell編程語言是一門編譯型語言,Java是解釋型語言(❌)
21.cat f1.txt > f2.txt 可以把f1.txt 復制為 f2.txt(√ )
22.使用 ln -s 可以為指定的文件建立一個軟鏈接(√ )
23./etc/passwd 文件用來存儲創建的用戶信息和相關的參數(√ )
24.使用 rm -rf /tmp/* 即可刪除目錄 /tmp 下的所有文件及子目錄(√ )
25.Linux系統是參照Unix系統演變而來的(√ ) (UNIX————>MINIX—————>LINUX)
26.Linux系統安全管理的內容包括:普通用戶的系統安全、文件系統的安全、進程安全、文件內容的安全(√ )
27.文件權限對應的數字:r——4,w——2,x——1,- ——0(√ )
28.rwx------的數字表示是700,rwxr-x---的數字表示是750,rw-rw-r-x的數字表示是665,rwxr-x-wx的數字表示是753(√ )
29.gzip houge.txt 表示壓縮文件,將houge.txt文件壓縮為houge.txt.gz文件,源文件不會保留(√ )
30. gunzip houge.txt.gz 表示解壓houge.txt.gz,解壓后產生一個houge.txt文件,houge.txt.gz壓縮文件不會保留(√ )
31.ps aux 可以查看所有用戶所有進程(√ )
32.echo $RANDOM | md5sum |cut -c 1-8 表示使用RANDOM函數獲取隨機數字,然后通過MD5加密,剪切加密后的數字串的前8位字符(√ )
33.[ -e /home/jinghang/cls.txt ] 表示判斷/home/jinghang/cls.txt目錄中的文件是否存在(√ )
34、 為了保證windows用戶和Linux主機間用戶能夠正常地進行映射,用戶必需保證在這兩個系統上擁有相同的帳號。(❌)
二、單選題
1.下面哪個不是Linux得發行版本( D )
A.RedHat
B.Centos
C.Ubuntu
D.maxunix
2.顯示當前登錄用戶帳戶的命令正確的是( C )
A.whoami
B.iamwho
C.who am i
D.whoiam
3.Linux在終端下輸入Ctrl+C作用是( B )
A.清屏
B.停止進程
C.查找執行過的命令
D.退出
4.下列關於linux中home目錄描述正確的是(C )
A.這個目錄存放着最經常使用的命令
B.這里存放的系統管理員使用的系統管理程序
C.存放普通用戶的主目錄,在Linux中每個用戶都有自己的一個目錄,一般該目錄是以用戶的賬戶命名
D.存放所有的系統管理所需要的配置文件和子目錄
5.在使用mkdir 命令創建新的目錄時,在其父目錄不存在時先創建父目錄的選項是( D)
A.mkdir -m
B.mkdir -d
C.mkdir -f
D.mkdir -p
6.Linux查看文件的命令,若查看的文件較大應使用 ( C )命令比較高效
A. cat
B. more
C. less
D. head
7.對名為fido 的文件用chmod 551 fido 進行了修改,則它的許可權是(D )
A.-rwxr-xr-x
B.-rwxr--r--
C.-r--r--r--
D.-r-xr-x--x
8.用ls –al 命令列出下面的文件列表,以下哪個文件是軟鏈接文件( D)
A.-rw-rw-rw- 2 hel users 56 Sep 09 11:05 hello
B.-rwxrwxrwx 2 hel users 56 Sep 09 11:05 goodbey
C.drwxr--r-- 1 hel users 1024 Sep 10 08:10 zhang
D.lrwxr--r-- 1 hel users 2024 Sep 12 08:12 cheng -> /home/hel/test
9.以下關於vim 編輯器一般模式的描述正確的是(D )
A.y3y:任何情況下都表示復制文件的前3行
B.yw:表示刪除一個詞
C.shift+^:表示移動到頁頭
D.dd:刪除光標當前行
10.下列關於vim的指令模式描述正確的是( C )
A.在這個模式當中,不能執行搜索、保存、退出等動作
B.:w 表示保存加退出
C.ZZ 沒有修改文件直接退出,如果修改了文件保存后退出
D.:wq! 表示非強制保存退出
11.改變文件所有者的命令為 ( C )
A.chmod
B.touch
C.chown
D.cat
12.下面哪個參數可以刪除一個用戶並同時刪除用戶的主目錄(C)
A.rmuser -rf
B.deluser -rf
C.userdel -rf
D.usermgr -rf
13.下列那個命令可以把f1.txt復制為f2.txt ( B )
A.cp f1.txt | f2.txt
B.cat f1.txt > f2.txt
C.cat f1.txt | f2.txt
D.copy f1.txt | f2.txt
14.一個shell腳本的第一行是什么(A )
A. #!/bin/bash
B. #/bin/bash
C. #/bin/csh
D. /bin/bash
15.使用下面的哪條命令可以為指定的文件建立一個軟鏈接(B )
A.ln
B.ln -s
C.links
D.links -s
16./etc/passwd文件用來存儲(B)的信息
A.系統中所有用戶的加密過的密碼
B.創建的用戶信息和相關的參數
C.用戶和組的加密后的密碼
D.所有用戶和服務器的密碼
17.以下哪條命令可以更改指定組的相關信息( B )
A.groups
B.groupmod
C.groupinfo
D.group
18.在Linux下用來查看網絡設備信息所使用的命令是哪個( C )
A.ping
B.ipconfig
C.ifconfig
D.netstat
19.在linux下使用echo 將“aaa”追加到bbb.txt 所使用的追加符號是( B)
A.>
B.>>
C.<
D.<<
20.如何刪除目錄 /tmp下的所有文件及子目錄(D )
A.del /tmp/*
B.rm -rf /tmp
C.rm -Ra /tmp/*
D.rm -rf /tmp/*
21.linux存放基本命令的目錄是什么(A)
A./bin
B./root
C./home
D./etc
22.你使用命令“vi /etc/inittab”查看該文件的內容,你不小心改動了一些內容,為了防止系統出問題,你不想保存所修改內容,你應該如何操作(B )
A.在末行模式下,鍵入:wq
B.在末行模式下,鍵入:q!
C.在末行模式下,鍵入: w!
D.在末行模式下,鍵入: wq!
23.Linux系統是參照_____系統演變而來的?(A)
A.unix
B.windows
C.Android
D.iOS
24.下列統計/root文件夾下的文件的個數正確的是( A)
A. ls -l /root | grep "^-" | wc -l
B. ls -l /root | grep "^" | wc -l
C. ls -l /root | grep "^-" | wcp -ls
D. ls -l /root | grep "^-" | wc -ls
25.以下關於運算符表達式的計算不能得到5的是( B)
A. expr 2 + 3
B. expr 2+3
C. echo $((2+3))
D. echo $[ 2 + 3 ]
26.shell 中自定義函數可以return一個返回值,下列描述正確的是(C )
A. 返回的值可以是為特殊字符
B. 返回的值可以大於255
C. 返回的值只能是數字,且在0~255之間
D. 返回的值可以是”abcd”
27.Linux 文件權限一共10 位長度,分成四段,第三段表示的內容是 ( C )
A.文件類型
B. 文件所有者的權限
C.文件所有者所在組的權限
D.其他用戶的權限
28.Linux中中權限最大的帳戶是( B )
A.admin
B.root
C.guest
D.super
29.下面哪個命令是用來定義shell的環境變量( D )
A. exportfs
B. alias
C. exports
D. export
30.顯示用戶的主目錄的命令是什么( A)
A. echo $HOME
B. echo $USERDIR
C. echo $ENV
D. echo $ECHO
31.以下對於shell用戶變量的定義,不對的是(C)
A. g_Linux=2.6.30
B. LINUX=2.6.30
C. 0_Linux=2.6.30
D. linux=2.6.30
32.以下關於條件判斷描述不正確的是( D )
A. -lt 小於 兩個整數之間比較
B. -gt 大於 兩個整數之間比較
C. -ne 不等於 兩個整數之間比較e
D. -ge 大於 兩個整數之間比較
33.下列運行腳本的方式不正確的是(D)
A. sh shell01.sh
B. bash shell01.sh
C. bash /home/jinghang/shell01.sh
D. 不需要給腳本添加(chmod +x shell01.sh)執行權限,直接使用相對路徑運行腳本 ./shell01.sh
34.下列關於RPM描述不正確的是(B)
A. rpm -ihv rpm軟件包 命令可以安裝軟件包
B. rpm -ihv rpm軟件包 命令可以下載並安裝軟件包
C. rpm -e rpm軟件包 命令可以卸載軟件包
D. rpm -qa 查詢所安裝的所有rpm軟件包
35.缺省的,用戶郵件放在:(D)
A. ~/mail/
B. /var/mail/
C. /var/mail/spool/
D. /var/spool/mail/
36.下面哪個文件定義了網絡服務的端口(B)
A. /etc/netport
B. /etc/services
C. /etc/server
D. /etc/netconf
37.TCP/IP中,哪個協議是用來進行IP自動分配的(C)
A. ARP
B. NFS
C. DHCP
D. DNS
38.下面哪個命令不是用來查看網絡故障的(B)
A. ping
B. init
C. telnet
D. netstat
39.ping使用的協議是:(D)
A. TCP
B. UDP
C. SMB
D. ICMP
40.linux 表示主機名與IP地址映射關系的文件是( C )
A. /etc/host.conf
B. /etc/hostname
C. /etc/hosts
D. /etc/resolv.conf
41.某客戶端在采用ping命令檢測網絡連接故障時,發現可以ping通127.0.0.1及本機的IP地址,但無法ping通同一網段內其他工作正常的計算機的IP地址,說明該客戶端的故障是( C )
A. TCP/IP協議不能正常工作
B. 本機網卡不能正常工作
C. 本機網絡接口故障
D. 本機DNS服務器地址設置錯誤
42、什么命令常用於檢測網絡主機是否可達( C)
A.ssh
B.netstat
C.ping
D.exit
三、多選題
1.linux中使用tar歸檔命令,對其參數的正確描述是( AB )
A..-c :建立一個打包文件(產生.tar打包文件)
B..-x :解開一個打包文件(解包.tar文件)
C.-v :打包文件
D.-f :保持原文件的屬性
2.下列關於 su 命令描述正確得是(AB)
A.su root 輸入密碼后會切換到root用戶
B.su 命令用來切換用戶
C.沒有su指令
D.su 用來執行sudo系統管理原權限
3.下列關於sed描述正確得是( BC )
A.sed -e 's/linux1/linux2/g' /etc/sysconfig/network 表示在/etc/sysconfig/network文件中全局查找linux1替換為linux2,會對network文件進行修改
B.sed -i 's/linux1/linux2/g' /etc/sysconfig/network 表示在/etc/sysconfig/network文件中全局查找linux1替換為linux2,會對network文件進行修改
C.sed -e 's/linux1/linux2/g' /etc/sysconfig/network 表示在/etc/sysconfig/network文件中全局查找linux1替換為linux2,不會對network文件進行修改
D..sed -i 's/linux1/linux2/g' /etc/sysconfig/network 表示在/etc/sysconfig/network文件中全局查找linux1替換為linux2,不會對network文件進行修改
4.下面描述正確的是(ABCD )
A.rwx------的數字表示是700
B.rwxr-x---的數字表示是750
C.rw-rw-r-x的數字表示是665
D.rwxr-x-wx的數字表示是753
5.下列關於find描述正確的是( BCD)
A.find指令只會查找指定目錄得第一層子目錄
B.find /home -name “class*”: 查找home目錄下所有以class開頭得文件或目錄
C.find /home -user lisi:表示查找home目錄下所有者為李四得文件或目錄
D.find /home -size +1024k :表示查找home目錄中大於1M得文件
6.下列關於 gzip和gunzip描述正確的是( BD )
A.gzip houge.txt 表示壓縮文件,將 houge.txt 文件壓縮為 houge.txt .gz文件,源文件會保留
B.gzip houge.txt 表示壓縮文件,將 houge.txt 文件壓縮為 houge.txt .gz文件,源文件不會保留
C.gunzip houge.txt .gz 表示解壓houge.txt .gz,解壓后產生一個 houge.txt文件, houge.txt .gz壓縮文件會保留
D.gunzip houge.txt .gz 表示解壓houge.txt .gz,解壓后產生一個 houge.txt文件, houge.txt .gz壓縮文件不會保留
7.下列相關命令描述正確的是( BD )
A.useradd -b /home/wangwu zhaoliu 新增用戶,並為用戶指定家目錄為/home/wangwu
B.userdel -rf lisi ;該命令會刪除lisi這個用戶以及用戶主和用戶主目錄
C.groupmod -c “普通用戶” lisi ;該命令表示為用戶lisi添加用戶注釋信息
D.cat /etc/group 可以查看我們創建了哪些組和相關組id
8.下列關於操作用戶的相關命令正確的是(ABD )
A.passwd jinghang 表示設置(修改)用戶jinghang的密碼
B.id zhangsan 表示查看用戶zhangsan是否存在
C.who am i 表示查看當前用戶
D.usermod -g root jinghang 表示修改用戶jinghang所在的組為root
9.下列關於正則表達式的描述正確的是( ABCD )
A. \d 單字符匹配表示匹配數字0~9
B. [^a-z] 單字符匹配表示不匹配a-z之間的字符
C. . 匹配除了換行符之外的任意字符
D. ^ 匹配以...開頭
10.下列關於Shell中的數組操作正確的是(ABCD )
A. 撤銷數組中得第二個元素 unset arr[1]
B. 讀取數組中的第一個元素echo ${arr[0]}
C. 獲取數組的長度echo ${#arr[@]}
D. 獲取數組中的所有元素 echo ${arr[*]}
11.Linux系統安全管理的內容包括(ABCD )
A.普通用戶的系統安全
B.文件系統的安全
C.進程安全
D.文件內容安全
12.以下關於Linux的命令描述正確的是(ABCD)
A. mount 命令用來掛載設備
B. umount 命令用來卸載設備
C. du 查看指定目錄的磁盤占用情況
D. fdisk -l 查看磁盤分區詳情
13.下列關於shell常用的判斷條件描述正確的是(ABC)
A. -f 文件存在並且是一個常規的文件(file)
B. -e 文件存在(existence)
C. -d 文件存在並是一個目錄(directory)
D. -dir 文件存在並是一個目錄(directory)
14.以下哪些是shell中的文本處理工具(ABCD)
A. awk
B. sed
C. sort
D. cut
15.以下哪些是shell的解釋器( ABC)
A. /bin/bash
B. /bin/tcsh
C. /bin/csh
D. /bin/bsh
四、簡答題
1.我想在/data/old目錄下面創建 一個oldboy.txt文件,但是執行如下命令后報錯
[root@oldboyedu ~]# cd /data/old
-bash: cd: /data/old: No such file or directory
問題1:為何出現這樣的錯誤?問題2:如何解決這個錯誤呢?
1.因為要進入的文件目錄不存在(No such file or directory);
2.創建目錄,給出命令:
mkdir -p /data/old
cd /data/old
touch oldboy.txt
2.列出至少10個linux中常用的命令,並說明他們的含義
mkdir 創建目錄
touch 創建一個空文件
useradd 添加一個新用戶
echo 輸出內容到控制台
userdel 刪除用戶
chown 修改文件或者目錄的所有者
chmod 修改文件或者目錄的操作權限
rm -rf 強制遞歸刪除目錄
rmdir 刪除一個空的目錄
ln -s 創建一個軟鏈接
groupadd 添加一個組
3.解釋以下內容的含義
drwxr-xr-x 3 root root 4096 12月 12 15:23 test
表示文件的名稱為test,該文件是一個文件夾,有3個硬鏈接,root用戶對該文件夾有可讀、可寫、可執行權限,root組的用戶對該文件夾有可讀、可執行權限,對於其他用戶對該文件夾有可讀、可執行權限,文件的大小為4K 4096byes;創建改文件夾的時間為12月12日下午3點23分
4.假設你是系統管理員,需要增加一個新的用戶賬號zheng,為新用戶設置初始密碼,用戶賬號chang進行了違規操作,需要刪除用戶賬號chang並刪除用戶目錄
useradd zheng
為新用戶設置初始密碼
passwd zheng
刪除用戶賬號chang並刪除用戶目錄
userdel -r chang
5.Linux如何查看進程,和殺死進程?
ps -aux 查看所有用戶所有進程
ps -ef 查看子父進程之間的關系
ps -aux | grep 進程名稱
kill -9 pid(進程號)
killall 進程名稱
6.完成如下兩個定時任務
(1)每分鍾清空/tmp/內容
* * * * * /bin/rm -rf /tmp/*
(2)每個星期三的下午6點和8點的第5到15分鍾之間備份 /home/jinghang 文件夾下的數據到/opt/software
5-15 18,20 * * 3 /bin/cp /home/jinghang/* /opt/software/
7.在Shell中的特殊變量$1、$0、$@ 、$#、 $* 、$?分別表示什么含義?$@、 $*有區別嗎?
$1 表示獲取腳本中第一個參數
$0 可以獲取運行腳本的名稱
$# 獲取所有輸入參數個數
$* 這個變量代表命令行中所有的參數
$@ 這個變量也代表命令行中所有的參數
$? 返回執行命令的狀態,0:一般表示命令執行成功;非0:一般表示執行不成功
$* 把所有的參數看成一個整體
$@ 把每個參數區分對待
8.編寫一個腳本計算1~100之間所有偶數的和?
#!/bin/bash
#Desc:累加1到100之間的偶數和
sum=0
for ((i=0;i<=100;i++))
do
if [ $[i%2] -eq 0 ]
then
sum=$[sum+i]
fi
done
echo "1到100的偶數和為$sum"
9.Linux查看如何查看系統整體的性能情況、內存、磁盤存儲、io 讀寫、端口占用、進程等命令分別是什么?
查看系統整體的性能情況:top
查看內存:free
查看磁盤存儲情況:df -h
查看磁盤IO讀寫情況:iotop(需要安裝一下:yum install iotop)、iotop -o(直接查看輸出比較高的磁盤讀寫程序)
查看端口占用情況:netstat -nlp | grep 端口號
查看進程:ps -aux
10.如何強制刪除/home/jinghang目錄下的class開頭的所有文件和目錄?
rm -rf /home/jinghang/class*
11.linux如何安裝軟件?命令常用得選項有什么含義?
(1)rpm 安裝本地軟件包
rpm -qa 系統安裝了哪些軟件包名
rpm -qi 軟件包 展示軟件包的詳細信息
rpm -e 軟件包 卸載軟件包
rpm -ihv 軟件包名
-i install 安裝
-v 顯示詳細信息
-h 展示安裝的進度條
(2)yum -y [選項] 軟件名
(從鏡像服務器獲取軟件包,並安裝)
install 安裝rpm軟件包
update 更新rpm軟件包
check-update 檢查是否有可用的更新rpm軟件包
remove 刪除指定的rpm軟件包
list 顯示軟件包信息
clean 清理yum過期的緩存 yum clean all
deplist 顯示yum軟件包的所有依賴關系
12.編寫腳本判斷/root/class21/inittab.txt文件是否大於100行,如果大於,則顯示”inittab is a big file.”否者顯示”inittab is a small file.”
#!/bin/bash
num=$(awk "BEGIN{sum=0}{sum+=1}END{print sum}" /root/class22_shell/inittab.txt)
echo $num
if [ $num -gt 100 ]
then
echo "inittab is a big file."
else
echo "inittab is a small file."
fi
13.如何獲取文本文件的第 10 行內容 ?
head -n 10 file | tail -n 1
14.如何列出Linux系統中以 ab 或 xy 開頭的用戶名 ?
awk -F : '/^ab|^xy/{print $1}' /etc/passwd