亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 服務器 > Web服務器 > 正文

Linux基礎之正則表達式,用戶、組管理命令介紹

2024-09-01 13:48:16
字體:
來源:轉載
供稿:網友

通配符(Globbing)

通配符與元字符類似,通配符主要用于文件名的匹配,而元字符則主要用在字符串的匹配上;
下面介紹幾種常用的通配符:

* 表示匹配任意位數的任意字符
? 表示匹配一位任意字符
^ 表示取反,不包含的意思
[] 表示此區間內的任意一個字符
{} 表示一種集合
/ 轉義字符,使具有特殊意義的字符失去原有意義
| 表示‘或',匹配一組可選的字符

元字符

元字符是用來描述字符的特殊字符。
常用的元字符及意義如下:

*      重復前面的字符0次或者多次.      匹配任意字符一次/+     匹配前面的字符1次或者多次/?     匹配前面的字符0次或者1次/{m/}    匹配其前面的字符m次/{m,n/}   匹配前面的字符至少m次,至多n次^      匹配字符在行首$      匹配字符在行尾^$     匹配空白行??崭?、0不算/<     匹配字符在詞首/>     匹配字符在詞尾/<string/> 精準匹配string/(xy/)   xy表示一個分組/1     模式從左側起,第一個左括號以及與之匹配的右括號之間的模式所匹配的字符

除了以上的常用的元字符,還有一些特殊的元字符:

[:alpha:]  所有大小寫字母[:upper:]  所有大寫字母 [:lower:]  所有小寫字母[:alnum:]  所有字母及數字[:punct:]  所有標點符號[:blank:]  空白鍵和TAB鍵[:space:]  任意空白的字元,空格、tab、CR等[:digit:]  任意數字,0-9[:print:]  任何可以被打印出來的字符

grep

grep, egrep, fgrep - print lines matching a pattern【SYNOPSIS】  grep [OPTIONS] PATTERN [FILE...]  grep [OPTIONS] [-e PATTERN | -f FILE] [FILE...]【OPTIONS】  --color=auto  對匹配到的內容進行高亮顯示處理  -i,--ignore-case     Ignore case distinctions in both the PATTERN and the input     files. (-i is specified by POSIX.)忽略字符大小寫匹配  -v,--invert-match     Invert the sense of matching, to select non-matching lines.     (-v is specified by POSIX.)顯示沒有匹配到的行  -o,--only-matching     Print only the matched (non-empty) parts of a matching line,     with each such part on a separate output line.只顯示匹配到的部分  -q,--quiet,--silent靜默模式,不列舉任何內容  -w,--word-regexp  單詞完整匹配所在的行  -d, --directories=ACTION how to handle directories; ACTION is 'read', 'recurse', or 'skip',目錄表示方式:只讀、遞歸、跳過  -r,-r, --recursive      like --directories=recurse  -c,--count print only a count of matching lines per FILE匹配到的文件有多少行  -B,--before-context=NUM print NUM lines of leading context列出匹配到的前NUM行  -A,--after-context=NUM  print NUM lines of trailing context列出匹配到的后NUM行  -C,--context=NUM   print NUM lines of output context列出匹配到的前后幾行

cut

Print selected parts of lines from each FILE to standard output列舉每行被選中的部分到標準輸出,也就是提取行中的某個字段【SYNOPSIS】cut OPTION... [FILE]...【OPTION】  -b,--bytes=LIST   select only these bytes按字節分隔  -c,--characters=LIST  select only these characters按字符分隔  -d,--delimiter=DELIM  use DELIM instead of TAB for field delimiter  用TAB替換指定的分隔符來分區域  -f,--field=LIST   分區域后,根據區域位數來列出數據  -n with -b: don't split multibyte characters不分隔多字節字符【FOR EXAMPLE】  [root@localhost ~]# cat /etc/passwd|cut -d: -f1  root  bin  daemon  adm  lp  提取/etc/passwd文件的第一個字段內容,也就是用戶名  [root@localhost ~]# cat /tmp/ah2.txt |cut -nb 1,2,3  平凡的  [root@localhost ~]# cat /tmp/ah2.txt |cut -nb 1不分割字節  平  [root@localhost ~]# cat /tmp/ah2.txt |cut -b 1漢字屬于多字節字符  [root@localhost ~]# cat /tmp/ah2.txt |cut -c 1  平

sort

