linux常用命令有:
成都創(chuàng)新互聯(lián)憑借在網(wǎng)站建設(shè)、網(wǎng)站推廣領(lǐng)域領(lǐng)先的技術(shù)能力和多年的行業(yè)經(jīng)驗(yàn),為客戶提供超值的營(yíng)銷型網(wǎng)站建設(shè)服務(wù),我們始終認(rèn)為:好的營(yíng)銷型網(wǎng)站就是好的業(yè)務(wù)員。我們已成功為企業(yè)單位、個(gè)人等客戶提供了成都網(wǎng)站制作、成都網(wǎng)站設(shè)計(jì)服務(wù),以良好的商業(yè)信譽(yù),完善的服務(wù)及深厚的技術(shù)力量處于同行領(lǐng)先地位。
1、cp命令,作用復(fù)制,參數(shù)如下:
-a:將文件的特性一起復(fù)制。
-p:連同文件的屬性一起復(fù)制,而非使用默認(rèn)方式,與-a相似,常用于備份。
-i:若目標(biāo)文件已經(jīng)存在時(shí),在覆蓋時(shí)會(huì)先詢問操作的進(jìn)行。
-r:遞歸持續(xù)復(fù)制,用于目錄的復(fù)制行為。
-u:目標(biāo)文件與源文件有差異時(shí)才會(huì)復(fù)制。
2、rm命令作用為刪除,參數(shù):
-f:就是force的意思,忽略不存在的文件,不會(huì)出現(xiàn)警告消息。
-i:互動(dòng)模式,在刪除前會(huì)詢問用戶是否操作。
-r:遞歸刪除,最常用于目錄刪除,它是一個(gè)非常危險(xiǎn)的參數(shù)。
3、mv命令作用為移動(dòng)文件:
-f:force強(qiáng)制的意思,如果目標(biāo)文件已經(jīng)存在,不會(huì)詢問而直接覆蓋。
-i:若目標(biāo)文件已經(jīng)存在,就會(huì)詢問是否覆蓋。
-u:若目標(biāo)文件已經(jīng)存在,且比目標(biāo)文件新,才會(huì)更新。
4、pwd命令,作用為查看”當(dāng)前工作目錄“的完整路徑。
pwd-P#顯示出實(shí)際路徑,而非使用連接(link)路徑;pwd顯示的是連接路徑。
5、rmdir命令刪除目錄:
rmdir [選項(xiàng)]... 目錄...
-p:遞歸刪除目錄dirname,當(dāng)子目錄刪除后其父目錄為空時(shí),也一同被刪除。如果整個(gè)路徑被刪除或者由于某種原因保留部分路徑,則系統(tǒng)在標(biāo)準(zhǔn)輸出上顯示相應(yīng)的信息。
-v:verbose顯示指令執(zhí)行過程。
本文并不會(huì)對(duì)所有命令進(jìn)行詳細(xì)講解,只給出常見用法和解釋。具體用法可以使用 --help 查看幫助或者直接通過google搜索學(xué)習(xí)。
find / -name filename.txt 根據(jù)名稱查找/目錄下的filename.txt文件。
find . -name "*.xml" 遞歸查找所有的xml文件
find . -name "*.xml" |xargs grep "hello world" 遞歸查找所有文件內(nèi)容中包含hello world的xml文件
grep -H 'spring' *.xml 查找所以有的包含spring的xml文件
find ./ -size 0 | xargs rm -f 刪除文件大小為零的文件
ls -l | grep '.jar' 查找當(dāng)前目錄中的所有jar文件
grep 'test' d* 顯示所有以d開頭的文件中包含test的行。
grep 'test' aa bb cc 顯示在aa,bb,cc文件中匹配test的行。
grep '[a-z]{5}' aa 顯示所有包含每個(gè)字符串至少有5個(gè)連續(xù)小寫字符的字符串的行。
ps -ef|grep tomcat 查看所有有關(guān)tomcat的進(jìn)程
kill -9 19979 終止線程號(hào)位19979的進(jìn)程
ls -al
pwd
cp source dest 復(fù)制文件
cp -r sourceFolder targetFolder 遞歸復(fù)制整個(gè)文件夾
scp sourecFile romoteUserName@remoteIp:remoteAddr 遠(yuǎn)程拷貝
mkdir newfolder
rmdir deleteEmptyFolder 刪除空目錄
rm -rf deleteFile 遞歸刪除目錄中所有內(nèi)容
mv /temp/movefile /targetFolder
mv oldNameFile newNameFile
su -username
chmod 777 file.java file.java 的權(quán)限 -rwxrwxrwx ,r表示讀、w表示寫、x表示可執(zhí)行
tar -czf test.tar.gz /test1 /test2
tar -tzf test.tar.gz
tar -xvzf test.tar.gz
head -n 10 example.txt
tail -n 10 example.txt
tail -f exmaple.log 這個(gè)命令會(huì)自動(dòng)顯示新增內(nèi)容,屏幕只顯示10行內(nèi)容的(可設(shè)置)。
sudo rm a.txt 使用管理員身份刪除文件
netstat -tln | grep 8080 查看端口8080的使用情況
lsof -i :8080
ps aux|grep java 查看java進(jìn)程
ps aux 查看所有進(jìn)程
tree a
wget
curl
ping
ssh userName@ip
echo $JAVA_HOME 打印java home環(huán)境變量的值
java javac jps ,jstat ,jmap, jstack
svn git maven
歡迎補(bǔ)充!~
0 1 * * * /bin/sh /usr/bin/fileback
7.有一普通用戶想在每周日凌晨零點(diǎn)零分定期備份/user/backup到/tmp目錄下,該用戶應(yīng)如何做?
參考答案:(1)第一種方法:
用戶應(yīng)使用crontab –e 命令創(chuàng)建crontab文件。格式如下:
0 0 * * sun cp –r /user/backup /tmp
(2)第二種方法:
用戶先在自己目錄下新建文件file,文件內(nèi)容如下:
0 * * sun cp –r /user/backup /tmp
然后執(zhí)行 crontab file 使生效。
8.設(shè)計(jì)一個(gè)Shell程序,在/userdata目錄下建立50個(gè)目錄,即user1~user50,并設(shè)置每個(gè)目錄的權(quán)限,其中其他用戶的權(quán)限為:讀;文件所有者的權(quán)限
為:讀、寫、執(zhí)行;文件所有者所在組的權(quán)限為:讀、執(zhí)行。
參考答案: 建立程序 Pro16如下:
#!/bin/sh
i=1
while [ i -le 50 ]
do
if [ -d /userdata ];then
mkdir -p /userdata/user$i
chmod 754 /userdata/user$i
echo "user$i"
let "i = i + 1" (或i=$(($i+1))
else
mkdir /userdata
mkdir -p /userdata/user$i
chmod 754 /userdata/user$i
echo "user$i"
let "i = i + 1" (或i=$(($i+1))
fi
done
五、多選題
1.關(guān)于硬鏈接的描述正確的(BE)。
A 跨文件系統(tǒng) B不可以跨文件系統(tǒng) D可以做目錄的連接
C 為鏈接文件創(chuàng)建新的i節(jié)點(diǎn) E鏈接文件的i節(jié)點(diǎn)同被鏈接文件的i節(jié)點(diǎn)
2.在網(wǎng)站發(fā)布用戶wang的個(gè)人網(wǎng)頁(yè)時(shí),需要?jiǎng)?chuàng)建用戶網(wǎng)頁(yè)目錄,假定用戶網(wǎng)頁(yè)目錄設(shè)定為web
(用戶目錄在/home目錄下),如下描述正確的是(BCE)
A 存放用戶網(wǎng)頁(yè)的絕對(duì)路徑/wang/web B存放用戶網(wǎng)頁(yè)的目錄~wang/
C 存放用戶網(wǎng)頁(yè)的絕對(duì)路徑/home/wang/web D存放用戶網(wǎng)頁(yè)的絕對(duì)路徑/home/web
E 在本機(jī)訪問用戶wang的個(gè)人網(wǎng)頁(yè)的URL地址~wang/
3.在一臺(tái)WWW服務(wù)器上將端口號(hào)設(shè)定為8000,默認(rèn)的網(wǎng)頁(yè)文件index.html,服務(wù)器網(wǎng)頁(yè)的根目錄/www。在本機(jī)訪問服務(wù)器時(shí),正確的用法是(BDE)
A 瀏覽器訪問該服務(wù)器的URL地址
B 瀏覽器訪問該服務(wù)器的URL地址
C 瀏覽器訪問該服務(wù)器的用戶li網(wǎng)頁(yè)URL地址
D 瀏覽器訪問該服務(wù)器的用戶li網(wǎng)頁(yè)URL地址
E 瀏覽器訪問該服務(wù)器的URL地址localhost:8000/
4.在shell編程中關(guān)于$2的描述正確的是(CE)
A 程序后攜帶了兩個(gè)位置參數(shù) B 宏替換 C 程序后面攜帶的第二個(gè)位置參數(shù)
D 攜帶位置參數(shù)的個(gè)數(shù) E 用$2引用第二個(gè)位置參數(shù)
5.某文件的權(quán)限是 - r w x r - - r- -,下面描述正確的是(CD)
A 文件的權(quán)限值是755 B 文件的所有者對(duì)文件只有讀權(quán) 限
C 文件的權(quán)限值是 744 D 其他用戶對(duì)文件只有讀權(quán)限 E同組用戶對(duì)文件只有寫權(quán)限
6.關(guān)于OpenSSH的作用的描述正確的是(ACE)
A 開放源代碼的安全加密程序 B OpenSSH常用于為http協(xié)議加密
C OpenSSH用于提高遠(yuǎn)程登錄訪問的安全性 D 它和telnet實(shí)用同樣的端口號(hào)
E OpenSSH是免費(fèi)下載的應(yīng)程序
7.關(guān)于NFS服務(wù)器描述正確的是(BC)
A 網(wǎng)絡(luò)中實(shí)現(xiàn)Windows系統(tǒng)之間文件系統(tǒng)共享的應(yīng)用軟件
B 網(wǎng)絡(luò)中實(shí)現(xiàn)Linux系統(tǒng)之間文件系統(tǒng)共享的應(yīng)用軟件
C 網(wǎng)絡(luò)中實(shí)現(xiàn)Unix系統(tǒng)之間文件系統(tǒng)共享的應(yīng)用軟件
D 網(wǎng)絡(luò)中實(shí)現(xiàn)Windows系統(tǒng)和Unix之間文件系統(tǒng)共享的應(yīng)用軟件
E 網(wǎng)絡(luò)中實(shí)現(xiàn)Windows系統(tǒng)和Linux之間文件系統(tǒng)共享的應(yīng)用軟件
8.關(guān)于sed描述正確的是(ABD)
A sed 是Linux系統(tǒng)中的流編輯器 B sed 是UNIX系統(tǒng)中的流編輯器
C sed 網(wǎng)絡(luò)文件系統(tǒng)的類型
D 利用管道對(duì)標(biāo)準(zhǔn)輸入/標(biāo)準(zhǔn)輸入的數(shù)據(jù)進(jìn)行編輯和組合
E sed是NFS的應(yīng)用程序
9.關(guān)于限制磁盤限額,描述正確的是(ABD)
A 使用edquota可以監(jiān)控系統(tǒng)所有用戶使用的磁盤空間,并在接近極限時(shí)提示用戶
B 用戶組的磁盤限額是用戶組內(nèi)所有用戶予設(shè)磁盤空間總和
C 單個(gè)用戶的磁盤限額就是該用戶所在用戶組內(nèi)所有磁盤限額的總合
D 在Linux系統(tǒng)下限制用戶使用的磁盤空間可以使用edquota
E 用戶組的磁盤限額就是該用戶組內(nèi)擁有最大磁盤限額值的用戶的磁盤限額
10.關(guān)于建立系統(tǒng)用戶的正確描述是(ABD)
A 在Linux系統(tǒng)下建立用戶使用adduser命令
B 每個(gè)系統(tǒng)用戶分別在/etc/passwd和/etc/shadow文件中有一條記錄
C 訪問每個(gè)用戶的工作目錄使用命令“cd /用戶名”
D 每個(gè)系統(tǒng)用戶在默認(rèn)狀態(tài)下的工作目錄在/home/用戶名
E 每個(gè)系統(tǒng)用戶在/etc/fstab文件中有一條記錄
1、解釋下什么是GPL,GNU,自由軟件?
GPL:(通用公共許可證):一種授權(quán),任何人有權(quán)取得、修改、重新發(fā)布自由軟件的權(quán)力。
GNU:(革奴計(jì)劃):目標(biāo)是創(chuàng)建一套完全自由、開放的的操作系統(tǒng)。
自由軟件:是一種可以不受限制地自由使用、復(fù)制、研究、修改和分發(fā)的軟件。主要許可證有GPL和BSD許可證兩種。
2、linux系統(tǒng)里,buffer和cache如何區(qū)分?
buffer和cache都是內(nèi)存中的一塊區(qū)域,
當(dāng)CPU需要寫數(shù)據(jù)到磁盤時(shí),由于磁盤速度比較慢,所以CPU先把數(shù)據(jù)存進(jìn)buffer,
然后CPU去執(zhí)行其他任務(wù),buffer中的數(shù)據(jù)會(huì)定期寫入磁盤;
當(dāng)CPU需要從磁盤讀入數(shù)據(jù)時(shí),由于磁盤速度比較慢,
可以把即將用到的數(shù)據(jù)提前存入cache,CPU直接從Cache中拿數(shù)據(jù)要快的多。
3、描述Linux運(yùn)行級(jí)別0-6的各自含義
0:關(guān)機(jī)模式
1:?jiǎn)斡脩裟J?=破解root密碼
2:無網(wǎng)絡(luò)支持的多用戶模式
3:有網(wǎng)絡(luò)支持的多用戶模式(文本模式,工作中最常用的模式)
4:保留,未使用
5:有網(wǎng)絡(luò)支持的X-windows支持多用戶模式(桌面)
6: 重新引導(dǎo)系統(tǒng),即重啟
4、描述Linux系統(tǒng)從開機(jī)到登陸界面的啟動(dòng)過程
⑴開機(jī)BIOS自檢,加載硬盤。
⑵讀取MBR,MBR引導(dǎo)。
⑶grub引導(dǎo)菜單(Boot Loader)。
⑷加載內(nèi)核kernel。
⑸啟動(dòng)init進(jìn)程,依據(jù)inittab文件設(shè)定運(yùn)行級(jí)別
⑹init進(jìn)程,執(zhí)行rc.sysinit文件。
⑺啟動(dòng)內(nèi)核模塊,執(zhí)行不同級(jí)別的腳本程序。
⑻執(zhí)行/etc/rc.d/rc.local
⑼啟動(dòng)mingetty,進(jìn)入系統(tǒng)登陸界面。
5、描述Linux下軟鏈接和硬鏈接的區(qū)別
在Linux系統(tǒng)中,鏈接分為兩種,一種是硬鏈接(Hard link),另一種稱為符號(hào)鏈接或軟鏈接(Symbolic Link)。
①默認(rèn)不帶參數(shù)的情況下,ln創(chuàng)建的是硬鏈接,帶-s參數(shù)的ln命令創(chuàng)建的是軟鏈接。
②硬鏈接文件與源文件的inode節(jié)點(diǎn)號(hào)相同,而軟鏈接文件的inode節(jié)點(diǎn)號(hào),與源文件不同,
③ln命令不能對(duì)目錄創(chuàng)建硬鏈接,但可以創(chuàng)建軟鏈接。對(duì)目錄的軟鏈接會(huì)經(jīng)常使用到。
④刪除軟鏈接文件,對(duì)源文件和硬鏈接文件無任何影響。
⑤刪除文件的硬鏈接文件,對(duì)源文件及軟鏈接文件無任何影響。
⑥刪除鏈接文件的源文件,對(duì)硬鏈接文件無影響,會(huì)導(dǎo)致其軟鏈接失效(紅底白字閃爍狀)。
⑦同時(shí)刪除源文件及其硬鏈接文件,整個(gè)文件才會(huì)被真正的刪除。
⑧很多硬件設(shè)備的快照功能,使用的就是類似硬鏈接的原理。
⑨軟鏈接可以跨文件系統(tǒng),硬鏈接不可以跨文件系統(tǒng)。
6、shell腳本中“$?”標(biāo)記的用途是什么?
在寫一個(gè)shell腳本時(shí),如果你想要檢查前一命令是否執(zhí)行成功,在if條件中使用“ ?
如果結(jié)束狀態(tài)是0,說明前一個(gè)命令執(zhí)行成功。
root@localhost:~# ls /usr/bin/share
ls: cannot access /usr/bin/share: No such file or directory
root@localhost:~# echo $?
2
如果結(jié)束狀態(tài)不是0,說明命令執(zhí)行失敗。
7、如何讓history命令顯示具體時(shí)間?
$ HISTTIMEFORMAT="%Y-%m-%d %H:%M:%S"
$ export HISTTIMEFORMAT
重新開機(jī)后會(huì)還原,可以寫/etc/profile
8、用shell統(tǒng)計(jì)ip訪問情況,要求分析nginx訪問日志,找出訪問頁(yè)面數(shù)量在前10位的IP數(shù)。以下是nginx的訪問日志節(jié)選
202.101.129.218- - [26/Mar/2006:23:59:55 +0800] "GET /online/stat_inst.php?pid=d065HTTP/1.1" 302 20-"-" "-" "Mozilla/4.0(compatible; MSIE 6.0; Windows NT 5.1)"
1}' access.log |sort|uniq -c |head -n 10
31 202.101.129.218
21 123.93.29.11
11 13.92.19.31
9、將本地的80端口的請(qǐng)求轉(zhuǎn)發(fā)到8080端口,本機(jī)地址10.0.0.254,寫出命令
$ iptables -t nat -A PREROUTING -d 10.0.0.254 -p tcp --dprot 80 -j DNAT --to-destination 10.0.0.254:8080
10、Load過高的可能性有哪些?
排查思路:
其他經(jīng)驗(yàn):
cpu load的飆升,一方面可能和full gc的次數(shù)增大有關(guān),一方面可能和死循環(huán)有關(guān)
11、描述/etc/fstab 文件中每個(gè)字段的含義?
(1)第一列:將被加載的文件系統(tǒng)名;
(2)第二列:該文件系統(tǒng)的安裝點(diǎn);
(3)第三列:文件系統(tǒng)的類型;
(4)第四列:設(shè)置參數(shù);
(5)第五列:供備份程序確定上次備份距現(xiàn)在的天數(shù);
(6)第六列:在系統(tǒng)引導(dǎo)時(shí)檢測(cè)文件系統(tǒng)的順序。
12、 如何在打包時(shí)排除指定目錄?
$ tar --exclude=/home/dmtsai --exclude= .tar -zcvf myfile.tar.gz /home/ /etc
mysql update user set password=password('123123') where user='root';