第三周:文本處理工具wc,cut,sort,uniq,tr,tee命令練習和用戶及組相關命令練習

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

[root@app1 tmp]# who | cut -d" " -f1| uniq
root
dts
centos

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

[root@app1 tmp]# last -1
centos   pts/5        10.88.103.46     Tue Sep 27 15:24   still logged in   

wtmp begins Sat Jun  4 13:22:15 2016

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

[root@app1 tmp]# cut -d: -f7 /etc/passwd | uniq -c | sort -n | tail -1
     25 /sbin/nologin

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

[root@app1 tmp]# ifconfig eth0 | grep "inet addr" | cut -d":" -f2 |cut -d" " -f1
10.88.158.84
[root@app1 tmp]# ifconfig eth0 | grep "inet addr" | awk '{print $2}' | awk -F":" '{print $2}'
10.88.158.84

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

[root@app1 tmp]#  sort -t: -k3 -n /etc/passwd | tail -10 | tr "a-z" "A-Z" | tee /tmp/maxusers.txt
[root@app1 tmp]#  sort -t: -k3 -n /etc/passwd | tail -10 > /tmp/maxusers.txt
[root@app1 tmp]# cat /tmp/maxusers.txt

6、列出/etc目錄下所有.conf結尾的文件的文件名,并將其名字轉換為大寫;

[root@app1 tmp]# ls /etc/*.conf | tr "a-z" "A-Z" | tee /tmp/etc.conf

7、顯示/var目錄下一級子目錄的總個數;

[root@app1 tmp]# ll /var/ | grep ^d | wc -l

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

[root@app1 tmp]# sort -t: -k3 -n /etc/group | head -10 | cut -d: -f1

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

[root@app1 tmp]# cat /etc/fstab > /tmp/etc.test && cat /etc/issue >> /tmp/etc.test
[root@app1 tmp]# cat /etc/fstab /etc/issue > /tmp/etc.test

10、請總結描述用戶和組管理類命令的使用方法并完成以下練習:

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

        [root@app1 tmp]# groupadd -g 2016 distro
        [root@app1 tmp]# grep distro /etc/group
        distro:x:2016:

    (2)、創建用戶mandriva,其ID號為100;基本組為distro;

        [root@app1 tmp]# useradd -u 100 -g distro mandriva
        [root@app1 tmp]# grep mandriva /etc/passwd
        mandriva:x:100:2016::/home/mandriva:/bin/bash

    (3)、創建按用戶mageia,其ID好為1100,家目錄為/home/linux;

        [root@app1 tmp]# useradd mageia -u 1100 -d /home/linux    
        [root@app1 tmp]# ls -ld /home/linux/
        drwx------ 4 mageia mageia 4096 Sep 27 16:35 /home/linux/
        [root@app1 tmp]# grep mageia /etc/passwd
        mageia:x:1100:1100::/home/linux:/bin/bash

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

        [root@app1 tmp]# echo "mageedu" | passwd mageia --stdin
        Changing password for user mageia.
        passwd: all authentication tokens updated successfully.

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

        [root@app1 tmp]# userdel mandriva    
        [root@app1 tmp]# ls -ld /home/mandriva
        drwx------ 4 100 distro 4096 Sep 27 16:32 /home/mandriva

    (6)、創建用戶slakware,其ID號為2002,基本組為distro,附件組peguin;

        [root@app1 tmp]# useradd -u 2002 -g distro -G peguin slakware    
        [root@app1 tmp]# grep slakware /etc/passwd
        slakware:x:2002:2016::/home/slakware:/bin/bash
        [root@app1 tmp]# grep slakware /etc/shadow
        slakware:!!:17071:0:99999:7:::
        [root@app1 tmp]# grep slakware /etc/group
        peguin:x:505:gentoo,slakware

    (7)、修改slakware的默認shell為/bin/tcsh;

        [root@app1 tmp]# usermod -s /bin/tcsh slakware
        [root@app1 tmp]# grep slakware /etc/passwd
        slakware:x:2002:2016::/home/slakware:/bin/tcsh

    (8)、為用戶slakware新增附加組admins;

        [root@app1 tmp]# groupadd admins        
        [root@app1 tmp]# usermod -a -G admins slakware
        [root@app1 tmp]# grep slakware /etc/group
        peguin:x:505:gentoo,slakware
        admins:x:4005:slakware

    (9)、為slakware添加密碼,且要求密碼的最短使用期限為3天,最長為180天,警告為3天;

        [root@app1 tmp]# echo "dtsdts" |  passwd -n 3 -x 180 -w 3 --stdin slakware

    (10)、添加用戶openstack,其ID為3003,基本組為clouds,附加組為peguin和nova;

        [root@app1 tmp]# useradd -u 3003 -g clouds -G peguin,nova openstack        
        [root@app1 tmp]# grep openstack /etc/group
        peguin:x:505:gentoo,slakware,openstack
        nova:x:4007:openstack

    (11)、添加系統用戶mysql,要求其shell為/sbin/nologin;

        [root@app1 tmp]# useradd -r mysql -s /sbin/nologin

    (12)、使用echo命令,非交互式為openstack添加密碼。

        [root@app1 tmp]# echo "dtsdts" | passwd --stdin openstack        
        Changing password for user openstack.
        passwd: all authentication tokens updated successfully.
        [root@app1 tmp]#

