Linux命令大全(超全整理)


1、常用Linux命令
2、windows下CMD常用命令



一、目錄操作

pwd				查看當前工作目錄
clear 			清除屏幕
cd ~			當前用戶目錄
cd /			根目錄
cd -			上一次訪問的目錄
cd ..			上一級目錄

查看目錄內信息

ll				查看當前目錄下內容(LL的小寫)

創建目錄

mkdir aaa		在當前目錄下創建aaa目錄,相對路徑;
mkdir ./bbb		在當前目錄下創建bbb目錄,相對路徑;
mkdir /ccc		在根目錄下創建ccc目錄,絕對路徑;

遞歸創建目錄(會創建裏面沒有的目錄文件夾)

mkdir -p temp/nginx 

搜索命令

find / -name 'b'		查詢根目錄下(包括子目錄),名以b的目錄和文件;
find / -name 'b*'		查詢根目錄下(包括子目錄),名以b開頭的目錄和文件; 

重命名

mv 原先目錄 文件的名稱   mv tomcat001 tomcat 

剪切命令(有目錄剪切到制定目錄下,沒有的話剪切爲指定目錄)

mv	/aaa /bbb			將根目錄下的aaa目錄,移動到bbb目錄下,在bbb,麚也叫aaa目錄;
mv	bbb usr/bbb			將當前目錄下的bbbb目錄,移動到usr目錄下,並且修改名稱爲bbb;

複製目錄

cp -r /aaa /bbb			將/目錄下的aaa目錄複製到/bbb目錄下,在/bbb目錄下的名稱爲aaa
cp -r /aaa /bbb/aaa		將/目錄下的aa目錄複製到/bbb目錄下,且修改名爲aaa;

強制式刪除指定目錄

rm -rf /bbb			強制刪除/目錄下的bbb目錄。如果bbb目錄中還有子目錄,也會被強制刪除,不會提示;

刪除目錄

rm -r /bbb			普通刪除。會詢問你是否刪除每一個文件

二、文件操作

刪除

rm -r a.java		刪除當前目錄下的a.java文件(每次回詢問是否刪除y:同意)

強制刪除

