正則介紹_grep上& grep中 & grep下

在計算機科學中,對「正則表達式" 的定義是:它使用單個字符串來描述或匹配一系列符合某個句法規則的字符串。在不少文本編輯器或其餘工具裏,正則表達式一般用來檢索和替換那些符合某個模式的文本內容。許多程序設計語言也都支持利用正則表達式進行字符串操做。對於系統管理員來說,正則表達式貫穿在咱們的平常運維工做中,不管是查找某個文檔,仍是查詢某個日誌文件並分析其容,都會用到正則表達式。
其實正則表達式只是一種思想、一種表示方法。只要咱們使用的工具支持這種表示方法,那麼這個工具就能夠處理正則表達式的字符串。經常使用的工具備grep、sed、awk等,其中grep、sed和都是針對文本的行進行操做的。php

正則介紹_grep上
該命令的格式爲:grep [-cinvABC]‘word’filenamehtml

經常使用的選項以下:
-c:表示打印符合要求的行數。
-i:表示不區分大小寫。
-n:表示輸出符合要求的行及其行號。
-v:表示打印不符合要求的行。
-r:遍歷全部子目錄。
-A:後面跟一個數字(有無空格均可以)。過濾出符合要求的行以及下面n行
-B:後面跟一個數字。過濾出符合要求的行以及上面n行
-C:後面跟一個數字。過濾出符合要求的行以及上面n行。java

grep中
方括號[ ]:匹配方括號裏任意一個字符node



^x:匹配以x開頭的字符linux

[^xyz]:非,匹配除方括號裏xyz以外的任意字符串web

^[^xyz]:匹配以除方括號裏xyz以外的任意字符開頭的字符
點 .:匹配任意一字符
*:匹配星號左邊的字符重複0到n次的字符串。
.*:表示零個或多個任意字符,空行也包含再內。
會把passwd文件裏面的全部行都匹配到。正則表達式

grep下express

花括號 x\{ n\}:字符x重複n次。
x\{ n,m\}:字符x重複n-m次
egrep:是grep的擴展版本,能夠完成grep不能完成的工做,能夠不使用字符 \
grep –E 跟egrep使用效果同樣
+:匹配加號左邊的字符重複1到n次的字符串。
?:問號前面的字符重複的次數是0或者1。
|:或者apache

grep ‘[0-9]’ passwd #把passwd文件中含有數字的行過濾打印出來vim

grep ‘^#’ shadow #把shadow文件中以「#」號開頭的行過濾打印出來

grep –v ‘^#’ shadow #把shadow文件中不以「#」開頭的行過濾打印出來

grep ‘^[^0-9]’ shadow #把shadow文件中以非數字開頭的行過濾打印出來

grep‘r.o'passwd#把passwd文件中r在前o在尾中間任意字符的字符串過濾打印出來

grep ‘o*o’passwd #把passwd文件中o重複n次且以o結尾的字符串過濾打印出來

grep ‘.*’ passwd #把passwd文件中任意字符創過濾打印出來

grep ‘o\{2\}’ passwd #把passwd文件中含有兩個o的字符串過濾打印出來

egrep ‘o{2}’ passwd====grep ‘o\{2\}’passwd====grep –E ‘o{2}’ passwd

grep ‘o+o’ passwd #把passwd文件中o開頭o結尾的字符串過濾打印出來

grep‘o?t’passwd #把passwd文件中有或者沒有o開頭以t結尾的字符過濾打印出來

egrep‘root|nologin’passwd #把passwd文件中匹配root或者nologin的字符
============================================================================================================================================================================================================
grep命令:
文件過濾分割與合併

grep(global search regular expression(RE) and print out the line,全面搜索正則表達式並把行打印出來)是一種強大的文本搜索工具,它能使用正則表達式搜索文本,並把匹配的行打印出來。

