grep:這是一個搜索命令,搜文本并且將文本行顯示出來
(1)grep -i 表示搜索的時候忽略大小寫
(2)grep --colour 表示搜索關鍵字帶顏色
例如:grep --colour 'root' /etc/passwd
顯示為在etc的passwd里的 root 選項有顏色
*為了方便我們可以定義個別名,讓他搜索的時候默認顯示為帶顏色 alias grep='grep --colour' (3)grep -v 表示顯示出沒有被匹配到的行
例如:grep -v 'root' /etc/passwd
顯示為 不包含root關鍵字的行
(4)grep -o 只顯示匹配到的字符串
正則表達式:Regular Expression,簡寫為REGXP
元字符:
*:任意長度的任意字符
?:任意單個字符
[]:任意指定范圍內的
[^]:任意指定范圍外的
.:點 表示匹配任意單個字符
例如:
grep 'r..t' /etc/passwd
這個命令顯示出來的是 root 和 r任意 任意t
可以理解為r1ot,或者ro1t,或者r11t.
匹配次數: 1) *:匹配其前面的字符任意次
例如:a,b,ab,aab,acb,adb,amnb,amnbamnbamnb
a * b匹配上述, 這里a * b可以理解成為a* b 意思就是a出現了幾次 后面跟一個b. a可以出現零次,所以匹配的結果為:
b ,ab ,aab 其它都不符合 2) .*:任意長度的任意字符
例如:a,b,ab,aab,acb,adb,amnb,amnbamnbamnb
a.*b匹配上述 這里a.*b可以理解為 a開頭b結尾 ab中間是啥都行.所以匹配結果為:ab,aab,acb,adb,amnb,amnbmanbmanb. 3) ?:匹配其前面的字符1次或0次
例如:a,b,ab,aab,acb,adb,amnb,amnbamnbamnb0
a\?b匹配上述 \代表轉義,相當于b前面一次或者沒有a都可以匹配
所以匹配結果為:b,ab,aab,acb,adb,amnb,amnbmanbmanb.
要注意的是 這個命令 只是部分匹配就可以了不是全部匹配. 4) \{m,n\}:匹配其前面的字符至少m次,至多n次.
例如 \{1,\}:至少一次,至多不限
\{0,3\}:最多三次,最少不限
grep 'a\{1,3\}b' /app/test.txt
a出現最少一次最多三次 后面跟個b
匹配結果為:ab aab
grep 'a.\{1,3\}b' /app/test.txt
a和b之間出現至少1個字符-至多3個字符
匹配結果為: aab,acb,adb,amnb,amnbmnbmnb. ############用戶與權限########## 用戶 組 其他用戶
用戶:標識符
用戶組:標識符
輸入ls -l total 112 -rw-r--r--. 1 root root 0 Jul 17 11:55 2017-07-17.log
-rw-r--r--. 1 root root 2 Jul 20 09:04 A
-rw-r--r--. 1 root root 0 Jul 20 14:56 aaaaa
-rw-------. 1 root root 1894 Jul 15 08:32 anaconda-ks.cfg
-rw-r--r--. 1 root root 0 Jul 24 16:27 a.out
drwxr-xr-x. 2 root root 6 Jul 20 15:01 bbb
drwxr-xr-x. 2 root root 6 Jul 20 15:01 bbbb
drwxr-xr-x. 2 root root 6 Jul 19 21:56 Desktop
-rw-r--r--. 1 root root 1912 Jul 15 08:45 initial-setup-ks.cfg
drwxr-xr-x. 2 root root 6 Jul 15 08:45 Music
drwxr-xr-x. 2 root root 6 Jul 15 08:45 Pictures
drwxr-xr-x. 2 root root 6 Jul 15 08:45 Public
-rw-r--r--. 1 root root 0 Jul 20 11:26 qwer
drwxr-xr-x. 2 root root 6 Jul 15 08:45 Templates
-rw-r--r--. 1 root root 99946 Jul 17 17:18 typescript
drwxr-xr-x. 2 root root 6 Jul 15 08:45 Videos
drwxr-xr-x. 2 root root 6 Jul 20 15:01 wenjianjia
其中第一數列 顯示的-rw-r--r--這些
- (rw-)屬主的權限 (r--)屬組的權限 (r--)其它用戶的權限
權限有三種r,w,x
其中每一類都有三種權限
對于文件來說:
r:可讀,可以使用類似cat等命令查看文件內容
w:可寫,可以編輯或刪除此文件
x:可執行,可以再命令提示符下當做命令提交給內核運行
對于目錄來說:
r:可以對此目錄執行ls以列出內部的所有文件
w:可以再此目錄創建文件
x:可以使用cd切換進此目錄,也可以使用ls-l查看內部文件的詳細信息
例如 4(數字4為8進制)100r--:表示只讀 5(數字5為8進制)101r-x:讀和執行 0(數字9為8進制)000---:無權限 1(數字1為8進制)001--x:執行 3(數字3為8進制)011-wx:寫和執行 6(數字6為8進制)110rw-:讀寫 7(數字7為8進制)111rwx:讀寫執行
使用8進制的數字可以表示某一類用戶的權限
例如: 數字顯示均為8進制 755:rwx r-x r-x
rw- r-- ---:640 660:rw-rw----
rwx rwx r-x:775 用戶:UID /etc/passwd 這個目錄存儲每一個用戶的id號來標識用戶
組:GID /etc/group 這個目錄存儲每個組的id
用戶的密碼存儲在/etc/shadow
組的密碼存儲在/etc/gshadow
Linux的用戶類別:
管理員:ID號為0(默認)
普通用戶:系統用戶[1-499]/一般用戶[500-60000]普通用戶(ID號為1-65535)即使超出了也會顯示65536 系統用戶:是不允許登錄的
一般用戶:是可以登錄的
Linux的用戶組:
管理員組:
普通組:系統組/一般組
私有組:創建用戶的同時會給用戶創建一個私有組,名字為其本身
基本組:用戶額外的組(附加組,額外組,默認組以外的其他組)
例如:
進程:一個進程 god用戶 god組
對象:rwxrw-r-- girl god a.txt
進程的god用戶對應訪問對象的god屬組如果一樣則以rw-的權限去訪問這個文件a.txt 如果god用戶與對象girl不一樣,也不同于對象god組,則以r--的權限訪問.
記住Linux一切皆文件,所有進程都是文件.
訪問文件取決于用戶而不取決于文件本身
輸入cat /etc/passwd后:
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
取前兩個作為例子說明:':'這個里面有7個詳細信息,root代表賬戶名;x代表密碼(密碼存儲在etc/shadow/文件里)0代表用戶ID即UID;0代表組ID即GID;root(包含信息電話一類的,用戶的注釋信息);root(家目錄HOME DIR);/bin/bash(為SHELL)
/etc/shadow
輸入cat /etc/shadow 顯示如下:
root:$6$YsiwrDUWlkWxp6Mf$FvB5NAzc9lDBmtCEZThTpg6Jtzs7dCZHM0bjezjEZNyYc4fYzaKgtvo1W5g6AoHTi6GIMVS0Znm//dqTsAh1J0::0:99999:7:::
bin:*:17110:0:99999:7:::
取前兩個顯示如上:
冒號里面顯示順序如下: 1:登錄名 2:加密的密碼 $6 3:從1970年1月1日開始上一次修改密碼的時間到今天經歷了多長時間 4:密碼最小使用期限(0為不限定,如有數字則變成在時間內不能修改密碼) 5:密碼最長使用期限(99999為無限) 6:密碼還剩多長時間提示用戶 7:在禁用賬戶之前的日期
創建用戶:useradd 或adduser
學習在這里的時候我遇到了一個問題就是軟鏈接的問題
在這里講下,useradd是可執行文件,用which useradd 來查看顯示為:/usr/sbin/useradd,由此得知在上面的目錄下, 在輸入ls /usr/sbin/useradd顯示為:usr/sbin/adduser(為藍色,一般藍色代表該文件有軟鏈接),然后我們接著輸入ll usr/sbin/adduser顯示為:lrwxrwxrwx. 1 root root 7 Jul 14 20:56 /usr/sbin/adduser -> useradd,由此看出useradd是被adduser指向的一個藍色的鏈接.相當于adduser是useradd的一個快捷方式.
使用:
useradd 用戶
例如:useradd wenwen 輸入cat /etc/passwd顯示的最后一行為:wenwen:x:1003:1003::/home/wenwen:/bin/bash,以上就是你新建立的用戶.
給用戶增加密碼:
在root(系統管理員)下,輸入passwd wenwen會提示配置密碼的信息:
Changing password for user wenwen.
New password:
Retype new password:
Sorry, passwords do not match.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.
少于8個字符是不可以更改的,另外密碼過于簡單也是不能更改的.
*******chfn wenwen 這個命令可以給用戶備注信息,finger wenwen這個命令可以看更詳細的用戶信息(可能會需要安裝一下,安裝使用的是rpm -ivh /run/media/root/Centos\ 7\ x86_64/Packages/finger -0.17-52.e17.x86_64.rpm[在Centos7下安裝finger命令])
輸入rpm -ivh /misc/cd/Packages/finger,這個命令是Centos6自帶的 misc是掛載到安裝文件,很方便很實用.
添加組的命令:groupadd 組名
例如:groupadd mygroup添加完成后,輸入getent passwd wenwen可以看到:wenwen:x:1002:1002:laopo,jia,1,1:/home/wenwen:/bin/bash,的信息
總結一下:
用戶管理需要用到的命令: useradd userdel usermod passwd chsh(更改使用者 shell 設定 ,chsh -l查看機器安裝的SHELLS) chfn(改變finger指令顯示的信息語 法:chfn [-f <真實姓名>][-h <家中電話>][-o <辦公地址>][-p <辦公電話>][-uv][帳號名稱] ) finger(可以讓使用者查詢一些其他使用者的資料) id chage(命令是用來修改帳號和密碼的有效期限)
組管理:groupadd groupdel groupmod gpasswd
權限管理:chown chgrp chmod umask 用法:輸入useradd -u 1000 user1(-u直接給出用戶ID也就是UID) ,useradd -g 存在的組名,useradd -G 附加組(可以有多個使用,隔開)
useradd -c (組的注釋信息) useradd -d (目錄 指定用戶主目錄,如果此目錄不存在,則同時使用-m選項,可以創建主目錄) useradd -s (指定SHELLS)
PS(查看ifconfig中的IP地址):ifconfig |grep -Eo "\<(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\>" PS:echo "welcome to magedu linux" |grep -o "." |sort |uniq -c |sort -nr的執行結果: 3 e 3 2 u 2 o 2 m 2 l 1 x 1 w 1 t 1 n 1 i 1 g 1 d 1 c 1 a
PS:ifconfig |egrep -o "(<\[1-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5]\>)" 找出ifconfig 命令結果中1-255之間的數字.
原創文章,作者:charlest,如若轉載,請注明出處:http://www.www58058.com/82983