rm -rf a.java		強制刪除當前目錄下的a.java文件
rm -rf ./a*			強制刪除當前目錄下以a開頭的所有文件;
rm -rf ./*			強制刪除當前目錄下所有文件(慎用);

創建文件

touch testFile

遞歸刪除.pyc格式的文件

find . -name '*.pyc' -exec rm -rf {} \;

打印當前文件夾下指定大小的文件

find . -name "*" -size 145800c -print

遞歸刪除指定大小的文件(145800)

find . -name "*" -size 145800c -exec rm -rf {} \;

遞歸刪除指定大小的文件,並打印出來

find . -name "*" -size 145800c -print -exec rm -rf {} \;
  • "." 表示從當前目錄開始遞歸查找
  • “ -name '*.exe' "根據名稱來查找,要查找所有以.exe結尾的文件夾或者文件
  • " -type f "查找的類型爲文件
  • "-print" 輸出查找的文件目錄名
  • -size 145800c 指定文件的大小
  • -exec rm -rf {} \; 遞歸刪除(前面查詢出來的結果)

三、文件內容操作(查看項目日誌,更改配置文件)

修改文件內容

vim a.java   	進入一般模式
i(按鍵)   		進入插入模式(編輯模式)
ESC(按鍵)  		退出
:wq 			保存退出(shift+:調起輸入框)
:w!			不保存退出(shift+:調起輸入框)

文件內容的查看

cat a.java		查看a.java文件的最後一頁內容;
more a.java		從第一頁開始查看a.java文件內容,按回車鍵一行一行進行查看,
                    按空格鍵一頁一頁進行查看,q退出;
less a.java		從第一頁開始查看a.java文件內容,按回車鍵一行一行的看,
                    按空格鍵一頁一頁的看,支持使用PageDown和PageUp翻頁,q退出;

實時查看文件後幾行(實時查看日誌)

tail -f a.java			查看a.java文件的後10行內容;

前後幾行查看

head a.java				查看a.java文件的前10行內容;
tail -f a.java			查看a.java文件的後10行內容;
head -n 7 a.java		查看a.java文件的前7行內容;
tail -n 7 a.java		查看a.java文件的後7行內容;

文件內部搜索指定的內容

grep under 123.txt			在123.txt文件中搜索under字符串,大小寫敏感,顯示行;
grep -n under 123.txt		在123.txt文件中搜索under字符串,大小寫敏感,顯示行及行號;
grep -v under 123.txt		在123.txt文件中搜索under字符串,大小寫敏感,顯示沒搜索到的行;
grep -i under 123.txt		在123.txt文件中搜索under字符串,大小寫敏感,顯示行;
grep -ni under 123.txt		在123.txt文件中搜索under字符串,大小寫敏感,顯示行及行號;

終止當前操作

Ctrl+cCtrl+z都是中斷命令,但是作用卻不一樣。

ctrl+z
ctrl+c

Ctrl+Z就扮演了類似的角色,將任務中斷,但是任務並沒有結束,在進程中只是維持掛起的狀態,用戶可以使用fg/bg操作前臺或後臺的任務,fg命令重新啓動前臺被中斷的任務,bg命令把被中斷的任務放在後臺執行。
Ctrl+C也扮演類似的角色,強制中斷程序的執行。

重定向功能
可以使用 > 或 < 將命令的輸出的命令重定向到test.txt文件中(沒有則創建一個)

echo 'Hello World' > /root/test.txt

四、創建與刪除軟連接

1、創建軟連接

ln -s /usr/local/app /data
注意:創建軟連接時,data目錄後不加 / (加上後是查找其下一級目錄);

在這裏插入圖片描述
2、刪除軟連接

rm -rf /data

注意:取消軟連接最後沒有/,rm -rf 軟連接。加上/是刪除文件夾;

在這裏插入圖片描述

五、壓縮和解壓縮

壓縮

tar -zcvf start.tar.gz a.java b.java	將當前目錄下a.java、b.java打包
tar -zcvf start.tar.gz ./*				將當前目錄下的所欲文件打包壓縮成haha.tar.gz文件
tar -xvf start.tar.gz				解壓start.tar.gz壓縮包,到當前文件夾下;
tar -xvf start.tar.gz -C usr/local(C爲大寫,中間無空格)
									解壓start.tar.gz壓縮包,到/usr/local目錄下;
unzip file1.zip  				解壓一個zip格式壓縮包
zip lib.zip tomcat.jar			將單個文件壓縮(lib.zip)
zip -r lib.zip lib/				將目錄進行壓縮(lib.zip)
zip -r lib.zip tomcat-embed.jar xml-aps.jar		將多個文件壓縮爲zip文件(lib.zip)	

六、系統日誌查看

cat /etc/redhat-release		查看操作系統版本
/var/log/message			系統啓動後的信息和錯誤日誌,是Red Hat Linux中最常用的日誌之一
/var/log/message			系統啓動後的信息和錯誤日誌,是Red Hat Linux中最常用的日誌之一 
/var/log/secure				與安全相關的日誌信息 
/var/log/maillog			與郵件相關的日誌信息 
/var/log/cron				與定時任務相關的日誌信息 
/var/log/spooler			與UUCP和news設備相關的日誌信息 
/var/log/boot.log			守護進程啓動和停止相關的日誌消息 

查看某文件下的用戶操作日誌
到達操作的目錄下,執行下面的程序:

cat .bash_history

七、Linux下文件的詳細信息

 R:Read  w:write  x: execute執行
-rw-r--r-- 1 root root  34942 Jan 19  2018 bootstrap.jar
前三位代表當前用戶對文件權限:可以讀/可以寫/不能執行
中間三位代表當前組的其他用戶對當前文件的操作權限:可以讀/不能寫/不能執行
後三位其他用戶對當前文件權限:可以讀/不能寫/不能執行

文件

更改文件的權限

chmod u+x web.xml (---x------)		爲文件擁有者(user)添加執行權限;
chmod g+x web.xml (------x---)		爲文件擁有者所在組(group)添加執行權限;
chmod 111 web.xml  (---x--x--x)	爲所有用戶分類,添加可執行權限;
chmod 222 web.xml (--w--w--w-)		爲所有用戶分類,添加可寫入權限;	
chmod 444 web.xml (-r--r--r--)		爲所有用戶分類,添加可讀取權限;

八、常用的docker容器的命令:

#1、查看docker中下載好的鏡像:
docker images
 #2、查詢需要的容器名稱:
docker search mysql
#3、將需要的docker容器下載運行到本地(名稱、端口號、msyql密碼、ID):
docker run -di --name=first -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root 26d26dsfsd31a
#4、查看運行的docker容器:
docker ps
#5、查看所有的docker容器(包括未運行的):
docker ps -a
#6、停止當前運行的docker容器:
docker stop first
#7、啓動docker容器:
docker start first
#8、重啓docker容器:
docker restart first
#9、刪除docker容器:
docker rm first

九、運維常用命令

ping命令
對 www.lydms.com 發送 4 個 ping 包, 檢查與其是否聯通

ping -c 4 www.lydms.com

netstat 命令
netstat 命令用於顯示各種網絡相關信息,如網絡連接, 路由表, 接口狀態等等;
列出所有處於監聽狀態的tcp端口:

netstat -lt

查看所有的端口信息, 包括 PID 和進程名稱

netstat -tulpn

ps 命令
過濾得到當前系統中的 ssh 進程信息

ps aux | grep 'ssh'

管道命令
簡單來說, Linux 中管道的作用是將上一個命令的輸出作爲下一個命令的輸入, 像 pipe 一樣將各個命令串聯起來執行, 管道的操作符是 |

查看/etc/passwd文件中的root內容

cat /etc/passwd | grep 'root'

管道命令查看當前運行的程序中,名稱爲java的程序

ps -ef|grep java

查看當前系統的ip連接(Windows和Linux通用)

netstat -an

將sh test.sh任務放到後臺,並將打印的日誌輸出到nohup.out文件中,終端不再能夠接收任何輸入(標準輸入)

nohup sh test.sh  &

將sh test.sh任務放到後臺,並將打印的日誌輸出到nohup.out文件中,終端能夠接收任何輸入

nohup sh test.sh  &

十、yum常用命令

yum install iptables-services		下載並安裝iptables
yum list					列出當前系統中安裝的所有包
yum search package_name		在rpm倉庫中搜尋軟件包
yum update package_name.rpm		更新當前系統中所有安裝的rpm包
yum update package_name		更新一個rpm包
yum remove package_name		刪除一個rpm包
yum clean all				刪除所有緩存的包和頭文件

十一、其他命令

查看佔用資源

ps -au		佔用的資源是從進程啓動開始,計算的平均佔用資源,比如cpu等
top			實時佔用的資源;

查看當前目錄所佔存儲

du -sh			查看當前文件夾所佔存儲空間

管道命令:

ps -ef 						查看所有的進程
ps -ef | grep mysql			查看mysql相關的進程

查看Linux下系統存儲使用率

df -h			查看系統硬盤使用情況

殺死進程(根據PID)

kill -9 2630		進程pid

關閉防火牆

service iptables stop      臨時關閉防火牆
chkconfig iptables off     防火牆開啓不啓動
service iptables status    查看防火牆狀態

開機啓動選項

msconfig					查看開機啓動選項
chkconfig					查看開機啓動服務列表

查看MySQL服務的程序的狀態

service mysql start        開啓MySQL    
service mysql status       查看MySQL的狀態    
service mysql stop         關閉MySQL    
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章