马哥Linux第三周

第三周作业 7.2-7.8

第三周博客作业(7.2-7.8)

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

[root@localhost ~]# who | cut -d ‘ ‘ -f1 | sort -u

补充命令

(1).cat命令

功能:文件内容查看;显示行中的指定部分,删除文件中指定字段;显示文件的内容,类似于type命令;

格式:cut [选项]…[参数]…

选项:

-b:仅显示行中指定直接范围的内容;

-c:仅显示行中指定范围的字符;

-d:指定字段的分隔符,默认的字段分隔符为“TAB”;

-f:显示指定字段的内容;

-n:与“-b”选项连用,不分割多字节字符;

–complement:补足被选择的字节、字符或字段;

–out-delimiter=<字段分隔符>:指定输出内容是的字段分割符;

–help:显示指令的帮助信息;

–version:显示指令的版本信息。

(2).sort命令

功能:将文件排序,并将排序结果标准输出

格式:sort [选项]…[参数]…

选项:

-b:忽略每行前面开始出的空格字符;
-c:检查文件是否已经按照顺序排序;
-d:排序时,处理英文字母、数字及空格字符外,忽略其他的字符;
-f:排序时,将小写字母视为大写字母;
-i:排序时,除了040至176之间的ASCII字符外,忽略其他的字符;
-m:将几个排序号的文件进行合并;
-M:将前面3个字母依照月份的缩写进行排序;
-n:依照数值的大小排序;
-o<输出文件>:将排序后的结果存入制定的文件;
-r:以相反的顺序来排序;
-t<分隔字符>:指定排序时所用的栏位分隔字符;
+<起始栏位>-<结束栏位>:以指定的栏位来排序,范围由起始栏位到结束栏位的前一栏位。
-u : 忽略相同行

2.取出最后登录到当前系统的用户的相关信息。

[root@localhost ~]# w |cut -d ‘ ‘ -f1 |tail -1 |xargs id

补充命令:

xargs命令:

功能:用作替换工具,读取输入数据重新格式化后输出。

格式:xargs [选项]…[参数]…

选项:

单独运行xargs是将文件多行输入单行输出

-n:多行输出

-d:自定义一个定界符

-l:指定一个替换字符{}

3.取出当前系统上被用户当作默认shell的最多的那个shell。

[root@localhost ~]# cat /etc/passwd | cut -d : -f7 |uniq -c |sort -n |tail -1

4.将/etc/passwd中的第三个字段数值最大的后10个用户的信息全部改为大写后保存至/tmp/maxusers.txt 。

[root@localhost ~]# cat /etc/passwd | sort -t : -k 3 -n |tail -10 | tr ‘a-z’ ‘A-Z’

5.取出当前主机的IP地址,提示:对ifconfig命令的结果进行切分。

[root@localhost ~]# ifconfig | grep “<inet>” | awk ‘{print $2}’

6.列出/etc目录下所有以 .conf 结尾的文件的文件名,并将其名字转换为大写后保存至 /tmp/etc.conf 文件中。

[root@localhost ~]# ls /etc/*.conf | tr ‘a-z’ ‘A-Z’

7.显示/var目录下一级子目录或文件的总个数。

[root@localhost ~]# ls /var | wc -l

8.取出/etc/group 文件中第三个字段数值最小的10个组的名字。

[root@localhost ~]# cat /etc/group | head -10

[root@localhost ~]# cat /etc/group | sort -t: -k 3 -n | head -10 | cut -d: -f1

注:这两个命令都能实现此功能,因为该文件中第三个字段数值最小的10个组就是该文件的前十行。

9.将/etc/fstab和/etc/issue文件的内容合并为同一个内容后保存至/tmp/etc.test文件中。

[root@localhost ~]# cat /etc/fstab /etc/issue > /tmp/etc.test

10.请总结描述用户和组管理类命令的使用方法并完成以下练习:

groupadd命令:新建组

格式:

groupadd [OPTION] group_name

选项:

-g GID :指定GID; 默认是上一个组的GID+1;

-r: 创建系统组;

groupmode命令:修改组属性

格式:

groupmode [OPTION] GROUP

选项:

-g GID :修改GID;

-n new_name :修改组名

groupdel命令:删除组

格式:

groupdel [OPTION] GROUP

usradd命令:创建用户

