linux用户与文件基础命令介绍(1)

2019-09-23 09:14:50刘景俊

让我们进入新创建的用户家目录并用ls命令查看目录内容:

[root@centos7 dir1]# cd /home/learner
[root@centos7 learner]# ls
[root@centos7 learner]# 

终端上并没有打印出任何信息,试试ls的-a选项:

[root@centos7 learner]# ls -a
. .. .bash_logout .bash_profile .bashrc

选项-a作用是显示目录下所有文件,包括当前目录.和父目录..,linux中以.开头的文件是隐藏文件。在这里的三个隐藏文件是用户learner登录系统时所要用到的配置文件。

7、passwd 添加或更改账号口令

passwd [OPTION]... [NAME]
注意通过命令useradd新添加的账号并不能马上进行登录,还必须为账号添加口令为新用户learner添加口令:

[root@centos7 ~]# passwd learner
Changing password for user learner.
New UNIX password: xxxxxx   #此处的xxxxxx并不在屏幕上显示
BAD PASSWORD: it is too simplistic/systematic #此处可能会给出密码太简单的警告
Retype new UNIX password: xxxxxx  #重复输入,此处的xxxxxx不在屏幕上显示
passwd: all authentication tokens updated successfully.

当passwd命令后没有用户名直接执行时,它的作用是更改当前账号的口令。

8、cat 查看文件内容

cat [OPTION]... [FILE]...
如查看保存系统账号的配置文件/etc/passwd

[root@centos7 ~]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
....
learner:x:1000:1000::/home/learner:/bin/bash

这里节选了部分输出,我们看到新创建的账号learner的信息在文件最后一行。文件中每一行都被:分割为7列,拿第一行举例说明每一列所表示的含义:

1) root表示账号名。
2) x是口令,在一些系统中,真正的口令加密保存在/etc/shadow里,这里保留x或*。
3) 0是用户ID。
4) 0是用户组ID,对应着/etc/group文件中的一条记录。
5) root是描述性信息。
6) /root是用户家目录。
7) /bin/bash是用户的登录shell,每一个登录的用户,系统都要启动一个shell程序以供用户使用。
对应于新创建的用户learner来说,它的用户ID是1000,通常用户ID(UID)与用户名是一一对应的。root的UID是0。用户组ID(GID)如果在创建用户的时候没有被指定,那么系统会生成一个和UID号相同的GID,并把新用户放到这个组里面。用户组的意义是为了给权限控制增加灵活性,比如把不同的用户归到一个组之内,然后使文件针对这个组设置权限。
系统中还有一些登录shell为/sbin/nologin的用户,这些用户是“伪用户”,它们是不能登录的,它们的存在主要是为了方便管理,满足相应的系统进程对文件属主的要求。

9、head tail more less 查看内容