贺胖娇的编程之旅......

linux基础入门

2020.02.27

学习心得,来自于蓝桥Linux基础入门

用户相关

查看当前用户

whoami:查看当前用户名
who am i:可以列出用户名,当前登录的伪终端以及当前伪终端的启动时间等 注意事项 在有些情况下who am i或者who mom likes不会有输出,因为当前shell不是登录时的shell

添加用户

例如添加用户lilei:

sudo adduser lilei

此命令在添加用户的同时还会创建用户的home目录

添加用户组

groupadd [groupname]

sudo groupadd lilei

将其他用户加入sudo用户组

当一个没有sudo权限的用户执行sudo命令时将报告当前用户不在sudoer文件中
使用一个有sudo权限的账户来添加,例如:

sudo usermod -G sudo lilei

实际上,这里执行的操作就是将用户添加至工作组,这里的命令为:

usermod -G [groupname] [username]

用户组

groups:查看用户所属的用户组,例如:

groups lilei

/etc/group文件

/etc/group文件保存了所有的用户和用户组信息,格式如下:

group_name:password:GID:user_list

当password为x时表示密码不可见,如果用户的GID等于用户组的GID,那么user_list为空

删除用户

sudo deluser lilei --remove-home

–remove-home表示在删除用户的时候同时删除用户的home目录

删除用户组

groupdel命令

文件相关

ll第一列的文件类型

名称 英文名 含义
d directory 目录
l link 软连接
b block 块设备
c char 字符设备
s socket 网络套接字
p pipe 管道
- - 普通文件

ll命令第一列解析如下:

[comment]: <> (![ll第一列](../images/linux/3-9.png))

可以通过ll -h更直观的看到文件大小
-a可以显示隐藏文件

目录结构

[comment]: <> (![linux目录结构](../images/linux/4-1.png))

批量重命名

# 批量创建文件
touch file{1..5}.txt
# 批量重命名
rename 's/\.txt/\.ct/' *.txt
# 批量替换成大写
rename 'y/a-z/A-Z/' *.ct

目录权限

可读权限:

如果目录没有可读权限, 则无法用ls等命令查看目录中的文件内容

可写权限

如果目录没有可写权限, 则无法在目录中创建文件, 也无法在目录中删除文件

可执行权限:

如果目录没有可执行权限, 则无法cd到目录中

默认权限

文件的默认权限是0666,目录的默认权限是0777,最终默认权限需要和权限掩码共同计算

权限掩码

umask可以查看权限掩码,非root用户默认umask为0002,root用户默认为0022,可修改

最终默认权限计算

将umask按位取反,再与起始权限按位与,得到最终的权限。

粘滞位

粘滞位为t,例如给其他用户加粘滞位:
chmod o+t [目录] 当一个目录被设置粘滞位后该目录下的文件只能由: (1)root用户删除
(2)该文件的拥有者删除
(3)目录的拥有者删除
即使对应文件被设置成0777,只要不符合以上条件,用户都不能删除目录下的文件

发表评论