面試??嫉?21 條 Linux 命令
一、文件和目錄
1. cd命令
(它用于切換當(dāng)前目錄,它的參數(shù)是要切換到的目錄的路徑,可以是絕對路徑,也可以是相對路徑)
-
cd /home ? ?進(jìn)入 '/ home' 目錄 -
cd .. ? ? ? ? ? ?返回上一級目錄 -
cd ../.. ? ? ? ? 返回上兩級目錄 -
cd ? ? ? ? ? ? ? 進(jìn)入個人的主目錄 -
cd ~user1 ? 進(jìn)入個人的主目錄 -
cd - ? ? ? ? ? ? 返回上次所在的目錄
2. pwd命令
pwd 顯示工作路徑
3. ls命令
(查看文件與目錄的命令,list之意)
-
ls 查看目錄中的文件 -
ls -l 顯示文件和目錄的詳細(xì)資料 -
ls -a 列出全部文件,包含隱藏文件 -
ls -R 連同子目錄的內(nèi)容一起列出(遞歸列出),等于該目錄下的所有文件都會顯示出來 -
ls [0-9] 顯示包含數(shù)字的文件名和目錄名
4. cp 命令
(用于復(fù)制文件,copy之意,它還可以把多個文件一次性地復(fù)制到一個目錄下)
-
-a :將文件的特性一起復(fù)制 -
-p :連同文件的屬性一起復(fù)制,而非使用默認(rèn)方式,與-a相似,常用于備份 -
-i :若目標(biāo)文件已經(jīng)存在時,在覆蓋時會先詢問操作的進(jìn)行 -
-r :遞歸持續(xù)復(fù)制,用于目錄的復(fù)制行為 -
-u :目標(biāo)文件與源文件有差異時才會復(fù)制
5. ?mv命令
(用于移動文件、目錄或更名,move之意)
-
-f :force強制的意思,如果目標(biāo)文件已經(jīng)存在,不會詢問而直接覆蓋 -
-i :若目標(biāo)文件已經(jīng)存在,就會詢問是否覆蓋 -
-u :若目標(biāo)文件已經(jīng)存在,且比目標(biāo)文件新,才會更新
6. ?rm 命令
(用于刪除文件或目錄,remove之意)
-
-f :就是force的意思,忽略不存在的文件,不會出現(xiàn)警告消息 -
-i :互動模式,在刪除前會詢問用戶是否操作 -
-r :遞歸刪除,最常用于目錄刪除,它是一個非常危險的參數(shù)
二、查看文件內(nèi)容
7. cat命令
(用于查看文本文件的內(nèi)容,后接要查看的文件名,通??捎霉艿琅cmore和less一起使用)
-
cat file1
?從第一個字節(jié)開始正向查看文件的內(nèi)容 -
tac file1
?從最后一行開始反向查看一個文件的內(nèi)容 -
cat -n file1
?標(biāo)示文件的行數(shù) -
more file1
?查看一個長文件的內(nèi)容 -
head -n 2 file1
?查看一個文件的前兩行 -
tail -n 2 file1
?查看一個文件的最后兩行 -
tail -n +1000 file1
??從1000行開始顯示,顯示1000行以后的 -
cat filename | head -n 3000 | tail -n +1000
??顯示1000行到3000行 -
cat filename | tail -n +3000 | head -n 1000
??從第3000行開始,顯示1000(即顯示3000~3999行)
三、文件搜索
8. find命令()
-
find / -name file1
?從 '/' 開始進(jìn)入根文件系統(tǒng)搜索文件和目錄 -
find / -user user1
?搜索屬于用戶 'user1' 的文件和目錄 -
find /usr/bin -type f -atime +100
?搜索在過去100天內(nèi)未被使用過的執(zhí)行文件 -
find /usr/bin -type f -mtime -10
?搜索在10天內(nèi)被創(chuàng)建或者修改過的文件 -
whereis halt
?顯示一個二進(jìn)制文件、源碼或man的位置 -
which halt
?顯示一個二進(jìn)制文件或可執(zhí)行文件的完整路徑
刪除大于50M的文件:
四、文件的權(quán)限 - 使用 "+" 設(shè)置權(quán)限,使用 "-" 用于取消
9. chmod 命令
-
ls -lh 顯示權(quán)限 -
chmod ugo+rwx directory1 設(shè)置目錄的所有人(u)、群組(g)以及其他人(o)以讀(r,4 )、寫(w,2)和執(zhí)行(x,1)的權(quán)限 -
chmod go-rwx directory1 ?刪除群組(g)與其他人(o)對目錄的讀寫執(zhí)行權(quán)限
10. chown 命令
(改變文件的所有者)
-
chown user1 file1 改變一個文件的所有人屬性 -
chown -R user1 directory1 改變一個目錄的所有人屬性并同時改變改目錄下所有文件的屬性 -
chown user1:group1 file1 改變一個文件的所有人和群組屬性
11. chgrp 命令
(改變文件所屬用戶組)
-
chgrp group1 file1 改變文件的群組
五、文本處理
12. grep 命令
(分析一行的信息,若當(dāng)中有我們所需要的信息,就將該行顯示出來,該命令通常與管道命令一起使用,用于對一些命令的輸出進(jìn)行篩選加工等等)
-
grep Aug /var/log/messages
??在文件 '/var/log/messages'中查找關(guān)鍵詞"Aug" -
grep ^Aug /var/log/messages
?在文件 '/var/log/messages'中查找以"Aug"開始的詞匯 -
grep [0-9] /var/log/messages
?選擇 '/var/log/messages' 文件中所有包含數(shù)字的行 -
grep Aug -R /var/log/*
?在目錄 '/var/log' 及隨后的目錄中搜索字符串"Aug" -
sed 's/stringa1/stringa2/g' example.txt
?將example.txt文件中的 "string1" 替換成 "string2" -
sed '/^$/d' example.txt
?從example.txt文件中刪除所有空白行(搜索公眾號:Java開發(fā)寶典,回復(fù)“面試題”,送你一份Java面試題寶典)
13. paste 命令
-
paste file1 file2
?合并兩個文件或兩欄的內(nèi)容 -
paste -d '+' file1 file2
?合并兩個文件或兩欄的內(nèi)容,中間用"+"區(qū)分
14. sort 命令
-
sort file1 file2
?排序兩個文件的內(nèi)容 -
sort file1 file2 | uniq
?取出兩個文件的并集(重復(fù)的行只保留一份) -
sort file1 file2 | uniq -u
?刪除交集,留下其他的行 -
sort file1 file2 | uniq -d
?取出兩個文件的交集(只留下同時存在于兩個文件中的文件)
15. comm 命令
-
comm -1 file1 file2
?比較兩個文件的內(nèi)容只刪除 'file1' 所包含的內(nèi)容 -
comm -2 file1 file2
?比較兩個文件的內(nèi)容只刪除 'file2' 所包含的內(nèi)容 -
comm -3 file1 file2
?比較兩個文件的內(nèi)容只刪除兩個文件共有的部分
六、打包和壓縮文件
16. tar 命令
(對文件進(jìn)行打包,默認(rèn)情況并不會壓縮,如果指定了相應(yīng)的參數(shù),它還會調(diào)用相應(yīng)的壓縮程序(如gzip和bzip等)進(jìn)行壓縮和解壓)推薦:250期面試題匯總
-
-c :新建打包文件 -
-t :查看打包文件的內(nèi)容含有哪些文件名 -
-x :解打包或解壓縮的功能,可以搭配-C(大寫)指定解壓的目錄,注意-c,-t,-x不能同時出現(xiàn)在同一條命令中 -
-j :通過bzip2的支持進(jìn)行壓縮/解壓縮 -
-z :通過gzip的支持進(jìn)行壓縮/解壓縮 -
-v :在壓縮/解壓縮過程中,將正在處理的文件名顯示出來 -
-f filename :filename為要處理的文件 -
-C dir :指定壓縮/解壓縮的目錄dir -
壓縮: tar -jcv -f filename.tar.bz2
?要被處理的文件或目錄名稱 -
查詢: tar -jtv -f filename.tar.bz2
-
解壓: tar -jxv -f filename.tar.bz2 -C
?欲解壓縮的目錄 -
bunzip2 file1.bz2
?解壓一個叫做 'file1.bz2'的文件 -
bzip2 file1
?壓縮一個叫做 'file1' 的文件 -
gunzip file1.gz
?解壓一個叫做 'file1.gz'的文件 -
gzip file1
?壓縮一個叫做 'file1'的文件 -
gzip -9 file1
?最大程度壓縮 -
rar a file1.rar test_file
?創(chuàng)建一個叫做 'file1.rar' 的包 -
rar a file1.rar file1 file2 dir1
?同時壓縮 'file1', 'file2' 以及目錄 'dir1' -
rar x file1.rar
?解壓rar包 -
zip file1.zip file1
?創(chuàng)建一個zip格式的壓縮包 -
unzip file1.zip
?解壓一個zip格式壓縮包 -
zip -r file1.zip file1 file2 dir1
?將幾個文件和目錄同時壓縮成一個zip格式的壓縮包
七、系統(tǒng)和關(guān)機(jī) (系統(tǒng)的關(guān)機(jī)、重啟以及登出 )
-
shutdown -h now 關(guān)閉系統(tǒng)(1) -
init 0 關(guān)閉系統(tǒng)(2) -
telinit 0 關(guān)閉系統(tǒng)(3) -
shutdown -h hours:minutes & 按預(yù)定時間關(guān)閉系統(tǒng) -
shutdown -c 取消按預(yù)定時間關(guān)閉系統(tǒng) -
shutdown -r now 重啟(1) -
reboot 重啟(2) -
logout 注銷 -
time 測算一個命令(即程序)的執(zhí)行時間
八、進(jìn)程相關(guān)的命令
17 jps命令
(顯示當(dāng)前系統(tǒng)的java進(jìn)程情況,及其id號)
-
jps(Java Virtual Machine Process Status Tool)是JDK 1.5提供的一個顯示當(dāng)前所有java進(jìn)程pid的命令,簡單實用,非常適合在linux/unix平臺上簡單察看當(dāng)前java進(jìn)程的一些簡單情況。
18 ps命令
(用于將某個時間點的進(jìn)程運行情況選取下來并輸出,process之意)
-
-A :所有的進(jìn)程均顯示出來 -
-a :不與terminal有關(guān)的所有進(jìn)程 -
-u :有效用戶的相關(guān)進(jìn)程 -
-x :一般與a參數(shù)一起使用,可列出較完整的信息 -
-l :較長,較詳細(xì)地將PID的信息列出
19 kill命令
(用于向某個工作(%jobnumber)或者是某個PID(數(shù)字)傳送一個信號,它通常與ps和jobs命令一起使用)
20 killall命令
(向一個命令啟動的進(jìn)程發(fā)送一個信號)
21 top命令
是Linux下常用的性能分析工具,能夠?qū)崟r顯示系統(tǒng)中各個進(jìn)程的資源占用狀況,類似于Windows的任務(wù)管理器。
如何殺死進(jìn)程:
-
圖形化界面的方式 -
kill -9 pid ?(-9表示強制關(guān)閉) -
killall -9 程序的名字 -
pkill 程序的名字
查看進(jìn)程端口號:
版權(quán)申明:內(nèi)容來源網(wǎng)絡(luò),版權(quán)歸原創(chuàng)者所有。