【Linux】命令

一 系統相關

1. ifconfig

顯示或設置網絡設備

2. 快捷鍵

ctrl +c 強制終止
clear 或者 ctrl + l清屏
ctrl + u 刪除光標所在位置到行首
ctrl + a 光標移動到行首
ctrl + e 光標移動到行位
ctrl + z 把命令放入後臺,這個不是終止,而是放入後臺
ctrl + r 在歷史命令中搜索我們已經敲過的命令

3. date 查看時間

4. su 切換用戶

5. clear 清屏

6. man 查看命令幫助

7. who 查看當前登錄用戶

8. uname 顯示系統的相關信息

-n 顯示主機名稱
-a 顯示全部信息
-m 顯示系統CPU信息,類型
-s 顯示操作系統類型
-r 顯示內核版本

9. last 查看最近登錄情況

10. dmesg 顯示系統開機信息

11. free 來顯示內存的信息

12. ps 查看進程信息

13. top 監控Linux系統狀況,比如cpu、內存的使用。

14. kill 殺死進程

  • kill -1 進程號 重啓進程
  • kill -9 進程號 強制殺死進程
  • kill -15 進程號 默認的,正常結束進程,如果發生問題,就會嘗試kill -9

14. 進程前後臺切換

和前端有交互的不能放後臺,否則就暫停不能執行。

⑴把進程放後臺的方法
  • 命令 &
  • 按下ctrl+z快捷鍵,放在後臺暫停
⑵jobs-l 查看後臺工作
⑶fg %工作號 將後臺暫停的工作恢復到前臺執行
⑷bg %工作號 將後臺暫停的工作恢復到後臺執行
⑸後臺命令脫離終端的方法
  • 加入到/etc/rc.local文件
  • 使用nohup

15.查看內核版本

在proc目錄下的version

cat version
Linux version 4.18.7-1.el7.elrepo.x86_64 (mockbuild@Build64R7) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-28) (GCC)) #1 SMP Sun Sep 9 09:02:34 EDT 2018

內核版本4.18.7 紅帽Red Hat 4.8.5-28,安裝時間Sun Sep 9 09:02:34 EDT 2018

16.pidof 找到正在運行的程序的進程ID

[work(caibin)@tjtx145-93-90 ~]$ pidof java
1450 897

17.findmt 顯示當前掛載的文件系統列表

