查询防火墙

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