ls、cpコマンドはワイルドカードの使い方、ユーザーとグループ管理コマンドの使い方を結合します

16693 ワード

1、表示/etcディレクトリの下で、アルファベット以外で始まり、1つのアルファベットとその他の任意の長さの任意の文字のファイルまたはディレクトリが続く.lsコマンドを使用してワイルドカードと組み合わせて完了する必要があります.ワイルドカードのリストは次のとおりです.
#     
*          
?         
~        
~user   user   
~+       
~-        ,cd   -
[0-9][135]
[a-z]:  ,[a-c]  a,A,b,B,c
[A-Z]:  ,[A-C]  A,b,B,c,C
[user]              
[^user]                

#       :man 7 glob
[:digit:]:    ,   0-9
[:lower:][:upper:]:       
[:alpha:]:        
[:alnum:][:blank:][:space:][:punct:][:print:][:cntrl:]:  (   )  
[:graph:][:xdigit:]

コマンドの使用方法:
#   /etc             ,    touch         1a123.txt 123.txt
[yinxd@centos7 ~]$ sudo touch /etc/1a123.txt /etc/123.txt

#   ls          
[yinxd@centos7 ~]$ ll /etc/[^[:alpha:]][[:alpha:]]*
-rw-r--r--. 1 root root 0 Apr 28 11:40 /etc/1a123.txt

#   1:      
[^[:alpha:]]                 
[[:alpha:]]              
*                      

#   2:             ,          
[yinxd@centos7 ~]$ sudo rm -f /etc/1*

[yinxd@centos7 ~]$ ll /etc/[^[:alpha:]][[:alpha:]]*
ls: cannot access /etc/[^[:alpha:]][[:alpha:]]*: No such file or directory

2、コピー/etcディレクトリの下にpで始まるすべてのファイルまたはディレクトリを/tmp/mytest 1ディレクトリに非数値で終わるcpコマンドとワイルドカードを組み合わせて完了する必要があります.まずlsコマンドで結果をフィルタできます.
# -d1                 
[yinxd@centos7 ~]$ ll /etc/p*[^0-9] -d1
drwxr-xr-x.  2 root root 4096 Apr 21 09:53 /etc/pam.d
-rw-r--r--.  1 root root   68 Jun 10  2014 /etc/papersize
-rw-r--r--.  1 root root 2307 Apr 21 09:53 /etc/passwd
-rw-r--r--.  1 root root 2307 Apr 21 09:53 /etc/passwd-
-rw-r--r--.  1 root root 1362 Jun 10  2014 /etc/pbm2ppa.conf
-rw-r--r--.  1 root root 2872 Jun 10  2014 /etc/pinforc
drwxr-xr-x. 12 root root  151 Apr 21 09:41 /etc/pki
drwxr-xr-x.  2 root root   28 Apr 21 09:40 /etc/plymouth
drwxr-xr-x.  5 root root   52 Apr 21 09:36 /etc/pm
-rw-r--r--.  1 root root 6300 Jun 10  2014 /etc/pnm2ppa.conf
drwxr-xr-x.  2 root root    6 Jun 10  2014 /etc/popt.d
drwxr-xr-x.  2 root root  154 Apr 21 09:41 /etc/postfix
drwxr-xr-x.  3 root root  219 Apr 21 09:38 /etc/ppp
drwxr-xr-x.  2 root root  105 Apr 21 09:38 /etc/prelink.conf.d
-rw-r--r--.  1 root root  233 Jun  7  2013 /etc/printcap
-rw-r--r--.  1 root root 1819 Oct 31  2018 /etc/profile
drwxr-xr-x.  2 root root 4096 Apr 21 09:41 /etc/profile.d
-rw-r--r--.  1 root root 6545 Oct 31  2018 /etc/protocols
drwxr-xr-x.  2 root root   79 Apr 21 09:39 /etc/pulse
drwxr-xr-x.  2 root root   23 Apr 21 09:40 /etc/purple
drwxr-xr-x.  2 root root   35 Apr 21 09:37 /etc/python
lsコマンドエラーがないことを確認した後、cpコマンドでコピー
#      /tmp/mytest1
[yinxd@centos7 ~]$ mkdir /tmp/mytest1

#   ,-r      
[yinxd@centos7 ~]$ sudo cp -r /etc/p*[^0-9] /tmp/mytest1