選項
-a 不要忽略二進制數據。
-A<顯示列數> 除了顯示符合範本樣式的那一行以外,並顯示該行以後的內容。
-b 在顯示符合範本樣式的那一行以外,並顯示該行以前的內容。
-c 計算符合範本樣式的列數。
-C<顯示列數>或-<顯示列數> 除了顯示符合範本樣式的那一列以外,並顯示該列以前後的內容。
-d<進行動做> 當指定要查找的是目錄而非文件時,必須使用這項參數,不然grep命令將回報信息並中止動做。
-e<範本樣式> 指定字符串做爲查找文件內容的範本樣式。
-E 將範本樣式爲延伸的普通表示法來使用,意味着使用能使用擴展正則表達式。
-f<範本文件> 指定範本文件,其內容有一個或多個範本樣式,讓grep查找符合範本條件的文件內容,格式爲每一列的範本樣式。
-F 將範本樣式視爲固定字符串的列表。
-G 將範本樣式視爲普通的表示法來使用。
-h 在顯示符合範本樣式的那一列以前,不標示該列所屬的文件名稱。
-H 在顯示符合範本樣式的那一列以前,標示該列的文件名稱。
-i 忽略字符大小寫的差異。
-l 列出文件內容符合指定的範本樣式的文件名稱。
-L 列出文件內容不符合指定的範本樣式的文件名稱。
-n 在顯示符合範本樣式的那一列以前,標示出該列的編號。
-q 不顯示任何信息。
-R/-r 此參數的效果和指定「-d recurse」參數相同。
-s 不顯示錯誤信息。
-v 反轉查找。
-w 只顯示全字符合的列。
-x 只顯示全列符合的列。
-y 此參數效果跟「-i」相同。
-o 只輸出文件中匹配到的部分。
grep命令常見用法
在文件中搜索一個單詞,命令會返回一個包含「match_pattern」的文本行:

grep match_pattern file_name
grep "match_pattern" file_name
在多個文件中查找:

grep "match_pattern" file_1 file_2 file_3 ...
輸出除以外的全部行 -v 選項:

grep -v "match_pattern" file_name
標記匹配顏色 --color=auto 選項:

grep "match_pattern" file_name --color=auto
使用正則表達式 -E 選項:

grep -E "[1-9]+"

egrep "[1-9]+"
只輸出文件中匹配到的部分 -o 選項:

echo this is a test line. | grep -o -E "[a-z]+\."
line.

echo this is a test line. | egrep -o "[a-z]+\."
line.
統計文件或者文本中包含匹配字符串的行數 -c 選項:

grep -c "text" file_name
輸出包含匹配字符串的行數 -n 選項:

grep "text" -n file_name

cat file_name | grep "text" -n

#多個文件
grep "text" -n file_1 file_2
打印樣式匹配所位於的字符或字節偏移:

echo gun is not unix | grep -b -o "not"
7:not

#一行中字符串的字符便宜是從該行的第一個字符開始計算,起始值爲0。選項 -b -o 通常老是配合使用。
搜索多個文件並查找匹配文本在哪些文件中:

grep -l "text" file1 file2 file3...
grep遞歸搜索文件
在多級目錄中對文本進行遞歸搜索:

grep "text" . -r -n
# .表示當前目錄。
忽略匹配樣式中的字符大小寫:

echo "hello world" | grep -i "HELLO"
hello
選項 -e 制動多個匹配樣式:

echo this is a text line | grep -e "is" -e "line" -o
is
line

#也可使用-f選項來匹配多個樣式,在樣式文件中逐行寫出須要匹配的字符。
cat patfile
aaa
bbb

echo aaa bbb ccc ddd eee | grep -f patfile -o
在grep搜索結果中包括或者排除指定文件:

#只在目錄中全部的.php和.html文件中遞歸搜索字符"main()"
grep "main()" . -r --include *.{php,html}

#在搜索結果中排除全部README文件
grep "main()" . -r --exclude "README"

#在搜索結果中排除filelist文件列表裏的文件
grep "main()" . -r --exclude-from filelist
使用0值字節後綴的grep與xargs:

#測試文件:
echo "aaa" > file1
echo "bbb" > file2
echo "aaa" > file3

grep "aaa" file* -lZ | xargs -0 rm

#執行後會刪除file1和file3,grep輸出用-Z選項來指定以0值字節做爲終結符文件名(\0),xargs -0 讀取輸入並用0值字節終結符分隔文件名,而後刪除匹配文件,-Z一般和-l結合使用。
grep靜默輸出:

grep -q "test" filename

#不會輸出任何信息,若是命令運行成功返回0,失敗則返回非0值。通常用於條件測試。
打印出匹配文本以前或者以後的行:

#顯示匹配某個結果以後的3行,使用 -A 選項:
seq 10 | grep "5" -A 3
5
6
7
8

