学习心得,来自于蓝桥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,只要不符合以上条件,用户都不能删除目录下的文件