掌握這些常用命令,學習和作業上會事半功倍,提供作業效率,

一.檔案和目錄
1. cd命令,用于切換當前目錄,它的引數是要切換到的目錄的路徑,可以是絕對路徑,也可以是相對路徑,cd /home 進入 '/ home' 目錄
cd .. 回傳上一級目錄
cd ../.. 回傳上兩級目錄
cd 進入個人的主目錄
cd ~user1 進入個人的主目錄
cd - 回傳上次所在的目錄
2. pwd命令,顯示作業路徑
[root@mailvip ~]# pwd
/root
3. ls命令,查看檔案與目錄的命令,list之意
ls 查看目錄中的檔案
ls -l 顯示檔案和目錄的詳細資料
ls -a 列出全部檔案,包含隱藏檔案
ls -R 連同子目錄的內容一起列出(遞回列出),等于該目錄下的所有檔案都會顯示出來
ls [0-9] 顯示包含數字的檔案名和目錄名
4. cp命令,用于復制檔案,copy之意,它還可以把多個檔案一次性地復制到一個目錄下
-a :將檔案的特性一起復制
-p :連同檔案的屬性一起復制,而非使用默認方式,與-a相似,常用于備份
-i :若目標檔案已經存在時,在覆寫時會先詢問操作的進行
-r :遞回持續復制,用于目錄的復制行為 //經常使用遞回復制
-u :目標檔案與源檔案有差異時才會復制
5. mv命令,用于移動檔案、目錄或更名,move之意
-f :force強制的意思,如果目標檔案已經存在,不會詢問而直接覆寫
-i :若目標檔案已經存在,就會詢問是否覆寫
-u :若目標檔案已經存在,且比目標檔案新,才會更新
6. rm命令,用于洗掉檔案或目錄,remove之意
cat file1 從第一個位元組開始正向查看檔案的內容
tac file1 從最后一行開始反向查看一個檔案的內容
cat -n file1 標示檔案的行數
more file1 查看一個長檔案的內容
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行)
二.查看檔案內容
7. cat命令,用于查看文本檔案的內容,后接要查看的檔案名,通常可用管道與more和less一起使用find / -name file1 從 '/' 開始進入根檔案系統搜索檔案和目錄
find / -user user1 搜索屬于用戶 'user1' 的檔案和目錄
find /usr/bin -type f -atime +100 搜索在過去100天內未被使用過的執行檔案
find /usr/bin -type f -mtime -10 搜索在10天內被創建或者修改過的檔案
whereis halt 顯示一個二進制檔案、原始碼或man的位置
which halt 顯示一個二進制檔案或可執行檔案的完整路徑
洗掉大于50M的檔案:
find /var/mail/ -size +50M -exec rm {} \;
三.檔案搜索
8. find命令,用來查找系統的四.檔案的權限 - 使用 "+" 設定權限,使用 "-" 用于取消
9. chmod命令,改變檔案/檔案夾權限ls -lh 顯示權限
chmod ugo+rwx directory1 設定目錄的所有人(u)、群組(g)以及其他人(o)以讀(r,4 )、寫(w,2)和執行(x,1)的權限
chmod go-rwx directory1 洗掉群組(g)與其他人(o)對目錄的讀寫執行權限
10. chown命令,改變檔案的所有者
chown user1 file1 改變一個檔案的所有人屬性
chown -R user1 directory1 改變一個目錄的所有人屬性并同時改變改目錄下所有檔案的屬性
chown user1:group1 file1 改變一個檔案的所有人和群組屬性
11.chgrp命令,改變檔案所屬用戶組
chgrp group1 file1 改變檔案的群組
五.文本處理
12. grep命令,分析一行的資訊,若當中有我們所需要的資訊,就將該行顯示出來,該命令通常與管道命令一起使用,用于對一些命令的輸出進行篩選加工等等grep Aug /var/log/messages 在檔案 '/var/log/messages'中查找關鍵詞"Aug"
grep ^Aug /var/log/messages 在檔案 '/var/log/messages'中查找以"Aug"開始的詞匯
grep [0-9] /var/log/messages 選擇 '/var/log/messages' 檔案中所有包含數字的行
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檔案中洗掉所有空白行
13. paste命令
paste file1 file2 合并兩個檔案或兩欄的內容
paste -d '+' file1 file2 合并兩個檔案或兩欄的內容,中間用"+"區分
- sort命令
sort file1 file2 排序兩個檔案的內容
sort file1 file2 | uniq 取出兩個檔案的并集(重復的行只保留一份)
sort file1 file2 | uniq -u 洗掉交集,留下其他的行
sort file1 file2 | uniq -d 取出兩個檔案的交集(只留下同時存在于兩個檔案中的檔案)
- comm命令
comm -1 file1 file2 比較兩個檔案的內容只洗掉 'file1' 所包含的內容
comm -2 file1 file2 比較兩個檔案的內容只洗掉 'file2' 所包含的內容
comm -3 file1 file2 比較兩個檔案的內容只洗掉兩個檔案共有的部分
六.打包和壓縮檔案
16. tar命令,對檔案進行打包,默認情況并不會壓縮,如果指定了相應的引數,它還會呼叫相應的壓縮程式(如gzip和bzip等)進行壓縮和解壓-c :新建打包檔案 -t :查看打包檔案的內容含有哪些檔案名 -x :解打包或解壓縮的功能,可以搭配-C(大寫)指定解壓的目錄,注意-c,-t,-x不能同時出現在同一條命令中 -j :通過bzip2的支持進行壓縮/解壓縮 -z :通過gzip的支持進行壓縮/解壓縮 -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 創建一個叫做 'file1.rar' 的包
rar a file1.rar file1 file2 dir1 同時壓縮 'file1', 'file2' 以及目錄 'dir1'
rar x file1.rar 解壓rar包
zip file1.zip file1 創建一個zip格式的壓縮包
unzip file1.zip 解壓一個zip格式壓縮包
zip -r file1.zip file1 file2 dir1 將幾個檔案和目錄同時壓縮成一個zip格式的壓縮包
七.系統和關機(關機、重啟和登出)
shutdown -h now 關閉系統(1)
init 0 關閉系統(2)
telinit 0 關閉系統(3)
shutdown -h hours:minutes & 按預定時間關閉系統
shutdown -c 取消按預定時間關閉系統
shutdown -r now 重啟(1)
reboot 重啟(2)
logout 注銷
time 測算一個命令(即程式)的執行時間
八.行程相關的命令
17. jps命令,顯示當前系統的java行程情況,及其id號jps(Java Virtual Machine Process Status Tool)是JDK 1.5提供的一個顯示當前所有java行程pid的命令,簡單實用,非常適合在linux/unix平臺上簡單察看當前java行程的一些簡單情況,
- ps命令,用于將某個時間點的行程運行情況選取下來并輸出,process之意
-A :所有的行程均顯示出來 -a :不與terminal有關的所有行程 -u :有效用戶的相關進程 -x :一般與a引數一起使用,可列出較完整的資訊 -l :較長,較詳細地將PID的資訊列出
ps aux # 查看系統所有的行程資料
ps ax # 查看不與terminal有關的所有行程
ps -lA # 查看系統所有的行程資料
ps axjf # 查看連同一部分行程樹狀態
19. kill命令,用于向某個作業(%jobnumber)或者是某個PID(數字)傳送一個信號,它通常與ps和jobs命令一起使用
命令格式 : kill[命令引數][行程id]命令引數: -l 信號,若果不加信號的編號引數,則使用“-l”引數會列出全部的信號名稱 -a 當處理當前行程時,不限制命令名和行程號的對應關系 -p 指定kill 命令只列印相關行程的行程號,而不發送任何信號 -s 指定發送信號 -u 指定用戶
實體1:列出所有信號名稱
命令:kill -l
輸出:
[root@localhost test6]# kill -l
1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL
5) SIGTRAP 6) SIGABRT 7) SIGBUS 8) SIGFPE
9) SIGKILL 10) SIGUSR1 11) SIGSEGV 12) SIGUSR2
13) SIGPIPE 14) SIGALRM 15) SIGTERM 16) SIGSTKFLT
17) SIGCHLD 18) SIGCONT 19) SIGSTOP 20) SIGTSTP
21) SIGTTIN 22) SIGTTOU 23) SIGURG 24) SIGXCPU
25) SIGXFSZ 26) SIGVTALRM 27) SIGPROF 28) SIGWINCH
29) SIGIO 30) SIGPWR 31) SIGSYS 34) SIGRTMIN
35) SIGRTMIN+1 36) SIGRTMIN+2 37) SIGRTMIN+3 38) SIGRTMIN+4
39) SIGRTMIN+5 40) SIGRTMIN+6 41) SIGRTMIN+7 42) SIGRTMIN+8
43) SIGRTMIN+9 44) SIGRTMIN+10 45) SIGRTMIN+11 46) SIGRTMIN+12
47) SIGRTMIN+13 48) SIGRTMIN+14 49) SIGRTMIN+15 50) SIGRTMAX-14
51) SIGRTMAX-13 52) SIGRTMAX-12 53) SIGRTMAX-11 54) SIGRTMAX-10
55) SIGRTMAX-9 56) SIGRTMAX-8 57) SIGRTMAX-7 58) SIGRTMAX-6
59) SIGRTMAX-5 60) SIGRTMAX-4 61) SIGRTMAX-3 62) SIGRTMAX-2
63) SIGRTMAX-1 64) SIGRTMAX
說明:
只有第9種信號(SIGKILL)才可以無條件終止行程,其他信號行程都有權利忽略, 下面是常用的信號:
HUP 1 終端斷線
INT 2 中斷(同 Ctrl + C)
QUIT 3 退出(同 Ctrl + \)
TERM 15 終止
KILL 9 強制終止
CONT 18 繼續(與STOP相反, fg/bg命令)
STOP 19 暫停(同 Ctrl + Z)
實體2:得到指定信號的數值
[root@localhost test6]# kill -l KILL
[root@localhost test6]# kill -l SIGKILL
[root@localhost test6]# kill -l TERM
[root@localhost test6]# kill -l SIGTERM
[root@localhost test6]#
實體3:先用ps查找行程,然后用kill殺掉
命令:kill 3268
[root@localhost test6]# ps -ef|grep vim
root 3268 2884 0 16:21 pts/1 00:00:00 vim install.log
root 3370 2822 0 16:21 pts/0 00:00:00 grep vim
[root@localhost test6]# kill 3268
實體4:徹底殺死行程
命令:kill –9 3268 // -9 強制殺掉行程
- killall命令,向一個命令啟動的行程發送一個信號,用于殺死指定名字的行程
命令格式 : killall[命令引數][行程名]命令引數:
-Z 只殺死擁有scontext 的行程
-e 要求匹配行程名稱
-I 忽略小寫
-g 殺死行程組而不是行程
-i 互動模式,殺死行程前先詢問用戶
-l 列出所有的已知信號名稱
-q 不輸出警告資訊
-s 發送指定的信號
-v 報告信號是否成功發送
-w 等待行程死亡
--help 顯示幫助資訊
--version 顯示版本顯示
示例
1:殺死所有同名行程
killall nginx
killall -9 bash
2.向行程發送指定信號
killall -TERM ngixn 或者 killall -KILL nginx
- top命令,是Linux下常用的性能分析工具,能夠實時顯示系統中各個行程的資源占用狀況,類似于Windows的任務管理器,
如何殺死行程:
(1)圖形化界面的方式
(2)kill -9 pid (-9表示強制關閉)
(3)killall -9 程式的名字
(4)pkill 程式的名字
查看行程埠號:
netstat -tunlp|grep 埠號
來自:https://www.jianshu.com/p/7c0df6fcfc71
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/35137.html
標籤:Linux
