1、列出當前系統上所有已經登錄的用戶的用戶名,注意:同一個用戶登錄多次,則只顯示一次即可。
who | cut -d” ” -f1 | sort | uniq -c | sort
who命令查看當前系統登錄用戶信息,cut取第一段信息,sort排序,uniq統計重復行,sort再次排序。
2、取出最后登錄到當前系統的用戶的相關信息。
who | tail -1?
實在不知道怎么查看,cut取值取不到LOGIN的大小比較,who默認按登錄時間排序,所以也就這樣寫了,請大神們指點啊!
3、取出當前系統上被用戶當作其默認shell的最多的那個shell。
cut -d: -f7 /etc/passwd | sort | uniq -c | sort -n -r | head -1
passwd文件下第7個字段為默認shell,排序統計重復行,按逆序再次排序頭一個就是最多的,也可按順序排,那就是tail -1。
4、將/etc/passwd中的第三個字段數值最大的后10個用戶信息全部改為大寫后保存至/tmp/maxusers.txt。
sort -t: -k3 -n /etc/passwd | tail | tr [a-z] [A-Z] > /tmp/maxusers.ttrxt
sort可直接指定分隔符進行指定字段排序,而后tail后10行,tr轉換字符大小寫,輸出重定向文本文件。
5、取出當前主機的IP地址,提示:對ifconfig命令的結果進行切分。
ifconfig | grep inet | xargs -n2 | cut -d” ” -f2 | head -1
這個有群里同學幫忙,用到個新命令xargs,將輸入數據流空白行轉換為空白字符,大概就是這個意思,cut以空白字符分割,取IP地址。
6、列出/etc目錄下所有以.conf結尾的文件的文件名,并將其名字轉換為大寫后保存至/tmp/etc.conf文件中。
ls /etc/*.conf | tr [a-z] [A-Z] > /tmp/etc.conf
這個查看了文檔,實在找不到怎么取出文件的文件名,basename只是針對的是給出的文件名路徑,而匹配到的文件不知如何取出,請大神們幫忙??!
7、顯示/var目錄下一級子目錄或者文件的總個數。
ls /var | wc -l
貌似寫的也不符合題目要求,請指教!
8、取出/etc/group文件中第三個字段數值最小的10個組的名字。
sort -t: -k3 -n /etc/group | head | cut -d: -f1
9、將/etc/fstab和/etc/issue文件的內容合并為同一個內容后保存至/tmp/etc.test文件中。
cat /etc/fstab >> /etc/issue | cp /etc/issue /tmp/etc.test
文件合并只想到了cat >>,輸出重定向,也請大神們指點!按題目要求意思走!
10、請總結描述用戶和組管理類命令的使用方法并完成以下練習:
useradd,userdel,usermod,groupadd,groupdel,groupmod,passwd。
(1)、創建組distro,其GID為2016;
groupadd -g 2016 distro
(2)、創建用戶mandriva,其ID號為1005;基本組為distro;
useradd -u 1005 -g distro mandriva
(3)、創建用戶mageia,其ID號為1100,家目錄為/home/linux;
useradd -u 1100 -d /home/linux mageia
(4)、給用戶mageia添加密碼,密碼為mageedu;
echo “mageedu” | passwd –stdin mageia
(5)、刪除mandriva,但保留其家目錄;
userdel mandriva
(6)、創建用戶slackware,其ID號為2002,基本組為distro,附加組peguin;
groupadd peguin 先創建組
useradd -u 2002 -g distro -G peguin slackware
(7)、修改slackware的默認shell為/bin/tcsh;
usermod -s /bin/tcsh slackware
(8)、為用戶slackware新增附加組admins。
usermod -a -G admins slackware 添加附加組,追加新組需要-a配合,而且得在-G前面,不加-a為替換附加組,以實驗證明,我用的是CentOS 7。
本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/99637
用戶和組管理命令沒有時間詳述,改日補上!
最后登陸的用戶可以用last 命令里面取
建議命令都格式化一下。把命令執行結果也貼出來。