sort lines of text files文本文件的行排序【SYNOPSIS】 sort [OPTION]... [FILE]... sort [OPTION]... --files0-from=F【OPTION】  -b,--ignore-leading-blanks  -f,--ignore-case    fold lower case to upper case characters 忽略大小寫  -i,--ignore-nonprinting    consider only printable characters忽略空白  -M,--month-sort    按照三位數月份排序  -h,--human-numeric-sort   compare human readable numbers    使用人類可讀的單位排序  -g,--genaral-numeric-sort    使用通用數值排序,支持科學計數  -t,--field-separator=SEP    use SEP instead of non-blank to blank transition    指定分列的分隔符  -k,--key=KEYDEF    sort via a key;KEYDEF gives location and type    指定列排序,  -n,--numeric-sort    compare according to string numerical value    根據字符串中的數值排序  -r,--reverse    反序排列  -c,--check check from srot input;don't sort    排序檢查,但不排序  -o,--output=FILE  write result to FILE instead of standard output    將結果保存至文件中而不輸出  -u,--unique   with -c,check for strict ordering; without -c,output only the first of an equal run    與-c組合,執行嚴格的順序檢查;不與-c組合,僅輸出第一個結果,剔除相鄰重復的行,重復且相鄰的無法剔除。

uniq

report or omit repeated lines記錄或剔除重復行【SYNOPSIS】uniq [OPTION]... [INPUT [OUTPUT]]【OPTION】  -c,--count prefix lines by the number of occurrences行計數(重復行列一行,前面有重復次數)  -d,--repeated  only print duplicate lines, one for each group只打印有重復的行  -D,--all-repeated[=METHOD]  -f,--skip-fields=N    跳過前N個字段  -s,--skip-chars=N    跳過前幾個字符  -i,--ignore-case  忽略大小寫  -u,--unique   only print unique lines僅打印不重復的行  -z,--zero-terminated  end lines with 0 bytes,not newline  -w,--check-chars=N compare no more than N characters in lines    第N個字符之后不做匹配

練習

1、列出當前系統上所有已經登錄的用戶的用戶名,同一用戶登錄多次,只顯示一次即可

who |cut -d' ' -f 1|uniq

2、取出最后登錄到當前系統的用戶的相關信息

cat /etc/passwd|grep "^`last -1|cut -d' ' -f1|head -1`"

3、去除當前系統上被用戶當作其默認的shell的最多的那個shell

cat /etc/passwd|cut -d: -f7|sort -u|sort -rn|head -1

4、將/etc/passwd中的第三個字段的數值最大的后10個用戶的信息全部改為大寫后保存至/tmp/maxusers.txt中

cat /etc/passwd|sort -t':' -k3 -n|tail|tr [a-z] [A-Z] 2&>1 /tmp/maxusers.txt

5、取出當前主機的IP地址,

ifconfig eno16777736| grep  "/<inet/>"|cut -d' ' -f 10

6、列出/etc/下所有以.conf結尾的文件的文件名,并將其名字轉換成大寫后保存至/tmp/etc.conf文件中

ls /etc|grep -o ".*/.conf$"|tr [a-z] [A-Z] >> /tmp/etc.conf

7、顯示/var目錄下一級子目錄或者文件的總個數

linux里沒有直接的命令來展示一個目錄下的文件個數,可以通過管道將兩個命令組合
查看目錄下所有文件個數命令如下:
ls |wc -l
 1、ls 是查看文件夾內所有文件的命令
 2、wc -l 是統計文件行數的命令
 3、以上兩個命令疊加,相當于統計文件夾下文件總數

#!/bin/shfind /tmp/homework -maxdepth 1 -type d | while read dir; do count=$(find "$dir" -type f | wc -l)echo "$dir : $count"done

8、取出/etc/group文件中的第三個字段數值最小的10個組的名字

cat /etc/group|sort -t':' -k 3 -n|head |cut -d':' -f1

9、將/etc/fstab和/etc/issue文件的內容合并為同一個內容后保存至/tmp/etc.test

cat /etc/fstab /etc/issue >>/tmp/etc.test

Linux基礎知識—用戶、組管理

Linux為了提高其安全性,通過創建用戶及用戶組并賦相應的權限來限制各用戶訪問不同的文件。下面我們來學習下用戶及用戶組的相關管理命令先來看看幾個文件:

/etc/passwd

[root@localhost ~]# cat /etc/passwd|head -3root:x:0:0:root:/root:/bin/bashbin:x:1:1:bin:/bin:/sbin/nologindaemon:x:2:2:daemon:/sbin:/sbin/nologin

其文件內容格式是由‘:'分隔開的字符串,其內容包括如下: USERNAME:X:UID:GID:DESCRIPTION:HOME:SHELL

/etc/shadow

