美文网首页
Linux命令练习

Linux命令练习

作者: Net夜风 | 来源:发表于2018-06-09 23:59 被阅读0次

Linux练习题

  1. 列出当前系统上的所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可

     [root@localhost ~]# who | cut -d" " -f1 | sort -u
     root
    
  2. 取出最后登录到当前系统的用户的相关信息

     [root@localhost ~]# last | head -1 | cut -d" " -f1 |xargs id
     uid=0(root) gid=0(root) 组=0(root)
    
  3. 取出当前系统上被用户当作默认shell的最多的那个shell

     [root@localhost ~]# cut -d: -f7 /etc/passwd|sort|uniq -c|sort -n |tail -1
      29 /sbin/nologin
    
  4. 将/etc/passwd/中的第三个字段数值最大的后10个用户信息全部改为大写后保存至/rmp/maxusers.txt

         [root@localhost ~]# sort -t: -k3 -n /etc/passwd | tail -10 |cut -d: -f1 |tr 'a-z' 'A-Z'>/tmp/maxusers.txt
         [root@localhost ~]# cat /tmp/maxusers.txt
         PULSE
         SASLAUTH
         RTKIT
         GENTOO
         SLACKWARE
         USER1
         USER2
         CENTOS
         ARCHLINUX
         NFSNOBODY
    
  5. 取出当前主机的IP地址,提示:对ifconfig命令的结果进行切分

     [root@localhost ~]# ifconfig | cut -d: -f2|head -2|tail -1 |cut -d" " -f1
     192.168.1.103
    
  6. 列出/etc目录下所有以.conf结尾的文件的文件名,并将其名字转换为大写后保存至/tmp/etc.conf中

     [root@localhost ~]# ls  /etc|grep ".conf$" | tr 'a-z' 'A-Z'|tee /tmp/etc.conf
     [root@localhost ~]# cat /tmp/etc.conf 
    
  7. 显示/var目录下一级子目录或文件的总个数。

     [root@localhost ~]# ls /var |wc -w
    
  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
    
  9. 将/etc/fstab和/etc/issue文件的内容合并为同一个内容后保存后保存至/tmp/etc.text中

         [root@localhost ~]# diff /etc/fstab /etc/issue > /tmp/etc.text
         [root@localhost ~]# cat /tmp/etc.text
         0a1,2
         > CentOS release 6.9 (Final)
         > Kernel \r on an \m
         2,16d3
         < #
         < # /etc/fstab
         < # Created by anaconda on Wed May  2 04:48:00 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
         < #
         < UUID=d7d511f0-74c6-4293-8311-ace822f60b26 /                       ext4    defaults        1 1
         < UUID=c394a12c-bc82-4eee-a24e-9ae55b77a810 /boot                   ext4    defaults        1 2
         < UUID=38540df9-d17e-4dba-ab6b-550054159993 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
         < LABEL=MYREID              /backup     ext4    defaults,acl        0 0     
    
  10. 请总结描述用户和组管理类命令的使用方法并完成以下练习:
    (1)创建组distro,其GID为2016

 [root@localhost ~]# groupadd -g 2016 distro

(2)创建用户mandriva,其IS号为1005,基本组为distro;

  useradd -u 1005 -g 2016 mandriva
  [root@localhost ~]# id mandriva
  uid=1005(mandriva) gid=2016(distro) 组=2016(distro)

( 3)创建用户mageia,其ID号为1100,家目录为/home/linux;

[root@localhost ~]# useradd -u1100 -d /home/linux mageia
[root@localhost ~]# id mageia
uid=1100(mageia) gid=1100(mageia) 组=1100(mageia)
[root@localhost ~]# cat /etc/passwd

(4)给用户mageia添加密码,密码为mageedu;

 [root@localhost ~]# passwd mageia
        更改用户 mageia 的密码 。
        新的 密码:
        无效的密码: 它基于字典单词
        无效的密码: 过于简单
        重新输入新的 密码:
        passwd: 所有的身份验证令牌已经成功更新。

(5)删除mandriva,但保留其家目录;

[root@localhost ~]# userdel mandriva
[root@localhost ~]# id mandriva
id: mandriva:无此用户
[root@localhost ~]# ls -ld /home/mandriva
drwx------. 4 1005 distro 4096 6月   9 23:38 /home/mandriva

(6)创建用户slackware,其ID号为2002,基本组为distro,附加组peguin;

 [root@localhost ~]# useradd -u 2002 -g distro -G peguin slackware