#顯示匹配某個結果以前的3行,使用 -B 選項:
seq 10 | grep "5" -B 3
2
3
4
5

#顯示匹配某個結果的前三行和後三行,使用 -C 選項:
seq 10 | grep "5" -C 3
2
3
4
5
6
7
8

#若是匹配結果有多個,會用「--」做爲各匹配結果之間的分隔符:
echo -e "a\nb\nc\na\nb\nc" | grep a -A 1
a
b
--
a
b

============================================================================================================================================================================================================
egrep命令:

文件過濾分割與合併

egrep命令用於在文件內查找指定的字符串。egrep執行效果與grep -E類似,使用的語法及參數可參照grep指令,與grep的不一樣點在於解讀字符串的方法。egrep是用extended regular expression語法來解讀的,而grep則用basic regular expression 語法解讀,extended regular expression比basic regular expression的表達更規範。

語法
egrep(選項)(查找模式)(文件名1,文件名2,……)
實例
顯示文件中符合條件的字符。例如,查找當前目錄下全部文件中包含字符串"Linux"的文件,可使用以下命令:

egrep Linux *
結果以下所示:

#如下五行爲 testfile 中包含Linux字符的行
testfile:hello Linux!
testfile:Linux is a free Unix-type operating system.
testfile:This is a Linux testfile!
testfile:Linux
testfile:Linux

#如下兩行爲testfile1中含Linux字符的行
testfile1:helLinux!
testfile1:This a Linux testfile!

#如下兩行爲 testfile_2 中包含Linux字符的行
testfile_2:Linux is a free unix-type opterating system
testfile_2:Linux test

============================================================================================================================================================================================================

測試::::