[root@localhost ~]# cat /etc/shadow|head -3root:$6$1RSlswAIVbmtwWM5$WLZxHXzkL7.PvHb2ghYqbGvj3Cz4AB5sGRr33TwCX1cwSqV.syv0q1eqcF3NGUJeNNspAOt5C1rWfdsgBllB1.::0:99999:7:::bin:*:16659:0:99999:7:::daemon:*:16659:0:99999:7:::

其內容格式類似于/etc/passwd格式,只是內容不同:

USERNAME:ENCRYPTED PASSWD:DATE OF LAST CHANGE:MINIMUM PASSWD AGE: MAXIMUM PASSWD AGE:PASSWD WARNING:PASSWORD INACTIVITY:EXPIRATION

這個簡單的解釋下:

USERNAME:也就是用戶名ENCRYPTED PASSWD:加密的密碼DATE OF LAST CHANGE:最后修改密碼的日期(天數,是以1970-1-1起算的天數)MINIMUM PASSWD:最短可修改密碼日期(天數,相對第三欄的最后修改日期)MAXIMUM PASSWD:最長可修改密碼日期PASSWD WARNING:密碼過期前的警告天數(相對第四欄的日期之前的天數)PASSWD INACTIVITY:密碼的閑置日期(密碼過期之后還有一定的天數可以使用)EXPIRATION:備注

UID

人與計算機交互,人可識別字符和數字等,但是計算機只能識別0、1這樣的二進制代碼,所以,UID就是分配給USERNAME相對應的計算機可識別的ID號碼;UID可分為以下幾類:

0:系統管理員,root的UID1-999:系統用戶,這些用戶是系統后臺的服務類程序的用戶所用;用戶也可以指定用戶為系統用戶1000-2^32-1:普通用戶

GID

在程序設計過程中,我們會將一部分用戶之間的資料共享,而不愿讓資料為外人看到,所以就有了用戶組的概念,用戶之間通過GID來確定用戶組的范圍

下面我們來介紹下設置以上及相關信息的命令:

useradd

create a new user or update default new user information【SYNOPSIS】  useradd [options] LOGIN  useradd -D  useradd -D [options]【OPTIONS】  -D useradd命令的部分默認參數,可修改  -c,--comment    添加用戶的描述信息,finger USERNAME查看更直觀  -d,--home-dir    指定用戶的家目錄,必須為絕對路徑  -e,--expiredate   用戶賬號失效日期,格式默認:YYYY-MM-DD  -f,--inactive    指定用戶密碼是否失效(-1:永不失效,過期會強制修改密碼;0:立刻失效)  -g,--gid      用戶主屬組,該屬組必須可用  -G,--groups     用戶附加屬組,該屬組可設置多個  -M         強制不建立家目錄  -m         強制建立家目錄  -r,create system user  創建系統用戶  -o,--non-unique   允許創建一個已存在的UID的用戶(重復的UID)  -s,--shell     指定該用戶的shell環境  -u,--uid      指定用戶的uid值

passwd

update user's authentication tokens   【SYNOPSIS】  passwd [-k] [-l] [-u [-f]] [-d] [-e] [-n mindays] [-x maxdays] [-w warndays] [-i inactivedays] [-S]  [--stdin] [username]【OPTIONS】  --stdin   結合管道符將標準輸入直接賦值給用戶密碼  -l,--lock  鎖定指定用戶  -u,--unlock   解鎖指定用戶  -d,--delete   快速刪除用戶密碼  -e,--expire   使用戶密碼失效  -n,--minimum  密碼的最短修改天數  -x,--maximum  密碼的最長修改天數  -w,--waring   密碼過期前的通知天數  -i,--inactive  密碼過期后的閑置天數  -S,--status   用戶的密碼狀態

groupadd

create a new group【SYNOPSIS】  groupadd [options] group【OPTION】  -g,--gid    創建一個指定gid的group  -K,--key    修改/etc/login.defs的值,具體可參照此文件的內容  -o,--non-unique   創建一個已有的gid的組  -p,--password  創建組密碼,現在基本用不到  -r,--system-group  創建一個系統組

newgrp

log in to a new group【SYNOPSIS】  newgrp [-] [group]這個命令只是在用戶的主屬組更換的時候有用,例如USERNAME有主屬組group1,附屬組group2,group3;現在切換用戶的主屬組為group3則使用此命令

總結描述用戶和組管理類命令的使用方法并完成練習

