第三周,一些練習例題以及用戶與組管理命令

一、練習

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

● 實現命令

who | cut -d ” ” -f1 | sort –u

EXER1

● 命令分解

who:顯示已經登錄的用戶信息;

|:管道,連接程序,用于實現將前一個命令的輸出直接定向后一個程序當作輸入數據流;

cut:截取who命令顯示結果的一部分,使用 -d 選項以空格作為分隔符,然后使用 -f 選項截取第1字段;

sort:文本內容排序,使用 -u 選項實現重復的行只顯示一次。

 

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

● 實現命令

last | head -n 1

EXER2

● 命令分解

last:顯示最后登錄到當前系統的用戶列表;

head:查看文件內容的前n行,使用 -n 選項查看第一行內容。

 

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

● 實現命令

cat /etc/passwd | cut -d “:” -f7 | uniq -c | sort -rn | head -n 1 | cut -d ” ” -f7

EXER3

● 命令分解

cat /etc/passwd:查看當前系統上用戶的默認shell;

cut:文本內容截取,使用 -d 選項以冒號作為分隔符,然后使用 -f 選項截取第7字段(shell部分);

uniq:移除重復的行,使用 -c 選項顯示重復行的次數;

sort:文本內容排序,使用 -r 選項實現逆序排序,以及 -n 選項實現基于數字大小進行排序;

head:查看文本的前n行,上步做了逆序排序,這里只看第一行內容;

cut:再次使用文本截取,以空格為分隔符,截取第7字段,得到最終結果。

 

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

● 實現命令

sort -rn -t “:” -k3 /etc/passwd | head -n 10 | tr ‘a-z’ ‘A-Z’ > /tmp/maxusers.txt

EXER4

● 命令分解

sort:使用 -rn 選項實現基于數字逆序排序。使用 -t 選項以冒號為分隔符,以 -k 選項選取第3字段對/etc/passwd中的內容進行排序;

head:使用 -n 選項查看前10行信息;

tr ‘a-z’ ‘A-Z’:將顯示信息中的小寫字母全部轉換成大寫字母;

>:輸出重定向,將上述命令組合顯示的內容輸出保存至/tmp/maxusers.txt文件中。

 

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

● 實現命令

ifconfig | head -n2 | tail -n1 | cut -d ” ” -f10

EXER5

● 命令分解

ifconfig:查看網卡信息,比如IP地址、掩碼、MTU等信息;

head:IP地址處于第2行,使用 -n 選項查看前2行內容;

tail:使用head命令后,IP地址處于最后一行,使用tail命令的 -n1 選項查看最后一行內容;

cut:使用文本截取命令的 -d 選項以空格作為分隔符,使用 -f 選項選取第10字段,得到IP地址。

 

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

● 實現命令

