在linux使用命令who am i 可以当前伪终端的用户的用户名要查看当前登录用户的用户名,去掉空格直接使用 whoami 即可,输出的第一列表示打开当前伪终端的用户的用户名(要查看当前登录用户的用户名,去掉空格直接使用 whoami 即可),第二列的 pts/0 中 pts 表示伪终端,所谓伪是相对于 /dev/tty 设备而言的,还记得上一节讲终端时的那七个使用 [Ctrl]+[Alt]+[F1]~[F7] 进行切换的 /dev/tty 设备么,这是“真终端”,伪终端就是当你在图形用户界面使用 /dev/tty7 时每打开一个终端就会产生一个伪终端,pts/0 后面那个数字就表示打开的伪终端序号,你可以尝试再打开一个终端,然后在里面输入 who am i,看第二列是不是就变成 pts/1 了,第三列则表示当前伪终端的启动时间。
还有一点需要注意的是,在某些环境中 who am i 和 who mom likes 命令不会输出任何内容,这是因为当前使用的 Shell 不是登录式 Shell(login shell),没有用户与 who 的 stdin 相关联,因此不会输出任何内容。登录 Shell 是指用户使用自己的 user ID 登录交互式 shell 的第一个进程,判断是不是登录 Shell 可以执行 echo $0 命令,如果返回 zsh、/bin/zsh、/bin/bash 这种格式,说明是非登录式 Shell(non-login shell);如果返回 -zsh、-bash 则说明是登录式 Shell,这时你执行 who am i 就会有输出。
例如我在本地的 Ubuntu 系统上输入这个命令就不会有提示。
who 命令其它常用参数
创建用户
创建用户需要先获得root 权限root 权限,系统权限的一种,与 SYSTEM 权限可以理解成一个概念,但高于 Administrator 权限,root 是 Linux 和 UNIX 系统中的超级管理员用户帐户,该帐户拥有整个系统至高无上的权力,所有对象他都可以操作,所以很多黑客在入侵系统的时候,都要把权限提升到 root 权限,这个操作等同于在 Windows 下就是将新建的非法帐户添加到 Administrators 用户组。更比如如安卓操作系统中(基于 Linux 内核)获得 root 权限之后就意味着已经获得了手机的最高权限,这时候你可以对手机中的任何文件(包括系统文件)执行所有增、删、改、查的操作。
su <user> 可以切换到用户 user,执行时需要输入目标用户的密码
su - <user>!!! 如su shiyanlou 就会切换到shiyanlou的用户状态下(当在这个过程中需要输入用户的密码进行登录)
sudo <cmd> 可以以特权级别运行 cmd 命令,需要当前用户属于 sudo 组,且需要输入当前用户的密码
现在我们新建一个叫 lilei 的用户:(sudo(以特权级别运行 cmd 命令) adduser(创建新用户及密码的命令) lilei(新用户名称)
实验楼的环境目前设置为 shiyanlou 用户执行 sudo 不需要输入密码,通常此处需要按照提示输入 shiyanlou 密码(Linux 下密码输入是不显示任何内容的,shiyanlou 用户密码可以在右侧环境信息里查看,请勿自行设置密码)。然后是给 lilei 用户设置密码,后面的选项的一些内容你可以选择直接回车使用默认值。
这个命令不但可以添加用户到系统,同时也会默认为新用户在 /home 目录下创建一个工作目录:
现在你已经创建好一个用户,并且你可以使用你创建的用户登录了,使用如下命令切换登录用户
su -l lilei(命令)
输入刚刚设置的 lilei 的密码,然后输入如下命令并查看输出:
你发现了区别了吗?这就是上一小节我们讲到的 who am i 和 whoami 命令的区别。
exit :退出当前用户跟退出终端一样,可以使用 exit 命令或者使用快捷键 Ctrl+D
cat: 命令用于读取指定文件的内容并打印到终端输出,
| sort 表示将读取的文本进行一个字典排序再输出
快捷命令为:cat /etc/group | sort 意思为打开etc group 文件并且打印文件内容。
让新建用户加入 sudo 用户组,root命令权限,获得可以通过已经在root命令下的用户组进行设置。
(1)命令su - root(切换到root用户)(输入root的密码)
(2)group(组) lilei(用户名称)
(3)sudo usermod(使用 usermod 命令可以为用户添加用户组) -G sudo lilei(
(4)设置新的用户密码:sudo psaawd (用户名称如lilei)sudo passwd lilei
(5)(删除用户)sudo deluser lilei --remove-home使用 --remove-home 参数在删除用户时候会一并将该用户的工作目录一并删除
sudo deluser lilei 不使用--remove-home 那么系统会自动在 /home 目录为该用户保留工作目录
(groupdel)删除用户组可以使用 groupdel 命令,倘若该群组中仍包括某些用户,则必须先删除这些用户后,才能删除群组。
查看文件权限
ls -l命令(如果没有权限可以在前面加上sudo ls -l)
举个例子
文件解读代表为:普通文件,拥有者有(r)读取和(w)写的权限但是没有执行权(X)1代表连接数只有一个,所有者是shiyanlou,所属用户组为shiyanlou文件大小为430185 最后修改时间为9月 23日18:53分,文件名称为yarn.lock
查看文件的类型的不同命令
ls -a显示除了 .(当前目录)和 ..(上一级目录)之外的所有文件,包括隐藏文件(Linux 下以 . 开头的文件为隐藏文件)
查看某一个目录的完整属性,而不是显示目录里面的文件属性:ls -dl <目录名>
其中小 s 为显示文件大小,大 S 为按文件大小排序,若需要知道如何按其它方式排序,可以使用 man ls 命令查询。