[work(caibin)@tjtx145-93-90 ~]$ findmnt
TARGET                                          SOURCE                                                                                                                  FSTYPE OPTIONS
/                                               /dev/mapper/docker-8:3-6442806673-3698a36874aa9bd0cea886c5a44c7cfa11fda8dff8c374b8807a3c9e6a8293fd[/rootfs]             xfs    rw,relatime,nouuid,attr2,inode64,logbsize=256k,sunit=512,swidth=1024,noquota
├─/proc                                         proc                                                                                                                    proc   rw,nosuid,nodev,noexec,relatime
│ ├─/proc/bus                                   proc[/bus]                                                                                                              proc   ro,nosuid,nodev,noexec,relatime
│ ├─/proc/fs                                    proc[/fs]                                                                                                               proc   ro,nosuid,nodev,noexec,relatime
│ ├─/proc/irq                                   proc[/irq]                                                                                                              proc   ro,nosuid,nodev,noexec,relatime
│ ├─/proc/sys                                   proc[/sys]                                                                                                              proc   ro,nosuid,nodev,noexec,relatime
│ ├─/proc/sysrq-trigger                         proc[/sysrq-trigger]                                                                                                    proc   ro,nosuid,nodev,noexec,relatime
│ └─/proc/kcore                                 tmpfs[/null]                                                                                                            tmpfs  rw,nosuid,mode=755
├─/dev                                          tmpfs                                                                                                                   tmpfs  rw,nosuid,mode=755
│ ├─/dev/pts                                    devpts                                                                                                                  devpts rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=666
│ ├─/dev/mqueue                                 mqueue                                                                                                                  mqueue rw,nosuid,nodev,noexec,relatime
│ ├─/dev/shm                                    shm                                                                                                                     tmpfs  rw,nosuid,nodev,noexec,relatime,size=65536k
│ └─/dev/termination-log                        /dev/sda3[/wcloud/kubelet/pods/4e6d3ec4-369e-11ea-aded-246e96be23c4/containers/hbg-web-hugopenapi-2-0d360f/0b130025]    xfs    rw,relatime,attr2,inode64,noquota
├─/sys                                          sysfs                                                                                                                   sysfs  ro,nosuid,nodev,noexec,relatime
│ ├─/sys/fs/cgroup                              tmpfs                                                                                                                   tmpfs  ro,nosuid,nodev,noexec,relatime,mode=755
│ │ ├─/sys/fs/cgroup/systemd                    cgroup[/system.slice/docker-0ef2e11dacfb476af671a46387e108081934d8d4b3ba8f0e88c78eb527259d35.scope]                     cgroup ro,nosuid,nodev,noexec,relatime,xattr,release_agent=/usr/lib/systemd/systemd-cgroups
│ │ ├─/sys/fs/cgroup/cpu,cpuacct                cgroup[/system.slice/docker-0ef2e11dacfb476af671a46387e108081934d8d4b3ba8f0e88c78eb527259d35.scope]                     cgroup ro,nosuid,nodev,noexec,relatime,cpu,cpuacct
│ │ ├─/sys/fs/cgroup/pids                       cgroup                                                                                                                  cgroup ro,nosuid,nodev,noexec,relatime,pids
│ │ ├─/sys/fs/cgroup/rdma                       cgroup                                                                                                                  cgroup ro,nosuid,nodev,noexec,relatime,rdma
│ │ ├─/sys/fs/cgroup/cpuset                     cgroup[/system.slice/docker-0ef2e11dacfb476af671a46387e108081934d8d4b3ba8f0e88c78eb527259d35.scope]                     cgroup ro,nosuid,nodev,noexec,relatime,cpuset
│ │ ├─/sys/fs/cgroup/hugetlb                    cgroup[/system.slice/docker-0ef2e11dacfb476af671a46387e108081934d8d4b3ba8f0e88c78eb527259d35.scope]                     cgroup ro,nosuid,nodev,noexec,relatime,hugetlb
│ │ ├─/sys/fs/cgroup/net_cls,net_prio           cgroup[/system.slice/docker-0ef2e11dacfb476af671a46387e108081934d8d4b3ba8f0e88c78eb527259d35.scope]                     cgroup ro,nosuid,nodev,noexec,relatime,net_cls,net_prio
│ │ ├─/sys/fs/cgroup/memory                     cgroup[/system.slice/docker-0ef2e11dacfb476af671a46387e108081934d8d4b3ba8f0e88c78eb527259d35.scope]                     cgroup ro,nosuid,nodev,noexec,relatime,memory
│ │ ├─/sys/fs/cgroup/freezer                    cgroup[/system.slice/docker-0ef2e11dacfb476af671a46387e108081934d8d4b3ba8f0e88c78eb527259d35.scope]                     cgroup ro,nosuid,nodev,noexec,relatime,freezer
│ │ ├─/sys/fs/cgroup/perf_event                 cgroup[/system.slice/docker-0ef2e11dacfb476af671a46387e108081934d8d4b3ba8f0e88c78eb527259d35.scope]                     cgroup ro,nosuid,nodev,noexec,relatime,perf_event
│ │ ├─/sys/fs/cgroup/blkio                      cgroup[/system.slice/docker-0ef2e11dacfb476af671a46387e108081934d8d4b3ba8f0e88c78eb527259d35.scope]                     cgroup ro,nosuid,nodev,noexec,relatime,blkio
│ │ └─/sys/fs/cgroup/devices                    cgroup[/system.slice/docker-0ef2e11dacfb476af671a46387e108081934d8d4b3ba8f0e88c78eb527259d35.scope]                     cgroup ro,nosuid,nodev,noexec,relatime,devices
│ └─/sys/devices/system/cpu/online              /dev/sda3[/wcloud/config/core_resize/online_12]                                                                         xfs    rw,relatime,attr2,inode64,noquota
├─/run/secrets                                  /dev/sda3[/wcloud/docker_graph/containers/0ef2e11dacfb476af671a46387e108081934d8d4b3ba8f0e88c78eb527259d35/secrets]     xfs    rw,relatime,attr2,inode64,noquota
├─/etc/resolv.conf                              /dev/sda3[/wcloud/docker_graph/containers/1002784bb8878e581affa36205442165a3f2ec5742bc7e6098ffd9459b47a278/resolv.conf] xfs    rw,relatime,attr2,inode64,noquota
├─/etc/hostname                                 /dev/sda3[/wcloud/docker_graph/containers/1002784bb8878e581affa36205442165a3f2ec5742bc7e6098ffd9459b47a278/hostname]    xfs    rw,relatime,attr2,inode64,noquota
├─/etc/hosts                                    /dev/sda3[/wcloud/kubelet/pods/4e6d3ec4-369e-11ea-aded-246e96be23c4/etc-hosts]                                          xfs    rw,relatime,attr2,inode64,noquota
├─/new_proc/sys/net                             proc[/sys/net]                                                                                                          proc   rw,nosuid,nodev,noexec,relatime
├─/var/run/secrets/kubernetes.io/serviceaccount tmpfs                                                                                                                   tmpfs  ro,relatime
└─/opt/web/hbg_web_hugopenapi/wf/logs           /dev/sda3[/wcloud/logdata/hbg_web_hugopenapi/hbg-web-hugopenapi-2-336902a-1578986387990/1]                              xfs    rw,relatime,attr2,inode64,noquota

