Linux常用命令,超強(qiáng)萬字總結(jié)!
時(shí)間:2020-07-16 09:34:41
手機(jī)看文章
掃描二維碼
隨時(shí)隨地手機(jī)看文章
[導(dǎo)讀]來自:JAVA小咖秀 鏈接:https://juejin.im/post/5ee444ea6fb9a047ca10f796 ls 最高使用頻率的命令之一。 命令格式: ?ls [OPTION]... [FILE]...單純的輸入:
[root@iz2ze76ybn73dvwmdij06zz /]
# ls
bin dev home lib64 media
來自:JAVA小咖秀
鏈接:https://juejin.im/post/5ee444ea6fb9a047ca10f796
ls
[root@iz2ze76ybn73dvwmdij06zz /] # ls
bin dev home lib64 media opt proc run srv tmp var
boot etc lib lost+found mnt patch root sbin sys usr www
加 option -l 它展示了權(quán)限,屬主,屬組,大小,時(shí)間,文件名稱
[root@iz2ze76ybn73dvwmdij06zz /] # ls -l
總用量 68
lrwxrwxrwx 1 root root 7 8月 26 22:36 bin -> usr/bin
dr-xr-xr-x. 5 root root 4096 8月 26 22:39 boot
drwxr-xr-x 19 root root 2960 4月 11 12:59 dev
drwxr-xr-x. 81 root root 4096 9月 5 17:09 etc
drwxr-xr-x. 2 root root 4096 4月 11 12:59 home
lrwxrwxrwx 1 root root 7 8月 26 22:36 lib -> usr/lib
lrwxrwxrwx 1 root root 9 8月 26 22:36 lib64 -> usr/lib64
drwx------. 2 root root 16384 10月 15 2017 lost+found
drwxr-xr-x. 2 root root 4096 4月 11 12:59 media
drwxr-xr-x. 2 root root 4096 4月 11 12:59 mnt
drwxr-xr-x. 3 root root 4096 8月 26 22:40 opt
drwxr-xr-x 2 root root 4096 8月 26 23:00 patch
dr-xr-xr-x 110 root root 0 4月 11 12:59 proc
dr-xr-x---. 12 root root 4096 9月 11 20:59 root
drwxr-xr-x 26 root root 760 9月 7 21:50 run
lrwxrwxrwx 1 root root 8 8月 26 22:36 sbin -> usr/sbin
drwxr-xr-x. 2 root root 4096 4月 11 12:59 srv
dr-xr-xr-x 13 root root 0 4月 11 12:59 sys
drwxrwxrwt. 9 root root 4096 9月 15 03:19 tmp
drwxr-xr-x. 13 root root 4096 8月 26 22:36 usr
drwxr-xr-x. 19 root root 4096 8月 26 22:55 var
drwxr-xr-x 6 root root 4096 8月 26 22:39 www
ls -a (all) linux '.'(點(diǎn))開頭的文件默認(rèn)是隱藏的,-a可以查詢所有的文件。
[root@iz2ze76ybn73dvwmdij06zz /] # ls -a
. bin etc lib64 mnt .pearrc run sys usr
.. boot home lost+found opt proc sbin .test var
.autorelabel dev lib media patch root srv tmp www
ls -F 以"/"結(jié)尾的方式展示文件夾。
[root@iz2ze76ybn73dvwmdij06zz /] # ls -F
bin@ dev/ home/ lib64@ media/ opt/ proc/ run/ srv/ tmp/ var/
boot/ etc/ lib@ lost+found/ mnt/ patch/ root/ sbin@ sys/ usr/ www/
ls -r 倒敘展示,默認(rèn)的順序是(a,b,c,d)正序這樣展示
[root@iz2ze76ybn73dvwmdij06zz /] # ls -r
www usr sys sbin root patch mnt lost+found lib etc boot
var tmp srv run proc opt media lib64 home dev bin
ls -R ()遞歸展示子目錄
[root@iz2ze76ybn73dvwmdij06zz test] # ls -R
.:
data
./data:
img
./data/img:
car product user
./data/img/car:
./data/img/product:
./data/img/user:
ls -lS 按照文件大小降序顯示
[root@iz2ze76ybn73dvwmdij06zz /] # ls -lS
總用量 72
drwx------. 2 root root 16384 10月 15 2017 lost+found
dr-xr-xr-x. 5 root root 4096 8月 26 22:39 boot
drwxr-xr-x. 81 root root 4096 9月 5 17:09 etc
drwxr-xr-x. 2 root root 4096 4月 11 12:59 home
drwxr-xr-x. 2 root root 4096 4月 11 12:59 media
drwxr-xr-x. 2 root root 4096 4月 11 12:59 mnt
drwxr-xr-x. 3 root root 4096 8月 26 22:40 opt
drwxr-xr-x 2 root root 4096 8月 26 23:00 patch
dr-xr-x---. 12 root root 4096 9月 15 22:03 root
drwxr-xr-x. 2 root root 4096 4月 11 12:59 srv
drwxr-xr-x 3 root root 4096 9月 15 22:10 test
drwxrwxrwt. 9 root root 4096 9月 15 03:19 tmp
drwxr-xr-x. 13 root root 4096 8月 26 22:36 usr
drwxr-xr-x. 19 root root 4096 8月 26 22:55 var
drwxr-xr-x 6 root root 4096 8月 26 22:39 www
drwxr-xr-x 19 root root 2960 4月 11 12:59 dev
drwxr-xr-x 26 root root 760 9月 7 21:50 run
lrwxrwxrwx 1 root root 9 8月 26 22:36 lib64 -> usr/lib64
lrwxrwxrwx 1 root root 8 8月 26 22:36 sbin -> usr/sbin
lrwxrwxrwx 1 root root 7 8月 26 22:36 bin -> usr/bin
lrwxrwxrwx 1 root root 7 8月 26 22:36 lib -> usr/lib
dr-xr-xr-x 110 root root 0 4月 11 12:59 proc
dr-xr-xr-x 13 root root 0 4月 11 12:59 sys
ls -g 不輸出所有者(屬主)信息
[root@iz2ze76ybn73dvwmdij06zz /] # ls -g
總用量 72
lrwxrwxrwx 1 root 7 8月 26 22:36 bin -> usr/bin
dr-xr-xr-x. 5 root 4096 8月 26 22:39 boot
-rw-r--r-- 1 root 0 9月 15 22:20 c
drwxr-xr-x 19 root 2960 4月 11 12:59 dev
drwxr-xr-x. 81 root 4096 9月 5 17:09 etc
drwxr-xr-x. 2 root 4096 4月 11 12:59 home
lrwxrwxrwx 1 root 7 8月 26 22:36 lib -> usr/lib
lrwxrwxrwx 1 root 9 8月 26 22:36 lib64 -> usr/lib64
drwx------. 2 root 16384 10月 15 2017 lost+found
drwxr-xr-x. 2 root 4096 4月 11 12:59 media
drwxr-xr-x. 2 root 4096 4月 11 12:59 mnt
drwxr-xr-x. 3 root 4096 8月 26 22:40 opt
drwxr-xr-x 2 root 4096 8月 26 23:00 patch
dr-xr-xr-x 110 root 0 4月 11 12:59 proc
dr-xr-x---. 12 root 4096 9月 15 22:18 root
drwxr-xr-x 26 root 760 9月 7 21:50 run
lrwxrwxrwx 1 root 8 8月 26 22:36 sbin -> usr/sbin
drwxr-xr-x. 2 root 4096 4月 11 12:59 srv
dr-xr-xr-x 13 root 0 4月 11 12:59 sys
drwxr-xr-x 3 root 4096 9月 15 22:18 test
drwxrwxrwt. 9 root 4096 9月 15 03:19 tmp
drwxr-xr-x. 13 root 4096 8月 26 22:36 usr
drwxr-xr-x. 19 root 4096 8月 26 22:55 var
drwxr-xr-x 6 root 4096 8月 26 22:39 www
ls -lG 隱藏所有組(屬組)信息
[root@iz2ze76ybn73dvwmdij06zz /] # ls -lG
總用量 72
lrwxrwxrwx 1 root 7 8月 26 22:36 bin -> usr/bin
dr-xr-xr-x. 5 root 4096 8月 26 22:39 boot
-rw-r--r-- 1 root 0 9月 15 22:20 c
drwxr-xr-x 19 root 2960 4月 11 12:59 dev
drwxr-xr-x. 81 root 4096 9月 5 17:09 etc
drwxr-xr-x. 2 root 4096 4月 11 12:59 home
lrwxrwxrwx 1 root 7 8月 26 22:36 lib -> usr/lib
lrwxrwxrwx 1 root 9 8月 26 22:36 lib64 -> usr/lib64
drwx------. 2 root 16384 10月 15 2017 lost+found
drwxr-xr-x. 2 root 4096 4月 11 12:59 media
drwxr-xr-x. 2 root 4096 4月 11 12:59 mnt
drwxr-xr-x. 3 root 4096 8月 26 22:40 opt
drwxr-xr-x 2 root 4096 8月 26 23:00 patch
dr-xr-xr-x 110 root 0 4月 11 12:59 proc
dr-xr-x---. 12 root 4096 9月 15 22:18 root
drwxr-xr-x 26 root 760 9月 7 21:50 run
lrwxrwxrwx 1 root 8 8月 26 22:36 sbin -> usr/sbin
drwxr-xr-x. 2 root 4096 4月 11 12:59 srv
dr-xr-xr-x 13 root 0 4月 11 12:59 sys
drwxr-xr-x 3 root 4096 9月 15 22:18 test
drwxrwxrwt. 9 root 4096 9月 15 03:19 tmp
drwxr-xr-x. 13 root 4096 8月 26 22:36 usr
drwxr-xr-x. 19 root 4096 8月 26 22:55 var
drwxr-xr-x 6 root 4096 8月 26 22:39 www
10.ls -li 顯示文件的索引號(hào)
[root@iz2ze76ybn73dvwmdij06zz /]# ls -li
ls -li 顯示文件的索引號(hào)
[root@iz2ze76ybn73dvwmdij06zz /] # ls -li
總用量 72
7628 lrwxrwxrwx 1 root root 7 8月 26 22:36 bin -> usr/bin
1179650 dr-xr-xr-x. 5 root root 4096 8月 26 22:39 boot
4923 -rw-r--r-- 1 root root 0 9月 15 22:20 c
1026 drwxr-xr-x 19 root root 2960 4月 11 12:59 dev
917505 drwxr-xr-x. 81 root root 4096 9月 5 17:09 etc
655362 drwxr-xr-x. 2 root root 4096 4月 11 12:59 home
17 lrwxrwxrwx 1 root root 7 8月 26 22:36 lib -> usr/lib
13 lrwxrwxrwx 1 root root 9 8月 26 22:36 lib64 -> usr/lib64
11 drwx------. 2 root root 16384 10月 15 2017 lost+found
786434 drwxr-xr-x. 2 root root 4096 4月 11 12:59 media
131074 drwxr-xr-x. 2 root root 4096 4月 11 12:59 mnt
393219 drwxr-xr-x. 3 root root 4096 8月 26 22:40 opt
1966081 drwxr-xr-x 2 root root 4096 8月 26 23:00 patch
1 dr-xr-xr-x 110 root root 0 4月 11 12:59 proc
131073 dr-xr-x---. 12 root root 4096 9月 15 22:18 root
218 drwxr-xr-x 26 root root 760 9月 7 21:50 run
15 lrwxrwxrwx 1 root root 8 8月 26 22:36 sbin -> usr/sbin
393220 drwxr-xr-x. 2 root root 4096 4月 11 12:59 srv
1 dr-xr-xr-x 13 root root 0 4月 11 12:59 sys
2097153 drwxr-xr-x 3 root root 4096 9月 15 22:18 test
393217 drwxrwxrwt. 9 root root 4096 9月 15 03:19 tmp
1048578 drwxr-xr-x. 13 root root 4096 8月 26 22:36 usr
262145 drwxr-xr-x. 19 root root 4096 8月 26 22:55 var
1441793 drwxr-xr-x 6 root root 4096 8月 26 22:39 www
ls -lt 按照修改時(shí)間排序(倒序)依次創(chuàng)建文件 a b
[root@iz2ze76ybn73dvwmdij06zz test] # ls -lt
總用量 0
-rw-r--r-- 1 root root 0 9月 15 22:18 b
-rw-r--r-- 1 root root 0 9月 15 22:18 a
ls -version
[root@iz2ze76ybn73dvwmdij06zz test] # ls --version
ls (GNU coreutils) 8.22
Copyright (C) 2013 Free Software Foundation, Inc.
許可證:GPLv3+:GNU 通用公共許可證第3 版或更新版本<http://gnu.org/licenses/gpl.html>。
本軟件是自由軟件:您可以自由修改和重新發(fā)布它。
在法律范圍內(nèi)沒有其他保證。
由Richard M. Stallman 和David MacKenzie 編寫。
cat
cat -n 查看并顯示行號(hào)
[root@iz2ze76ybn73dvwmdij06zz linuxdemo] # cat -n a
1 this is a txt
2 hello every body
3 hello world
4 hahaha
cat 創(chuàng)建一個(gè)空文件 b
[root@iz2ze76ybn73dvwmdij06zz linuxdemo] # cat >b <<EOF
> EOF
[root@iz2ze76ybn73dvwmdij06zz linuxdemo]# ls
a b
cat 清空文件內(nèi)容
[root@iz2ze76ybn73dvwmdij06zz linuxdemo] # cat >a<<EOF
> EOF
[root@iz2ze76ybn73dvwmdij06zz linuxdemo]# cat a
cat 寫入內(nèi)容(如果原來有內(nèi)容將被覆蓋)
[root@iz2ze76ybn73dvwmdij06zz linuxdemo] # cat >a<<EOF
> today is a good day
> because off work
> hahaha
> EOF
[root@iz2ze76ybn73dvwmdij06zz linuxdemo]# cat a
today is a good day
because off work
hahaha
cat 同時(shí)顯示多個(gè)文件內(nèi)容( b中寫出happy)
[root@iz2ze76ybn73dvwmdij06zz linuxdemo] # cat a > b
[root@iz2ze76ybn73dvwmdij06zz linuxdemo]# cat b
today is a good day
because off work
hahaha
追加內(nèi)容 可以看到用了連個(gè)>以后內(nèi)容是追加的
[root@iz2ze76ybn73dvwmdij06zz linuxdemo] # cat a >> b
[root@iz2ze76ybn73dvwmdij06zz linuxdemo]# cat b
today is a good day
because off work
hahaha
today is a good day
because off work
hahaha
cat --help (如想學(xué)習(xí)更多,可以自己動(dòng)手嘗試)
[root@iz2ze76ybn73dvwmdij06zz linuxdemo] # cat --help
用法:cat [選項(xiàng)]... [文件]...
將[文件]或標(biāo)準(zhǔn)輸入組合輸出到標(biāo)準(zhǔn)輸出。
-A, --show-all 等于-vET
-b, --number-nonblank 對(duì)非空輸出行編號(hào)
-e 等于-vE
-E, --show-ends 在每行結(jié)束處顯示"$"
-n, --number 對(duì)輸出的所有行編號(hào)
-s, --squeeze-blank 不輸出多行空行
-t 與-vT 等價(jià)
-T, --show-tabs 將跳格字符顯示為^I
-u (被忽略)
-v, --show-nonprinting 使用^ 和M- 引用,除了LFD和 TAB 之外
--help 顯示此幫助信息并退出
--version 顯示版本信息并退出
如果沒有指定文件,或者文件為"-",則從標(biāo)準(zhǔn)輸入讀取。
示例:
cat f - g 先輸出f 的內(nèi)容,然后輸出標(biāo)準(zhǔn)輸入的內(nèi)容,最后輸出g 的內(nèi)容。
cat 將標(biāo)準(zhǔn)輸入的內(nèi)容復(fù)制到標(biāo)準(zhǔn)輸出。
GNU coreutils online help: <http://www.gnu.org/software/coreutils/>
請(qǐng)向<http://translationproject.org/team/zh_CN.html> 報(bào)告cat 的翻譯錯(cuò)誤
要獲取完整文檔,請(qǐng)運(yùn)行:info coreutils 'cat invocation'
用戶權(quán)限
linux角色分類
系統(tǒng)用戶 UID:1-999(rhel7 centos7) 1-499(rhel6)
本地用戶 UID:1000+(rhel7 centos7) 500+(rhel6)
linux組分類
根據(jù)賬號(hào)的功能分類:
超級(jí)用戶組:root GID:0
普通用戶組 :
系統(tǒng)用戶組: GID 1---999
本地用戶組: GID 1000+
linux用戶和組的關(guān)系
linux用戶和組的相關(guān)配置文件
linux用戶信息文件
cat /etc/passwd
root:x:0:0:root:/root:/bin/zsh
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
linux密碼信息文件
cat /etc/shadow
root:$6$LxE7qiaZ$ZZXf/aCO1Zqs1oOS9WDutUk9rFOq4MOoSG9IeXq2f5sduGrgfYvzOWHZmJZFGC.0Of1DjCna0M.oQZTY8r00/.:17769:0:99999:7:::
bin:*:17110:0:99999:7:::
daemon:*:17110:0:99999:7:::
linux組信息文件
~ cat /etc/group
root:x:0:
bin:x:1:
daemon:x:2:
sys:x:3:
adm:x:4:
tty:x:5:
disk:x:6:
lp:x:7:
mem:x:8:
kmem:x:9:
安裝包管理基礎(chǔ)
基于redhat
基于centos
rpm
yum
進(jìn)程管理基礎(chǔ)
進(jìn)程的類型
進(jìn)程的屬性
-
運(yùn)行 -- R
-
休眠 -- S
-
僵尸 -- Z
父子進(jìn)程的關(guān)系
進(jìn)程管理工具
ps: 查看進(jìn)程。
top: 可以查看進(jìn)程的動(dòng)態(tài)信息。
kill: 殺進(jìn)程。
pstree: 查看進(jìn)程樹。
pgrep: 搜進(jìn)程。
lsof: 查看進(jìn)程打開的文件。
進(jìn)程管理實(shí)踐
ps
a 顯示所有用戶的進(jìn)程
r 顯示運(yùn)行中的進(jìn)程
l 長格式輸出
u 按用戶名和啟動(dòng)時(shí)間的順序來顯示進(jìn)程
f 用樹形格式來顯示進(jìn)程
x 顯示沒有控制終端的進(jìn)程
~ ps aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.0 43364 3596 ? Ss 11月03 0:01 /usr/lib/syst
root 2 0.0 0.0 0 0 ? S 11月03 0:00 [kthreadd]
root 3 0.0 0.0 0 0 ? S 11月03 0:00 [ksoftirqd/0]
root 5 0.0 0.0 0 0 ? S< 11月03 0:00 [kworker/0:0H
root 7 0.0 0.0 0 0 ? S 11月03 0:00 [migration/0]
root 8 0.0 0.0 0 0 ? S 11月03 0:00 [rcu_bh]
root 9 0.0 0.0 0 0 ? S 11月03 0:05 [rcu_sched]
root 10 0.0 0.0 0 0 ? S 11月03 0:00 [watchdog/0]
root 11 0.0 0.0 0 0 ? S 11月03 0:00 [watchdog/1]
root 12 0.0 0.0 0 0 ? S 11月03 0:00 [migration/1]
root 13 0.0 0.0 0 0 ? S 11月03 0:00 [ksoftirqd/1]
root 15 0.0 0.0 0 0 ? S< 11月03 0:00 [kworker/1:0H
~ ps -ef
UID PID PPID C STIME TTY TIME CMD
root 1 0 0 11月03 ? 00:00:01 /usr/lib/systemd/systemd --syste
root 2 0 0 11月03 ? 00:00:00 [kthreadd]
root 3 2 0 11月03 ? 00:00:00 [ksoftirqd/0]
root 5 2 0 11月03 ? 00:00:00 [kworker/0:0H]
root 7 2 0 11月03 ? 00:00:00 [migration/0]
root 8 2 0 11月03 ? 00:00:00 [rcu_bh]
root 9 2 0 11月03 ? 00:00:05 [rcu_sched]
root 10 2 0 11月03 ? 00:00:00 [watchdog/0]
root 11 2 0 11月03 ? 00:00:00 [watchdog/1]
root 12 2 0 11月03 ? 00:00:00 [migration/1]
root 13 2 0 11月03 ? 00:00:00 [ksoftirqd/1]
root 15 2 0 11月03 ? 00:00:00 [kworker/1:0H]
root 17 2 0 11月03 ? 00:00:00 [kdevtmpfs]
root 18 2 0 11月03 ? 00:00:00 [netns]
root 19 2 0 11月03 ? 00:00:00 [khungtaskd]
root 20 2 0 11月03 ? 00:00:00 [writeback]
root 21 2 0 11月03 ? 00:00:00 [kintegrityd]
屬性詳解:
R 正在運(yùn)行可中在隊(duì)列中可過行的;
S 處于休眠狀態(tài);
T 停止或被追蹤;
Z 僵尸進(jìn)程;
N 優(yōu)先級(jí)較低的進(jìn)程
L 有些頁被鎖進(jìn)內(nèi)存;
s 進(jìn)程的領(lǐng)導(dǎo)者(在它之下有子進(jìn)程)
~ ps aux --sort %cpu
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.0 43364 3596 ? Ss 11月03 0:01 /usr/lib/syst
root 2 0.0 0.0 0 0 ? S 11月03 0:00 [kthreadd]
root 3 0.0 0.0 0 0 ? S 11月03 0:00 [ksoftirqd/0]
root 5 0.0 0.0 0 0 ? S< 11月03 0:00 [kworker/0:0H
root 7 0.0 0.0 0 0 ? S 11月03 0:00 [migration/0]
root 8 0.0 0.0 0 0 ? S 11月03 0:00 [rcu_bh]
root 9 0.0 0.0 0 0 ? S 11月03 0:05 [rcu_sched]
root 10 0.0 0.0 0 0 ? S 11月03 0:00 [watchdog/0]
root 11 0.0 0.0 0 0 ? S 11月03 0:00 [watchdog/1]
~ ps aux --sort -%cpu
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 21342 0.3 0.4 137184 17112 ? Ssl 03:24 1:16 /usr/local/aegi
root 1 0.0 0.0 43364 3596 ? Ss 11月03 0:01 /usr/lib/syst
root 2 0.0 0.0 0 0 ? S 11月03 0:00 [kthreadd]
root 3 0.0 0.0 0 0 ? S 11月03 0:00 [ksoftirqd/0]
root 5 0.0 0.0 0 0 ? S< 11月03 0:00 [kworker/0:0H
root 7 0.0 0.0 0 0 ? S 11月03 0:00 [migration/0]
root 8 0.0 0.0 0 0 ? S 11月03 0:00 [rcu_bh]
root 9 0.0 0.0 0 0 ? S 11月03 0:05 [rcu_sched]
root 10 0.0 0.0 0 0 ? S 11月03 0:00 [watchdog/0]
root 11 0.0 0.0 0 0 ? S 11月03 0:00 [watchdog/1]
root 12 0.0 0.0 0 0 ? S 11月03 0:00 [migration/1]
root 13 0.0 0.0 0 0 ? S 11月03 0:00 [ksoftirqd/1]
top
~ top
top - 11:38:42 up 13:15, 2 users, load average: 0.01, 0.03, 0.05
Tasks: 98 total, 1 running, 97 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.2 us, 0.0 sy, 0.0 ni, 99.8 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 3881688 total, 229264 free, 543932 used, 3108492 buff/cache
KiB Swap: 1049596 total, 1049596 free, 0 used. 3026944 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1 root 20 0 43364 3596 2340 S 0.0 0.1 0:01.79 systemd
2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd
3 root 20 0 0 0 0 S 0.0 0.0 0:00.14 ksoftirqd/0
5 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/0:+
7 root rt 0 0 0 0 S 0.0 0.0 0:00.33 migration/0
8 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcu_bh
9 root 20 0 0 0 0 S 0.0 0.0 0:05.73 rcu_sched
屬性解釋:
11:38:42 當(dāng)前時(shí)間
up 13:15 系統(tǒng)運(yùn)行時(shí)間,格式為時(shí):分
2 user 當(dāng)前登陸用戶數(shù)量
load average: 0.01, 0.03, 0.05 系統(tǒng)負(fù)載,任務(wù)隊(duì)列平均長度 1分鐘,5分鐘,15分鐘前到現(xiàn)在的平均值。
98 total 進(jìn)程總數(shù)量
1 running 正在運(yùn)行的進(jìn)程數(shù)量
97 sleeping 睡眠的進(jìn)程數(shù)量
0 stopped 停止的進(jìn)程數(shù)量
0 zombie 僵尸進(jìn)程數(shù)量
%Cpu(s):
0.2 us 系統(tǒng)用戶進(jìn)程使用cpu百分比
0.0 sy 內(nèi)核進(jìn)程占用cpu百分比
0.0 ni 用戶進(jìn)程空間內(nèi)改變過優(yōu)先級(jí)的進(jìn)程占用cpu百分比
99.8 id 空閑cpu百分比
0.0 wa 等待輸入輸出的cpu時(shí)間百分比
0.0 hi 硬件cpu中斷占用百分比
0.0 si 軟中斷占用百分比
0.0 st 虛擬機(jī)占用百分比
3881688 total 物理內(nèi)存總量
229264 free 空閑內(nèi)存總量
543932 used 使用的物理內(nèi)存總量
3108492 buff/cache 內(nèi)核緩存的內(nèi)存量
1049596 total 交換區(qū)總量
1049596 free 空閑交換區(qū)總量
0 used 使用的交換區(qū)總量
3026944 avail Mem 可利用的內(nèi)存量
d: 不可中斷的睡眠狀態(tài)
r: 運(yùn)行
s: 睡眠
t: 跟蹤
z: 僵尸進(jìn)程
kill
kill [-s signal|-p] [-q sigval] [-a] [--] pid...
kill -l [signal]
-l 列出所有信號(hào)名稱
-s 指定發(fā)送信號(hào)(默認(rèn))
-u 指定用戶
~ kill -l
HUP INT QUIT ILL TRAP ABRT BUS FPE KILL USR1 SEGV USR2 PIPE ALRM TERM STKFLT CHLD CONT STOP TSTP TTIN TTOU URG XCPU XFSZ VTALRM PROF WINCH POLL PWR SYS
~ kill -9 23423
終止
~ kill -15 22323
~ kill -u superh
proc目錄
/proc ls
1 21320 21628 240 392 7 diskstats loadavg swaps
10 21342 21976 242 42 722 dma locks sys
10353 21465 21977 243 44 7561 driver mdstat sysrq-trigger
10509 21613 21978 244 442 8 execdomains meminfo sysvipc
107 21614 22 249 45 803 fb misc timer_list
11 21615 220 26 46 8179 filesystems modules timer_stats
11010 21616 22285 261 466 8307 fs mounts tty
11102 21617 22287 262 467 8327 interrupts mtrr uptime
12 21618 22361 267 469 9 iomem net version
13 21619 22363 268 476 acpi ioports pagetypeinfo vmallocinfo
14461 21620 22396 3 477 buddyinfo irq partitions vmstat
15 21621 22467 31 485 bus kallsyms sched_debug zoneinfo
17 21622 225 3198 5 cgroups kcore schedstat
18 21623 229 32 505 cmdline keys scsi
19 21624 23 33 506 consoles key-users self
2 21625 23884 336 5217 cpuinfo kmsg slabinfo
20 21626 23885 34 5515 crypto kpagecount softirqs
21 21627 24 357 65 devices kpageflags stat
free
-b, --bytes byte為單位展示
-k, --kilo k為單位展示
-m, --mega m為單位展示
-g, --giga g為單位展示
~ free -m
total used free shared buff/cache available
Mem: 3790 536 210 2 3043 2950
Swap: 1024 0 1024
~ free -h
total used free shared buff/cache available
Mem: 3.7G 538M 207M 2.4M 3.0G 2.9G
Swap: 1.0G 0B 1.0G
文件查找
概覽
which : 查看執(zhí)行文件的位置。
whereis : 查看可執(zhí)行文件位置和相關(guān)文件。
locate : 配合數(shù)據(jù)庫緩存,快速查看文件的位置。
grep : 過濾匹配,他是一個(gè)文件搜索工具。
find : 可以根據(jù)條件查看文件。
which
--all, -a 顯示所有的匹配路徑
~ which pwd
/usr/bin/pwd
whereis
一般不加參數(shù)使用
-b 只搜索二進(jìn)制文件
-B <目錄> 定義二進(jìn)制文件查找路徑
-m 只搜索 man 手冊(cè)
-M <目錄> 定義 man 手冊(cè)查找路徑
-s 只搜索源代碼
-S <目錄> 定義源代碼查找路徑
~ whereis ls
ls: /usr/bin/ls /usr/share/man/man1/ls.1.gz
locate
~ ls /var/lib/mlocate/mlocate.db
/var/lib/mlocate/mlocate.db
~ ls /etc/updatedb.conf
/etc/updatedb.conf
~ ls /etc/cron.daily/mlocate
/etc/cron.daily/mlocate
~ touch shafa
~ locate shafa
~ updatedb
~ locate shafa
/root/shafa
grep
-v 取反
-i 忽略大小寫
-n 輸出的同時(shí)打印行號(hào)
^* 以*開頭
*$ 以*結(jié)尾
^$ 空行
~ grep root /etc/passwd
root:x:0:0:root:/root:/bin/zsh
operator:x:11:0:operator:/root:/sbin/nologin
~ grep -v root /etc/passwd
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
~ grep -n www /etc/passwd
23:www:x:1000:1000::/home/www:/sbin/nologin
find
路徑: 例如用 . 來表示當(dāng)前目錄,用 / 來表示系統(tǒng)根目錄。
-print:顯示的時(shí)候”\n”做為定界符, 換行
-print0:與xargs配套使用,以“\0”做為定界符
-name 按照文件名查找文件。“名稱”
-perm 按照文件權(quán)限來查找文件。666 777 等
-depth 在查找文件時(shí),首先查找當(dāng)前目錄中的文件,然后再在其子目錄中查找
-user 按照文件屬主來查找文件
-atime -ctime (單位是天)
-mmin -cmin -amin(單位是分鐘)
-size n [c] 查找文件長度為n塊的文件,帶有c時(shí)表示文件長度以字節(jié)計(jì)
-follow 如果find命令遇到符號(hào)鏈接文件,就跟蹤至鏈接所指向的文件。
~ find . -name "test*"
./test.txt
./autojump/tests
./test.1
~ find . -name "test*" - print
./test.txt
./autojump/tests
./test.1
~ find . -name "test*" -print0
./test.txt./autojump/tests./test.1
-exec 這個(gè)參數(shù)后可以跟自定義shell命令
test find . -name "*.txt" - exec ls -l {} \;
-rw-r--r-- 1 root root 0 11月 4 14:56 ./xq1.txt
-rw-r--r-- 1 root root 0 11月 4 14:56 ./xq.txt
-rw-r--r-- 1 root root 0 11月 4 14:56 ./xq2.txt
test find . -name "*.txt" - exec mv {} {}.bak \;
test ls
xq1.txt.bak xq2.txt.bak xq.txt.bak
-a 并且
-o 或者
+ 高于
- 低于
test find . -name "*.sh" -o -name "*.q"
./book.q
./stop.sh
./start.sh
test find . -name "*.sh" -a -name "s*"
./stop.sh
./start.sh
test ll
總用量 12K
-rw-r--r-- 1 root root 9 11月 4 15:10 book.q
-rw-r--r-- 1 root root 13 11月 4 15:10 start.sh
-rw-r--r-- 1 root root 4 11月 4 15:10 stop.sh
-rw-r--r-- 1 root root 0 11月 4 14:56 xq1.txt.bak
-rw-r--r-- 1 root root 0 11月 4 14:56 xq2.txt.bak
-rw-r--r-- 1 root root 0 11月 4 14:56 xq.txt.bak
test find /etc/ -size +40k -a -size -50k
/etc/selinux/targeted/active/modules/100/sysadm/hll
/etc/selinux/targeted/contexts/files/file_contexts.homedirs.bin
計(jì)劃任務(wù)
任務(wù)類型
任務(wù)類型對(duì)應(yīng)的命令
at的使用
-l 查看任務(wù)列表
-c 查看任務(wù)詳情
[root@iz2ze0ajic0vbv28hcdctpz ~] # systemctl status atd
● atd.service - Job spooling tools
Loaded: loaded (/usr/lib/systemd/system/atd.service; enabled; vendor preset: enabled)
Active: active (running) since 二 2018-11-13 11:50:47 CST; 1 day 9h ago
Main PID: 491 (atd)
CGroup: /system.slice/atd.service
└─491 /usr/sbin/atd -f
11月 13 11:50:47 iz2ze0ajic0vbv28hcdctpz systemd[1]: Started Job spooling tools.
11月 13 11:50:47 iz2ze0ajic0vbv28hcdctpz systemd[1]: Starting Job spooling tools...
[root@iz2ze0ajic0vbv28hcdctpz ~] # ls
soft
[root@iz2ze0ajic0vbv28hcdctpz ~]# at 21:17
at> mkdir sk
at> <EOT>
job 6 at Wed Nov 14 21:17:00 2018
[root@iz2ze0ajic0vbv28hcdctpz ~] # at 20:00 2018-11-19
at> mkdir happy
at> <EOT>
job 7 at Mon Nov 19 20:00:00 2018
[root@iz2ze0ajic0vbv28hcdctpz ~] # at now + 3min
at> mkdir hello
at> <EOT>
job 8 at Wed Nov 14 21:41:00 2018
[root@iz2ze0ajic0vbv28hcdctpz ~] # at 11:11 tomorrow
at> mkdir world
at> <EOT>
job 9 at Thu Nov 15 11:11:00 2018
[root@iz2ze0ajic0vbv28hcdctpz ~] # at 3:24 pm +2 days
at> mkdir new
at> <EOT>
job 11 at Fri Nov 16 15:24:00 2018
[root@iz2ze0ajic0vbv28hcdctpz ~] # atq
5 Thu Nov 15 21:11:00 2018 a root
[root@iz2ze0ajic0vbv28hcdctpz /] # at -c 7
#!/bin/sh
# atrun uid=0 gid=0
# mail root 0
umask 22
XDG_SESSION_ID=243; export XDG_SESSION_ID
HOSTNAME=iz2ze0ajic0vbv28hcdctpz; export HOSTNAME
SHELL=/bin/bash; export SHELL
HISTSIZE=1000; export HISTSIZE
SSH_CLIENT=113.46.167.195\ 17211\ 22; export SSH_CLIENT
SSH_TTY=/dev/pts/0; export SSH_TTY
USER=root; export USER
MAVEN_HOME=/usr/local/apache-maven-3.6.0; export MAVEN_HOME
MAIL=/var/spool/mail/root; export MAIL
PATH=/usr/local/apache-maven-3.6.0/bin:/usr/local/jdk1.8.0_191/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin; export PATH
PWD=/root; export PWD
JAVA_HOME=/usr/local/jdk1.8.0_191; export JAVA_HOME
LANG=zh_CN.UTF-8; export LANG
HISTCONTROL=ignoredups; export HISTCONTROL
SHLVL=1; export SHLVL
HOME=/root; export HOME
LOGNAME=root; export LOGNAME
CLASSPATH=.:/lib/dt.jar:/lib/tools.jar; export CLASSPATH
SSH_CONNECTION=113.46.167.195\ 17211\ 172.17.187.244\ 22; export SSH_CONNECTION
LC_CTYPE=zh_CN.UTF-8; export LC_CTYPE
LESSOPEN=\|\|/usr/bin/lesspipe.sh\ %s; export LESSOPEN
XDG_RUNTIME_DIR=/run/user/0; export XDG_RUNTIME_DIR
cd /root || {
echo 'Execution directory inaccessible' >&2
exit 1
}
${SHELL:-/bin/sh} << 'marcinDELIMITER550b4fbb'
mkdir happy
marcinDELIMITER550b4fbb
[root@iz2ze0ajic0vbv28hcdctpz /] # atq
7 Mon Nov 19 20:00:00 2018 a root
5 Thu Nov 15 21:11:00 2018 a root
11 Fri Nov 16 15:24:00 2018 a root
9 Thu Nov 15 11:11:00 2018 a root
12 Wed Nov 14 22:11:00 2018 a root
[root@iz2ze0ajic0vbv28hcdctpz /] # atrm 12
[root@iz2ze0ajic0vbv28hcdctpz /]# atq
7 Mon Nov 19 20:00:00 2018 a root
5 Thu Nov 15 21:11:00 2018 a root
11 Fri Nov 16 15:24:00 2018 a root
9 Thu Nov 15 11:11:00 2018 a root
定時(shí)任務(wù)處理
服務(wù)啟動(dòng)
查看服務(wù)是否啟動(dòng)
[root@iz2ze0ajic0vbv28hcdctpz ~] # systemctl status crond
● crond.service - Command Scheduler
Loaded: loaded (/usr/lib/systemd/system/crond.service; enabled; vendor preset: enabled)
Active: active (running) since 二 2018-11-13 11:50:47 CST; 1 day 10h ago
Main PID: 489 (crond)
CGroup: /system.slice/crond.service
└─489 /usr/sbin/crond -n
11月 13 11:50:47 iz2ze0ajic0vbv28hcdctpz systemd[1]: Started Command Scheduler.
11月 13 11:50:47 iz2ze0ajic0vbv28hcdctpz systemd[1]: Starting Command Scheduler...
11月 13 11:50:47 iz2ze0ajic0vbv28hcdctpz crond[489]: (CRON) INFO (RANDOM_DELAY will be scaled with factor 7...ed.)
11月 13 11:50:47 iz2ze0ajic0vbv28hcdctpz crond[489]: (CRON) INFO (running with inotify support)
Hint: Some lines were ellipsized, use -l to show in full.
如果沒有啟動(dòng),執(zhí)行
systemctl start crond
systemctl enable crond
crontab命令
crontab -u #指定用戶的cron信息
crontab -l #列出當(dāng)前用戶下的cron服務(wù)的信息
crontab -u user -l #列出指定用戶的cron服務(wù)的信息
crontab -r #刪除cron服務(wù)
crontab -e #編輯cron服務(wù)
crontab -r -u user #刪除指定用戶的定時(shí)任務(wù)
[root@iz2ze0ajic0vbv28hcdctpz ~] # crontab -e
crontab: installing new crontab
[root@iz2ze0ajic0vbv28hcdctpz ~] # crontab -l
22 22 22 * * mkdir /linux/test
[root@iz2ze0ajic0vbv28hcdctpz ~] # crontab -r
[root@iz2ze0ajic0vbv28hcdctpz ~]# crontab -l
no crontab for root
[root@iz2ze0ajic0vbv28hcdctpz ~] # crontab -u qa -l
22 22 22 * * mkdir /linux/test
[root@iz2ze0ajic0vbv28hcdctpz ~] # crontab -u qa -r
[root@iz2ze0ajic0vbv28hcdctpz ~]# crontab -u qa -l
no crontab for qa
系統(tǒng)任務(wù)
[root@iz2ze0ajic0vbv28hcdctpz ~] # ll /etc/crontab
-rw-r--r-- 1 root root 451 Nov 15 07:49 /etc/crontab
[root@iz2ze0ajic0vbv28hcdctpz ~] # cat /etc/crontab
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
# For details see man 4 crontabs
# Example of job definition:
# .---------------- minute (0 - 59)
# | .------------- hour (0 - 23)
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * user-name command to be executed
[root@iz2ze0ajic0vbv28hcdctpz etc] # ll cr
cron.d/ cron.deny cron.monthly/ cron.weekly/
cron.daily/ cron.hourly/ crontab crypttab
cron.d/ 是系統(tǒng)自動(dòng)定期需要做的任務(wù)(不是按照時(shí),分,秒等時(shí)間周期執(zhí)行的)
cron.deny 在該文件內(nèi)的用戶無法做計(jì)劃任務(wù)
其他文件為不同周期的執(zhí)行腳本。
定時(shí)任務(wù)規(guī)則
#每晚的20:30重加載nginx
30 20 * * * /usr/local/nginx/sbin/nginx -s reload
#每月1、10、15日的5:30重加載nginx
30 5 1,10,15 * * /usr/local/nginx/sbin/nginx -s reload
#每天20: 00至22 : 00之間每隔30分鐘重加載nginx
0,30 20-22 * * * /usr/local/nginx/sbin/nginx -s reload
每星期六的10 : 00 pm 重加載nginx
0 22* * 6 /usr/local/nginx/sbin/nginx -s reload
#每一小時(shí)重加載一次nginx
0 */1 * * * /usr/local/nginx/sbin/nginx -s reload
expect
expect介紹
expect安裝
expect使用
1.定義腳本執(zhí)行使用的shell。
#!/usr/bin/expect
2.設(shè)置超時(shí)時(shí)間,單位為秒,timeout -1 為永不超時(shí)。
set timeout 2
3.殼子
spawn需要在expect環(huán)境下運(yùn)行,用來傳遞交互指令。
4.expect命令
判斷輸出結(jié)果是否包含某字符串,沒有立即返回,否則就等一段時(shí)間后返回,用timeout設(shè)置等待時(shí)間。
5.send
執(zhí)行交互動(dòng)作,將交互要執(zhí)行的動(dòng)作進(jìn)行輸入給交互指令。命令字符串結(jié)尾要加上"\r",如果出現(xiàn)異常等待的狀態(tài)可以進(jìn)行核查。
6.exp_continue
繼續(xù)執(zhí)行接下來的交互操作。
7.interact
執(zhí)行后保持交互狀態(tài),把控制權(quán)交給控制臺(tái),如不加interact,交互完成會(huì)自動(dòng)退出。
免密碼通過ssh登陸服務(wù)器
batch cat sf
#!/usr/bin/expect -f
spawn ssh root@ip
expect {
"yes/no" { send "yes\r";exp_continue}
"*password:" { send "passwordstr\r" }
}
interact
batch ./35
spawn ssh root@ip
root@ip's password:
Last login: Sat Jan 5 10:15:56 2019 from 113.46.187.213
Welcome to Alibaba Cloud Elastic Compute Service !
-END-
推薦閱讀
免責(zé)聲明:本文內(nèi)容由21ic獲得授權(quán)后發(fā)布,版權(quán)歸原作者所有,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。文章僅代表作者個(gè)人觀點(diǎn),不代表本平臺(tái)立場(chǎng),如有問題,請(qǐng)聯(lián)系我們,謝謝!