格式:

usradd [OPTION] USERNAME

选项:

-u, –uid UID :指定UID;

-g, –gid GROUP: 指定基本组ID,词组得事先存在;

-G,–groups GROUP1 [,GROUP 2,…]:指明用户所属的附加组,多个组之间用逗号隔开;

-c, –comment COMMENT :指明注释信息;

-d, –home HOME_DIR :以指定的路径为用户的家目录;通过复制/etc/skel 此目录并重命名实现;指定的家目录路径名如果事先存在,则不会为用户复制环境配置文件。

-s, –shell SHELL:指定用户的默认shell,可用的所有shell列表存储在/etc/shells文件中;

-r, –system:创建系统用户;

useradd -D :显示创建用户的默认配置;

useradd -D 选项 : 修改默认选项的值;

修改的结果保存于/etc/default/useradd文件中

usermod命令:修改用户属性

格式:

usermod [OPTION] USERNAME

选项:

-u , –uid UID : 修改用户的ID为此处指定的新UID;

-g, –gid GROUP :修改用户所属的基本组;

-G, -groups GROUP1[,GROUP2,…[,GROUPN]]]:修改用户所属的附加组;原来的附加组会被覆盖;

-a, –append: 与-G一同使用,用于为用户追加新的附加组;

-c, –comment COMMENT:修改注释信息;

-d , –home HOME DIR :修改用户的家目录;用户原有的文件不会被移至到新的位置;

-m, –move-home:只能与-d选项一同使用,用于将原来的家目录移动为新的家目录;

-l, –login NEW_LOGIN: 修改用户名;

-s, –shell SHELL:修改用户的默认shell;

-L, –lock :锁定用户密码;即在用户原来的密码字符串之前添加一个“!”;

-U, –unlock:解锁用户的密码;

userdel命令:删除用户

格式:userdel [OPTION] USERNAME

选项:

-r:删除用户时一并删除其家目录;

练习题:

(1), 创建组distro,其GID为2016;

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

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

[root@localhost ~]# useradd -u 1005 mandriva -g distro

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

[root@localhost ~]# useradd -u 1100 mageia -d /home/linux

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

[root@localhost ~]# passwd mageia

输入密码mageedu即可;

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

[root@localhost ~]# userdel mandriva

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

[root@localhost ~]# groupadd peguin

[root@localhost ~]# useradd -u 2002 slackware -g distro -G peguin

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

[root@localhost ~]# usermod -s slackware /bin/tcsh

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

[root@localhost ~]# groupadd admins

[root@localhost ~]# usermod -a admins slackware

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/102467

(1)
上一篇 2018-07-08 17:51
下一篇 2018-07-08 21:11

相关推荐

  • 软件包管理 rpm yum的使用

    软件包管理 链接主要作用是吧各个模块之间互相引用的部分处理好, 使得各个模块之间能够正确的链接,分为静态和动态 静态链接  以.a为后缀  把程序对应的依赖库复制到包           升级难 需重新编译  占用空间多 迁移容易 动态链接  以.so为后缀 把依赖加做动态链接    占用空间少  升级方便           若一个库被删,那么所有依赖此库…

    Linux笔记 2018-04-22
  • 十六周

    1、源码编译安装LNMP架构环境; centos 7系统 编译安装nginx 安装编译环境 [root@localhost ~]# yum -y groupinstall “Development Tools” “Development Libraries” [root@localhost ~]# yum -y…

    Linux笔记 2018-03-26
  • Linux作业管理,并行运行,任务计划(at任务和cron任务)

    本文主要介绍:1、Linux作业管理 2、并行运行 3、任务计划(at 一次性任务和 cron 周期性任务)

    2018-05-06
  • at和crontab命令简述

      at用于计划任务的执行,不过只能执行一次: 1 确定时间 at time 2 确定时刻想要执行的内容 command …     crontab 也用于执行计划任务,可以设定确定的时间多次执行计划任务,时间精确的分钟,可将计划任务按照规定的格式写入配置文件内,配置文件分为六个字段,分别是:分 时 日 月 周 要执…

    Linux笔记 2018-04-08
  • 第四周作业:etc/skel实战联系

    第四周作业

    2018-04-13
  • shell编程基础一

    变量 算术|字符|条件测试

    2018-04-10