[root@pantinglinux]# ls
1.txt 234 aa.txt anaconda-ks.cfg.1 新建文本文檔_(2).txt
[root@pantinglinux]# mkdir grep
[root@pantinglinux]# cd grep/
[root@pantinglinux]# cp /etc/passwd .
[root@pantinglinux]# ls
passwd
[root@pantinglinux]# pwd
/root/grep
[root@pantinglinux]# ls
passwd
[root@pantinglinux]# grep 'nologin' 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
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
systemd-bus-proxy:x:999:997:systemd Bus Proxy:/:/sbin/nologin
systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
polkitd:x:998:996:User for polkitd:/:/sbin/nologin
tss:x:59:59:Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
chrony:x:997:995::/var/lib/chrony:/sbin/nologin
adkxx1:x:1006:1001::/home/adkxx:/sbin/nologin
[root@pantinglinux]# which grep 
alias grep='grep --color=auto'
/usr/bin/grep
[root@pantinglinux]# /usr/bin/grep 'nologin' 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
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
systemd-bus-proxy:x:999:997:systemd Bus Proxy:/:/sbin/nologin
systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
polkitd:x:998:996:User for polkitd:/:/sbin/nologin
tss:x:59:59:Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
chrony:x:997:995::/var/lib/chrony:/sbin/nologin
adkxx1:x:1006:1001::/home/adkxx:/sbin/nologin
[root@pantinglinux]# grep -c 'nologin' passwd 
18
[root@pantinglinux]# grep -n 'nologin' passwd 
2:bin:x:1:1:bin:/bin:/sbin/nologin
3:daemon:x:2:2:daemon:/sbin:/sbin/nologin
4:adm:x:3:4:adm:/var/adm:/sbin/nologin
5:lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
9:mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
10:operator:x:11:0:operator:/root:/sbin/nologin
11:games:x:12:100:games:/usr/games:/sbin/nologin
12:ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
13:nobody:x:99:99:Nobody:/:/sbin/nologin
14:systemd-bus-proxy:x:999:997:systemd Bus Proxy:/:/sbin/nologin
15:systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
16:dbus:x:81:81:System message bus:/:/sbin/nologin
17:polkitd:x:998:996:User for polkitd:/:/sbin/nologin
18:tss:x:59:59:Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbin/nologin
19:postfix:x:89:89::/var/spool/postfix:/sbin/nologin
20:sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
21:chrony:x:997:995::/var/lib/chrony:/sbin/nologin
24:adkxx1:x:1006:1001::/home/adkxx:/sbin/nologin
[root@pantinglinux]# vim passwd 
[root@pantinglinux]# grep -ni 'nologin' passwd 
3:daemon:x:2:2:daemon:/sbin:/sbin/nologin
4:adm:x:3:4:adm:/var/adm:/sbin/nologin
5:lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
9:mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
10:operator:x:11:0:operator:/root:/sbin/nologin
11:games:x:12:100:games:/usr/games:/sbin/nologin
12:ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
13:nobody:x:99:99:Nobody:/:/sbin/nologin
14:systemd-bus-proxy:x:999:997:systemd Bus Proxy:/:/sbin/nologin
15:systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
16:dbus:x:81:81:System message bus:/:/sbin/nologin
17:polkitd:x:998:996:User for polkitd:/:/sbin/nologin
18:tss:x:59:59:Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbin/nologin
19:postfix:x:89:89::/var/spool/postfix:/sbin/nologin
20:sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
21:chrony:x:997:995::/var/lib/chrony:/sbin/nologin
24:adkxx1:x:1006:1001::/home/adkxx:/sbin/nologin
[root@pantinglinux]# vim passwd 
[root@pantinglinux]# grep -ni 'nologin' passwd 
3:daemon:x:2:2:daemon:/sbin:/sbin/nologin
4:adm:x:3:4:adm:/var/adm:/sbin/nologin
5:lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
9:mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
10:operator:x:11:0:operator:/root:/sbin/nologin
11:games:x:12:100:games:/usr/games:/sbin/nologin
12:ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
13:nobody:x:99:99:Nobody:/:/sbin/nologin
14:systemd-bus-proxy:x:999:997:systemd Bus Proxy:/:/sbin/nologin
15:systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
16:dbus:x:81:81:System message bus:/:/sbin/nologin
17:polkitd:x:998:996:User for polkitd:/:/sbin/nologin
18:tss:x:59:59:Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbin/nologin
19:postfix:x:89:89::/var/spool/postfix:/sbin/nologin
20:sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
21:chrony:x:997:995::/var/lib/chrony:/sbin/nologin
24:adkxx1:x:1006:1001::/home/adkxx:/sbin/nologin
[root@pantinglinux]# vim passwd 
[root@pantinglinux]# grep -ni 'nologin' passwd 
2:bin:x:1:1:bin:/bin:/sbin/NOLOgin
3:daemon:x:2:2:daemon:/sbin:/sbin/nologin
4:adm:x:3:4:adm:/var/adm:/sbin/nologin
5:lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
9:mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
10:operator:x:11:0:operator:/root:/sbin/nologin
11:games:x:12:100:games:/usr/games:/sbin/nologin
12:ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
13:nobody:x:99:99:Nobody:/:/sbin/nologin
14:systemd-bus-proxy:x:999:997:systemd Bus Proxy:/:/sbin/nologin
15:systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
16:dbus:x:81:81:System message bus:/:/sbin/nologin
17:polkitd:x:998:996:User for polkitd:/:/sbin/nologin
18:tss:x:59:59:Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbin/nologin
19:postfix:x:89:89::/var/spool/postfix:/sbin/nologin
20:sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
21:chrony:x:997:995::/var/lib/chrony:/sbin/nologin
24:adkxx1:x:1006:1001::/home/adkxx:/sbin/nologin
[root@pantinglinux]# grep -vni 'nologin' passwd 
1:root:x:0:0:root:/root:/bin/bash
6:sync:x:5:0:sync:/sbin:/bin/sync
7:shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
8:halt:x:7:0:halt:/sbin:/sbin/halt
22:adkee:x:1000:1000::/home/adkee:/bin/bash
23:adkee1:x:1001:1002::/home/adkee1:/bin/bash
25:adkxx5:x:1007:1007::/home/adkxx5:/bin/bash
[root@pantinglinux]# grep -r 'root' /etc/
/etc/pki/ca-trust/ca-legacy.conf:# The upstream Mozilla.org project tests all changes to the root CA
/etc/pki/ca-trust/ca-legacy.conf:# to temporarily keep certain (legacy) root CA certificates trusted,
/etc/pki/ca-trust/ca-legacy.conf:# It may keep root CA certificate as trusted, which the upstream 
/etc/pki/ca-trust/extracted/README:root CA certificates.
/etc/pki/ca-trust/extracted/java/README:root CA certificates.
匹配到二進制文件 /etc/pki/ca-trust/extracted/java/cacerts
/etc/pki/ca-trust/extracted/openssl/README:root CA certificates.
/etc/pki/ca-trust/extracted/pem/README:root CA certificates.
/etc/pki/tls/certs/make-dummy-cert: echo root@localhost.localdomain
/etc/pki/tls/openssl.cnf:dir = ./demoCA # TSA root directory
/etc/rpm/macros.perl:%define perl_br_testdir %{buildroot}%{perl_testdir}/%{cpan_dist_name} \
/etc/rpm/macros.perl:%defattr(-,root,root,-)\
/etc/yum/pluginconf.d/fastestmirror.conf:# as root).
/etc/aliases:postmaster: root
/etc/aliases:bin: root
/etc/aliases:daemon: root
/etc/aliases:adm: root
/etc/aliases:lp: root
/etc/aliases:sync: root
/etc/aliases:shutdown: root
/etc/aliases:halt: root
/etc/aliases:mail: root
/etc/aliases:news: root
/etc/aliases:uucp: root
/etc/aliases:operator: root
/etc/aliases:games: root
/etc/aliases:gopher: root
/etc/aliases:ftp: root
/etc/aliases:nobody: root
/etc/aliases:radiusd: root
/etc/aliases:nut: root
/etc/aliases:dbus: root
/etc/aliases:vcsa: root
/etc/aliases:canna: root
/etc/aliases:wnn: root
/etc/aliases:rpm: root
/etc/aliases:nscd: root
/etc/aliases:pcap: root
/etc/aliases:apache: root
/etc/aliases:webalizer: root
/etc/aliases:dovecot: root
/etc/aliases:fax: root
/etc/aliases:quagga: root
/etc/aliases:radvd: root
/etc/aliases:pvm: root
/etc/aliases:amandabackup: root
/etc/aliases:privoxy: root
/etc/aliases:ident: root
/etc/aliases:named: root
/etc/aliases:xfs: root
/etc/aliases:gdm: root

