亚洲视频二区_亚洲欧洲日本天天堂在线观看_日韩一区二区在线观看_中文字幕不卡一区

公告:魔扣目錄網(wǎng)為廣大站長(zhǎng)提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請(qǐng)做好本站友鏈:【 網(wǎng)站目錄:http://www.430618.com 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢(xún)客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會(huì)員:747

??

Linux其實(shí)是前后端都必會(huì)的技能,前端目前很多童鞋都再走大前端路線,后端就更不用說(shuō)了,小編給大家盤(pán)了上萬(wàn)字(由于字?jǐn)?shù)限制本文已刪減)關(guān)于Linux的實(shí)戰(zhàn)基礎(chǔ)命令,可以說(shuō)這些都是必須掌握的,當(dāng)然這些也是不夠的,后面小編還會(huì)繼續(xù)更新,大家可以關(guān)注我的動(dòng)態(tài),盤(pán)起來(lái),這波可以收藏起來(lái)了。

??


ls

最高使用頻率的命令之一。

命令格式: ?ls [OPTION]… [FILE]… 單純的輸入:

[root@iz2ze76ybn73dvwmdij06zz /]# lsbin   dev  home  lib64       media  opt    proc  run   srv  tmp  varboot  etc  lib   lost+found  mnt    patch  root  sbin  sys  usr  www

登錄后復(fù)制

加 option -l 它展示了權(quán)限,屬主,屬組,大小,時(shí)間,文件名稱(chēng)
[root@iz2ze76ybn73dvwmdij06zz /]# ls -l總用量 68lrwxrwxrwx    1 root root     7 8月  26 22:36 bin -> usr/bindr-xr-xr-x.   5 root root  4096 8月  26 22:39 bootdrwxr-xr-x   19 root root  2960 4月  11 12:59 devdrwxr-xr-x.  81 root root  4096 9月   5 17:09 etcdrwxr-xr-x.   2 root root  4096 4月  11 12:59 homelrwxrwxrwx    1 root root     7 8月  26 22:36 lib -> usr/liblrwxrwxrwx    1 root root     9 8月  26 22:36 lib64 -> usr/lib64drwx------.   2 root root 16384 10月 15 2017 lost+founddrwxr-xr-x.   2 root root  4096 4月  11 12:59 mediadrwxr-xr-x.   2 root root  4096 4月  11 12:59 mntdrwxr-xr-x.   3 root root  4096 8月  26 22:40 optdrwxr-xr-x    2 root root  4096 8月  26 23:00 patchdr-xr-xr-x  110 root root     0 4月  11 12:59 procdr-xr-x---.  12 root root  4096 9月  11 20:59 rootdrwxr-xr-x   26 root root   760 9月   7 21:50 runlrwxrwxrwx    1 root root     8 8月  26 22:36 sbin -> usr/sbindrwxr-xr-x.   2 root root  4096 4月  11 12:59 srvdr-xr-xr-x   13 root root     0 4月  11 12:59 sysdrwxrwxrwt.   9 root root  4096 9月  15 03:19 tmpdrwxr-xr-x.  13 root root  4096 8月  26 22:36 usrdrwxr-xr-x.  19 root root  4096 8月  26 22:55 vardrwxr-xr-x    6 root root  4096 8月  26 22:39 www

登錄后復(fù)制