原創文章,作者:dawning,如若轉載,請注明出處:http://www.www58058.com/49508

(0)
dawningdawning
上一篇 2016-09-27 16:00
下一篇 2016-09-27 17:35

相關推薦

  • 文本三劍客—sed 基礎

    文本三劍客—sed 基礎        sed編輯器被稱作流編輯器(stream editor),和普通的交互式文本編輯器恰好相反。在交互式文本編輯器中(比如vim),你可以用鍵盤命令來交互式的插入、刪除或者替換數據中的文本。流編輯器則會自愛編輯器處理數據之前基于預習提供的一組…

    Linux干貨 2017-05-15
  • shell腳本編程和文件查找及壓縮

    shell腳本編程 read:使用read來把輸入值分配一個或多個shell變量     -p 指定要顯示的提示     -t TIMEOUT     read 從標準輸入中讀取值,給每個單詞分配一個變量   &nbsp…

    Linux干貨 2016-08-18
  • 運維工程師技能需求排行

    這是我今天在拉勾網搜索運維,翻完了4四頁也招聘信息之后得到的,我的目的是想要看看之后的學習,哪個更應該成為重點,有些在我意料之中,有些還真的沒想到,算是努力了一個小時的收獲吧,分享給大家。
    注意:其中的看法僅代表個人觀點,很多都是依靠我自己的學習經驗和工作經驗累積的

    Linux干貨 2017-12-12
  • 計算機基礎及Linux基礎入門

    一.計算機的組成及其功能一.計算機的組成及其功能? 1.組成部分: 計算器是由運算器,控制器,存儲器,輸入設備以及輸出設備五大部件組成。 2.功能: 運算器: ? ?對數據進行各種運算 存儲器: ? ?存儲程序和各種數據信息,并能在計算機運行過程中高速、自動地完成程序或數據的存取 控制器: ? ?控制器是整個計算機系統的控制中心,指揮計算機各部分協調地工作,…

    2017-09-16
  • LVS:三種模式的原理、調度算法、及應用介紹

    LVS三種模式原理(nat/dr/tun) LVS/NAT:   如上圖,客戶通過virtual IP (虛擬服務的IP地址,公網地址),訪問網絡服務時,請求報文到達調度器,調度器根據連接調度算法從一組真實服務器中選出一臺服務器,將報文的目標地址VIP,改寫成選定服務器的地址(RIP),報文的目標端口改寫成選定服務器的相應端口,最后將修改…

    Linux干貨 2016-10-30
  • Linux基礎

    Linux基礎

    Linux干貨 2017-12-04
欧美性久久久久