查询防火墙
sudo iptables -L
添加入站规则
sudo iptables -I INPUT -p tcp --dport 233 -j ACCEPT
sudo iptables -I INPUT -p udp --dport 233 -j ACCEPT
查询端口占用
netstat -tuln | grep 80
切换到root用户的不同方式
# 方式1:切换到root shell(推荐)
sudo -i
# 方式2:切换到root shell
sudo su -
# 或
sudo su
# 方式3:切换到root并保持环境
sudo -s
日志查询
journalctl -u ssh
用户的组管理
查看用户的组
# 查看当前用户所属组
groups
# 查看当前用户UID/GID
id
# 详细查看当前用户信息
id -a
# 查看指定用户所属组
groups username
# 或
id username
# 显示用户详细信息
id -a username
# 查看用户主要组和附加组
id -Gn username # 显示组名
id -G username # 显示GID
增加用户的组
# 添加用户到一个组
sudo usermod -aG groupname username
# 示例:添加admin到sudo组
sudo usermod -aG sudo admin
# 添加用户到多个组
sudo usermod -aG group1,group2,group3 username
用户移出组
# 从组中移除用户
sudo gpasswd -d username groupname
# 示例:从sudo组移除admin
sudo gpasswd -d admin sudo
文件和文件夹操作
查看目录
# 查看目录权限
ls -ld /root
# 列出目录内容
ls /root/data/docker_data/
复制目录
# cp命令基础
# 复制文件夹到指定目录(保留结构)
cp -r source_folder /path/to/destination/
# 示例:复制myfolder到/opt/
cp -r myfolder /opt/
# 详细复制选项
# 保留所有属性(权限、时间戳等)
cp -rp source_folder /destination/
# 或
cp -a source_folder /destination/ # archive模式,等同于-dpr
# 显示复制进度
cp -rv source_folder /destination/
# 只复制更新的文件
cp -ru source_folder /destination/
# 复制到当前用户的目录
# 复制到用户家目录
cp -r folder_name ~/
cp -r folder_name /home/username/
# 复制到用户桌面
cp -r folder_name ~/Desktop/
# 排除特定文件/目录
# 使用rsync排除
rsync -av --exclude='*.tmp' --exclude='node_modules/' source_folder/ /destination/
# 使用find + cpio
cd source_folder
find . -type f ! -name "*.tmp" | cpio -pdm /destination/
文件、文件夹删除
# rm命令基础
# 删除文件
rm filename.txt
# 删除多个文件
rm file1.txt file2.txt file3.txt
# 使用通配符
rm *.txt
rm file*.log
# 删除空文件夹
rmdir folder_name
# 删除非空文件夹(递归删除)
rm -r folder_name
# 强制删除(不询问)
rm -rf folder_name
# 删除指定文件
# 删除所有.log文件
rm *.log
# 删除指定扩展名的文件
find . -name "*.tmp" -delete
# 删除空文件夹
find . -type d -empty -delete
# 删除7天前的日志
find /var/log -name "*.log" -mtime +7 -delete
# 删除隐藏文件
rm .*
# 注意:这会尝试删除 . 和 ..,但系统会阻止
# 更安全的方式
rm .[!.]* # 删除以.开头的文件,但排除.和..
# 删除特定大小的文件
find . -size +100M -delete
# 删除特定权限的文件
find . -type f ! -perm 644 -delete
# 删除但保留目录结构
# 删除所有文件但保留空目录
find . -type f -delete
# 删除所有.txt文件但保留目录
find . -name "*.txt" -type f -delete