Linux常用命令

Linux文件類型:

文件類型 描述 示例
普通文件 用來在輔助存儲設備(磁盤)上存儲信息和數據 程序源代碼、程序、圖片等
目錄文件 用於表示和管理系統中的文件,目錄文件中包含一些文件名和子目錄名 /root,/home
鏈接文件 用於不同目錄下文件的共享 當創建一個已存在的鏈接符時,系統就創建一個鏈接文件,指向已存在的文件
設備文件 用來訪問硬件設備 鍵盤、硬盤等
命名管道(FIFO) 是一種特殊類型的文件,Linux系統下,進程之間通信可以通過該文件完成  

常見目錄:

  • /bin: 存放二進制可執行文件(ls、cat、mkdir等),常用命令一般都在這裏;
  • /etc: 存放系統管理和配置文件;
  • /home: 存放所有用戶文件的根目錄,是用戶主目錄的基點,比如用戶user的主目錄就是/home/user,可以用~user表示;
  • /usr : 用於存放系統應用程序;
  • /opt: 額外安裝的可選應用程序包所放置的位置。一般情況下,我們可以把tomcat等都安裝到這裏;
  • /proc: 虛擬文件系統目錄,是系統內存的映射。可直接訪問這個目錄來獲取系統信息;
  • /root: 超級用戶(系統管理員)的主目錄(特權階級^o^);
  • /sbin: 存放二進制可執行文件,只有root才能訪問。這裏存放的是系統管理員使用的系統級別的管理命令和程序。如ifconfig等;
  • /dev: 用於存放設備文件;
  • /mnt: 系統管理員安裝臨時文件系統的安裝點,系統提供這個目錄是讓用戶臨時掛載其他的文件系統;
  • /boot: 存放用於系統引導時使用的各種文件;
  • /lib : 存放着和系統運行相關的庫文件 ;
  • /tmp: 用於存放各種臨時文件,是公用的臨時文件存儲點;
  • /var: 用於存放運行時需要改變數據的文件,也是某些大文件的溢出區,比方說各種服務的日誌文件(系統啓動日誌等。)等;
  • /lost+found: 這個目錄平時是空的,系統非正常關機而留下“無家可歸”的文件(windows下叫什麼.chk)就在這裏。

基本命令:

1、目錄切換

  • cd usr:切換到usr目錄
  • cd ..:切換到上一層目錄
  • cd /:根目錄
  • cd ~:用戶主目錄
  • cd -:上一次操作所在目錄

2、目錄的操作命令

  1. mkdir 目錄名稱:增加目錄
  2. ls ll:查看目錄信息
  3. find 目錄 參數:尋找目錄
  4. mv 目錄名稱 新目錄名稱:修改目錄的名稱
  5. mv 目錄名稱 目錄的新位置:剪切/移動
  6. cp -r 目錄名稱 拷貝目標地址:拷貝目錄, -r表示遞歸拷貝
    1. 可拷貝目錄,壓縮包,文件。文件 壓縮包拷貝時不用-r
  7. rm [-rf] 目錄:刪除目錄
    1. rm可以刪除目錄,文件,壓縮包

文件的操作命令

1、touch 文件名稱: 文件創建

2、cat/more/less/tail 文件名稱:文件的查看

  • cat:查看顯示文件內容
  • more:顯示百分比,回車下一行,空格下一頁,q退出
  • less:可以使用鍵盤PgUp和PgDn,q退出
  • tail -f:動態監控
  • tail -10:最後10行

3、vim 文件:編輯修改

4、rm -rf 文件:刪除文件

壓縮文件

打包並壓縮文件

1、打包文件一般是.tar結尾,壓縮一般是.gz結尾。

tar -zcvf 打包壓縮後的文件名 sourceName

  • z:調用gzip命令進行壓縮
  • c:打包文件
  • v:顯示運行過程
  • f:指定文件名

2、解壓壓縮包

命令:tar [-xvf] 壓縮文件

  • x:表示解壓

tar -xvf xxx.tar.gz -C /usr (-c表示指定位置)

線程、進程命令

pwd:顯示當前所在位置

grep 要搜索的字符串 要搜索的文件 --color:搜索命令,--color代表高亮