etc/postfix/master.cf:# service type private unpriv chroot wakeup maxproc command + args
/etc/audit/auditd.conf:log_group = root
/etc/audit/auditd.conf:action_mail_acct = root
/etc/sudoers:## the root user, without needing the root password.
/etc/sudoers:## Allow root to run any commands anywhere
/etc/sudoers:root ALL=(ALL) ALL
/etc/sudoers:## cdrom as root
匹配到二進制文件 /etc/aliases.db
匹配到二進制文件 /etc/.profile.swp
/etc/updatedb.conf:PRUNEFS = "9p afs anon_inodefs auto autofs bdev binfmt_misc cgroup cifs coda configfs cpuset debugfs devpts ecryptfs exofs fuse fuse.sshfs fusectl gfs gfs2 gpfs hugetlbfs inotifyfs iso9660 jffs2 lustre mqueue ncpfs nfs nfs4 nfsd pipefs proc ramfs rootfs rpc_pipefs securityfs selinuxfs sfs sockfs sysfs tmpfs ubifs udf usbfs"
匹配到二進制文件 /etc/.fstab.swp
[root@pantinglinux]# grep 'root' /etc/
grep: /etc/: 是一個目錄
[root@pantinglinux]# grep 'root' /etc/passwd
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin
[root@pantinglinux]# grep 'root' /etc/ > /
.autorelabel etc/ media/ root/ sys/
bin/ home/ mnt/ run/ tmp/
boot/ lib/ opt/ sbin/ usr/
dev/ lib64/ proc/ srv/ var/
[root@pantinglinux]# grep 'root' /etc/ > /
.autorelabel etc/ media/ root/ sys/
bin/ home/ mnt/ run/ tmp/
boot/ lib/ opt/ sbin/ usr/
dev/ lib64/ proc/ srv/ var/
[root@pantinglinux]# grep 'root' /etc/ > /
.autorelabel etc/ media/ root/ sys/
bin/ home/ mnt/ run/ tmp/
boot/ lib/ opt/ sbin/ usr/
dev/ lib64/ proc/ srv/ var/
[root@pantinglinux]# grep 'root' /etc/ > /tmp/passwd.log
grep: /etc/: 是一個目錄
[root@pantinglinux]# grep -r 'root' /etc/ > /tmp/passwd.log 
[root@pantinglinux]# grep passwd /tmp/passwd.log 
/etc/passwd:root:x:0:0:root:/root:/bin/bash
/etc/passwd:operator:x:11:0:operator:/root:/sbin/nologin
/etc/passwd-:root:x:0:0:root:/root:/bin/bash
/etc/passwd-:operator:x:11:0:operator:/root:/sbin/nologin
/etc/postfix/main.cf:# the system passwd file in the chroot jail is just not practical.
[root@pantinglinux]# grep -A2 'root' passwd 
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/NOLOgin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
--
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
[root@pantinglinux]# grep -nA2 'root' passwd 
1:root:x:0:0:root:/root:/bin/bash
2-bin:x:1:1:bin:/bin:/sbin/NOLOgin
3-daemon:x:2:2:daemon:/sbin:/sbin/nologin
--
10:operator:x:11:0:operator:/root:/sbin/nologin
11-games:x:12:100:games:/usr/games:/sbin/nologin
12-ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
[root@pantinglinux]# grep -nB2 'root' passwd 
1:root:x:0:0:root:/root:/bin/bash
--
8-halt:x:7:0:halt:/sbin:/sbin/halt
9-mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
10:operator:x:11:0:operator:/root:/sbin/nologin
[root@pantinglinux]# grep -nC2 'root' passwd 
1:root:x:0:0:root:/root:/bin/bash
2-bin:x:1:1:bin:/bin:/sbin/NOLOgin
3-daemon:x:2:2:daemon:/sbin:/sbin/nologin
--
8-halt:x:7:0:halt:/sbin:/sbin/halt
9-mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
10:operator:x:11:0:operator:/root:/sbin/nologin
11-games:x:12:100:games:/usr/games:/sbin/nologin
12-ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
[root@pantinglinux]# grep '[0-9]' passwd 
root:x:0:0:root:/root:/bin/bash
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
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
systemd-bus-proxy:x:999:997:systemd Bus Proxy:/:/sbin/nologin
systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
polkitd:x:998:996:User for polkitd:/:/sbin/nologin
tss:x:59:59:Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
chrony:x:997:995::/var/lib/chrony:/sbin/nologin
adkee:x:1000:1000::/home/adkee:/bin/bash
adkee1:x:1001:1002::/home/adkee1:/bin/bash
adkxx1:x:1006:1001::/home/adkxx:/sbin/nologin
adkxx5:x:1007:1007::/home/adkxx5:/bin/bash
[root@pantinglinux]# grep -v '[0-9]' passwd 
[root@pantinglinux]# grep -v '[0-9]' /etc/inittab 
# inittab is no longer used when using systemd.
#
# ADDING CONFIGURATION HERE WILL HAVE NO EFFECT ON YOUR SYSTEM.
#
# Ctrl-Alt-Delete is handled by /usr/lib/systemd/system/ctrl-alt-del.target
#
# systemd uses 'targets' instead of runlevels. By default, there are two main targets:
#
#
# To view current default target, run:
# systemctl get-default
#
# To set a default target, run:
# systemctl set-default TARGET.target
#
[root@pantinglinux]# grep -vn '[0-9]' /etc/inittab 
1:# inittab is no longer used when using systemd.
2:#
3:# ADDING CONFIGURATION HERE WILL HAVE NO EFFECT ON YOUR SYSTEM.
4:#
5:# Ctrl-Alt-Delete is handled by /usr/lib/systemd/system/ctrl-alt-del.target
6:#
7:# systemd uses 'targets' instead of runlevels. By default, there are two main targets:
8:#
11:#
12:# To view current default target, run:
13:# systemctl get-default
14:#
15:# To set a default target, run:
16:# systemctl set-default TARGET.target
17:#
[root@pantinglinux]# vim /etc/inittab 
[root@pantinglinux]# grep -n '^#' /etc/inittab 
1:# inittab is no longer used when using systemd.
2:#
3:# ADDING CONFIGURATION HERE WILL HAVE NO EFFECT ON YOUR SYSTEM.
4:#
5:# Ctrl-Alt-Delete is handled by /usr/lib/systemd/system/ctrl-alt-del.target
6:#
7:# systemd uses 'targets' instead of runlevels. By default, there are two main targets:
8:#
9:# multi-user.target: analogous to runlevel 3
10:# graphical.target: analogous to runlevel 5
11:#
12:# To view current default target, run:
13:# systemctl get-default
14:#
15:# To set a default target, run:
16:# systemctl set-default TARGET.target
17:#
[root@pantinglinux]#

 

相關文章
相關標籤/搜索