#    /tmp/mytest1     ,    
[yinxd@centos7 ~]$ ll /tmp/mytest1
total 52
drwxr-xr-x.  2 root root 4096 Apr 28 12:00 pam.d
-rw-r--r--.  1 root root   68 Apr 28 12:00 papersize
-rw-r--r--.  1 root root 2307 Apr 28 12:00 passwd
-rw-r--r--.  1 root root 2307 Apr 28 12:00 passwd-
-rw-r--r--.  1 root root 1362 Apr 28 12:00 pbm2ppa.conf
-rw-r--r--.  1 root root 2872 Apr 28 12:00 pinforc
drwxr-xr-x. 12 root root  151 Apr 28 12:00 pki
drwxr-xr-x.  2 root root   28 Apr 28 12:00 plymouth
drwxr-xr-x.  5 root root   52 Apr 28 12:00 pm
-rw-r--r--.  1 root root 6300 Apr 28 12:00 pnm2ppa.conf
drwxr-xr-x.  2 root root    6 Apr 28 12:00 popt.d
drwxr-xr-x.  2 root root  154 Apr 28 12:00 postfix
drwxr-xr-x.  3 root root  219 Apr 28 12:00 ppp
drwxr-xr-x.  2 root root  105 Apr 28 12:00 prelink.conf.d
-rw-r--r--.  1 root root  233 Apr 28 12:00 printcap
-rw-r--r--.  1 root root 1819 Apr 28 12:00 profile
drwxr-xr-x.  2 root root 4096 Apr 28 12:00 profile.d
-rw-r--r--.  1 root root 6545 Apr 28 12:00 protocols
drwxr-xr-x.  2 root root   79 Apr 28 12:00 pulse
drwxr-xr-x.  2 root root   23 Apr 28 12:00 purple
drwxr-xr-x.  2 root root   35 Apr 28 12:00 python

3、/etc/issueファイルの内容を大文字に変換して/tmp/issueに保存する.outファイル内cat命令は、 trおよび 命令と組み合わせて完了する必要がある.
#     /etc/issue     
[yinxd@centos7 ~]$ cat /etc/issue
\S
Kernel \r on an \m

#        /tmp/issue.out
[yinxd@centos7 ~]$ cat /etc/issue | tr '[:lower:]' '[:upper:]' > /tmp/issue.out

#    /tmp/issue.out    ,      
[yinxd@centos7 ~]$ cat /tmp/issue.out
\S
KERNEL \R ON AN \M

4、ユーザーとグループに関するコマンドの使い方
  • グループdistroを作成し、GIDは2019
  • である.
    #   groupadd      ,   root   ,   sudo(  ),-g     ID
    [yinxd@centos7 ~]$ sudo groupadd -g 2019 distro
    
    #         
    [yinxd@centos7 ~]$ getent group distro
    distro:x:2019:
    
  • は、ID番号1005、基本グループdistro
  • のユーザmandrivaを作成する.
    #   useradd       ,-u      ID,-g     ID
    [yinxd@centos7 ~]$ sudo useradd -u 1005 -g 2019 mandriva
    
    #          
    [yinxd@centos7 ~]$ id mandriva
    uid=1005(mandriva) gid=2019(distro) groups=2019(distro)
    
  • ユーザーsoniyaを作成します.ID番号は1100で、ホームディレクトリは/home/linux
  • です.
    #   useradd       ,-u      ID ,-d      
    [yinxd@centos7 ~]$ sudo useradd -u 1100 -d /home/linux soniya
    
    #          
    [yinxd@centos7 ~]$ getent passwd soniya
    soniya:x:1100:1100::/home/linux:/bin/bash
    [yinxd@centos7 ~]$ id soniya
    uid=1100(soniya) gid=1100(soniya) groups=1100(soniya)
    
  • ユーザーsoniyaにパスワードを追加します.パスワードはsoniya 2020で、ユーザーパスワードを設定して7日後に期限が切れる
  • です.
    #   passwd       ,-x           ,--stdin      
    [yinxd@centos7 ~]$ echo Passwd2020 | sudo passwd -x 7 --stdin soniya
    Adjusting aging data for user soniya.
    passwd: Success
    
    #       
    [yinxd@centos7 ~]$ sudo getent shadow soniya
    soniya:$6$5xvDNzIA$7309CarcR9eP2gNK6KOwDd4iBd/ycsl2enzchIWvgpEg2nDXsWZxLtiiIKPGT8t.xqEERem2AXBP7Mdi6r7Fw/:18380:0:7:7:::
    
  • soniyaは削除されますが、ホームディレクトリ
  • は保持されます.
    #   userdel       ,          
    [yinxd@centos7 ~]$ sudo userdel soniya
    
    #        (     /home/linux ,   )
    [yinxd@centos7 ~]$ ls /home
    linux  mandriva  yinxd
    
  • ユーザーslackwareを作成します.ID番号は2002、基本グループはdistro、追加グループpeguin
  • です.
    #     peguin
    [yinxd@centos7 ~]$ sudo groupadd peguin
    
    #     ,-u      ,-G      
    [yinxd@centos7 ~]$ sudo useradd -u 2002 -g distro -G peguin slackware
    
    #       
    [yinxd@centos7 ~]$ id slackware
    uid=2002(slackware) gid=2019(distro) groups=2019(distro),2020(peguin)
    
  • slackwareのデフォルトshelを/bin/tcsh
  • に変更
    #   usermod         ,-s    shell
    [yinxd@centos7 ~]$ sudo usermod -s /bin/tcsh slackware
    
    #       
    [yinxd@centos7 ~]$ getent passwd slackware
    slackware:x:2002:2019::/home/slackware:/bin/tcsh
    
  • ユーザーslackwareに追加グループadmins
  • を追加
    #     admins
    [yinxd@centos7 ~]$ sudo groupadd admins
    
    #   usermod         ,-G       
    [yinxd@centos7 ~]$ sudo usermod -G admins slackware
    
    #       
    [yinxd@centos7 ~]$ id slackware
    uid=2002(slackware) gid=2019(distro) groups=2019(distro),2021(admins)