03. Linux入门

Posted ljt-lam

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了03. Linux入门相关的知识,希望对你有一定的参考价值。

1、显示/etc目录下,以非字母开头,后面跟了一个字母以及其它任意长度任意字符的文件或目录

[root@node1 etc]# ll
total 0
-rw-r--r--. 1 root root 0 Jun 28 00:23 11test
-rw-r--r--. 1 root root 0 Jun 28 00:23 1 1test
-rw-r--r--. 1 root root 0 Jun 28 00:23 1test
-rw-r--r--. 1 root root 0 Jun 28 00:23 abcd
drwxr-xr-x. 2 root root 6 Jun 28 00:23 asd
-rw-r--r--. 1 root root 0 Jun 28 00:23 ((asd

[root@node1 etc]# ll [^a-zA-Z][a-zA-Z]*
-rw-r--r--. 1 root root 0 Jun 28 00:23 1test

[root@node1 etc]# ll [^[:alpha:]][[:alpha:]]*
-rw-r--r--. 1 root root 0 Jun 28 00:23 1test

globbing:文件名通配(整体文件名匹配,而非部分)

*:匹配任意长度的任意字符
?:匹配任意单个字符
[]:匹配指定范围内的任意单个字符
[^]:匹配指定范围外的任意单个字符
有几种特殊格式:
  [a-z]:所有小写字母
  [A-Z]:所有大写字母
  [0-9]:所有数字
  [a-z0-9]:所有的字母和数字
  [[:upper:]]:所有大写字母
  [[:alpha:]]:所有字母
  [[:lower:]]:所有小写字母
  [[:digit:]]:所有数字
  [[:alnum:]]:所有的字母和数字
  [[:space:]]:所有空白字符
  [[:punct:]]:所有标点符号

 


 2、复制/etc目录下所有以p开头,以非数字结尾的文件或目录到/tmp/mytest1目录中。

复制文件夹,cp命令需要加-r参数。

[root@node1 ~]# cp /etc/p*[^0-9] /tmp/mytest1/ -r

[root@node1 ~]# ll /tmp/mytest1/
total 28
drwxr-xr-x. 2 root root 4096 Jun 28 00:31 pam.d
-rw-r--r--. 1 root root 896 Jun 28 00:31 passwd
-rw-r--r--. 1 root root 843 Jun 28 00:31 passwd-
drwxr-xr-x. 10 root root 116 Jun 28 00:31 pki
drwxr-xr-x. 2 root root 28 Jun 28 00:31 plymouth
drwxr-xr-x. 5 root root 52 Jun 28 00:31 pm
drwxr-xr-x. 2 root root 6 Jun 28 00:31 popt.d
drwxr-xr-x. 2 root root 154 Jun 28 00:31 postfix
drwxr-xr-x. 3 root root 123 Jun 28 00:31 ppp
drwxr-xr-x. 2 root root 111 Jun 28 00:31 prelink.conf.d
-rw-r--r--. 1 root root 233 Jun 28 00:31 printcap
-rw-r--r--. 1 root root 1819 Jun 28 00:31 profile
drwxr-xr-x. 2 root root 251 Jun 28 00:31 profile.d
-rw-r--r--. 1 root root 6545 Jun 28 00:31 protocols
drwxr-xr-x. 2 root root 35 Jun 28 00:31 python

 


 3、将/etc/issue文件中的内容转换为大写后保存至/tmp/issue.out文件中

[root@node1 ~]# tr [a-z] [A-Z] < /etc/issue >> /tmp/issue.out

[root@node1 ~]# cat /tmp/issue.out 
S
KERNEL R ON AN M

 


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

用户管理类命令:
创建用户:
useradd [选项] 登录名

  • -u, --uid UID:指定UID;
  • -g, --gid GROUP:指定基本组ID,此组得事先存在;
  • -G, --groups GROUP1[,GROUP2,...[,GROUPN]]]:指明用户所属的附加组,多个组之间用逗号分隔;
  • -c, --comment COMMENT:指明注释信息;
  • -d, --home HOME_DIR:以指定的路径为用户的家目录;通过复制/etc/skel此目录并重命名实现;指定的家目录路径如果事先存在,则不会为用户复制环境配置文件;
  • -s, --shell SHELL:指定用户的默认shell,可用的所有shell列表存储在/etc/shells文件中;
  • -r, --system:创建系统用户;
    管理员:0
    系统用户组:1-499(CentOS6), 1-999(CentOS7)
    登录用户组:500-60000(CentOS6), 1000-60000(CentOS7)

修改用户属性:
usermod [选项] 登录名

  • -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 [选项] 登录名

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

用户组管理类命令:
创建用户组:
groupadd [选项] group_name

  • -g GID:指定GID;默认是上一个组的GID+1;
  • -r: 创建系统组;
    管理员组:0
    系统用户组:1-499(CentOS6), 1-999(CentOS7)
    登录用户组:500-60000(CentOS6), 1000-60000(CentOS7)

修改用户组:
groupmod [选项] group_name

  • -g GID:修改GID;
  • -n new_name:修改组名;

删除用户组:

  • groupdel [选项] GROUP

 

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

groupadd -g 2019 distro

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

useradd -u 1005 -g distro mandriva

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

useradd -u 1100 -d /home/linux mageia

(4)、给用户mageia添加密码,密码为mageedu,并设置用户密码7天后过期
添加密码:
  方法一: passwd mageia 
  方法二(该方法会在终端显示密码): echo "mageedu" | passwd --stdin mageia 
设置用户密码7天后过期:
  方法一: passwd -x 7 mageia 
  方法二: chage -M 7 mageia 

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

userdel mandriva

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

groupadd peguin
useradd -u 2002 -g distro -G peguin slackware
id slackware
# uid=2002(slackware) gid=2019(distro) groups=2019(distro),2020(peguin)

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

usermod -s /bin/tcsh slackware
cat /etc/passwd| grep slackware
# slackware:x:2002:2019::/home/slackware:/bin/tcsh

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

usermod -a -G admins slackware
id slackware
# uid=2002(slackware) gid=2019(distro) groups=2019(distro),2020(peguin),2021(admins)

 

以上是关于03. Linux入门的主要内容,如果未能解决你的问题,请参考以下文章

Atom编辑器入门到精通 Atom使用进阶

linux_docker入门

Cg入门20:Fragment shader - 片段级模型动态变色(实现汽车动态换漆)

[linux][c/c++]代码片段01

Cg入门19:Fragment shader - 片段级模型动态变色

[linux][c/c++]代码片段02