創建組distro,其GID為2016;[root@localhost ~]# groupadd -g 2016 distro[root@localhost ~]# tail -1 /etc/groupdistro:x:2016:創建用戶mandriva,其ID為1005;基本組位distro;[root@localhost ~]# useradd -g distro -u 1005 mandriva[root@localhost ~]# tail -1 /etc/passwdmandriva:x:1005:2016::/home/mandriva:/bin/bash創建用戶mageia,其ID位1100;家目錄為/home/linux;[root@localhost ~]# useradd -u 1100 -d /home/linux mageia[root@localhost ~]# tail -1 /etc/passwdmageia:x:1100:1100::/home/linux:/bin/bash給用戶mageia添加密碼,密碼為mageedu;[root@localhost ~]# passwd mageiaChanging password for user mageia.New password: Retype new password: passwd: all authentication tokens updated successfully.刪除用戶mandriva但保留其家目錄;[root@localhost ~]# tail -3 /etc/passwdmariadb:x:1000:1000::/home/mariadb:/sbin/nologinhadoop:x:1001:1001::/home/hadoop:/bin/bashmageia:x:1100:1100::/home/linux:/bin/bash[root@localhost ~]# ls /home/hadoop linux mandriva創建用戶slackware,其ID為2002,基本組為distro,附屬組為peguin;[root@localhost ~]# groupadd peguin[root@localhost ~]# useradd -u 2002 -g distro -Gpeguin slackware[root@localhost ~]# tail -2 /etc/passwdmageia:x:1100:1100::/home/linux:/bin/bashslackware:x:2002:2016::/home/slackware:/bin/bash[root@localhost ~]# tail -2 /etc/groupmageia:x:1100:peguin:x:2017:slackware修改slackware的默認shell為/bin/tcsh;[root@localhost ~]# usermod -s /bin/tcsh slackware[root@localhost ~]# tail -2 /etc/passwdmageia:x:1100:1100::/home/linux:/bin/bashslackware:x:2002:2016::/home/slackware:/bin/tcsh  為用戶slackware新增附屬組admins;[root@localhost ~]# usermod -aG admins slackware[root@localhost ~]# tail -4 /etc/groupdistro:x:2016:mageia:x:1100:peguin:x:2017:slackwareadmins:x:2018:slackware為slackware添加密碼,且要求密碼最短使用期限為3天,最長為180天,警告為3天;[root@localhost ~]#passwd -n 3 -x 180 -w 3 slackware[root@localhost ~]# tail -1 /etc/shadowslackware:!!:16658:3:180:3:::[root@localhost ~]#echo 'Slackware'|passwd --stdin slackware添加用戶openstack,其ID號為3003,基本組為clouds,附加組為peguin和nova;[root@localhost ~]# groupadd clouds[root@localhost ~]# groupadd nova[root@localhost ~]# useradd openstack -u 3003 -g clouds -G peguin,nova [root@localhost ~]# tail -1 /etc/passwdopenstack:x:3003:2019::/home/openstack:/bin/bash添加系統用戶mysql,要求其shell為/sbin/nologin;[root@localhost ~]# useradd -r mysql -s /sbin/nologin[root@localhost ~]# tail -1 /etc/passwdmysql:x:996:994::/home/mysql:/sbin/nologin使用echo命令,非交互為openstack添加密碼[root@localhost ~]# echo 'Openstack'|passwd --stdin openstackChanging password for user openstack.passwd: all authentication tokens updated successfully.

