1、列出當前系統上所有已經登錄的用戶的用戶名,注意:同一個用戶登錄多次,則只顯示一次即可。
Who | cut -d" " -f1 | sort -u
sort用法
參 數:
-b 忽略每行前面開始出的空格字符。
-c 檢查文件是否已經按照順序排序。
-f 排序時,忽略大小寫字母。
-M 將前面3個字母依照月份的縮寫進行排序。
-n 依照數值的大小排序。
-o<輸出文件> 將排序後的結果存入指定的文件。
-r 以相反的順序來排序。
-t<分隔字符> 指定排序時所用的欄位分隔字符。
-k 選擇以哪個區間進行排序。
2、取出最後登錄到當前系統的用戶的相關信息。
Id $(who | tail -1 | cut -d ' ' -f1)
tail用法
參 數:
默認示文件的末尾行,缺省顯示最後10行
-n參數可以設定顯示的行數,
-f參數當文件內容發生增加時自動顯示。
3、取出當前系統上被用戶當做其默認shell的最多的那個shell
cut -d : -f7 /etc/passwd | uniq -c | sort -n | tail -1
uniq用法
參 數:
-c: 在每列旁邊顯示該行重複出現的次數。
-d: 僅顯示重複出現的行列。
-f: 忽略比較指定的欄位。
-s: 忽略比較指定的字符。
-u: 僅顯示出一次的行列。
-w: 指定要比較的字符。
-n:前n個字段和每個字段前的空白一起被忽略
+n:前n個字符被忽略
4、將/etc/passwd中的第三個字段數值最大的後10個用戶的信息全部改爲大寫後保存至/tmp/maxusers.txt文件中。
sort -n -t: -k3 /etc/passwd | tail -10 | tr [a-z] [A-Z] &>/tmp/maxusers.txt
5、取出當前主機的ip地址,提示:對ifconfig命令的結果進行切分
Ifconfig | grep -o "inet .*" |cut -d" " -f2
6、列出/etc目錄下所有以.conf結尾的文件的文件名,並將其名字轉化爲大寫後保存至/tmp/etc.conf文件中。
Ls /etc/*.conf | tr 'a-z' 'A-Z' > /tmp/etc.conf
7、顯示/var目錄下一級目錄或文件的總個數
Ls /var |wc -l
8、取出/etc/group文件中第三個字段數值最小的10個組的名字
第3字段按數值排序,取前10行
通過管道送給“cut”,取組名
9、將/etc/fstab和/etc/issue文件的內容合併爲同一個內容後保存至/tmp/etc.test文件中。
Cat /etc/fstab /etc/issue > /tmp/etc.test
10.請總結描述用戶和組管理類命令的使用方法並完成以下練習:
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
useradd –u 2002 –g distro –G peguin slackware
7.修改slackware的默認shell爲/bin/tcsh
usermod –s /bin/tcsh slackware
8.爲用戶slackware新增附加組admins
usermod –G admins –a slackware
9.爲slackware添加密碼,且要求密碼最短使用期限爲3天,最長爲180天,警告爲3天
echo redhat | passwd –n 3 –x 180 –w 3 --stdin slackware
10.添加用戶openstack,其ID號爲3003,基本組爲clouds,附加組爲peguin和nova
useradd –u 3003 –g clouds –G peguin,nova openstack
11.添加系統用戶mysql,要求其shell爲/sbin/nologin
useradd –r mysql –s /sbin/nologin
12.使用echo命令,非交互式爲openstack添加密碼
echo redhat | passwd --stdin openstack