一些常用的linux命令(基於centos)
檔案操作
LS命令-作用:顯示目錄內容,類似DOS下的DIR-格式:LS【options】【filename】-常用引數:
>-a:all,不隱藏任何以"."字元開始的檔案
>-l:使用較長的格式列出資訊
>-r:按照檔名的逆序列印輸出
>-F:加上檔案型別的指示符 ls -lF | grep / 過濾 man ls
查詢ls的幫助檔案 cat命令-作用:顯示檔案內容,concatenate的縮寫,類似dos的type命令。-格式:cat【options】【fielname】-常用引數:
>-n:顯示檔案內容的行號。
>-b:類似-n,但是不對空白行進行編號。
>-s:當遇到有連續兩行以上的空白行時,就代換為一行的空白行。
mv命令-作用:更改檔案或者目錄的名字。-格式:mv[options]source destination-常用引數:
>-f:強制模式,覆蓋檔案不提示。
>-i:互動模式,當要覆蓋檔案的時候給提示。
rm命令-作用:刪除檔案命令,類似dos的del命令-格式:rm【options】filenames-常用引數:
>-f:強制模式,不給提示。
>-r,-R:刪除目錄,recursive
mkdir命令-作用:建立目錄,類似dos的md命令-格式:mkdir【options】directory-常用引數:
>-p:建立目錄和它的父目錄。
>-m:指定模式,類似chmod。
more命令-作用:分屏顯示輸出結果,同DOS下的more命令。-格式:more【options】【filename】-常用引數:
>-p:通過清屏而不是滾動來顯示資訊
>-+num:從第num行開始顯示
>-s:把連續的多行空白行壓縮成一行
cat aa.txt | more 通過管道的作用連線兩個命令
grep命令-作用:在檔案中搜尋特定的字串。
Global Regular Expression Print-格式:grep【options】PATTERN【filename】-常用引數:
>-i:不區分大小寫
>-n:顯示序號
>-v:顯示不匹配的內容
-多條件查詢
grep -E "exe|dll" aa.txt
find命令-作用:搜尋指定目錄下的檔案-格式:find【path】【options】【expression】-常用引數:
>-name:搜尋指定檔名字的檔案,支援萬用字元
>-atime n:搜尋過去n天之內訪問的檔案
>-ctime n:搜尋過去n天之內修改的檔案
>-group gname:搜尋指定組屬的檔案
file命令-作用:判斷檔案的型別-格式:file【options】filename-常用引數:
>-z:檢測壓縮過的檔案型別說明:
file命令可以檢測某個檔案是否是目錄,shell指令碼,英文文字,二進位制可執行檔案,c語言原始檔,文字檔案,dos的可執行檔案。
chmod命令-作用:改變檔案存取許可權。-格式:chmod【options】 mode filename-常用引數:
>-R:對目錄下的檔案進行遞迴操作
>+r:增加讀許可權
>-W:刪除寫許可權
>-x:增加執行許可權
root相關操作
更改密碼:sudo passwd root
獲取root許可權:sudo su -
本地檔案上傳下載
下載安裝
sudo yum install lrzsz
sz命令傳送檔案到本地:
# sz filename
rz命令本地上傳檔案到伺服器:
# rz
打包解壓縮命令
.tar
壓縮:tar cvf FileName.tar FileName
解壓:tar xvf FileName.tar
---------------------------------------------
.gz
解壓1:gunzip FileName.gz
解壓2:gzip -d FileName.gz
壓縮:gzip FileName
.tar.gz
解壓:tar zxvf FileName.tar.gz
壓縮:tar zcvf FileName.tar.gz DirName
---------------------------------------------
.bz2
解壓1:bzip2 -d FileName.bz2
解壓2:bunzip2 FileName.bz2
壓縮: bzip2 -z FileName
.tar.bz2
解壓:tar jxvf FileName.tar.bz2
壓縮:tar jcvf FileName.tar.bz2 DirName
---------------------------------------------
.bz
解壓1:bzip2 -d FileName.bz
解壓2:bunzip2 FileName.bz
壓縮:未知
.tar.bz
解壓:tar jxvf FileName.tar.bz
壓縮:未知
---------------------------------------------
.Z
解壓:uncompress FileName.Z
壓縮:compress FileName
.tar.Z
解壓:tar Zxvf FileName.tar.Z
壓縮:tar Zcvf FileName.tar.Z DirName
---------------------------------------------
.tgz
解壓:tar zxvf FileName.tgz
壓縮:未知
.tar.tgz
解壓:tar zxvf FileName.tar.tgz
壓縮:tar zcvf FileName.tar.tgz FileName
---------------------------------------------
.zip
解壓:unzip FileName.zip
壓縮:zip FileName.zip DirName
---------------------------------------------
.rar
解壓:rar a FileName.rar
壓縮:rar e FileName.rar
獲取當前路徑
pwd
ps操作
PID: 執行著的命令(CMD)的程式編號 TTY: 命令所執行的位置(終端) TIME: 執行著的該命令所佔用的CPU處理時間 CMD: 該程式所執行的命令這些資訊在顯示時未排序。
1.顯示所有當前程式
使用 -a 引數。-a 代表 all。同時加上x引數會顯示沒有控制終端的程式。
$ ps -ax
這個命令的結果或許會很長。為了便於檢視,可以結合less命令和管道來使用。
$ ps -ax | less
2.根據使用者過濾程式
在需要檢視特定使用者程式的情況下,我們可以使用 -u 引數。比如我們要檢視使用者'pungki'的程式,可以通過下面的命令:
$ ps -u pungki
通過cpu和記憶體使用來過濾程式
也許你希望把結果按照 CPU 或者記憶體用量來篩選,這樣你就找到哪個程式佔用了你的資源。要做到這一點,我們可以使用 aux 引數,來顯示全面的資訊:
$ ps -aux | less
當結果很長時,我們可以使用管道和less命令來篩選。
預設的結果集是未排好序的。可以通過 --sort命令來排序。
3.根據 CPU 使用來升序排序
$ ps -aux --sort -pcpu | less
4.根據 記憶體使用 來升序排序
$ ps -aux --sort -pmem | less
我們也可以將它們合併到一個命令,並通過管道顯示前10個結果:
$ ps -aux --sort -pcpu,+pmem | head -n 10
5.通過程式名和PID過濾
使用 -C 引數,後面跟你要找的程式的名字。比如想顯示一個名為getty的程式的資訊,就可以使用下面的命令:
$ ps -C getty
如果想要看到更多的細節,我們可以使用-f引數來檢視格式化的資訊列表:
$ ps -f -C getty
6.根據執行緒來過濾程式
如果我們想知道特定程式的執行緒,可以使用-L 引數,後面加上特定的PID。
$ ps -L 1213
7.樹形顯示程式
有時候我們希望以樹形結構顯示程式,可以使用 -axjf 引數。
$ps -axjf
或者可以使用另一個命令。
$ pstree
8.顯示安全資訊
如果想要檢視現在有誰登入了你的伺服器。可以使用ps命令加上相關引數:
$ ps -eo pid,user,args
引數 -e 顯示所有程式資訊,-o 引數控制輸出。Pid,User 和 Args引數顯示PID,執行應用的使用者和該應用。
能夠與-e 引數 一起使用的關鍵字是args, cmd, comm, command, fname, ucmd, ucomm, lstart, bsdstart 和 start。
9.格式化輸出root使用者(真實的或有效的UID)建立的程式
系統管理員想要檢視由root使用者執行的程式和這個程式的其他相關資訊時,可以通過下面的命令:
$ ps -U root -u root u
-U 引數按真實使用者ID(RUID)篩選程式,它會從使用者列表中選擇真實使用者名稱或 ID。真實使用者即實際建立該程式的使用者。
-u 引數用來篩選有效使用者ID(EUID)。
最後的u引數用來決定以針對使用者的格式輸出,由User, PID, %CPU, %MEM, VSZ, RSS, TTY, STAT, START, TIME 和 COMMAND這幾列組成。
10.使用PS實時監控程式狀態
ps 命令會顯示你係統當前的程式狀態,但是這個結果是靜態的。
當有一種情況,我們需要像上面第四點中提到的通過CPU和記憶體的使用率來篩選程式,並且我們希望結果能夠每秒重新整理一次。
為此,我們可以將ps命令和watch命令結合起來。
$ watch -n 1 ‘ps -aux --sort -pmem, -pcpu’
如果輸出太長,我們也可以限制它,比如前20條,我們可以使用head命令來做到。
$ watch -n 1 ‘ps -aux --sort -pmem, -pcpu | head 20’
這裡的動態檢視並不像top或者htop命令一樣。但是使用ps的好處是你能夠定義顯示的欄位,你能夠選擇你想檢視的欄位。
舉個例子,如果你只需要看名為'pungki'使用者的資訊,你可以使用下面的命令:
$ watch -n 1 ‘ps -aux -U pungki u --sort -pmem, -pcpu | head 20’
CentOS SSH金鑰登陸改為密碼登陸
1.檢查安裝系統時是否已經安裝SSH服務端軟體包: rpm -qa|grep openssh
若顯示結果中包含openssh-server-*,則說明已經安裝,直接啟動 sshd服務就可以了(service sshd start).(其中*的內容是該包的版本,一般為3.5p1-6)
netstat -a | more看有沒正常啟動
如果出現:
tcp 0 0 *:ssh *:* LISTEN
就說明正常啟動了
vi /etc/ssh/sshd_config
2.設定為密碼登陸方式
查詢
PermitRootLogin yes
刪除前面的#註釋
查詢
PasswordAuthentication no
改為
PasswordAuthentication yes
儲存
3.重啟ssh服務或重啟伺服器
service sshd restart
檔案檢視
tail -f 等同於--follow=descriptor,根據檔案描述符進行追蹤,當檔案改名或被刪除,追蹤停止
tail -F 等同於--follow=name --retry,根據檔名進行追蹤,並保持重試,即該檔案被刪除或改名後,如果再次建立相同的檔名,會繼續追蹤
tailf 等同於tail -f -n 10(貌似tail -f或-F預設也是列印最後10行,然後追蹤檔案),與tail -f不同的是,如果檔案不增長,它不會去訪問磁碟檔案,所以tailf特別適合那些便攜機上跟蹤日誌檔案,因為它減少了磁碟訪問,可以省電
新增新使用者並授權
(一)建立一個admin使用者
adduser admin
(二)為admin使用者設定密碼
passwd admin
(四) 查詢sudoers檔案所在
whereis sudoers
(五)檢視一下檔案的許可權
ls -l /etc/sudoers
可以看到只有只讀的許可權,這時候我們要加入一個可寫的(w)的許可權
(六)加入可寫的許可權
chmod -v u+w /etc/sudoers
(七)把admin使用者新增到sudoers中
vi /etc/sudoers1
## Allow root to run any commands anywher
root ALL=(ALL) ALL
admin ALL=(ALL) ALL #新增admin使用者123
(八)wq儲存,然後把sudoers檔案許可權改回去,畢竟這是一個重要的檔案
chmod -v u-w /etc/sudoers
(九)測試新使用者admin進行登陸,使用su admin操作:
su admin
檢視埠狀態
netstat命令各個引數說明如下:
-t : 指明顯示TCP埠
-u : 指明顯示UDP埠
-l : 僅顯示監聽套接字(所謂套接字就是使應用程式能夠讀寫與收發通訊協議(protocol)與資料的程式)
-p : 顯示程式識別符號和程式名稱,每一個套接字/埠都屬於一個程式。
-n : 不進行DNS輪詢,顯示IP(可以加速操作)
即可顯示當前伺服器上所有埠及程式服務,於grep結合可檢視某個具體埠及服務情況··
netstat -ntlp //檢視當前所有tcp埠·
netstat -ntulp |grep 80 //檢視所有80埠使用情況·
netstat -an | grep 3306 //檢視所有3306埠使用情況·
檢視一臺伺服器上面哪些服務及埠
netstat -lanp
檢視一個服務有幾個埠。比如要檢視mysqld
ps -ef |grep mysqld
檢視某一埠的連線數量,比如3306埠
netstat -pnt |grep :3306 |wc
檢視某一埠的連線客戶端IP 比如3306埠
netstat -anp |grep 3306
netstat -an 檢視網路埠
lsof -i :port,使用lsof -i :port就能看見所指定埠執行的程式,同時還有當前連線。
nmap 埠掃描
netstat -nupl (UDP型別的埠)
netstat -ntpl (TCP型別的埠)
netstat -anp 顯示系統埠使用情況
相關文章
- Linux常用命令詳解—基於CentOS7LinuxCentOS
- Linux的常用基礎命令Linux
- Linux的一些常用命令Linux
- Linux 常用基礎命令Linux
- Linux常用基礎命令Linux
- Linux一些基礎命令Linux
- linux常用基礎命令操作收集Linux
- 常用的linux命令Linux
- linux 常用命令(五)——(centos7-centos6.8)JDK安裝LinuxCentOSJDK
- CentOS常用命令CentOS
- DBA常用的linux命令Linux
- 我常用的Linux命令Linux
- 常用基礎Linux操作命令總結與hadoop基礎操作命令LinuxHadoop
- Linux入門基礎——常用命令Linux
- 常用的Linux命令;Linux常用命令用法及實現方式Linux
- 【分享篇】運維人員常用的一些Linux命令盤點!運維Linux
- Linux 的常用命令Linux
- 【UNIX】DBA常用的linux命令Linux
- Linux的常用命令Linux
- 一些常用的命令(持續更新)
- 01.Redis常用的一些命令Redis
- Linux常用效能命令Linux
- linux中的一些常用指令Linux
- 以身試水Linux系統一些常用命令整理Linux
- linux系統基礎的優化以及常用命令Linux優化
- Linux的docker常用命令LinuxDocker
- Linux的常用基本命令(二)Linux
- 記錄Linux我常用的命令Linux
- Linux常用命令:效能命令Linux
- SHELL中常用的一些簡單命令
- CentOS基礎命令大全CentOS
- 【Linux基礎】常用Linux命令: cd, cp, ls, mkdir, mv, rm, su, unameLinux
- Linux運維常用命令有哪些?Linux基礎入門Linux運維
- Linux常用系統命令Linux
- Linux 常用命令Linux
- Linux常用命令Linux
- 【Linux】—— vim常用操作命令Linux
- CentOS7.5常用命令整理CentOS