Linux进阶之路——常用命令总结
一、幫助命令
help
man
?type區分內建、外建命令
【擴展】關于內建命令與外建命令。
內建命令屬于shell程序的一部分,包含一些比較簡單的Linux命令。這些命令被寫在/bin/bash 文件的 builtins 里面,由shell程序識別并在shell程序內部完成運行。通常在Linux系統加載運行時,shell就被加載并駐留在系統內存中。解析內建命令不shell不需要創建子進程,因此其執行速度比外建命令快,如:history、cd 、exit 等。
外建命令是Linux系統中的實用程序部分。因為實用程序的功能大都比較強大,所以包含的程序量也會很大,在系統加載時并不會隨系統一同被加載到內存,而是在需要時才將其調入內存。雖然外建命令并不包含在shell中,但是命令執行過程都是由shell程序控制的。外建命令是在bash之外額外安裝的,通常放在/bin、/usr/bin、/sbin、/usr/sbin 等文件中,如:ls 、vi 等。
二、文件目錄類命令
pwd
含義:顯示當前工作目錄的絕對路徑。
ls
含義:列出當前工作目錄下的所有文件和目錄。
常用參數:-a 顯示隱藏文件。-l? 以完整信息顯示。
cd
含義:切換當前工作目錄
常用參數:相對路徑。? ~? ?回到當前用戶主目錄。
mkdir
含義:創建目錄。
基本語法:mkdir? ?目錄名稱
常用參數: -p? 創建多級目錄。
rmdir
含義:刪除目錄。
基本語法:rmdir? [選項]? 要刪除的空目錄
注意:rmdir 刪除的必須是空目錄,如果目錄下有內容,則無法刪除,需要另外使用 “rm? -rf? 目錄” 來刪除,它代表的意思是遞歸刪除目錄,及其子目錄,并且不提醒消息。
rm
含義:刪除文件或目錄。
基本語法:rm [選項]? 要刪除的資源
常用參數:-r? 遞歸執行 。? -f? 強制不提示。
touch
含義:創建文件。
基本語法:touch 文件1? 文件2 ....
cp
含義:拷貝
基本語法:cp? [選項]? 拷貝資源? ?目的地
常用參數: -r? 遞歸拷貝整個目錄。
注意:若目標地址下已經有同名文件或目錄,則會提示是否覆蓋,并且每一級都會提示,如果不希望提示,強制覆蓋,可以使用:\cp 命令
mv
含義:移動目錄、或重命名文件。
基本語法:
1)mv? oldFileName? newFileName? ? : 重命名
2)mv? 源文件/目錄? ?目標地址? ?:? 移動
cat
含義:查看文件內容。
基本語法: cat? [選項]? ?文件名? 。
常用參數:-n 顯示行號。
注意:cat命令只能瀏覽文件,不能修改文件。為了使用方便,一般和管道符 |? 一起連用,如 | more ,其中more 代表分頁顯示,空格可切換內容頁。
more
含義:全屏方式按頁顯示文本文件內容。more命令是一個基于vi編輯器的文本過濾器。
基本語法:more? 文件名
快捷鍵:
1)空格:下翻一頁
2)enter :下翻一行
3)q :立即離開more?
4)Ctrl + F :向下滾動一屏
5)Ctrl + B :返回上一屏
6)= : 輸出當前行號
7):f? :輸出文件名以及當前行號
less
參考《Linux————less指令常用操作》
> 輸出重定向
含義:將輸出內容重新覆蓋到某個文件中(重定向)。
基本語法: 指定輸出語句? >? ?文件名
注意,重定向之后的文件,如果不存在,系統會自動創建。
另外,有時候需要清空某個文件,如日志文件 nohup.out 文件中的內容,也可以使用該重定向語句:
# >nohup.out>> 追加
含義:將輸出內容追加到指定文件中。
基本語法:指定輸出語句 >>? 文件名
echo
含義:輸出內容到控制臺。
基本語法:echo? [選項]? 內容
示例:輸出環境變量路徑
head
含義:顯示文件的開頭部分。默認顯示文件的前10行。
基本語法 : head? 文件名
常用參數:-n? 顯示行數
tail
含義:輸出文件尾部,默認顯示10行。用法與head類似。
常用命令:
tail -f nohup.out? ? ## 實時輸出日志內容到命令行,Ctrl+c可以停止輸出
案例:刪除大文件末尾指定行數(可以使用 wc 命令查看文件總行數)之前的無用數據(一般是日志數據):分成三步,先備份后1000萬行,然后刪除舊文件,最后再重命名
# 備份app.log后1000萬行數據到新文件app.log.bak中 >tail -n 10000000 app.log > app.log.bak # 刪除舊文件 >rm app.log # 重命名 >mv app.log.bak app.log?ln
含義:軟鏈接,類似于快捷方式。主要存放了鏈接其他文件的路徑。
基本語法:ln? -s? [源文件/目錄]? [軟鏈接名]
注意:當使用pwd查看軟鏈接的路徑時,看到的仍然是軟鏈接所在的目錄。
刪除軟鏈接:rm -rf? 軟鏈接名? ? 。注意后面不要加 /? ,否則會提示“資源忙”。
history
含義:查看已經執行過的歷史命令,也可以重新執行歷史命令。
基本語法:
1)history? [數字]? ?:顯示(最近執行的)歷史命令。
2)!數字? :執行對應編號的歷史命令,注意感嘆號與數字之間不能有空格。
示例:顯示最近執行的10條指令,并選中一條重新執行:
awk
awk 是一種文本分析工具,不論是文件還是Linux的標準輸出流,都可以進行處理。AWK 三個字母是其三位創始人的首字母拼接。詳細指令介紹:菜鳥教程—awk
基本語法:awk? [選項]? 'script'? var=value? file(s)
或:awk? [選項]? -f?? scriptfile? var=value? ?file(s)
常見用法:awk? '{[pattern]? action}'? {filename}? #?行匹配語句 awk '' 只能用單引號
案例一:log.txt 文件內容如下,每行按空格或TAB分割,輸出文本中的1、4項。
?案例二:通過進程查看工具 ps,找到指定進程的 PID 號(jar 包的 shutdown 腳本中經常會用到):
案例三:通過awk統計文件行數:
>awk 'END {print NR}' 文件名wc
word count 字數統計工具,可以快速統計文件中的字節數、字數、行數等:
常見用法:wc -l 文件名
-l :統計行數?
三、時間日期類命令
date
含義:顯示當前日期。
基本語法:
1)date? :顯示當前全格式日期
2)date +%Y? :顯示當前年份
3)date +%m :顯示月份
4)date +%d :顯示日期
5)date -s? 字符串時間 :設置時間
cal
含義:日歷方式顯示日期
基本語法:? cal? [年份]? :年份支持 1 ~ 9999?
四、搜索查詢類命令
find
含義:搜索整個目錄,查找指定文件/目錄,并輸出。
基本語法:find [搜索范圍]? [選項]
常用參數:-name 按文件名查找。? -user? 按照指定用戶查找。-size? 按照指定文件大小查找。
示例:查找 .txt文件。
locate
含義:定位文件/目錄路徑。locate無需遍歷整個系統,它利用事先建立好的系統中所有文件及路徑的locate 數據庫實現快速定位文件。查詢速度較快,但是需要定期更新數據庫表。
基本語法:locate? 文件名
特別說明:由于locate 基于數據庫進行查詢,所以第一次運行之前,必須用 updatedb 命令創建locate數據庫。
grep
含義:過濾查找(區分大小寫)
基本語法:grep [選項]? 查找內容? 源文件
常用參數:-n? 顯示匹配行及行號。-i? 忽略字母大小寫。
案例一:查找匹配項,并連同匹配項前面的n行(-B),或后面的n行(-A),或前后各n行(-C)一起輸出:
案例二:找到文件中最后n個(tail -n),或最前面n 個(head -n)匹配項:
案例三:找到 China 關鍵字匹配的行,并將重復的行去重(uniq)。
| 管道符
含義:將前一個命令的處理結果傳遞給后面的命令進一步處理。
示例:進程查找。
lsof
lsof -i 用于顯示符合條件的進程情況,lsof(list open file)是一個列出當前系統打開文件的工具。也可以用于查看指定端口號的進程。
netstat
網絡狀態命令??梢杂糜诓榭粗付ǘ丝谔柕倪M程,常用參數:t(tcp)u(udp)n(顯示數字地址)l(顯示LISTEN監聽中的服務)p(顯示建立相關連接的程序名)
五、壓縮與解壓縮類命令
gzip? gunzip
含義:gzip 用于壓縮問價。gunzip用于解壓。
基本語法:gzip 文件名1? 文件名2? ......? ?:壓縮文件,只能將文件壓縮為 *.gz 文件。另外,雖然可以后面跟多個文件作為參數,但是gzip只會將他們一個一個打包壓縮,并不代表壓縮為一個包。
gunzip? 文件1.gz? 文件2.gz? .....? :解壓多個壓縮包。
注意:當使用gzip壓縮文件時不會保留原來的文件。
可以看到,雖然gzip表面上看起來只是在文件后面加了個 ".gz"但是絕對不僅僅是改了個后綴名而已。而且gzip壓縮文件后,不會保留原始文件。
zip? unzip
含義:zip用于壓縮,unzip用于解壓縮。在項目打包發布中很有用。
基本語法:
1)zip? [選項]? xxx.zip? 文件名1? 文件名2 ......
2)unzip [選項]? xxx.zip
常用參數:zip -r? :遞歸壓縮。unzip? -d? :指定解壓縮后放入哪個目錄。
tar
含義:將文件打包。
基本語法:tar [選項]? xxx.tar.gz? 打包的內容? :打包目錄,打包后的文件格式是 .tar.gz
常用參數:
1)-c? :產生 .tar 打包文件
2)-v :顯示詳細信息
3)-f? :指定壓縮后的文件名
4)-z? :打包同時壓縮
5)-x? :解包 .tar 文件
示例1:壓縮多個文件,將/home/a1.txt 和 /home/a2.txt 壓縮成 a.tar.gz
示例2:將/home文件夾壓縮成myhome.tar.gz
示例3:將a.tar.gz解壓到當前目錄
示例4:將myhome.tar.gz 解壓到 /opt目錄下(指定解壓的目錄事先要存在才能成功,否則會報錯)
六、網絡相關
telnet
連接指定遠程端口。用法:
telnet 主機ip 端口
斷開方法:
Ctrl+] 然后鍵入quit回車。
總結
以上是生活随笔為你收集整理的Linux进阶之路——常用命令总结的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JDBC——概述与JDBC的使用
- 下一篇: 使用c++查看linux服务器某个进程正