文章目录
一、linux 用户及组的概念
1、用户账号的添加、删除和修改
- 用户账号的添加:
sudo adduser username
,以人机交互的提问的方式来添加用户,按照提示输入密码即可创建成功,默认在/home目录下。 - 用户账号删除:
sudo userdel -r username
- 用户账号修改:
sudo usermod -options username
2、用户密码的管理
- root 设置用户密码:
passwd username
- 用户 自己更改密码:
passwd
3、用户组的管理
- 用户组账号的添加:
sudo groupadd -options groupname # eg: sudo groupadd docker
- 添加用户到相应组:
sudo adduser username groupname # eg: sudo adduser manzp docker
- 将用户从组里删除:
sudo gpasswd -d username groupname
- 查看用户的组信息:
id username
- 用户组账号修改:
sudo groupmod -n new_groupname old_groupname
- 用户组账号删除:
sudo groupdel -options groupname
- 用户组相关文件:
sudo vim /etc/group # 存放格式:【组名:组密码:组ID:用户列表】
4、添加 root 用户
sudo -i
,进入 rootvim /etc/sudoers
,按照下图把需要添加的root用户的名字(eg: test)写进去就ok了。
5、root 用户开启 SSH 登录
# 1、修改 root/user 密码
sudo passwd root/user
# 2、修改配置文件,找到下面相关配置:
sudo vi /etc/ssh/sshd_config
# Authentication:
LoginGraceTime 120
PermitRootLogin prohibit-password
StrictModes yes
# 更改为下面的内容:
# Authentication:
LoginGraceTime 120
#PermitRootLogin prohibit-password
PermitRootLogin yes # 加上这一句
StrictModes yes
# 重启 ssh(必做)
sudo service ssh restart
二、linux 文件属性及权限
- 其中,- 表示普通文件,d 表示目录文件,l 表示链接文件,rwx- 分别表示可读可写可执行和没有权限
-
改变文件的权限:
sudo chmod -R a+x 文件或目录
,R表示 change files and directories recursivelysudo chmod -R 777 文件或目录
,指定目录下的所有文件的权限为全体可读、可修改、可执行sudo chmod -R 770 文件或目录
,指定目录下的所有文件的权限为用户和组成员可读、可修改、可执行(others 无权限)
-
改变文件的的拥有者:
sudo chown -R 用户账号(:组名) 文件或目录
,R表示如果为目录则递归修改 -
改变文件的的所属群组:
sudo chgrp -R GROUP dirname/filename
,R表示如果为目录则递归修改 -
文件(夹) 出现绿色底纹的处理办法:
sudo chmod -R o-w dirname/filename
,R表示如果为目录则递归修改
三、linux 文件与目录的CRUD(Create、Retrieve、Update、Delete)
- ls 命令:列出目标目录中的所有的子目录和文件
- ls:查看当前目录列表;ls -a:查看当前目录列表(包括隐藏目录);ls -l:查看当前目录内容的详细信息;ll:查看当前目录内容的详细信息(包括隐藏目录)。
- -h 参数选项:以可读的方式列出文件的大小
- cd 命令:切换目录
- pwd 命令:显示当前工作目录
- mkdir 命令:创建目录
mkdir -p xx/yy # make parent directories as needed
- rm 命令:删除文件目录
rm -rf xx
- cp 命令:拷贝文件或目录(可以同时更改拷贝后的文件名或者目录名)
cp -rf /PATH1/xx /PATH2/yy
- 同时将多个文件复制到指定目录:cp 源文件1 源文件2 指定目录,同理:对于其他命令对多个文件同时操作时,只需中间加上空格即可。
- mv 命令:move (rename) files
# 当 rename 时,DEST 为源文件/目录的新名字 mv [OPTION]... [-T] SOURCE DEST # 当 move 时,DIRECTORY 为存放源文件的目录 mv [OPTION]... SOURCE... DIRECTORY # move SOURCE(s) to DIRECTORY
- touch 命令:修改文件时间戳(当文件不存在时创建文件)
四、生成链接文件命令----ln
在 linux 中,有两种链接文件,一种是符号连接,类似 Windows 的桌面快捷方式;一种是硬链接,相当于复制+同步更新,本质上还是同一块数据。
1、链接的生成
ln -s file1 file1soft
:生成 file1 的符号连接(symbolic)文件 file1soft。ln file2 file2hard
:生成 file2 的硬连接文件 file1hard。rm file1soft
:删除软连接。- 批量重建软链接
#!/bin/bash
# 设置源目录和目标目录
source_dir="./lib" # 替换为源目录路径
target_dir="./lib" # 替换为目标目录路径
# 遍历源目录中的 .so 文件
for file in "$source_dir"/*.so*; do
# 获取文件名(去掉版本号部分,只保留 libname.so)
filename=$(basename "$file")
base_name=$(echo "$filename" | sed -E 's/\.so[^/]*$/.so/') # 只保留 .so 部分
# 检查目标路径是否已存在文件
if [ -e "$target_dir/$base_name" ]; then
echo "目标文件 $target_dir/$base_name 已存在,跳过创建软连接。"
else
# 创建软连接
ln -s "$filename" "$target_dir/$base_name"
echo "软连接已创建: $target_dir/$base_name -> $file"
fi
done
2、链接的目的
- 方便:不用重重查找
- 节省资源:不会额外消耗硬盘空间
3、符号链接和硬链接的相同点和异同点(和 cp 的不同点):
- 相同点:
- 两种链接的文件都会同步更新
- 两种链接删除均不会影响源文件
- 异同点:
- 源文件删除后,符号连接失效,硬链接文件继续存在,只有当所有硬链接文件删除后,此文件才算彻底失效
- cp 复制的文件在物理上位于存储介质的不同位置,确实是不同的文件;而 ln 链接的文件,在存储介质上只有一个,只不过在不同的目彔下同时作了登记而已