18.watch

watch也是一個很重要的命令,可以觀測變化

//每隔一秒高亮顯示網絡鏈接數的變化情況
watch -n 1 -d netstat -ant

二 文件相關

1. pwd

以絕對路徑的方式顯示當前所在目錄

2. cd

  • ⑴進入根目錄
cd
  • ⑵ 進入上級目錄
cd..

3. ls

  • 列出所有文件
ls -a
  • 列出詳細信息
ls -l
  • 列出以t開頭文件的詳細內容
ls -l t*

4. find

  • 查找名字爲test的文件或目錄
find ./ -name test
  • 查找文件名匹配*.c的文件,這裏會包括文件夾所有文件(不單單是子目錄)
find ./ -name \*.c
  • 列出當前目錄以及子目錄下所有擴展名爲“.txt”的文件
find . -name "*.txt"

5. chmod 修改文件權限

chmod abc file
其中a,b,c各爲一個數字,分別表示User、Group、及Other的權限。
r=4,w=2,x=1
若要rwx屬性則4+2+1=7;
若要rw-屬性則4+2=6;
若要r-x屬性則4+1=5。

6. mv

  • 重命名 mv 原名字 目標名字
  • 移動文件
    .代表的是當前文件夾,下面的意思是把testmv移動到當前文件夾下面
mobvoi@mobvoi-Battle-Axe-C-B150M-HD:~/Documents$ mv '/home/mobvoi/Documents/cpcp2/testmv' .

7. cp 主要用於複製文件或目錄

  • 目錄需要加上 -r

8. scp 跨服務器複製

9. rm 刪除文件或文件夾

rm -rf  文件夾
rm -f 文件 

10. 解壓縮

  • .tar.gz結尾的
    壓縮
    tar -zcvf 打包文件名(可以加絕對路徑) 被打包的文件
    解壓縮
    tar -zxvf
    tar -zxvf 解壓縮文件 -C 目標位置
  • .tar.bz2結尾的
    壓縮
    tar -jcvf 打包文件名(可以加絕對路徑) 被打包的文件
    解壓縮
    tar -jxvf
    tar -jxvf 解壓縮文件 -C 目標位置

11. stat 查看文件元信息

[root@localhost ~]# stat test.bin
  文件:"test.bin"
  大小:2898689   	塊:5664       IO 塊:4096   普通文件
設備:fd00h/64768d	Inode:33971545    硬鏈接:1
權限:(0600/-rw-------)  Uid:(    0/    root)   Gid:(    0/    root)
環境:unconfined_u:object_r:admin_home_t:s0
最近訪問:2018-03-08 11:00:52.111316220 +0800
最近更改:2018-03-08 10:59:32.531174936 +0800
最近改動:2018-03-08 10:59:32.531174936 +0800
創建時間:-

12. 軟連接

ln -s 源文件 目標文件

13. 硬連接

  • ⑴不允許給目錄創建硬連接
  • ⑵只有在同一文件系統中的文件才能創建硬連接

ln 源文件 目標文件

三 文本相關

1. grep

把匹 配的行打印出來

  • -i 不區分大小寫
mobvoi@mobvoi-Battle-Axe-C-B150M-HD:~$ grep -i 'line2' grep.txt
grep line2
grep LINE2
  • -c統計匹配到的次數
mobvoi@mobvoi-Battle-Axe-C-B150M-HD:~$ grep -c 'line1' grep.txt
2
  • -n顯示行號