ls -a (all) linux '.'(點(diǎn))開(kāi)頭的文件默認(rèn)是隱藏的,-a可以查詢(xún)所有的文件。
[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

登錄后復(fù)制

ls -F 以"/"結(jié)尾的方式展示文件夾。
[root@iz2ze76ybn73dvwmdij06zz /]# ls -Fbin@   dev/  home/  lib64@       media/  opt/    proc/  run/   srv/  tmp/  var/boot/  etc/  lib@   lost+found/  mnt/    patch/  root/  sbin@  sys/  usr/  www/

登錄后復(fù)制

ls -r 倒敘展示,默認(rèn)的順序是(a,b,c,d)正序這樣展示
[root@iz2ze76ybn73dvwmdij06zz /]# ls -rwww  usr  sys  sbin  root  patch  mnt    lost+found  lib   etc  bootvar  tmp  srv  run   proc  opt    media  lib64       home  dev  bin

登錄后復(fù)制

ls -R ()遞歸展示子目錄
[root@iz2ze76ybn73dvwmdij06zz test]# ls -R.:data./data:img./data/img:car  product  user./data/img/car:./data/img/product:./data/img/user:

登錄后復(fù)制

ls -lS 按照文件大小降序顯示
[root@iz2ze76ybn73dvwmdij06zz /]# ls -lS總用量 72drwx------.   2 root root 16384 10月 15 2017 lost+founddr-xr-xr-x.   5 root root  4096 8月  26 22:39 bootdrwxr-xr-x.  81 root root  4096 9月   5 17:09 etcdrwxr-xr-x.   2 root root  4096 4月  11 12:59 homedrwxr-xr-x.   2 root root  4096 4月  11 12:59 mediadrwxr-xr-x.   2 root root  4096 4月  11 12:59 mntdrwxr-xr-x.   3 root root  4096 8月  26 22:40 optdrwxr-xr-x    2 root root  4096 8月  26 23:00 patchdr-xr-x---.  12 root root  4096 9月  15 22:03 rootdrwxr-xr-x.   2 root root  4096 4月  11 12:59 srvdrwxr-xr-x    3 root root  4096 9月  15 22:10 testdrwxrwxrwt.   9 root root  4096 9月  15 03:19 tmpdrwxr-xr-x.  13 root root  4096 8月  26 22:36 usrdrwxr-xr-x.  19 root root  4096 8月  26 22:55 vardrwxr-xr-x    6 root root  4096 8月  26 22:39 wwwdrwxr-xr-x   19 root root  2960 4月  11 12:59 devdrwxr-xr-x   26 root root   760 9月   7 21:50 runlrwxrwxrwx    1 root root     9 8月  26 22:36 lib64 -> usr/lib64lrwxrwxrwx    1 root root     8 8月  26 22:36 sbin -> usr/sbinlrwxrwxrwx    1 root root     7 8月  26 22:36 bin -> usr/binlrwxrwxrwx    1 root root     7 8月  26 22:36 lib -> usr/libdr-xr-xr-x  110 root root     0 4月  11 12:59 procdr-xr-xr-x   13 root root     0 4月  11 12:59 sys

登錄后復(fù)制

ls -g 不輸出所有者(屬主)信息
[root@iz2ze76ybn73dvwmdij06zz /]# ls -g總用量 72lrwxrwxrwx    1 root     7 8月  26 22:36 bin -> usr/bindr-xr-xr-x.   5 root  4096 8月  26 22:39 boot-rw-r--r--    1 root     0 9月  15 22:20 cdrwxr-xr-x   19 root  2960 4月  11 12:59 devdrwxr-xr-x.  81 root  4096 9月   5 17:09 etcdrwxr-xr-x.   2 root  4096 4月  11 12:59 homelrwxrwxrwx    1 root     7 8月  26 22:36 lib -> usr/liblrwxrwxrwx    1 root     9 8月  26 22:36 lib64 -> usr/lib64drwx------.   2 root 16384 10月 15 2017 lost+founddrwxr-xr-x.   2 root  4096 4月  11 12:59 mediadrwxr-xr-x.   2 root  4096 4月  11 12:59 mntdrwxr-xr-x.   3 root  4096 8月  26 22:40 optdrwxr-xr-x    2 root  4096 8月  26 23:00 patchdr-xr-xr-x  110 root     0 4月  11 12:59 procdr-xr-x---.  12 root  4096 9月  15 22:18 rootdrwxr-xr-x   26 root   760 9月   7 21:50 runlrwxrwxrwx    1 root     8 8月  26 22:36 sbin -> usr/sbindrwxr-xr-x.   2 root  4096 4月  11 12:59 srvdr-xr-xr-x   13 root     0 4月  11 12:59 sysdrwxr-xr-x    3 root  4096 9月  15 22:18 testdrwxrwxrwt.   9 root  4096 9月  15 03:19 tmpdrwxr-xr-x.  13 root  4096 8月  26 22:36 usrdrwxr-xr-x.  19 root  4096 8月  26 22:55 vardrwxr-xr-x    6 root  4096 8月  26 22:39 www

登錄后復(fù)制

ls -lG 隱藏所有組(屬組)信息
[root@iz2ze76ybn73dvwmdij06zz /]# ls -lG總用量 72lrwxrwxrwx    1 root     7 8月  26 22:36 bin -> usr/bindr-xr-xr-x.   5 root  4096 8月  26 22:39 boot-rw-r--r--    1 root     0 9月  15 22:20 cdrwxr-xr-x   19 root  2960 4月  11 12:59 devdrwxr-xr-x.  81 root  4096 9月   5 17:09 etcdrwxr-xr-x.   2 root  4096 4月  11 12:59 homelrwxrwxrwx    1 root     7 8月  26 22:36 lib -> usr/liblrwxrwxrwx    1 root     9 8月  26 22:36 lib64 -> usr/lib64drwx------.   2 root 16384 10月 15 2017 lost+founddrwxr-xr-x.   2 root  4096 4月  11 12:59 mediadrwxr-xr-x.   2 root  4096 4月  11 12:59 mntdrwxr-xr-x.   3 root  4096 8月  26 22:40 optdrwxr-xr-x    2 root  4096 8月  26 23:00 patchdr-xr-xr-x  110 root     0 4月  11 12:59 procdr-xr-x---.  12 root  4096 9月  15 22:18 rootdrwxr-xr-x   26 root   760 9月   7 21:50 runlrwxrwxrwx    1 root     8 8月  26 22:36 sbin -> usr/sbindrwxr-xr-x.   2 root  4096 4月  11 12:59 srvdr-xr-xr-x   13 root     0 4月  11 12:59 sysdrwxr-xr-x    3 root  4096 9月  15 22:18 testdrwxrwxrwt.   9 root  4096 9月  15 03:19 tmpdrwxr-xr-x.  13 root  4096 8月  26 22:36 usrdrwxr-xr-x.  19 root  4096 8月  26 22:55 vardrwxr-xr-x    6 root  4096 8月  26 22:39 www10.ls -li 顯示文件的索引號(hào)[root@iz2ze76ybn73dvwmdij06zz /]# ls -li

登錄后復(fù)制

ls -li 顯示文件的索引號(hào)
[root@iz2ze76ybn73dvwmdij06zz /]# ls -li總用量 72  7628 lrwxrwxrwx    1 root root     7 8月  26 22:36 bin -> usr/bin1179650 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 dev917505 drwxr-xr-x.  81 root root  4096 9月   5 17:09 etc655362 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+found786434 drwxr-xr-x.   2 root root  4096 4月  11 12:59 media131074 drwxr-xr-x.   2 root root  4096 4月  11 12:59 mnt393219 drwxr-xr-x.   3 root root  4096 8月  26 22:40 opt1966081 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 proc131073 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/sbin393220 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 sys2097153 drwxr-xr-x    3 root root  4096 9月  15 22:18 test393217 drwxrwxrwt.   9 root root  4096 9月  15 03:19 tmp1048578 drwxr-xr-x.  13 root root  4096 8月  26 22:36 usr262145 drwxr-xr-x.  19 root root  4096 8月  26 22:55 var1441793 drwxr-xr-x    6 root root  4096 8月  26 22:39 www

登錄后復(fù)制

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

登錄后復(fù)制

ls -version
[root@iz2ze76ybn73dvwmdij06zz test]# ls --versionls (GNU coreutils) 8.22Copyright (C) 2013 Free Software Foundation, Inc.許可證:GPLv3+:GNU 通用公共許可證第3 版或更新版本<http://gnu.org/licenses/gpl.html>。本軟件是自由軟件:您可以自由修改和重新發(fā)布它。在法律范圍內(nèi)沒(méi)有其他保證。由Richard M. Stallman 和David MacKenzie 編寫(xiě)。

登錄后復(fù)制

cat

cat,又是一個(gè)相對(duì)高頻率的命令。比較官方的說(shuō)法是命令用于鏈接文件并打印到標(biāo)準(zhǔn)輸出設(shè)備上。這個(gè)文本輸出命令可以用來(lái)查看文件內(nèi)容,創(chuàng)建內(nèi)容等,下面我們介紹幾個(gè)比較實(shí)用的用法。命令格式 : cat [選項(xiàng)]… [文件]…

cat -n 查看并顯示行號(hào)
[root@iz2ze76ybn73dvwmdij06zz linuxdemo]# cat -n a    1  this is a txt    2  hello every body    3  hello world    4  hahaha

登錄后復(fù)制

cat 創(chuàng)建一個(gè)空文件 b
[root@iz2ze76ybn73dvwmdij06zz linuxdemo]# cat >b <<EOF> EOF[root@iz2ze76ybn73dvwmdij06zz linuxdemo]# lsa  b

登錄后復(fù)制

cat 清空文件內(nèi)容
[root@iz2ze76ybn73dvwmdij06zz linuxdemo]# cat >a<<EOF> EOF[root@iz2ze76ybn73dvwmdij06zz linuxdemo]# cat a

登錄后復(fù)制

cat 寫(xiě)入內(nèi)容(如果原來(lái)有內(nèi)容將被覆蓋)
[root@iz2ze76ybn73dvwmdij06zz linuxdemo]# cat >a<<EOF> today is a good day> because off work> hahaha> EOF[root@iz2ze76ybn73dvwmdij06zz linuxdemo]# cat atoday is a good daybecause off workhahaha

登錄后復(fù)制

cat 同時(shí)顯示多個(gè)文件內(nèi)容( b中寫(xiě)出happy)
[root@iz2ze76ybn73dvwmdij06zz linuxdemo]# cat a > b[root@iz2ze76ybn73dvwmdij06zz linuxdemo]# cat btoday is a good daybecause off workhahaha

登錄后復(fù)制

追加內(nèi)容 可以看到用了連個(gè)>以后內(nèi)容是追加的
[root@iz2ze76ybn73dvwmdij06zz linuxdemo]# cat a >> b[root@iz2ze76ybn73dvwmdij06zz linuxdemo]# cat btoday is a good daybecause off workhahahatoday is a good daybecause off workhahaha

登錄后復(fù)制

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    顯示版本信息并退出如果沒(méi)有指定文件,或者文件為"-",則從標(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'

登錄后復(fù)制


用戶(hù)權(quán)限

大家都知道linux是一個(gè)多任務(wù),多用戶(hù)的操作系統(tǒng)。多個(gè)用戶(hù)可以在同一時(shí)間操作系統(tǒng)執(zhí)行不同的任務(wù),一個(gè)用戶(hù)也可以多個(gè)人登陸操作。一般來(lái)說(shuō)root的權(quán)限最大,我們經(jīng)常使用的數(shù)據(jù)庫(kù)一般會(huì)用一個(gè)mysql的用戶(hù),網(wǎng)頁(yè)相關(guān)的我們可能用一個(gè)www的賬號(hào),大家都是知道刪除跑路的故事,因此有一些操作權(quán)限是要交給一些專(zhuān)人管理的。為了系統(tǒng)的學(xué)習(xí),我覺(jué)得有必要了解一下它的基本知識(shí)。

linux角色分類(lèi)

超級(jí)用戶(hù):root (user id –UID) 0 最高的管理權(quán)限。

普通用戶(hù):

    系統(tǒng)用戶(hù) UID:1-999(rhel7  centos7) 1-499(rhel6)        本地用戶(hù) UID:1000+(rhel7 centos7)  500+(rhel6)

登錄后復(fù)制

UID:用戶(hù)身份標(biāo)示,唯一標(biāo)示。

linux組分類(lèi)

組:

組分類(lèi):

根據(jù)賬號(hào)的功能分類(lèi):           超級(jí)用戶(hù)組:root GID:0           普通用戶(hù)組 :                               系統(tǒng)用戶(hù)組: GID 1---999                                本地用戶(hù)組: GID 1000+

登錄后復(fù)制

linux用戶(hù)和組的關(guān)系

一個(gè)用戶(hù)屬于一個(gè)組,也可以屬于多個(gè)組,多個(gè)用戶(hù)可以在一個(gè)組,可以在多個(gè)組。

linux用戶(hù)和組的相關(guān)配置文件

1./etc/passwd:用戶(hù) and 屬性信息。

2./etc/group: 組 and 屬性信息。

3./etc/shadow: 用戶(hù)密碼 and 屬性信息。

4./etc/gshadow:組密碼 and 屬性信息。

5./etc/default/useradd: 設(shè)置添加用戶(hù)規(guī)則文件。

6./etc/login.defs:設(shè)置用戶(hù)賬號(hào)限制。

linux用戶(hù)信息文件

用戶(hù)管理中最重要的一個(gè)文件,這個(gè)文件是對(duì)所有用戶(hù)開(kāi)放的,每一行存一個(gè)用戶(hù)的信息,每個(gè)屬性之間用冒號(hào)分割。

cat /etc/passwdroot:x:0:0:root:/root:/bin/zshbin:x:1:1:bin:/bin:/sbin/nologindaemon:x:2:2:daemon:/sbin:/sbin/nologinadm:x:3:4:adm:/var/adm:/sbin/nologinlp:x:4:7:lp:/var/spool/lpd:/sbin/nologin

登錄后復(fù)制

舉例: root:x:0:0:root:/root:/bin/zsh

1.登陸用戶(hù)名:root

2.用戶(hù)密碼占位符:x

3.用戶(hù)UID:0

4.用戶(hù)組GID:0

5.對(duì)用戶(hù)賬戶(hù)的描述:root

6.用戶(hù)家目錄位置:/root

7.用戶(hù)默認(rèn)的shell:/bin/zsh (默認(rèn)是/bin/bash)

linux密碼信息文件

該文件只有root用戶(hù)有讀權(quán)限,每一行存一個(gè)用戶(hù)的記錄,每個(gè)屬性用冒號(hào)分割。

cat /etc/shadowroot:$6$LxE7qiaZ$ZZXf/aCO1Zqs1oOS9WDutUk9rFOq4MOoSG9IeXq2f5sduGrgfYvzOWHZmJZFGC.0Of1DjCna0M.oQZTY8r00/.:17769:0:99999:7:::bin:*:17110:0:99999:7:::daemon:*:17110:0:99999:7:::

登錄后復(fù)制

舉例: bin:*:17110:0:99999:7::: 1.登錄用戶(hù)名: bin

2.加密的密碼: * 號(hào)代表密碼被鎖定

3.最近更改密碼的日期: 17110代表到1970-1-1密碼不可改的天數(shù)

4.密碼修改期限:99999 代表永遠(yuǎn)不用改,如果是其他數(shù)字則表示從1970-1-1內(nèi)的多少天必須修改密碼。

5.更改密碼最大有效天數(shù): 代表密碼保持有效的最大天數(shù)。

6.密碼過(guò)期警告:密碼到正式失效前有多少天(-1,永遠(yuǎn)不提示)

7.密碼過(guò)期后多少天禁用用戶(hù):可登陸,單不能操作。

8.用戶(hù)被禁用日期:多少天后賬號(hào)過(guò)期,不能登陸。

9.保留參數(shù)

linux組信息文件

用戶(hù)組的組信息存放在這,一行存一個(gè)組記錄,屬性用冒號(hào)分割。

?  ~ cat /etc/grouproot: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:

登錄后復(fù)制

舉例: root:x:0:

1.組名:root

2.組密碼占位符: x

3.組GID: 0


安裝包管理基礎(chǔ)

相信大部分人應(yīng)該和我一樣,最開(kāi)始都是用 windows上手的,那在windows平臺(tái)的安裝包就再熟悉不過(guò)了,比如.exe,是不是太常見(jiàn)了,一般在windows安裝過(guò)mysql的,相信.msi也是見(jiàn)過(guò)的。大多數(shù)的服務(wù)器都是linux的,因此我們來(lái)學(xué)習(xí)一下linux的安裝包基礎(chǔ)知識(shí)。不同發(fā)行版的系統(tǒng)用的工具也是不相同的。目前大多數(shù)的公司服務(wù)器是基于centos,因此后續(xù)會(huì)以centos為例比較多。

基于redhat

yum

zypper

rpm

基于centos

yum

rpm

rpm

全稱(chēng): Redhat Package Manager

下載網(wǎng)址: http://rpmfind.net

先來(lái)看下包的命名格式,以 rpm-5.4.10-10.i586.rpm 為例。

rpm : 軟件包名

5 : 主版本號(hào)

4 : 次版本號(hào)

10 : 修訂號(hào)

i586 : cpu架構(gòu)平臺(tái)

rpm : 包后綴

yum

解決軟件包安裝的依賴(lài)關(guān)系問(wèn)題,自動(dòng)下載軟件包,基于c/s架構(gòu)。repo文件是yum源的配置文件,改文件定義軟件倉(cāng)庫(kù)的信息。為什么說(shuō)它是c/s架構(gòu),原來(lái)rpm軟件的頭(header)里會(huì)記錄改軟件的依賴(lài)信息,因此可以對(duì)頭內(nèi)容進(jìn)行分析,就可以知道其相關(guān)的依賴(lài),并將這些信息記錄下來(lái)。那么服務(wù)端是提供這些rpm的軟件包,然后分析包的依賴(lài)關(guān)系,將記錄存在服務(wù)器某目錄上。客戶(hù)端在安裝軟件時(shí)下載其記錄依賴(lài)關(guān)系文件并分析,最后一次性下載。


進(jìn)程管理基礎(chǔ)

一般來(lái)說(shuō)程序分為兩類(lèi),一種是系統(tǒng)程序,一種是應(yīng)用程序。一個(gè)運(yùn)行了程序,就可以說(shuō)是一個(gè)進(jìn)程了,進(jìn)程是占用內(nèi)存空間的,而當(dāng)你殺掉進(jìn)城時(shí),資源也會(huì)隨之釋放。

進(jìn)程的類(lèi)型

用戶(hù)進(jìn)程:用戶(hù)自己的程序,用戶(hù)可以控制他的開(kāi)啟和關(guān)閉。

交互進(jìn)程: 與用戶(hù)進(jìn)行交互操作的進(jìn)程。

批處理進(jìn)程:是一個(gè)進(jìn)程集合,按順序啟動(dòng)其他進(jìn)程。

守護(hù)進(jìn)程:一直運(yùn)行的進(jìn)程.crond。

進(jìn)程的屬性

進(jìn)程ID : (pid) 唯一的數(shù)字標(biāo)示,區(qū)分不同的進(jìn)程。

進(jìn)程有父進(jìn)程和子進(jìn)程。

啟動(dòng)進(jìn)程的用戶(hù)ID(uid)和用戶(hù)的屬組。

進(jìn)程的三種狀態(tài):

  • 運(yùn)行 — R

  • 休眠 — S

  • 僵尸 — Z

    進(jìn)程的優(yōu)先級(jí): 取值范圍(-20,19) ,數(shù)值越小優(yōu)先級(jí)越大,默認(rèn)為0。

    進(jìn)程鏈接的終端。

    進(jìn)程占用資源情況。

    父子進(jìn)程的關(guān)系

    父子進(jìn)程的關(guān)系,父親管理兒子。父進(jìn)程終止時(shí)子進(jìn)程一定終止,而子進(jìn)程終止時(shí)父進(jìn)程不一定終止。

    進(jìn)程管理工具
        ps:   查看進(jìn)程。    top:  可以查看進(jìn)程的動(dòng)態(tài)信息。    kill:  殺進(jìn)程。    pstree:  查看進(jìn)程樹(shù)。    pgrep:  搜進(jìn)程。    lsof:  查看進(jìn)程打開(kāi)的文件。

    登錄后復(fù)制


    進(jìn)程管理實(shí)踐

    ps

    靜態(tài)的顯示當(dāng)前進(jìn)程的信息 。

    命令: ps

    語(yǔ)法: ps 參數(shù)

    常用參數(shù):

                   a      顯示所有用戶(hù)的進(jìn)程               r       顯示運(yùn)行中的進(jìn)程               l        長(zhǎng)格式輸出               u        按用戶(hù)名和啟動(dòng)時(shí)間的順序來(lái)顯示進(jìn)程               f         用樹(shù)形格式來(lái)顯示進(jìn)程               x        顯示沒(méi)有控制終端的進(jìn)程

    登錄后復(fù)制

    操作: BSD格式來(lái)顯示進(jìn)程

    ?  ~ ps auxUSER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMANDroot         1  0.0  0.0  43364  3596 ?        Ss   11月03   0:01 /usr/lib/systroot         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:0Hroot         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

    登錄后復(fù)制

    標(biāo)準(zhǔn)格式顯示進(jìn)程unix風(fēng)格

    搜索公眾號(hào)頂級(jí)算法回復(fù)“算法心得”,送你一份驚喜禮包。

     ~ ps -efUID        PID  PPID  C STIME TTY          TIME CMDroot         1     0  0 11月03 ?      00:00:01 /usr/lib/systemd/systemd --systeroot         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]

    登錄后復(fù)制

    屬性詳解:

    USER: 進(jìn)程的屬主

    PID: 進(jìn)程的ID

    %CPU: 進(jìn)程占cpu百分比

    %MEM: 進(jìn)程占內(nèi)存的百分比

    VSZ: 進(jìn)程占用虛擬內(nèi)存大小

    RSS: 固定內(nèi)存使用數(shù)量

    STAT 進(jìn)程狀態(tài)

           R    正在運(yùn)行可中在隊(duì)列中可過(guò)行的; S    處于休眠狀態(tài);   T    停止或被追蹤;   Z    僵尸進(jìn)程;   N    優(yōu)先級(jí)較低的進(jìn)程   L    有些頁(yè)被鎖進(jìn)內(nèi)存;   s    進(jìn)程的領(lǐng)導(dǎo)者(在它之下有子進(jìn)程)

    登錄后復(fù)制

    START 啟動(dòng)進(jìn)程的時(shí)間;

    TIME 進(jìn)程消耗CPU的時(shí)間;

    COMMAND 命令的名稱(chēng)和參數(shù);

    按照指定屬性排序:

    按照cpu從小到大排序。

    ?  ~ ps aux --sort %cpuUSER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMANDroot         1  0.0  0.0  43364  3596 ?        Ss   11月03   0:01 /usr/lib/systroot         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:0Hroot         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]

    登錄后復(fù)制

    按照cpu從大到小排序。

    ?  ~ ps aux --sort -%cpuUSER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMANDroot     21342  0.3  0.4 137184 17112 ?        Ssl  03:24   1:16 /usr/local/aegiroot         1  0.0  0.0  43364  3596 ?        Ss   11月03   0:01 /usr/lib/systroot         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:0Hroot         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]

    登錄后復(fù)制

    top

    與ps相反的是top命令可以查看進(jìn)程的動(dòng)態(tài)信息。

    命令: top

    語(yǔ)法: top 參數(shù)

    常用參數(shù):

    操作:

    ?  ~ toptop - 11:38:42 up 13:15,  2 users,  load average: 0.01, 0.03, 0.05Tasks:  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 stKiB Mem :  3881688 total,   229264 free,   543932 used,  3108492 buff/cacheKiB 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

    登錄后復(fù)制

    屬性解釋:

    前五行是數(shù)據(jù)的整理統(tǒng)計(jì)信息。

    第一行:

         11:38:42     當(dāng)前時(shí)間           up 13:15     系統(tǒng)運(yùn)行時(shí)間,格式為時(shí):分            2 user         當(dāng)前登陸用戶(hù)數(shù)量            load average: 0.01, 0.03, 0.05  系統(tǒng)負(fù)載,任務(wù)隊(duì)列平均長(zhǎng)度 1分鐘,5分鐘,15分鐘前到現(xiàn)在的平均值。

    登錄后復(fù)制

    第二三行:

    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)用戶(hù)進(jìn)程使用cpu百分比 0.0 sy 內(nèi)核進(jìn)程占用cpu百分比 0.0 ni 用戶(hù)進(jìn)程空間內(nèi)改變過(guò)優(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ī)占用百分比

    登錄后復(fù)制

    第四五行:

    Mem : (單位K)

    3881688 total  物理內(nèi)存總量229264 free    空閑內(nèi)存總量543932 used    使用的物理內(nèi)存總量3108492 buff/cache 內(nèi)核緩存的內(nèi)存量

    登錄后復(fù)制

    Swap: (單位K)

     1049596 total      交換區(qū)總量 1049596 free       空閑交換區(qū)總量 0 used             使用的交換區(qū)總量 3026944 avail Mem  可利用的內(nèi)存量

    登錄后復(fù)制

    標(biāo)題行:

    PID: 進(jìn)程id

    USER: 進(jìn)程所有者用戶(hù)名

    PR: 優(yōu)先級(jí)

    NI: 進(jìn)程優(yōu)先級(jí),nice值,負(fù)值 -> 高優(yōu)先級(jí),正值 -> 低優(yōu)先級(jí)

    VIRT: 虛擬內(nèi)存總量 virt=swap + res

    RES: 實(shí)際使用內(nèi)存大小

    SHR: 共享內(nèi)存大小

    S: 進(jìn)程狀態(tài)

       d: 不可中斷的睡眠狀態(tài)   r: 運(yùn)行   s: 睡眠   t: 跟蹤   z: 僵尸進(jìn)程

    登錄后復(fù)制

    %CPU: 上次更新到現(xiàn)在cpu時(shí)間占用百分比

    %MEM: 進(jìn)程使用物理內(nèi)存百分比

    TIME+: 進(jìn)程使用cpu的時(shí)間總計(jì),單位 1/100秒

    COMMAND: 命令行

    kill

    命令: kill

    語(yǔ)法:

          kill [-s signal|-p] [-q sigval] [-a] [--] pid...      kill -l [signal]

    登錄后復(fù)制

    常用參數(shù):

         -l 列出所有信號(hào)名稱(chēng)     -s 指定發(fā)送信號(hào)(默認(rèn))     -u 指定用戶(hù)

    登錄后復(fù)制

    操作: 列出所有信號(hào)名稱(chēng)

    ?  ~ kill -lHUP 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

    登錄后復(fù)制

    強(qiáng)制終止

    ?  ~ kill -9 23423

    登錄后復(fù)制

    終止?  ~ kill -15 22323

    登錄后復(fù)制

    殺死指定用戶(hù)的所有進(jìn)程

    ?  ~ kill -u superh

    登錄后復(fù)制

    proc目錄

    這個(gè)目錄中有內(nèi)核,進(jìn)程運(yùn)行狀態(tài)的信息。

    ?  /proc ls1      21320  21628  240   392   7          diskstats    loadavg       swaps10     21342  21976  242   42    722        dma          locks         sys10353  21465  21977  243   44    7561       driver       mdstat        sysrq-trigger10509  21613  21978  244   442   8          execdomains  meminfo       sysvipc107    21614  22     249   45    803        fb           misc          timer_list11     21615  220    26    46    8179       filesystems  modules       timer_stats11010  21616  22285  261   466   8307       fs           mounts        tty11102  21617  22287  262   467   8327       interrupts   mtrr          uptime12     21618  22361  267   469   9          iomem        net           version13     21619  22363  268   476   acpi       ioports      pagetypeinfo  vmallocinfo14461  21620  22396  3     477   buddyinfo  irq          partitions    vmstat15     21621  22467  31    485   bus        kallsyms     sched_debug   zoneinfo17     21622  225    3198  5     cgroups    kcore        schedstat18     21623  229    32    505   cmdline    keys         scsi19     21624  23     33    506   consoles   key-users    self2      21625  23884  336   5217  cpuinfo    kmsg         slabinfo20     21626  23885  34    5515  crypto     kpagecount   softirqs21     21627  24     357   65    devices    kpageflags   stat

    登錄后復(fù)制

    上面的每個(gè)標(biāo)號(hào)即是用我們當(dāng)前進(jìn)程的pid所命名的目錄名。

    free

    查看系統(tǒng)使用和空閑的內(nèi)存情況。

    命令: free

    語(yǔ)法: free 參數(shù)

    常用參數(shù):

     -b, --bytes        byte為單位展示 -k, --kilo            k為單位展示 -m, --mega       m為單位展示 -g, --giga           g為單位展示

    登錄后復(fù)制

    操作:

    ?  ~ free -m             total        used        free      shared  buff/cache   availableMem:           3790         536         210           2        3043        2950Swap:          1024           0        1024

    登錄后復(fù)制

    單位為g顯示。

    ?  ~ free -h            total        used        free      shared  buff/cache   availableMem:           3.7G        538M        207M        2.4M        3.0G        2.9GSwap:          1.0G          0B        1.0G

    登錄后復(fù)制

    文件查找

    在做運(yùn)維相關(guān)的事情時(shí),我們少不了要查這樣那樣的文件,一般來(lái)說(shuō)我們可能會(huì)查比如帶xxx.conf名字的文件在哪呢,查日志啊,某個(gè)可執(zhí)行文件的位置啊。

    概覽
    which : 查看執(zhí)行文件的位置。whereis : 查看可執(zhí)行文件位置和相關(guān)文件。locate : 配合數(shù)據(jù)庫(kù)緩存,快速查看文件的位置。grep : 過(guò)濾匹配,他是一個(gè)文件搜索工具。find  :  可以根據(jù)條件查看文件。

    登錄后復(fù)制

    which

    命令:which

    語(yǔ)法: which 參數(shù) 查詢(xún)目標(biāo)

    常用命令: 一般不加參數(shù)使用

              --all, -a      顯示所有的匹配路徑

    登錄后復(fù)制

    操作:

    ?  ~ which pwd/usr/bin/pwd

    登錄后復(fù)制


    whereis

    命令: whereis

    語(yǔ)法: whereis 參數(shù) 查詢(xún)目標(biāo)

    常用命令:

               一般不加參數(shù)使用         -b         只搜索二進(jìn)制文件         -B <目錄>  定義二進(jìn)制文件查找路徑         -m         只搜索 man 手冊(cè)         -M <目錄>  定義 man 手冊(cè)查找路徑         -s         只搜索源代碼         -S <目錄>  定義源代碼查找路徑

    登錄后復(fù)制

    操作:

    ?  ~ whereis lsls: /usr/bin/ls /usr/share/man/man1/ls.1.gz

    登錄后復(fù)制

    locate

    命令: locate

    語(yǔ)法: locate 文件名

    常用參數(shù): 無(wú)

    操作: locate和find命令功能差不多,但是搜索效率更高,因?yàn)閘ocate查的是數(shù)據(jù)庫(kù)而find查找的是目錄文件。

    數(shù)據(jù)庫(kù):

    ?  ~ ls /var/lib/mlocate/mlocate.db/var/lib/mlocate/mlocate.db

    登錄后復(fù)制

    相關(guān)配置文件:

    ?  ~ ls /etc/updatedb.conf/etc/updatedb.conf

    登錄后復(fù)制

    相關(guān)定時(shí)任務(wù):

    ?  ~ ls /etc/cron.daily/mlocate/etc/cron.daily/mlocate

    登錄后復(fù)制

    舉例:

    ?  ~ touch shafa?  ~ locate shafa?  ~ updatedb?  ~ locate shafa/root/shafa

    登錄后復(fù)制

    注:如果我們當(dāng)天新建的文件查找,需要手動(dòng)updatedb。

    搜索公眾號(hào)Linux就該這樣學(xué)回復(fù)“權(quán)限系統(tǒng)”,送你一份驚喜禮包。

    grep

    命令:grep

    語(yǔ)法:grep 參數(shù) 目標(biāo)值 文件

    常用參數(shù):

                -v       取反            -i        忽略大小寫(xiě)            -n        輸出的同時(shí)打印行號(hào)            ^*        以*開(kāi)頭            *$         以*結(jié)尾            ^$         空行

    登錄后復(fù)制

    操作:

    查 /etc/passwd有root的行

    ?  ~ grep root /etc/passwdroot:x:0:0:root:/root:/bin/zshoperator:x:11:0:operator:/root:/sbin/nologin

    登錄后復(fù)制

    查 /etc/passwd 沒(méi)有root的行(內(nèi)容較多,禁展示幾行)

    ?  ~ grep -v root /etc/passwdbin:x:1:1:bin:/bin:/sbin/nologindaemon:x:2:2:daemon:/sbin:/sbin/nologinadm:x:3:4:adm:/var/adm:/sbin/nologinlp:x:4:7:lp:/var/spool/lpd:/sbin/nologinsync:x:5:0:sync:/sbin:/bin/sync

    登錄后復(fù)制

    查 /etc/passwd 有www的行并顯示行號(hào)

    ?  ~ grep -n www /etc/passwd23:www:x:1000:1000::/home/www:/sbin/nologin

    登錄后復(fù)制

    find

    命令:find

    語(yǔ)法:find 路徑 參數(shù) 輸出

    常用參數(shù):

                路徑: 例如用 . 來(lái)表示當(dāng)前目錄,用 / 來(lái)表示系統(tǒng)根目錄。           -print:顯示的時(shí)候”\n”做為定界符, 換行          -print0:與xargs配套使用,以“\0”做為定界符

    登錄后復(fù)制

    find常用命令選項(xiàng):

    -name   按照文件名查找文件。“名稱(chēng)”-perm   按照文件權(quán)限來(lái)查找文件。666 777 等-depth  在查找文件時(shí),首先查找當(dāng)前目錄中的文件,然后再在其子目錄中查找-user   按照文件屬主來(lái)查找文件 -atime  -ctime (單位是天) -mmin -cmin  -amin(單位是分鐘) -size n [c] 查找文件長(zhǎng)度為n塊的文件,帶有c時(shí)表示文件長(zhǎng)度以字節(jié)計(jì) -follow  如果find命令遇到符號(hào)鏈接文件,就跟蹤至鏈接所指向的文件。

    登錄后復(fù)制

    操作:

    查看當(dāng)前目錄下test.開(kāi)頭的文件

    ?  ~ find . -name "test*"./test.txt./autojump/tests./test.1

    登錄后復(fù)制

    查看當(dāng)前目錄下test.開(kāi)頭的文件,輸出結(jié)果換行顯示(默認(rèn))

    ?  ~ find . -name "test*" -print./test.txt./autojump/tests./test.1

    登錄后復(fù)制

    查看當(dāng)前目錄下test.開(kāi)頭的文件,輸出結(jié)果不換行顯示

    ?  ~ find . -name "test*" -print0./test.txt./autojump/tests./test.1

    登錄后復(fù)制

    對(duì)查找的內(nèi)容執(zhí)行相應(yīng)命令

    默認(rèn)執(zhí)行動(dòng)作 : -print

    常用動(dòng)作:

                  -exec  這個(gè)參數(shù)后可以跟自定義shell命令

    登錄后復(fù)制

    操作:

    查詢(xún).txt結(jié)尾的文件并用ls查詢(xún)其更多屬性

    ?  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

    登錄后復(fù)制

    查詢(xún).txt結(jié)尾的文件并變成.bak結(jié)尾的文件

    ?  test find . -name "*.txt" -exec mv {} {}.bak \;?  test lsxq1.txt.bak  xq2.txt.bak  xq.txt.bak

    登錄后復(fù)制

    邏輯查詢(xún):

            -a  并且        -o  或者         +  高于         -   低于

    登錄后復(fù)制

    操作:查看 .sh或者.q結(jié)尾的文件。

    ?  test find . -name "*.sh" -o -name "*.q"./book.q./stop.sh./start.sh

    登錄后復(fù)制

    查看.sh結(jié)尾并且s開(kāi)頭的文件。

    ?  test find . -name "*.sh" -a -name "s*"./stop.sh./start.sh

    登錄后復(fù)制

    在文件中插入內(nèi)容后查看。

    ?  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

    登錄后復(fù)制

    查看/etc 大于40k小于50k的文件

    ?  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

    登錄后復(fù)制


    計(jì)劃任務(wù)

    說(shuō)到計(jì)劃,聯(lián)想到的是時(shí)間,說(shuō)到任務(wù),聯(lián)想到的就是做什么。連起來(lái)就是什么時(shí)間做什么。每天幾點(diǎn)上班幾點(diǎn)下班。每年的國(guó)慶,元旦都在固定的時(shí)間節(jié)點(diǎn)發(fā)生。類(lèi)似這些,我們可以稱(chēng)之為定時(shí)任務(wù)。

    再比如,有的時(shí)候。快下班了,領(lǐng)導(dǎo)來(lái)個(gè)緊急任務(wù),小王啊,加個(gè)班。明天心情好,請(qǐng)個(gè)假去面試。這種的屬于臨時(shí)任務(wù)。

    那么在linux中我們?cè)趺磥?lái)做這兩件事呢。

    任務(wù)類(lèi)型

    定時(shí): 按照一定的周期重復(fù)持續(xù)的做某個(gè)事。

    臨時(shí): 執(zhí)行一次以后任務(wù)就結(jié)束了,只一次。

    任務(wù)類(lèi)型對(duì)應(yīng)的命令

    crontab( 定時(shí)任務(wù)): 按照你 你規(guī)定的周期 循環(huán)窒息感。

    at (臨時(shí)任務(wù)): 執(zhí)行一次就結(jié)束的任務(wù)。

    at的使用

    命令:at

    語(yǔ)法: at 時(shí)間

    常用參數(shù):

             -l    查看任務(wù)列表         -c   查看任務(wù)詳情

    登錄后復(fù)制

    操作:查看服務(wù)是否開(kāi)啟

    [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 agoMain PID: 491 (atd)  CGroup: /system.slice/atd.service          └─491 /usr/sbin/atd -f11月 13 11:50:47 iz2ze0ajic0vbv28hcdctpz systemd[1]: Started Job spooling tools.11月 13 11:50:47 iz2ze0ajic0vbv28hcdctpz systemd[1]: Starting Job spooling tools...

    登錄后復(fù)制

    幾種設(shè)定任務(wù)的方法: 創(chuàng)建一個(gè)任務(wù)(默認(rèn)是今天,如果時(shí)間大于當(dāng)前時(shí)間會(huì)創(chuàng)建在下一天 )

    [root@iz2ze0ajic0vbv28hcdctpz ~]# lssoft[root@iz2ze0ajic0vbv28hcdctpz ~]# at 21:17at> mkdir skat> <EOT>job 6 at Wed Nov 14 21:17:00 2018

    登錄后復(fù)制

    指定時(shí)間創(chuàng)建:

    [root@iz2ze0ajic0vbv28hcdctpz ~]# at 20:00 2018-11-19at> mkdir happyat> <EOT>job 7 at Mon Nov 19 20:00:00 2018

    登錄后復(fù)制

    從現(xiàn)在開(kāi)始加時(shí)間:

    [root@iz2ze0ajic0vbv28hcdctpz ~]# at now + 3minat> mkdir helloat> <EOT>job 8 at Wed Nov 14 21:41:00 2018

    登錄后復(fù)制

    明天11:11 執(zhí)行

    [root@iz2ze0ajic0vbv28hcdctpz ~]# at 11:11 tomorrowat> mkdir worldat> <EOT>job 9 at Thu Nov 15 11:11:00 2018

    登錄后復(fù)制

    2天后的下午3.24執(zhí)行

    [root@iz2ze0ajic0vbv28hcdctpz ~]# at 3:24 pm +2 daysat> mkdir newat> <EOT>job 11 at Fri Nov 16 15:24:00 2018

    登錄后復(fù)制

    查看任務(wù)列表(顯示還未執(zhí)行的任務(wù) )

    [root@iz2ze0ajic0vbv28hcdctpz ~]# atq5  Thu Nov 15 21:11:00 2018 a root

    登錄后復(fù)制

    查看一個(gè)單個(gè)的任務(wù)信息:(由于內(nèi)容較多去掉部分信息)

    [root@iz2ze0ajic0vbv28hcdctpz /]# at -c 7#!/bin/sh# atrun uid=0 gid=0# mail root 0umask 22XDG_SESSION_ID=243; export XDG_SESSION_IDHOSTNAME=iz2ze0ajic0vbv28hcdctpz; export HOSTNAMESHELL=/bin/bash; export SHELLHISTSIZE=1000; export HISTSIZESSH_CLIENT=113.46.167.195\ 17211\ 22; export SSH_CLIENTSSH_TTY=/dev/pts/0; export SSH_TTYUSER=root; export USERMAVEN_HOME=/usr/local/apache-maven-3.6.0; export MAVEN_HOMEMAIL=/var/spool/mail/root; export MAILPATH=/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 PATHPWD=/root; export PWDJAVA_HOME=/usr/local/jdk1.8.0_191; export JAVA_HOMELANG=zh_CN.UTF-8; export LANGHISTCONTROL=ignoredups; export HISTCONTROLSHLVL=1; export SHLVLHOME=/root; export HOMELOGNAME=root; export LOGNAMECLASSPATH=.:/lib/dt.jar:/lib/tools.jar; export CLASSPATHSSH_CONNECTION=113.46.167.195\ 17211\ 172.17.187.244\ 22; export SSH_CONNECTIONLC_CTYPE=zh_CN.UTF-8; export LC_CTYPELESSOPEN=\|\|/usr/bin/lesspipe.sh\ %s; export LESSOPENXDG_RUNTIME_DIR=/run/user/0; export XDG_RUNTIME_DIRcd /root || {  echo 'Execution directory inaccessible' >&2  exit 1}${SHELL:-/bin/sh} << 'marcinDELIMITER550b4fbb'mkdir happymarcinDELIMITER550b4fbb

    登錄后復(fù)制

    參數(shù)解釋:

    5 : 任務(wù)編號(hào)

    Thu Nov 15 21:11:00 2018 : 時(shí)間

    a : 隊(duì)列

    root : 執(zhí)行用戶(hù)

    刪除任務(wù):

    先來(lái)查看一下有哪些任務(wù)

    [root@iz2ze0ajic0vbv28hcdctpz /]# atq7  Mon Nov 19 20:00:00 2018 a root5  Thu Nov 15 21:11:00 2018 a root11  Fri Nov 16 15:24:00 2018 a root9  Thu Nov 15 11:11:00 2018 a root12  Wed Nov 14 22:11:00 2018 a root

    登錄后復(fù)制

    刪除任務(wù)編號(hào)為12的任務(wù)

    [root@iz2ze0ajic0vbv28hcdctpz /]# atrm 12[root@iz2ze0ajic0vbv28hcdctpz /]# atq7  Mon Nov 19 20:00:00 2018 a root5  Thu Nov 15 21:11:00 2018 a root11  Fri Nov 16 15:24:00 2018 a root9  Thu Nov 15 11:11:00 2018 a root

    登錄后復(fù)制

    定時(shí)任務(wù)處理

    cron是linux的一個(gè)定時(shí)任務(wù)執(zhí)行工具,而crondtab是周期性執(zhí)行命令,crond則是定時(shí)任務(wù)的守護(hù)進(jìn)程。

    服務(wù)啟動(dòng)
     查看服務(wù)是否啟動(dòng)

    登錄后復(fù)制

    [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 agoMain PID: 489 (crond)  CGroup: /system.slice/crond.service          └─489 /usr/sbin/crond -n11月 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.

    登錄后復(fù)制

    如果沒(méi)有啟動(dòng),執(zhí)行systemctl start crondsystemctl enable crond

    登錄后復(fù)制

    crontab命令

    語(yǔ)法 : crontab 參數(shù)

    常用參數(shù) :

            crontab -u   #指定用戶(hù)的cron信息        crontab -l   #列出當(dāng)前用戶(hù)下的cron服務(wù)的信息        crontab -u user -l   #列出指定用戶(hù)的cron服務(wù)的信息        crontab -r   #刪除cron服務(wù)        crontab -e   #編輯cron服務(wù)        crontab -r -u user   #刪除指定用戶(hù)的定時(shí)任務(wù)

    登錄后復(fù)制

    操作:

    編輯cron服務(wù)

    [root@iz2ze0ajic0vbv28hcdctpz ~]# crontab -ecrontab: installing new crontab

    登錄后復(fù)制

    查看當(dāng)前用戶(hù)下任務(wù)內(nèi)容

    [root@iz2ze0ajic0vbv28hcdctpz ~]# crontab -l22 22 22 * * mkdir /linux/test

    登錄后復(fù)制

    刪除任務(wù)

    [root@iz2ze0ajic0vbv28hcdctpz ~]# crontab -r[root@iz2ze0ajic0vbv28hcdctpz ~]# crontab -lno crontab for root

    登錄后復(fù)制

    查看qa這個(gè)用戶(hù)下的任務(wù)內(nèi)容

    [root@iz2ze0ajic0vbv28hcdctpz ~]# crontab -u qa -l22 22 22 * * mkdir /linux/test

    登錄后復(fù)制

    刪除qa這個(gè)用戶(hù)下的定時(shí)任務(wù)

    [root@iz2ze0ajic0vbv28hcdctpz ~]# crontab -u qa -r[root@iz2ze0ajic0vbv28hcdctpz ~]# crontab -u qa -lno crontab for qa

    登錄后復(fù)制

    系統(tǒng)任務(wù)

    系統(tǒng)的任務(wù)調(diào)度配置文件在/etc/crontab下

    [root@iz2ze0ajic0vbv28hcdctpz ~]# ll /etc/crontab-rw-r--r-- 1 root root 451 Nov 15 07:49 /etc/crontab

    登錄后復(fù)制

    可以直接在/etc/crontab下添加系統(tǒng)任務(wù)(不建議)

    [root@iz2ze0ajic0vbv28hcdctpz ~]# cat /etc/crontabSHELL=/bin/bashPATH=/sbin:/bin:/usr/sbin:/usr/binMAILTO=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

    登錄后復(fù)制

    定時(shí)任務(wù)相關(guān)的目錄

    [root@iz2ze0ajic0vbv28hcdctpz etc]# ll crcron.d/       cron.deny     cron.monthly/ cron.weekly/cron.daily/   cron.hourly/  crontab       crypttab

    登錄后復(fù)制

    目錄作用解釋:

    cron.d/       是系統(tǒng)自動(dòng)定期需要做的任務(wù)(不是按照時(shí),分,秒等時(shí)間周期執(zhí)行的)cron.deny   在該文件內(nèi)的用戶(hù)無(wú)法做計(jì)劃任務(wù)其他文件為不同周期的執(zhí)行腳本。

    登錄后復(fù)制

    定時(shí)任務(wù)規(guī)則

    首先來(lái)看下任務(wù)的格式(如圖):

    時(shí)間的一些特殊符號(hào):

    下面我們來(lái)舉一些例子:

    #每晚的20:30重加載nginx30 20 * * * /usr/local/nginx/sbin/nginx -s reload#每月1、10、15日的5:30重加載nginx30 5 1,10,15 * * /usr/local/nginx/sbin/nginx  -s reload#每天20: 00至22 : 00之間每隔30分鐘重加載nginx0,30 20-22 * * * /usr/local/nginx/sbin/nginx -s reload每星期六的10 : 00 pm 重加載nginx0 22* * 6 /usr/local/nginx/sbin/nginx  -s reload#每一小時(shí)重加載一次nginx0 */1 * * * /usr/local/nginx/sbin/nginx -s reload

    登錄后復(fù)制

    expect

    很多時(shí)候我們和linux的操作交互需要人工干預(yù),有時(shí)候我們可能需要一種工具可以不需要人工干預(yù)的和linux交互,這里引入了一個(gè)工具expect,本小結(jié)我們主要來(lái)講如何使用expect。

    expect介紹

    TCL(tool command language)是一種類(lèi)似shell腳本的語(yǔ)言,你可以使用他來(lái)完成許多操作,expect是在它的基礎(chǔ)上發(fā)展而來(lái)的,expect還提供了一些tcl沒(méi)有的命令。如果你要寫(xiě)一個(gè)自動(dòng)處理輸入輸出的腳本,我建議選擇expect。

    expect安裝

    yum install -y expect

    expect使用
    1.定義腳本執(zhí)行使用的shell。     #!/usr/bin/expect2.設(shè)置超時(shí)時(shí)間,單位為秒,timeout -1 為永不超時(shí)。        set timeout 23.殼子       spawn需要在expect環(huán)境下運(yùn)行,用來(lái)傳遞交互指令。 4.expect命令       判斷輸出結(jié)果是否包含某字符串,沒(méi)有立即返回,否則就等一段時(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í)行接下來(lái)的交互操作。7.interact        執(zhí)行后保持交互狀態(tài),把控制權(quán)交給控制臺(tái),如不加interact,交互完成會(huì)自動(dòng)退出。

    登錄后復(fù)制

    免密碼通過(guò)ssh登陸服務(wù)器

    操作腳本

    ?  batch cat sf#!/usr/bin/expect -fspawn ssh  root@ipexpect {"yes/no" { send "yes\r";exp_continue}"*password:" { send "passwordstr\r" }}interact

    登錄后復(fù)制

    執(zhí)行查看結(jié)果,登陸成功

    ?  batch ./35spawn ssh root@iproot@ip's password:Last login: Sat Jan  5 10:15:56 2019 from 113.46.187.213Welcome to Alibaba Cloud Elastic Compute Service !

    登錄后復(fù)制

    ??

    這些只是Linux的冰上一角,小編還在路上,持續(xù)更新。。。??

    ?

      聲明:本文部分素材轉(zhuǎn)載自互聯(lián)網(wǎng),如有侵權(quán)立即刪除 。

    登錄后復(fù)制

    以上就是Linux常用命令 & 實(shí)用命令萬(wàn)字總結(jié)的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注www.92cms.cn其它相關(guān)文章!

分享到:
標(biāo)簽:Linux 萬(wàn)字 命令 實(shí)用 常用命令
用戶(hù)無(wú)頭像

網(wǎng)友整理

注冊(cè)時(shí)間:

網(wǎng)站:5 個(gè)   小程序:0 個(gè)  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會(huì)員

趕快注冊(cè)賬號(hào),推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過(guò)答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫(kù),初中,高中,大學(xué)四六

運(yùn)動(dòng)步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動(dòng)步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績(jī)?cè)u(píng)定2018-06-03

通用課目體育訓(xùn)練成績(jī)?cè)u(píng)定