Linux常用基本命令
Linux系統的重要性大家都知道,下面我來彙總一下Linux常用的基本命令,有什麼不足或者錯誤的地方希望大家多多指正.
一、基本常用類
1. 幫助手冊
man(manual手冊)
man ls
或者
–help
例如:
ls --help
2. 日期類
date
date +%Y-%m-%d
date +%Y-%m-%d’ ‘%H:%M:%S
date +%F’ '%T
cal
cal -y (展示一年的日曆)
3. clear 或者 ctrl + L 清屏
4. cd切換目錄
cd … 返回上級目錄
cd / 返回至/
cd ~ 返回家目錄
cd /etc/sysconfig 通過絕對路徑訪問(利用tab鍵)
cd ./sysconf 通過相對路徑訪問
cd - 回到上一次所在目錄
二、檔案目錄類
1.pwd
例如: 我用cd~進入家目錄,然後用pwd 展示當前目錄
2 ls
列出當前目錄所有資源
ll 等價於 ls -l
ll -al
下面圖示的依次的列為:
<型別><許可權> <檔案:硬連線數或目錄:子目錄數> < 所屬人> <所屬組> <大小> <建立時間> <檔名>
如果檔案較大,可以用 ll - h 來改變顯示型別,
ll /etc
ll /etc|grep sos.conf 列出指定目錄下的指定檔案及目錄
ll /etc|grep conf 列出帶conf名稱的檔案及目錄
功能:列出目錄的內容
語法:ls [選項] [目錄或是檔案] 命令中主要選項的含義如下: 選項與引數: -a :全部的檔案,連同隱藏檔( 開頭為 . 的檔案) 一起列出來(常用) -d :僅列出目錄本身,而不是列出目錄內的檔案資料(常用) -l :長資料串列出,包含檔案的屬性與許可權等等資料;(常用) 每行列出的資訊依次是: 檔案型別與許可權 連結數 檔案屬主 檔案屬組 檔案大小(用byte來表示) 建立或最近修改的時間 名字 ls -R 遞迴檢視目錄裡面的內容 ls -F 選項會在顯示目錄條目時,在目錄後加一個/ ls -ltr 逆序羅列最新修改過的檔案,實用。
3. grep
配合顯示內容的命令
例如:上面的圖示
4. mkdir
建立一個新的目錄
-p,可以自行幫你建立多層目錄
例: mkdir 目錄名
5. rmdir
刪除一個空的目錄
例: rmdir aaa
6. touch
新建一個檔案
例:touch 檔名
7. rm
移除檔案或目錄
rmdir deleteEmptyFolder 刪除空目錄
rm -rf deleteFile 遞迴刪除目錄中所有內容–不提示
rm -rvf $JAVA_HOME/* 遞迴刪除目錄中所有內容–提示
**
8. cp
複製檔案或目錄
cp 【要複製的檔案】 【到哪裡】
-r 遞迴複製整個資料夾
-v 顯示覆制過程中檔案的列表
強制覆蓋不提示的方法
臨時方法:用\cp
例如:
cp source dest 作用是複製檔案
cp -r sourceFolder targetFolder 遞迴複製整個資料夾
\cp -rvf a /test 避免悲劇:將a資料夾內容遞迴拷貝到/test目錄下,並進行覆蓋。
9. mv
移動檔案與目錄或重新命名
mv oldNameFile newNameFile 重新命名
mv /temp/movefile /targetFolder 移動檔案
10. cat
檢視檔案,檢視多個檔案,合併輸出,合併追加
cat 檔名 檢視輕量級的文字檔案
cat 檔案1 檔案2 連線顯示多個檔案
cat 檔案1 檔案2 > 檔案3 合併為新檔案
cat 檔案1 檔案2 >> 檔案3 追加內容
案例:
cat springboot2.conf >> springboot.conf
11. more
檢視較長的檔案
空白鍵 (space):代表向下翻一頁
Enter:代表向下翻一行
q:代表立刻離開 more ,不再顯示該檔案內容。
Ctrl+F 向下滾動一屏
Ctrl+B 返回上一屏
12. less
同more類似,比more功能更多。
[pagedown]:向下翻動一頁;
[pageup] :向上翻動一頁;
/字串 :向下搜尋『字串』的功能;
?字串 :向上搜尋『字串』的功能;
n :重複前一個搜尋 (與 / 或 ? 有關!)
N :反向的重複前一個搜尋 (與 / 或 ? 有關!)
more:
less:
less命令的話比more檢視起來更加方便一些.
13. tail
從尾部開始檢視,比較適合檢視日誌
-f 跟隨檢視
-n200 顯示的行數,n可以省略。
案例:
tail -n 10 example.txt 檢視檔案頭10行
tail -50f example.txt 檢視檔案末尾50行,可進行堵塞,檔案有新內容增加到檔案中,立刻可以顯示。
14. history
所敲命令歷史
15. 重定向命令
16. echo
列印資訊 (區分大小寫)
輸出環境變數
在shell指令碼中當system.out.print用
3搜尋查詢類
1. find
查詢檔案或者目錄
解釋: 查詢檔案或者目錄
命令:find+搜尋路徑+引數+搜尋關鍵字
按檔名:find /home/esop -name ‘*.txt’ 根據名稱查詢/目錄下的filename.txt檔案。
按擁有者:find /home/esop -user esop
2. Locate
查詢檔案,查詢速度更快,使用更方便。
執行前需要執行updatedb來更新檔案索引。
updatedb 建立索引
locate conf 查詢速度更快
存放在臨時目錄下的資源是不建立索引的
3. ln
軟連線
相當於window中的快捷方式。
ln -s 原檔案或目錄名 軟連線名
ln -s /etc/sysconfig sysconf
ls -l 可以檢視到列表屬性第一位是l,尾部會採用->顯示連結名稱
如果cd到軟連線目錄,cd …退出到的是軟連線所在目錄
4. grep
在檔案內搜尋字串匹配的行並輸出
配合顯示內容的命令,根據跟隨的內容顯示,該行內容
例如:ls –l |grep xxx
4 壓縮/解壓縮
1 壓縮/解壓縮 檔案(tar)
解釋:打包目錄,壓縮後的檔案格式.tar.gz
壓縮檔案(tar)
tar -zcvf XXX.tar.gz n1.txt
-c 建立一個新歸檔
-v 顯示詳細資訊
-f 指定壓縮後的檔名
-z 通過 gzip 過濾歸檔
2 解壓縮檔案(tar)
tar -zxvf XXX.tar.gz
-x從歸檔中解出檔案
-v 顯示詳細資訊
-f 指定解壓前的檔名
-z 通過 gzip 過濾歸檔
3 壓縮檔案(zip/upzip)
zip
zipmypackage.zip1.txt 2.txt
zip -rpack.zippack/*
4 解壓縮unzip
unzipmypackage.zip
6 網路+程序
1. ifconfig
如何修改IP
圖形化操作:系統->首選項->網路連線
DNS配置:
與閘道器一樣,可以上網
8.8.8.8 測試不能上網
114.114.114.114 可以上網
** 命令方式**
vim /etc/sysconfig/network-scripts/ifcfg-System_eth0 (檔名稱可能不一樣ifcfg-ens33)
DEVICE=eth0 #介面名(裝置,網絡卡)
BOOTPROTO=static # IP的配置方法[none|static|bootp|dhcp](引導時不使用協議|靜態分配IP|BOOTP協議|DHCP協議)
BROADCAST=192.168.1.255 #廣播地址
HWADDR=00:0C:2x:6x:0x:xx #MAC地址
IPADDR=192.168.1.23 #IP地址
NETMASK=255.255.255.0 #網路掩碼
NETWORK=192.168.1.0 #網路地址
ONBOOT=yes #系統啟動的時候網路介面是否有效(yes/no)
TYPE=Ethernet #網路型別(通常是Ethemet,工業乙太網)
參考:
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=4b84fe58-c2ba-421a-b40b-66f31fd2bdb2
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.137.129
PREFIX=24
GATEWAY=192.168.137.2
DNS1=192.168.137.2
PEERDNS=no
重啟網路 service network restart
2. 程序執行緒
3. ps ★
天字1號程序是所有程序的父程序
檢視程序
最常用的方法是
ps -aux,然後再利用一個管道符號導向到grep去查詢特定的程序,然後對程序進行操作
ps –aux|grep xxx
System V展示風格
USER:使用者名稱稱
PID:程序號
%CPU:程序佔用CPU的百分比
%MEM:程序佔用實體記憶體的百分比
VSZ:程序佔用的虛擬記憶體大小(單位:KB)
RSS:程序佔用的實體記憶體大小(單位:KB)
TT:終端名稱,縮寫 .
STAT:程序狀態,其中S-睡眠,s-表示該程序是會話的先導程序,N-表示程序擁有比普通優先順序更低的優先順序,R-正在執行,D-短期等待,Z-僵死程序,T-被跟蹤或者被停止等等
STARTED:程序的啟動時間
TIME:CPU時間,即程序使用CPU的總時間
COMMAND:啟動程序所用的命令和引數,如果過長會被截斷顯示
ps –ef
是以全格式顯示當前所有的程序
-e 顯示所有程序。
-f 全格式。
ps -ef|grep xxx
是BSD風格
UID:使用者ID
PID:程序ID
PPID:父程序ID
C:CPU用於計算執行優先順序的因子。數值越大,表明程序是CPU密集型運算,執行優先順序會降低;數值越小,表明程序是I/O密集型運算,執行優先順序會提高
STIME:程序啟動的時間
TTY:完整的終端名稱
TIME:CPU時間
CMD:啟動程序所用的命令和引數
CentOS6 (天字號1號程序,CentOS6中 /sbin/init)
CentOS7(天字號1號程序,CentOS7中 /usr/lib/systemd/systemd)
最後一個程序,就是剛剛執行的命令程序
綜上:
如果想檢視程序的CPU佔用率和記憶體佔用率,可以使用aux
如果想檢視程序的父程序ID可以使用ef
4. kill 殺死程序
kill pid 通過唯一標識pid殺死程序
-9 強行殺死程序
案例:
在虛擬系統中開啟文字編輯器
檢視gedit程序
殺死gedit程序
殺級別比較高的程序:bash程序(命令列視窗),採用-9
5. killall
killall name 通過程序名稱殺死程序
killall gedit 殺死所有的gedit程序
6. service(CentOS6)
註冊在系統中的標準化程序
方便統一的管理方式(常用的方法)
service 服務名 start
service 服務名 stop
service 服務名 restart
service 服務名 reload
service 服務名 status
檢視服務的方法 /etc/init.d/服務名
通過chkconfig 命令設定自啟動
檢視服務 chkconfig --list|grep xxx
chkconfig --level 5 服務名 on
案例:
顯示系統所有服務
顯示服務有哪些操作
檢視服務狀態(防火牆狀態)
停止服務
檢視服務啟動(執行級別)
CentOS7顯示內容:
vim /etc/inittab
關閉防火牆,檢視級別:vi /etc/inittab
Linux系統有7種執行級別(runlevel):常用的是級別3和5(CentOS7中只有兩個級別了:3和5)
執行級別0:系統停機狀態,系統預設執行級別不能設為0,否則不能正常啟動
執行級別1:單使用者工作狀態,root許可權,用於系統維護,禁止遠端登陸
執行級別2:多使用者狀態(沒有NFS),不支援網路
執行級別3:完全的多使用者狀態(有NFS),登陸後進入控制檯命令列模式
執行級別4:系統未使用,保留
執行級別5:X11控制檯,登陸後進入圖形GUI模式
執行級別6:系統正常關閉並重啟,預設執行級別不能設為6,否則不能正常啟動
7. systemctl (Centos7)
註冊在系統中的標準化程式
有方便統一的管理方式(常用的方法)
systemctl start 服務名(xxxx.service)
systemctl restart 服務名(xxxx.service)
systemctl stop 服務名(xxxx.service)
systemctl reload 服務名(xxxx.service)
systemctl status 服務名(xxxx.service)
檢視服務的方法 /usr/lib/systemd/system
檢視服務的命令
systemctl list-unit-files
systemctl --type service
通過systemctl 命令設定自啟動
自啟動systemctl enable service_name
不自啟動systemctl disable service_name
CentOS7設定防火牆自啟動/禁用自啟動
systemctl list-unit-file | grep firewalld
執行級別runlevel(centos7)
檢視預設級別: vim /etc/inittab
Centos7執行級別簡化為:
multi-user.target等價於原執行級別3(多使用者有網,無圖形介面)
graphical.target等價於原執行級別5(多使用者有網,有圖形介面)
8. netstat
檢視埠8080的使用情況,見下:
netstat –anp|grep 8080
檢視網路資訊
檢視22埠狀態