ls -a /etc/*.conf | tr ‘a-z’ ‘A-Z’ > /tmp/etc.conf

EXER6-1

EXER6-2

● 命令分解

ls:列出/etc目錄下的文件內容,使用 -a 選項列出所有文件,同時*.conf中*表示任意匹配,即列出所有以.conf結尾的文件;

tr ‘a-z’ ‘A-Z’:將命令顯示結果中的小寫字母全部轉換成大寫字母;

>:輸出重定向,將命令顯示的結果輸出并保存至/tmp/etc.conf文件中。

 

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

● 實現命令

ls /var | wc -l

EXER7

● 命令分解

ls:列出/var目錄下的文件內容;

wc:文本統計工具,使用 -l 選項只顯示行數,即21個。

 

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

● 實現命令

sort -rn -t “:” -k3 /etc/group | head -n 10 | cut -d “:” -f1

EXER8

● 命令分解

sort:使用 -rn 選項實現基于數字逆序排序。使用 -t 選項以冒號為分隔符,以 -k 選項選取第3字段對/etc/group中的內容進行排序;

head:使用 -n 選項顯示前10行內容;

cut:使用 -d 選項以冒號作為分隔符,使用 -f 選項選取第1字段,即組名。

 

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

● 實現命令

cat /etc/{fstab,issue} > /tmp/etc.test

EXER9

● 命令分解

cat /etc/{fstab,issue}:因兩個文件都在/etc下,可以使用命令行展開功能同時查看兩個文件的內容,相當于兩個文件的內容合并到了一起;

>:輸出重定向,將上述命令顯示的內容輸出保存至/tmp/etc.test文件中。

 

二、用戶和組管理命令及相關例題

1、useradd命令:創建用戶

● 命令格式

useradd [選項] 登錄名

● 常用選項

-u:指定UID;

-g:指定基本組ID;

-G:指定用戶所屬的附加組;

-s:指定用戶的默認shell;

-d:以指定的路徑作為用戶的家目錄。

 

2、usermod命令:修改用戶屬性

● 命令格式

usermod [選項] 登錄名

● 常用選項

-u:修改用戶的ID;

-g:修改用戶所屬的基本組;

-G:修改用戶所屬的附加組;

-a:為用戶追加新的附加組,與-G同時使用;

-d:修改用戶的家目錄;

-s:修改用戶的默認shell;

-L, -U:鎖定及解鎖用戶的密碼。

 

3、userdel命令:刪除用戶

● 命令格式

userdel [選項] 登錄名

● 常用選項

-r:刪除用戶時,一并刪除其家目錄。

 

4、groupadd命令:創建組

● 命令格式

groupadd [選項] 組名

● 常用選項

-g:指定GID,默認是上一個組的GID+1;

 

5、groupmod命令:修改組屬性

● 命令格式

groupmod [選項] 組名

● 常用選項

-g:修改組ID;

-n:修改組名。

 

6、groupdel:刪除組

● 命令格式

groupdel [選項] 組名

 

7、passwd命令:密碼

● 命令格式

passwd:修改用戶自己的密碼;

passwd 用戶名:修改指定用戶的密碼。

● 常用選項

-l:鎖定用戶;

-u:解鎖用戶;

-d:清除用戶密碼串。

 

8、相關例題

1)?創建組distro,其GID為2016;

命令:

groupadd -g 2016 distro

驗證:

userEXER1-2

 

2)?創建用戶mandriva, 其ID號為1005;基本組為distro;

命令:

useradd -u 1005 -g distro mandriva

驗證:

userEXER2

 

3)?創建用戶mageia,其ID號為1100,家目錄為/home/linux;

命令:

useradd -u 1100 -d /home/linux mageia

驗證:

userEXER3

 

4)?給用戶mageia添加密碼,密碼為mageedu;

命令:

passwd mageia

驗證:

userEXER4

 

5)?刪除mandriva,但保留其家目錄;

命令:

userdel mandriva

驗證:

userEXER5-1

userEXER5-2

 

6)?創建用戶slackware,其ID號為2002,基本組為distro,附加組peguin;

命令:

groupadd peguin

useradd -u 2002 -g distro -G peguin slackware

驗證:

userEXER6

 

7)?修改slackware的默認shell為/bin/tcsh;

命令:

usermod -s /bin/tcsh slackware

驗證:

userEXER7

 

8)?為用戶slackware新增附加組admins;

命令:

groupadd admins

usermod -G peguin,admins -a slackware

驗證:

userEXER8

本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/99397

(1)
joey.qiaojoey.qiao
上一篇 2018-05-26
下一篇 2018-05-26

相關推薦

  • 本地和網絡yum創建

    本地源配置: 1 首先掛在光盤或鏡像到虛擬機相關目錄2 創建/etc/repos.d/xxx.d(在這之前先備份好原有的配置文件為xxx.d.bak,文件的配置如下圖)3 清理舊yum倉庫,生成新yum倉庫信息緩存并查看 網絡源配置: 1 下載新的CentOS-Base.repo 到/etc/yum.repos.d/ wget -O /etc/yum.rep…

    2018-04-08
  • Linux系統上的命令使用格式與12個常用命令介紹

    Linux系統上的命令使用格式 本文默認使用Linux7,如有命令屬于Linux6我會注明。 命令的語法通用格式: /]# COMMAND OPTIONS ARGUMENTS 命令示例:/]#ls -l /etc/ssh COMMAND(命令):ls 命令分為兩類: 內部命令(builtin):由shell程序的自帶的命令,這類命令沒有對應的可執行文件。 外…

    2018-08-04
  • linu基礎知識

    低級語言 ;機器語言,匯編語言 中級語言;C 高級語言;JAVA Objetive-C php GO cento s7.4 開源。O pen Sou軟件核原代碼提供所有人自由發布軟件和原代碼 虛擬機配置 內存;1.1G Centos7 .4 磁盤200G 光盤;ISO接 網卡;僅主機 MBR GPT 區類型 主分區;一塊硬盤最i多4個,不可分小區,可以用來啟…

    Linux筆記 2018-04-01
  • 09葵花寶典Openssl和DNS

    openssl cd bind named

    Linux筆記 2018-05-16
  • 計算機原理與Linux基礎

    計算機的組成及功能 1、其實計算機的組織分為內部設備和外部設備, 內部設備: ? ? ? ? CPU:運算器、寄存器、緩存 ? ? ? ? 存儲器:內存,RAM(Random Access Memory) ? ? ? ? 控制器:控制器是整個計算機系統的控制中心,它指揮計算機各部分協調地工作,保證計算機按照預先規定的目標和步驟有條不紊地進行操作及處理。 外部…

    Linux筆記 2018-05-13
  • shell回顧

    測試基礎知識

    2018-05-17
欧美性久久久久