Linux基础知识(2)
用户和用户组
Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。
用户管理
添加用户
useradd 选项 用户名
选项:
-c comment 指定一段注释性描述。
-d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。
-g 用户组 指定用户所属的用户组。
-G 用户组,用户组 指定用户所属的附加组。
-s Shell文件 指定用户的登录Shell。
-u 用户号 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号。
例子:
useradd -d /home/asd asd [添加用户asd并指定asd的目录] useradd -g root asd [添加用户asd并指定该用户的组为root]
添加用户就是在/etc/passwd文件中新增记录,并更新/etc/shadow, /etc/group等文件。
useradd的更多操作https://www.runoob.com/linux/linux-comm-useradd.html
删除用户
userdel 用户名 [删除用户] userdel -r 用户名 [删除用户并删除用户主目录]
删除用户就是删除该用户在/etc/passwd,/etc/shadow, /etc/group等文件中的记录
修改用户
usermod 选项 用户名
修改用户的常用操作同添加用户命令useradd中相似,usermod的更多操作https://www.runoob.com/linux/linux-comm-usermod.html
用户口令
用户刚被创建时没有口令,无法使用,需要设置口令才可以使用。普通用户可以修改自己的口令且必须有原密码,超级管理员能够直接设置修改自己和其他用户的口令,不需要密码。
passwd 选项 用户名
选项:
-l 锁定口令,即禁用账号。
-u 口令解锁。
-d 使账号无口令。
-f 强迫用户下次登录时修改口令。
例子:
passwd asd//设置asd用户的密码 Enter new password: //输入新密码,输入的密码无回显 Retype new password: //确认密码
passwd的更多操作https://www.runoob.com/linux/linux-comm-passwd.html
用户组管理
每个用户都有对应的用户组,在使用useradd创建用户时,若不指定用户的用户组,则自动创建与其同名的用户组
添加用户组
groupadd 选项 用户组
选项:
-g GID 指定新用户组的组标识号(GID)。
-o 一般与-g选项同时使用,表示新用户组的GID可以与系统已有用户组的GID相同。
例子:
groupadd asd [添加用户组asd]
删除用户组
groupdel asd [删除用户组asd]
修改用户组
groupmod 选项 用户组
选项:
-g GID 为用户组指定新的组标识号。
-o 与-g选项同时使用,用户组的新GID可以与系统已有用户组的GID相同。
-n新用户组 将用户组的名字改为新名字
例子:
groupmod -g 555 asd [将组asd的组标识号修改为555]
相关配置文件
1./etc/passwd 文件
用户user的配置文件,记录用户各种信息
asd:x:501:501::/home/asd:/bin/bash [用户名:口令:用户标识uid号:组标识gid号:注释描述:主目录:对应的shell解释器]
2./etc/shadow 文件
口令配置文件,储存经过加密的用户账号口令密码信息
asd:!!:18257:0:99999:7::: [登录名:加密口令:最后一次修改时间:最小时间间隔:警告时间:不活动时间:失效时间:标志]
3./etc/group 文件
组配置文件,记录liunx包含组的相关信息
asd:x:501: [组名:口令:组标识gid号:组内用户列表]
文件与目录管理
ls (列出目录)
在Linux系统当中, ls 命令可能是最常被运行的。
ls 选项 目录名称
选项:
-a :全部的文件,连同隐藏档( 开头为 . 的文件) 一起列出来(常用)
-d :仅列出目录本身,而不是列出目录内的文件数据(常用)
-l :长数据串列出,包含文件的属性与权限等等数据;(常用)
例子:
[root@linux ~]# ls -al total 60 dr-xr-x---. 6 root root 4096 Nov 22 16:49 . dr-xr-xr-x. 25 root root 4096 Nov 10 11:19 .. -rw-r--r-- 1 root root 7662 Dec 26 23:57 .bash_history -rw-r--r--. 1 root root 18 May 20 2009 .bash_logout -rw-r--r--. 1 root root 176 May 20 2009 .bash_profile -rw-r--r--. 1 root root 176 Sep 23 2004 .bashrc drwx------ 3 root root 4096 Jan 30 2019 .cache -rw-r--r--. 1 root root 100 Sep 23 2004 .cshrc -rw------- 1 root root 0 Jan 30 2019 .history -rw------- 1 root root 148 Nov 22 16:47 .mysql_history drwxr-xr-x 2 root root 4096 Jan 30 2019 .oracle_jre_usage drwxr----- 3 root root 4096 Jan 30 2019 .pki drwx------ 2 root root 4096 Nov 9 10:49 .ssh -rw-r--r--. 1 root root 129 Dec 4 2004 .tcshrc -rw------- 1 root root 1633 Nov 11 15:19 .viminfo [root@linux ~]#
cd (切换目录)
cd是Change Directory的缩写,这是用来变换工作目录的命令。
cd 相对路径或绝对路径
例子:
[root@linux ~]# cd .. [root@linux /]#
pwd (显示目前所在的目录)
pwd 是 Print Working Directory 的缩写,也就是显示目前所在目录的命令。
pwd [-P]
选项:
-P :显示出确实的路径,而非使用连结 (link) 路径。
例子:
[root@linux /]# pwd /
mkdir (创建新目录)
mkdir [-mp] 目录名称
选项:
-m :配置文件的权限
-p :创建多级目录
例子:
[root@linux ~]# mkdir -p asd/asd [root@linux ~]# ls asd [root@linux ~]# cd asd [root@linux asd]# ls asd [root@linux asd]#
rmdir (删除空的目录)
rmdir [-p] 目录名称
参数:
-p :连同上一级『空的』目录也一起删除
例子:
[root@linux ~]# rmdir -p asd/asd [root@linux ~]# ls [root@linux ~]#
cp (复制文件或目录)
cp [-adfilprsu] 来源(source) 目标(destination)
选项:
-a:相当于 -pdr 的意思,至于 pdr 请参考下列说明;(常用)
-d:若来源档为连结档的属性(link file),则复制连结档属性而非文件本身;
-f:为强制(force)的意思,若目标文件已经存在且无法开启,则移除后再尝试一次;
-i:若目标档(destination)已经存在时,在覆盖时会先询问动作的进行(常用)
-l:进行硬式连结(hard link)的连结档创建,而非复制文件本身;
-p:连同文件的属性一起复制过去,而非使用默认属性(备份常用);
-r:递归持续复制,用於目录的复制行为;(常用)
-s:复制成为符号连结档 (symbolic link),亦即『捷径』文件;
-u:若 destination 比 source 旧才升级 destination !
例子:
cp ~/.cache ~/asd
把用户目录下的.cache复制到asd下
rm (移除文件或目录)
rm [-fir] 文件或目录
选项:
-f :就是 force 的意思,忽略不存在的文件,不会出现警告信息;
-i :互动模式,在删除前会询问使用者是否动作
-r :递归删除啊!最常用在目录的删除了!这是非常危险的选项!!!
例子:
rm -rf /home/test
表示使用rm -f 和rm -r 组合参数方式删除 test文件夹,这个命令也称为强制删除文件或文件夹。需要谨慎使用
mv (移动文件与目录,或修改名称)
mv [-fiu] 来源(source) 目标(destination)
选项与参数:
-f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖;
-i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!
-u :若目标文件已经存在,且 source 比较新,才会升级 (update)
例子:
mv ~/.cache ~/asd
把用户目录下的.cache移动到asd下
touch (创建一个或多个空文件)
例子:
touch a.txt b.txt
在当前所在目录里创建a.txt和b.txt空文本文件
cat (查看文件内容)
例子1:
cat -n a.txt
查看当前目录下的a.txt文件全部内容并显示行号