1. 程式人生 > >N33-Week 3-向日葵

N33-Week 3-向日葵

字符串 個數 bad mark 獲取 ima users shel pad

1、列出當前系統上所有已經登錄的用戶的用戶名,註意:同一個用戶登錄多次,則只顯示一次即可
~]# who | sort -u

  • who:查看當前已經登陸的所有用戶的詳細信息
  • sort -u :在輸出行中去除重復行
    技術分享圖片

2、取出最後登錄到當前系統的用戶的相關信息
~]# who | tail -1
技術分享圖片

3、取出當前系統上被用戶當做其默認shell的最多的那個shell
~]# cat /etc/passwd | cut -d: -f7 | uniq -c | sort -n | tail -1

  • cut -d: -f7:指明分隔符取shell字段值
  • uniq -c:顯示重復次數
  • sort -n:以數值大小排序
  • tail -1:獲取最後一行
    技術分享圖片

4、將/etc/passwd中的第三個字段數值最大的後10個用戶的信息全部改為大寫後保存至/tmp/maxusers.txt文件中
~]# cat /etc/passwd |sort -t : -k 3 -n /etc/passwd |tail -n 10 | tr [a-z] [A-Z] >> /tmp/maxusers.txt

  • sort -t :字段分隔符
  • sort -k 3:取第三個字段為標準排序
  • tr [a-z] [A-Z]:將文件中的小寫轉換為大小
  • ">>":追加重定向,新內容會追加至目標文件尾部

技術分享圖片

5、取出當前主機的IP地址,提示:對ifconfig命令的結果進行切分

~]# ifconfig |grep -A 3 "^e[tn]" |grep -o -i " inet .$" | grep -o "[0-9].$"| cut -d‘ ‘ -f1

  • grep -A 3 "^e[tn]":匹配到後3行,顯示以e開頭有t和n字母的信息
  • grep -o :僅顯示匹配到的字符串
  • grep -i:忽略字符大小寫
  • " inet .$" :. inet後匹配任意字符 $:行尾錨定
  • cut -d‘ ‘ -f1:截取分隔字符第一列

6、列出/etc目錄下所有以.conf結尾的文件的文件名,並將其名字轉換為大寫後保存至/tmp/etc.conf文件中


~]# ls -a /etc/*.conf | tr ‘a-z‘ ‘A-Z‘ >> /tmp/etc.conf
技術分享圖片

7、顯示/var目錄下一級子目錄或文件的總個數
~]# ls -a /var | wc -l

  • wc -l:lines統計行數
    技術分享圖片

8、取出/etc/group文件中第三個字段數值最小的10個組的名字
~]# sort -t: -k3 -n /etc/group | head -n 10

  • head -n 10:顯示文件前十行數據
    技術分享圖片

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)創建用戶andriva,其ID號為1005;基本組為distro
    • ~]# useradd -u 1005 -g distro andriva
      技術分享圖片
  • (3)創建用戶mageia,其ID號為1100,家目錄為/home/linux
    • ~]# useradd -u 1100 -d /home/linux mageia
      技術分享圖片
  • (4)給用戶mageia添加密碼,密碼為mageedu
    • ~]# echo ‘mageedu‘ | passwd --studin mageia
      技術分享圖片
  • (5)刪除andriva,但保留其家目錄
    • ~]# userdel andriva
      技術分享圖片
  • (6)創建用戶slackte,其ID號為2002,基本組為distro,附加組peguin
    • ~]# useradd -u 2002 -g distro -G peguin slackte
    • useradd -g:指定基本組ID,而且此組要事先存在,否則會報錯
    • useradd -G:指明用戶所屬的附加組
      技術分享圖片
  • (7)修改slackte的默認shell為/bin/tcsh
    • ~]# chmod -s /bin/tcsh slackware
      *useradd -s:指明用戶的默認SHELL,而可用的所有shell存儲在/etc/shells文件中
      技術分享圖片
  • (8)為用戶slackte新增附加組admins
    • ~]# usermod -G admins slackware
      技術分享圖片

N33-Week 3-向日葵