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文件全部内容并显示行号

全部评论

相关推荐

mjasjon:这种trash中厂 简历过筛概率比大厂还低(除阿里系)
投递哔哩哔哩等公司6个岗位
点赞 评论 收藏
分享
05-11 11:48
河南大学 Java
程序员牛肉:我是26届的双非。目前有两段实习经历,大三上去的美团,现在来字节了,做的是国际电商的营销业务。希望我的经历对你有用。 1.好好做你的CSDN,最好是直接转微信公众号。因为这本质上是一个很好的展示自己技术热情的证据。我当时也是烂大街项目(网盘+鱼皮的一个项目)+零实习去面试美团,但是当时我的CSDN阅读量超百万,微信公众号阅读量40万。面试的时候面试官就告诉我说觉得我对技术挺有激情的。可以看看我主页的美团面试面经。 因此花点时间好好做这个知识分享,最好是单拉出来搞一个板块。各大公司都极其看中知识落地的能力。 可以看看我的简历对于博客的描述。这个帖子里面有:https://www.nowcoder.com/discuss/745348200596324352?sourceSSR=users 2.实习经历有一些东西删除了,目前看来你的产出其实很少。有些内容其实很扯淡,最好不要保留。有一些点你可能觉得很牛逼,但是面试官眼里是减分的。 你还能负责数据库表的设计?这个公司得垃圾成啥样子,才能让一个实习生介入数据库表的设计,不要写这种东西。 一个公司的财务审批系统应该是很稳定的吧?为什么你去了才有RBAC权限设计?那这个公司之前是怎么处理权限分离的?这些东西看着都有点扯淡了。 还有就是使用Redis实现轻量级的消息队列?那为什么这一块不使用专业的MQ呢?为什么要使用redis,这些一定要清楚, 就目前看来,其实你的这个实习技术还不错。不要太焦虑。就是有一些内容有点虚了。可以考虑从PR中再投一点产出
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务