ps:ps命令用於報告當前系統的進程狀態。可以搭配kill指令隨時中斷、刪除不必要的程序。ps命令是最基本同時也是非常強大的進程查看命令,使用該命令可以確定有哪些進程正在運行和運行的狀態、進程是否結束、進程有沒有僵死、哪些進程佔用了過多的資源等等,總之大部分信息都是可以通過執行該命令得到的。

常用組合:

ps -ef/ ps -aux:這兩個命令都是查看當前系統正在運行進程,兩者的區別是展示格式不同。如果想要查看特定的進程可以使用這樣的格式:ps aux|grep redis (查看包括redis字符串的進程),也可使用 pgrep redis -a

kill -9 進程的pid:殺死進程

ps [options]

-a:顯示所有終端機下執行的程序,除了階段作業領導者之外。
a:顯示現行終端機下的所有程序,包括其他用戶的程序。
-A:顯示所有程序。
-c:顯示CLS和PRI欄位。
c:列出程序時,顯示每個程序真正的指令名稱,而不包含路徑,選項或常駐服務的標示。
-C<指令名稱>:指定執行指令的名稱,並列出該指令的程序的狀況。
-d:顯示所有程序,但不包括階段作業領導者的程序。
-e:此選項的效果和指定"A"選項相同。
e:列出程序時,顯示每個程序所使用的環境變量。
-f:顯示UID,PPIP,C與STIME欄位。
f:用ASCII字符顯示樹狀結構,表達程序間的相互關係。
-g<羣組名稱>:此選項的效果和指定"-G"選項相同,當亦能使用階段作業領導者的名稱來指定。
g:顯示現行終端機下的所有程序,包括羣組領導者的程序。
-G<羣組識別碼>:列出屬於該羣組的程序的狀況,也可使用羣組名稱來指定。
h:不顯示標題列。
-H:顯示樹狀結構,表示程序間的相互關係。
-j或j:採用工作控制的格式顯示程序狀況。
-l或l:採用詳細的格式來顯示程序狀況。
L:列出欄位的相關信息。
-m或m:顯示所有的執行緒。
n:以數字來表示USER和WCHAN欄位。
-N:顯示所有的程序,除了執行ps指令終端機下的程序之外。
-p<程序識別碼>:指定程序識別碼,並列出該程序的狀況。
p<程序識別碼>:此選項的效果和指定"-p"選項相同,只在列表格式方面稍有差異。
r:只列出現行終端機正在執行中的程序。
-s<階段作業>:指定階段作業的程序識別碼,並列出隸屬該階段作業的程序的狀況。
s:採用程序信號的格式顯示程序狀況。
S:列出程序時,包括已中斷的子程序資料。
-t<終端機編號>:指定終端機編號,並列出屬於該終端機的程序的狀況。
t<終端機編號>:此選項的效果和指定"-t"選項相同,只在列表格式方面稍有差異。
-T:顯示現行終端機下的所有程序。
-u<用戶識別碼>:此選項的效果和指定"-U"選項相同。
u:以用戶爲主的格式來顯示程序狀況。
-U<用戶識別碼>:列出屬於該用戶的程序的狀況,也可使用用戶名稱來指定。
U<用戶名稱>:列出屬於該用戶的程序的狀況。
v:採用虛擬內存的格式顯示程序狀況。
-V或V:顯示版本信息。
-w或w:採用寬闊的格式來顯示程序狀況。 
x:顯示所有程序,不以終端機來區分。
X:採用舊式的Linux i386登陸格式顯示程序狀況。
-y:配合選項"-l"使用時,不顯示F(flag)欄位,並以RSS欄位取代ADDR欄位 。
-<程序識別碼>:此選項的效果和指定"p"選項相同。
--cols<每列字符數>:設置每列的最大字符數。
--columns<每列字符數>:此選項的效果和指定"--cols"選項相同。
--cumulative:此選項的效果和指定"S"選項相同。
--deselect:此選項的效果和指定"-N"選項相同。
--forest:此選項的效果和指定"f"選項相同。
--headers:重複顯示標題列。
--help:在線幫助。
--info:顯示排錯信息。
--lines<顯示列數>:設置顯示畫面的列數。
--no-headers:此選項的效果和指定"h"選項相同,只在列表格式方面稍有差異。
--group<羣組名稱>:此選項的效果和指定"-G"選項相同。
--Group<羣組識別碼>:此選項的效果和指定"-G"選項相同。
--pid<程序識別碼>:此選項的效果和指定"-p"選項相同。
--rows<顯示列數>:此選項的效果和指定"--lines"選項相同。
--sid<階段作業>:此選項的效果和指定"-s"選項相同。
--tty<終端機編號>:此選項的效果和指定"-t"選項相同。
--user<用戶名稱>:此選項的效果和指定"-U"選項相同。
--User<用戶識別碼>:此選項的效果和指定"-U"選項相同。
--version:此選項的效果和指定"-V"選項相同。
--widty<每列字符數>:此選項的效果和指定"-cols"選項相同。