mobvoi@mobvoi-Battle-Axe-C-B150M-HD:~$ grep -n 'line1' grep.txt
1:grep line1
6:grep line1
  • -v查找不包含指定內容的行
mobvoi@mobvoi-Battle-Axe-C-B150M-HD:~$ grep -v 'line1' grep.txt
  • -r逐層遍歷目錄查找
    grep -r 字符串 文件名
  • -A -B -C 後多少行,前多少行,前後多少行
mobvoi@mobvoi-Battle-Axe-C-B150M-HD:~/grep$ grep -A1 'line2' grep.txt
mobvoi@mobvoi-Battle-Axe-C-B150M-HD:~/grep$ grep -B1 'line2' grep.txt
mobvoi@mobvoi-Battle-Axe-C-B150M-HD:~/grep$ grep -C1 'line2' grep.txt
  • -w 精確匹配單詞
mobvoi@mobvoi-Battle-Axe-C-B150M-HD:~/grep$ grep -w 'line1' grep.txt
grep line1
grep line1
mobvoi@mobvoi-Battle-Axe-C-B150M-HD:~/grep$ grep 'line1' grep.txt
grep line1
grep line1
grep line1line
  • -e 與/或
mobvoi@mobvoi-Battle-Axe-C-B150M-HD:~/grep$ cat grep.txt
grep line1
grep LINE2
grep line1line
// 與
mobvoi@mobvoi-Battle-Axe-C-B150M-HD:~/grep$ grep -e 'line1\+line' grep.txt
grep line1line
// 或
mobvoi@mobvoi-Battle-Axe-C-B150M-HD:~/grep$ grep -e 'line1\|line2' grep.txt
grep line1
grep line1line
  • 找到以grep開頭的行
grep$ grep '^grep' grep.txt
  • 找到以line1結尾的行
grep 'line1$' grep.txt
  • 找到空行
grep '^$' grep.txt
  • 將grep的輸出到指定文件
grep 'line1$' grep.txt > heidou.txt

2. awk文本處理和報表生成

awk有3個不同版本: awk、nawk和gawk,未作特別說明,一般指gawk,gawk 是 AWK 的 GNU 版本。

  • 打印某些列
mobvoi@mobvoi-Battle-Axe-C-B150M-HD:~$ cat marks.txt
1) Amit    Physics        80
2) Rahul    Maths        90
3) Shyam    Biology        87
4) Kedar    English        85
5) Hari    History        89
mobvoi@mobvoi-Battle-Axe-C-B150M-HD:~$ awk '{print $3 "\t" $4}' marks.txt
Physics	80
Maths	90
Biology	87
English	85
History	89
  • 打印包含a字符的行的第三列,第四列
mobvoi@mobvoi-Battle-Axe-C-B150M-HD:~$ cat marks.txt
1) Amit    Physics        80
2) Rahul    Maths        90
3) Shyam    Biology        87
4) Kedar    English        85
5) Hari    History        89
mobvoi@mobvoi-Battle-Axe-C-B150M-HD:~$ awk '/a/ {print $3 "\t" $4}' marks.txt
Maths	90
Biology	87
English	85
History	89

3. sed

SED的英文全稱是 Stream EDitor,它是一個簡單而強大的文本解析轉換工具。
sed一次處理一行內容,除非重定向,否則不改變文件內容

⑴新增

如下,在第四行後面加一行:

mobvoi@mobvoi-Battle-Axe-C-B150M-HD:~$ cat sed.txt
sed line1
sed line2
sed line3
sed line4
sed line5
mobvoi@mobvoi-Battle-Axe-C-B150M-HD:~$ sed '4a line4.1' sed.txt
sed line1
sed line2
sed line3
sed line4
line4.1
sed line5
mobvoi@mobvoi-Battle-Axe-C-B150M-HD:~$ cat sed.txt
sed line1
sed line2
sed line3
sed line4
sed line5
⑵刪除
mobvoi@mobvoi-Battle-Axe-C-B150M-HD:~$ cat sed.txt
sed line1
sed line2
sed line3
sed line4
sed line5
mobvoi@mobvoi-Battle-Axe-C-B150M-HD:~$ sed '2d' sed.txt
sed line1
sed line3
sed line4
sed line5
mobvoi@mobvoi-Battle-Axe-C-B150M-HD:~$ cat sed.txt
sed line1
sed line2
sed line3
sed line4
sed line5
⑶修改
mobvoi@mobvoi-Battle-Axe-C-B150M-HD:~$ cat sed.txt
sed line1
sed line2
sed line3
sed line4
sed line5
mobvoi@mobvoi-Battle-Axe-C-B150M-HD:~$ sed '2c helloword' sed.txt
sed line1
helloword
sed line3
sed line4
sed line5
mobvoi@mobvoi-Battle-Axe-C-B150M-HD:~$ cat sed.txt
sed line1
sed line2
sed line3
sed line4
sed line5
⑷查詢
mobvoi@mobvoi-Battle-Axe-C-B150M-HD:~$ sed -n '3p' sed.txt
sed line3
mobvoi@mobvoi-Battle-Axe-C-B150M-HD:~$ cat sed.txt
sed line1
sed line2
sed line3
sed line4
sed line5
⑸操作多行
mobvoi@mobvoi-Battle-Axe-C-B150M-HD:~$ cat sed.txt
sed line1
sed line2
sed line3
sed line4
sed line5
mobvoi@mobvoi-Battle-Axe-C-B150M-HD:~$ sed -e '2d' -e '3d' sed.txt
sed line1
sed line4
sed line5
mobvoi@mobvoi-Battle-Axe-C-B150M-HD:~$ cat sed.txt
sed line1
sed line2
sed line3
sed line4
sed line5
⑹修改源文件
mobvoi@mobvoi-Battle-Axe-C-B150M-HD:~$ cat sed.txt
sed line1
sed line2
sed line3
sed line4
sed line5
mobvoi@mobvoi-Battle-Axe-C-B150M-HD:~$ sed -i '2d' sed.txt
mobvoi@mobvoi-Battle-Axe-C-B150M-HD:~$ cat sed.txt
sed line1
sed line3
sed line4
sed line5

4. cut提取列

CUT命令比AWK容易,也是用來提取列,但是默認是製表符,如果是空格分割則一般不用,因爲它會算空格個數

5. cat

cat命令是linux下的一個文本輸出命令,通常是用於觀看某個文件的內容的

  • 一次顯示整個文件 cat filename
  • 將幾個文件合併爲一個文件 cat file1 file2 > file

6. more

Linux more 命令類似 cat ,不過會以一頁一頁的形式顯示,更方便使用者逐頁閱讀,而最基本的指令就是按空白鍵(space)就往下一頁顯示,按 b 鍵就會往回(back)一頁顯示,而且還有搜尋字串的功能(與 vi 相似)

7. less

less 與 more 類似,但使用 less 可以隨意瀏覽文件,而 more 僅能向前移動,卻不能向後移動,而且 less 在查看之前不會加載整個文件。

7. vim相關

  • :set nu 設置行號
  • :set nonu 取消行號
  • 😒/a/b/g 替換當前行所有 a 爲 b
  • dd 刪除所在行
  • /string 搜索指定字符串(不需要獨立成一個完整單詞),忽略大小寫 :set ic 找下一個出現位置 n
  • :w 保存修改
  • :wq 保存退出
  • q!不保存退出
  • :wq!保存修改退出(文件所有者和root用戶)

6. head顯示前幾行

顯示文件前n行
[root@localhost douhei]# head -n 5 caibin.txt
顯示文件除了最後n行的全部內容
[root@localhost douhei]# head -n -5 caibin.txt

7. tail顯示後幾行

  • -f 循環讀取
  • -n <行數> 顯示行數 不加-n默認是顯示後10行
 tail -n 1000:顯示最後1000行
 tail -n +1000:從1000行開始顯示,顯示1000行以後的

四 網絡相關

1. 查看併發數

netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'  

輸出:

LAST_ACK 5   (正在等待處理的請求數) 
SYN_RECV 30 
ESTABLISHED 1597 (正常數據傳輸狀態) 
FIN_WAIT1 51 
FIN_WAIT2 504 
TIME_WAIT 1057 (處理完畢,等待超時結束的請求數) 

2. ping

Linux ping命令用於檢測主機

3. telnet

Linux telnet命令用於遠端登入
telnet 192.168.0.5 登錄IP爲 192.168.0.5 的遠程主機

4. netstat查詢網絡狀態

  • -t 列出TCP協議端口
  • -u 列出UDP協議端口
  • -a 列出所有網絡連接

5. nslookup域名解析命令

查看本機DNS服務器:

caibindeMBP:java caibin$ nslookup
> server
Default server: 192.168.1.32
Address: 192.168.1.32#53
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章