以上就是Linux基礎之正則表達式,用戶、組管理命令介紹,如果您有什么建議可以留言


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲国产精品中文| 国产在线视频一区| 国产精品视频1区| 亚洲日韩中文字幕在线播放| 欧美成人网在线| 成人av在线亚洲| 日韩在线观看免费高清完整版| 91伊人影院在线播放| 亚洲国产日韩欧美在线动漫| 高清日韩电视剧大全免费播放在线观看| 欧美性一区二区三区| 欧美成人午夜激情| 成人妇女淫片aaaa视频| 日韩激情av在线播放| 亚洲成人网在线观看| 亚洲激情 国产| 2019av中文字幕| 欧美乱人伦中文字幕在线| 亚洲国产古装精品网站| 亚洲电影免费在线观看| 欧美极品在线播放| 在线观看视频99| 亚洲毛茸茸少妇高潮呻吟| 懂色av中文一区二区三区天美| 国产精品视频自在线| 国产精品一区二区久久| 亚洲精品电影网| 欧美第一黄色网| 欧美激情xxxxx| 亚洲福利在线看| 欧美国产日韩一区二区| 2019亚洲日韩新视频| 91欧美激情另类亚洲| 91精品国产色综合久久不卡98| 性欧美xxxx视频在线观看| 亚洲人午夜精品| 国内精品视频久久| 久久九九国产精品怡红院| 日韩在线中文字| 亚洲国产成人精品久久久国产成人一区| 精品亚洲一区二区三区在线观看| 日韩欧美精品网站| 欧美一级片免费在线| 欧美亚洲另类激情另类| 精品中文字幕在线观看| 性日韩欧美在线视频| 亚洲电影av在线| 亚洲最大成人免费视频| 日本久久久久久久久久久| 精品久久久香蕉免费精品视频| 精品成人国产在线观看男人呻吟| 欧美一级bbbbb性bbbb喷潮片| 亚洲精品视频在线播放| 国产狼人综合免费视频| 精品毛片三在线观看| 亚洲国产精彩中文乱码av在线播放| 国产精品pans私拍| 欧美自拍视频在线观看| 欧美日韩加勒比精品一区| 亚洲国产一区自拍| 免费av一区二区| 国产经典一区二区| 亚洲美女在线视频| 日韩欧美在线免费| 美女视频久久黄| 97人洗澡人人免费公开视频碰碰碰| 欧美高清第一页| 国产精品久久激情| 96pao国产成视频永久免费| 日韩欧美在线视频日韩欧美在线视频| 国产日本欧美在线观看| 亚洲国产成人久久综合| 国产在线观看91精品一区| 欧美精品在线看| 亚洲香蕉伊综合在人在线视看| 91美女福利视频高清| 日韩中文综合网| 亚洲欧美国产日韩中文字幕| 日韩国产欧美精品一区二区三区| 欧美日韩成人在线观看| 国产精品久久久久久av| 欧美日韩成人免费| 孩xxxx性bbbb欧美| 亚洲影影院av| 欧美亚州一区二区三区| 国产午夜精品一区理论片飘花| 97成人精品视频在线观看| 日韩在线观看免费| 97免费在线视频| 国产精品观看在线亚洲人成网| 精品亚洲一区二区三区| 久久夜精品va视频免费观看| 亚洲视频在线视频| 国产成人涩涩涩视频在线观看| 欧美精品一区二区免费| 国产一区二区丝袜高跟鞋图片| 91精品国产高清自在线看超| 久久精品男人天堂| 成人免费福利在线| 国产精品视频在线观看| 91精品啪aⅴ在线观看国产| 国产精品嫩草影院久久久| 欧美肥婆姓交大片| 97人人爽人人喊人人模波多| 欧美精品18videos性欧美| 国产精品美女主播在线观看纯欲| 欧美视频中文在线看| 亚洲国产美女久久久久| 97在线精品视频| 亚洲国产精品久久久久秋霞蜜臀| 日韩国产欧美精品在线| 中文字幕在线看视频国产欧美| 伊人久久大香线蕉av一区二区| 最近2019中文字幕mv免费看| 亚洲欧美色图片| 亚洲自拍另类欧美丝袜| 日韩美女视频免费在线观看| 97精品久久久中文字幕免费| 91美女福利视频高清| 国产精品27p| 宅男66日本亚洲欧美视频| 欧美另类精品xxxx孕妇| 日韩在线高清视频| 91成人在线播放| 国产视频精品xxxx| 亚洲女成人图区| 欧美另类69精品久久久久9999| 日韩av最新在线观看| 亚洲美女喷白浆| 久热99视频在线观看| 国产精品网站视频| 久久久久国产精品免费网站| 国产欧美va欧美va香蕉在| 91国产美女视频| 欧美日韩国产一中文字不卡| 亚洲一区二区精品| 亚洲人成在线播放| 少妇激情综合网| 中文字幕日韩有码| 一本一本久久a久久精品牛牛影视| 亚洲精品国产精品国自产在线| 成人午夜在线视频一区| 日韩欧美精品在线观看| 成人午夜两性视频| 午夜欧美不卡精品aaaaa| 亚洲色图18p| 日韩美女视频在线观看| 8090理伦午夜在线电影| zzijzzij亚洲日本成熟少妇| 国产一区二区日韩| 91情侣偷在线精品国产| 日韩av一区在线| 中文字幕精品一区久久久久| 亚洲自拍欧美色图| 亚洲精品综合精品自拍| 亚洲午夜性刺激影院| 国产精品女人久久久久久| xxx成人少妇69| 成人国产精品免费视频| 久久久www成人免费精品张筱雨| 亚洲欧美日韩高清| 亚洲日韩欧美视频| 欧美日韩中国免费专区在线看| 亚洲一区美女视频在线观看免费|