1、列出當前系統上所有已登錄的用戶名,注意:同一用戶登陸多次,則只顯示一次即可。
示例:[root@localhost ~]# who | cut -d : -f1 | sort -u
? ? ? ? ? ? ?root pts/0 2018-03-27 23:46
解釋:使用who命令列出列出當前登錄的所有用戶,使用cut命令取出用戶名,使用sort -u命令去重
2、取出最后登錄到當前系統的用戶的相關信息。
示例:[root@localhost ~]# who | head -1
? ? ? ? ? ? root pts/0 ?
解釋:使用who命令列出列出當前登錄的所有用戶,使用 head命令取出最后登錄用戶名相關信息。
3、取出當前系統上被用戶當作默認shell的最多的那個shell。
示例:[root@localhost ~]# cut -d : -f7 /etc/passwd | uniq -c | sort -n | tail -1
? ? ? ? ? ? 29 /sbin/nologin
解釋:使用cut命令列出取出passwd上第7列所有使用的shell名稱,使用uniq?–c統計重復次數,sort -n按數值排序,tail -1取最大值
4、將/etc/passwd中的第三個字段數值最大的后10個用戶的信息全部改為大寫后保存至/tmp/maxusers.txt文件中。
示例:[root@localhost ~]# sort -rn -t: -k3 /etc/passwd -n | tail -10 | tr “a-z” “A-Z” >/tmp/maxusers.txt
? ? ? ? ? ? [root@localhost ~]# cat /tmp/maxusers.txt
? ? ? ? ? ? UUCP:X:10:14:UUCP:/VAR/SPOOL/UUCP:/SBIN/NOLOGIN
? ? ? ? ? ? MAIL:X:8:12:MAIL:/VAR/SPOOL/MAIL:/SBIN/NOLOGIN
解釋:使用sort命令將passwd文件按第三個字段排序,用tail取出最后十行,使用tr?命令轉換大小寫,用>號重定向保存到maxusers.txt文件中。
sort參數:-r:以相反的順序來排序;?-n:依照數值的大小排序;-k來指定列數;
5、取出當前主機的IP地址,提示:對ifconfig命令的結果進行切分。
示例:[root@localhost ~]# ifconfig eth0 | grep ‘\<inet\>’ | cut -d : -f2
? ? ? ? ? ? 172.16.15.10 Bcast
解釋:執行ifconfig命令,管道至對結果進行正規則表達式匹配,然后用cut命令切分,得到結果的第二列的ip地址。
6、列出/etc目錄下所有以.conf結尾的文件的文件名,并將其名字轉換為大寫后保存至/tmp/etc.conf文件中。
示例:[root@localhost ~]# ls /etc/*.conf | tr “a-z” “A-Z” >/tmp/etc.conf
? ? ? ? ? ? [root@localhost ~]# cat /tmp/etc.conf
? ? ? ? ? ? ?/ETC/ANT.CONF
? ? ? ? ? ? ?/ETC/ASOUND.CONF
解釋:用ls命令列出/etc下所有.conf的文件,用tr命令轉換成大寫,用>號把結果重定向到etc.conf文件。
7、顯示/var目錄下一級子目錄或文件的總個數。
示例:[root@localhost ~]# ls /var | wc -l
? ? ? ? ? ? ? 21
解釋:用ls命令列出/var下一級子目錄,wc命令統計個數。
8、取出/etc/group文件中第三個字段數值最小的10個組的名字。
示例:[root@localhost ~]# sort -t : -k3 -n /etc/group | head -10 | cut -d : -f1
? ? ? ? ? ? root
? ? ? ? ? ? bin
? ? ? ? ? ? daemon
? ? ? ? ? ? sys
? ? ? ? ? ?adm
? ? ? ? ? ? tty
? ? ? ? ? ?disk
? ? ? ? ? ?lp
? ? ? ? ? mem
? ? ? ? ? kmem
解釋:/etc/group用sort命令t為欄位分隔符,k3第三欄n依照數值的大小排序,用head命令取出前10行,用cut命令d為字段的分隔符,f1顯示第一字段。
9、將/etc/fstab和/etc/issue文件的內容合并為同一個內容后保存至/tmp/etc.test文件中。
示例:[root@localhost ~]# cat /etc/fstab /etc/issue > /tmp/etc.test
? ? ? ? ? ? [root@localhost ~]# cat /tmp/etc.test
? ? ? ? ? ?# /etc/fstab
? ? ? ? ? ?# Created by anaconda on Thu Mar 22 22:29:16 2018
? ? ? ? ? ?#
? ? ? ? ? ?# Accessible filesystems, by reference, are maintained under ‘/dev/disk’
? ? ? ? ? ?# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
? ? ? ? ? #
? ? ? ? ? /dev/mapper/VolGroup-lv_root / ext4 defaults 1 1
? ? ? ? ? ? UUID=7eee4732-a8d7-43ba-9f7d-8125ab037003 /boot ext4 defaults 1 2
? ? ? ? ? ?/dev/mapper/VolGroup-lv_swap swap swap defaults 0 0
? ? ? ? ? ?tmpfs /dev/shm tmpfs defaults 0 0
? ? ? ? ? ?devpts /dev/pts devpts gid=5,mode=620 0 0
? ? ? ? ? ?sysfs /sys sysfs defaults 0 0
? ? ? ? ? proc /proc proc defaults 0 0
? ? ? ? ? CentOS release 6.6 (Final)
? ? ? ? ? Kernel \r on an \m
解釋:用cat命令獲取/etc/fstab和/etc/issue文件的內容并重定向到/tmp/etc.test文件中。
10、請總結描述用戶和組管理類命令的使用方法并完成以下練習:
用戶和組管理類相關命令:
(1)創建用戶命令:useradd
格式:useradd [選項] 登錄名
-u, –uid UID:指定UID;
-g, –gid GROUP:指定基本組ID,此組得事先存在;
-G, –groups GROUP1[,GROUP2,…[,GROUPN]]]:指明用戶所屬的附加組,多個組之間用逗號分隔;
-c, –comment COMMENT:指明注釋信息;
-d, –home HOME_DIR:以指定的路徑為用戶的家目錄;通過復制/etc/skel此目錄并重命名實現;指定的家目錄路徑如果事先存在,則不會為用戶復制環境配置文件;
-s, –shell SHELL:指定用戶的默認shell,可用的所有shell列表存儲在/etc/shells文件中;
-r, –system:創建系統用戶;
注意:創建用戶時的諸多默認設定配置文件為/etc/login.defs
useradd -D:顯示創建用戶的默認配置;
useradd -D 選項: 修改默認選項的值;
修改的結果保存于/etc/default/useradd文件中;
(2) ? 修改用戶命令:usermod
格式:usermod [選項] 登錄名
(3)刪除用戶命令:userdel
格式:userdel [選項] 登錄名
(4)創建組命令:groupadd
格式: groupadd [選項] group_name
(5)修改組屬性命令:groupmod
格式: ?groupmod [選項] GROUP
-g GID:修改GID;
(6)刪除組命令:groupdel?
格式:groupdel [選項] GROUP
(1)、創建組distro,其GID為2016;
示例:[root@localhost ~]# groupadd -g 2016 distro
? ? ? ? ? ? [root@localhost ~]# tail -1 /etc/group
? ? ? ? ? ? distro:x:2016:
(2)、創建用戶mandriva,?其ID號為1005;基本組為distro;
示例:[root@localhost ~]# useradd mandriva -u 1005 -g distro
? ? ? ? ? ? [root@localhost ~]# tail -1 /etc/passwd
? ? ? ? ? ? mandriva:x:1005:2016::/home/mandriva:/bin/bash
(3)創建用戶mageia,其ID號為1100,家目錄為/home/linux;
示例:[root@localhost ~]# useradd mageia -u 1100 -d /home/linux
? ? ? ? ? ? [root@localhost ~]# tail -1 /etc/passwd
? ? ? ? ? ? mageia:x:1100:1100::/home/linux:/bin/bash
(4)、給用戶mageia添加密碼,密碼為mageedu;
示例:[root@localhost ~]# passwd mageia
? ? ? ? ? ? 更改用戶 mageia 的密碼 。
? ? ? ? ? ? 新的 密碼:
(5)刪除mandriva,但保留其家目錄;
示例:[root@localhost ~]# userdel mandriva
(6)、創建用戶slackware,其ID號為2002,基本組為distro,附加組peguin;
示例:[root@localhost ~]# groupadd peguin
? ? ? ? ? ? [root@localhost ~]# useradd slackware -u 2002 -g distro -G peguin
? ? ? ? ? ? [root@localhost ~]# tail -1 /etc/passwd
? ? ? ? ? ? slackware:x:2002:2016::/home/slackware:/bin/bash
(7)、修改slackware的默認shell為/bin/tcsh;
示例:[root@localhost ~]# chsh slackware
? ? ? ? ? ? ? Changing shell for slackware.
? ? ? ? ? ? New shell [/bin/bash]: /bin/tcsh
? ? ? ? ? ? Shell changed.
? ? ? ? ? ? [root@localhost ~]# tail -1 /etc/passwd
? ? ? ? ? ? slackware:x:2002:2016::/home/slackware:/bin/tcsh
(8)、為用戶slackware新增附加組admins;
示例:[root@localhost ~]# groupadd admins
? ? ? ? ? ? [root@localhost ~]# usermod -G admins slackware
? ? ? ? ? ??[root@localhost ~]# tail -1 /etc/group
? ? ? ? ? ? admins:x:2018:slackware
本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/93340
作業是認真思考過的。