useradd:警告:此主目录已经存在。
不从 skel 目录里向其中复制任何文件。
正在创建信箱文件: 文件已存在

( 7)修改slackware的默认shell为/bin/tcsh

 [root@localhost ~]# usermod -s /bin/tcsh slackware
 [root@localhost ~]# cat /etc/passwd
  ...
  slackware:x:2002:2016::/home/slackware:/bin/tcsh

( 8) 为用户slackware新增附加组admins;

[root@localhost ~]# groupadd admins
[root@localhost ~]# usermod -aG admins slackware
[root@localhost ~]# id slackware
uid=2002(slackware) gid=2016(distro) 组=2016(distro),2017(peguin),2018(admins)
用户和组管理类命令使用方法:
组管理的常用命令:
  1. groupadd:创建一个新组
groupadd [OPTIONS] GROUP

选项:
-g GID:指定GID.如果不指定,默认为上一个组GID+1
-r :创建系统组

  1. groupmod: 修改组属性
 groupmod [OPTIONS] GROUP

选项:
-g GID:修改GID
-n nwe_name:修改组名

  1. groupdel:删除组
groupdel  GROUP
  1. gpasswd:设置修改组密码
gpasswd [OPTION] GROUP

选项:
-a USERNAME :向组中添加用户
-d USERNAME :从组中移除用户

  1. newgrp: 临时切换基本组
newgrp [-] [GROUP]

选项:
-:会模拟用户重新登录以实现重新初始化其工作环境

用户常用管理命令:
  1. useradd:添加新用户
useradd [OPTIONS] LOGIN

选项:
-u UID:指定UID
-g GID:指定GID
-c:指明注释信息
-d /PATH/TO/DIR:指定用户的家目录
-s SHELL:指定用户的默认shell
-r:创建系统用户
-m:强制为用户创建主目录
-M:不为用户创建主目录
-f:密码过期后,装好被彻底 禁用之前的天数

  1. usermod: 修改用户属性
usermod [OPTIONS] LOGIN

-u UID:修改用户的ID为此处指定的UID
-g GID:修改用户所属的基本组ID,此组要事先存在
-G:修改用户所属的附加组,原来的附加组会被覆盖;如果不想覆盖就要与-a一起使用,为用户追加新的附加组
-c:修改注释信息
-d:修改用户的家目录,用户原来的文件不会转移到新的位置,-m与-d一起使用,用于将原来的家目录移动为新的家目录
-l:修改用户名
-s:修改用户的默认shell
-L:锁定用户名,即在用户原来的密码字符串之前加个“!”
-U:解锁用户密码

  1. userdel: 删除用户
userdel [OPTIONS] LOGIN

选项:
-r : 删除用户时一并删除家目录

  1. passwd:设置用户密码
passwd [OPTIONS] <ACCOUNTNAME>

passwd;修改用户自己的密码
passwd USERNAME : 修改制定用户的密码,仅限于root有此权限
选项:
-l,-u:锁定和解锁
-d:清除用户密码串
-e DATE:过期期限,日期
-i DAYS:非活动期限
-n DAYS:密码的最短使用期限
-x DAYS: 密码的最长使用期限
-w DAYS: 警告期限
--stdin:从标准输出接收用户密码
例:
echo “PASSWWORD” | passwd --stdin USERNAME

  1. chage:修改用户密码属性
chage [OPTIONS] LOGIN

选项:
-d LAST_DAY:修改用户最近一次修改密码的时间
-E EXPIRE_DATE:过期日期
-I INACTIVE: 修改用户的非活动期限
-w:警告期限
-m:最小天数
-M: 最大天数

  1. id: 显示用户的真是和有效的ID
id [OPTION] LOGIN`

选项:
-u:仅显示有效的UID
-g:仅显示用户的基本组ID
-G: 仅显示用户所属的所有组的ID
-n:显示名字而非ID(与前面几个选项配合使用)

  1. su: 切换用户
su [OPTIONS] [-] [[USER[ARGS...]]
  1. chsh :更改用户的登录shell
chsh [-s shell] [-l] [-u] [-v] [USERNAME]
  1. chfn: 修改用户finger信息
chfn [OPTION] LOGIN
  1. finger:用户信息查询
 finger [-lmsp] [user ...] [user@host ...]

相关文章

网友评论

      本文标题:Linux命令练习

      本文链接:https://www.haomeiwen.com/subject/htnxeftx.html