根據端口號查看進程pid

netstat命令用來打印Linux中網絡系統的狀態信息,可讓你得知整個Linux系統的網絡情況。

語法:netstat(選項)

常用命令:netstat -lnp|grep 8080

選項:

-a或--all:顯示所有連線中的Socket;
-A<網絡類型>或--<網絡類型>:列出該網絡類型連線中的相關地址;
-c或--continuous:持續列出網絡狀態;
-C或--cache:顯示路由器配置的快取信息;
-e或--extend:顯示網絡其他相關信息;
-F或--fib:顯示FIB;
-g或--groups:顯示多重廣播功能羣組組員名單;
-h或--help:在線幫助;
-i或--interfaces:顯示網絡界面信息表單;
-l或--listening:顯示監控中的服務器的Socket;
-M或--masquerade:顯示僞裝的網絡連線;
-n或--numeric:直接使用ip地址,而不通過域名服務器;
-N或--netlink或--symbolic:顯示網絡硬件外圍設備的符號連接名稱;
-o或--timers:顯示計時器;
-p或--programs:顯示正在使用Socket的程序識別碼和程序名稱;
-r或--route:顯示Routing Table;
-s或--statistice:顯示網絡工作信息統計表;
-t或--tcp:顯示TCP傳輸協議的連線狀況;
-u或--udp:顯示UDP傳輸協議的連線狀況;
-v或--verbose:顯示指令執行過程;
-V或--version:顯示版本信息;
-w或--raw:顯示RAW傳輸協議的連線狀況;
-x或--unix:此參數的效果和指定"-A unix"參數相同;
--ip或--inet:此參數的效果和指定"-A inet"參數相同。

網絡通信命令

  • 查看當前系統的網卡信息:ifconfig
  • 查看與某臺機器的連接情況:ping
  • 查看當前系統的端口使用:netstat-an

Linux的權限命令

操作系統中每個文件都有特定的權限,所屬用戶和所屬組。權限是操作系統用來閒置資源訪問的機制,在Linux中權限一般分爲讀(readable)、寫(writable)和執行(excutable)。分別對應文件的屬主(owner),屬組(group)和其他用戶(other),通過這樣的機制來限制那些用戶、哪些組可以對特定的文件進行什麼樣的操作。通過ls -l命令可以查看某個目錄下的文件或目錄的權限。

第一列內容的信息解釋:

文件類型

  • d:目錄
  • -:文件
  • l:軟鏈接(類似快捷方式)

Linux中的權限:

對於文件

  • r:可以使用cat查看文件內容
  • w:可以修改文件內容
  • x:可以將其運行爲二進制文件

對於目錄

  • r:可查看目錄下列表
  • w:可創建和刪除目錄下的文件
  • x:可以使用cd進入目錄

超級用戶可以無視普通用戶的權限,即使文件目錄權限是000,依舊可以訪問。

linux中的每個用戶必須屬於一個組,不能獨立於組外。在linux中每個文件有所有者、所在組、其他組概念。

  • 所有者:一般爲文件的創建者。ls -ahl可以看到文件的所有者,也可以使用【chown 用戶名 文件名】來修改文件的所有者
  • 文件所在組:當某個用戶創建了一個文件後,這個文件的所在組就是用戶所在的組 可以使用【chgrp 組名 文件名】修改
  • 其他組:除文件的所有者和所在組的用戶外,系統的其他用戶都是文件的其他組

修改文件/目錄的權限的命令:chmod

chmod u=rwx,g=rw,o=r aaa.text

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章