[内容为AI生成,仅供参考,收藏看看。]
一、文件与目录操作
基本操作
bashls # 列出目录内容ls -l # 详细列表(权限、大小等)ls -a # 显示隐藏文件ls -la # 详细列表包含隐藏文件pwd # 显示当前工作目录cd <目录> # 切换目录cd ~ # 返回家目录cd .. # 返回上级目录cd - # 返回上一个目录mkdir <目录名> # 创建目录mkdir -p dir1/dir2 # 创建多级目录rmdir <目录名> # 删除空目录rm -r <目录> # 递归删除目录及内容rm -rf <目录> # 强制递归删除(谨慎使用)cp <源文件> <目标> # 复制文件cp -r <源目录> <目标> # 复制目录cp -a <源> <目标> # 复制并保留属性mv <源> <目标> # 移动/重命名文件
文件查看与编辑
bashcat <文件> # 显示文件内容less <文件> # 分页查看文件more <文件> # 分页查看文件head -n <文件> # 查看文件前n行tail -n <文件> # 查看文件后n行tail -f <文件> # 实时跟踪文件变化nano <文件> # 简单文本编辑器vim <文件> # Vim编辑器vi <文件> # Vi编辑器
二、文件权限与属性
bashchmod <权限> <文件> # 修改文件权限# 示例:chmod 755 file.txt # rwxr-xr-xchmod u+x script.sh # 给所有者添加执行权限chmod g-w file.txt # 移除组用户写权限chmod o=r file.txt # 其他人只读chown <用户>:<组> <文件> # 修改文件所有者和组chgrp <组> <文件> # 修改文件所属组umask # 显示/设置默认权限掩码stat <文件> # 显示文件详细信息
三、文件搜索与查找
bashfind <路径> -name "模式" # 按文件名查找find / -type f -name "*.txt" # 查找所有txt文件find . -mtime -7 # 查找7天内修改的文件find . -size +10M # 查找大于10M的文件locate <关键词> # 快速文件搜索(需要updatedb)grep "模式" <文件> # 文本搜索grep -r "模式" <目录> # 递归搜索grep -i "模式" <文件> # 忽略大小写grep -n "模式" <文件> # 显示行号which <命令> # 查找命令位置whereis <命令> # 查找命令及相关文件
四、系统信息与监控
系统信息
bashuname -a # 显示所有系统信息hostname # 显示主机名whoami # 显示当前用户id # 显示用户信息uptime # 显示系统运行时间date # 显示日期时间cal # 显示日历df -h # 显示磁盘使用情况(人类可读)du -sh <目录> # 显示目录大小free -h # 显示内存使用情况lscpu # 显示CPU信息lsblk # 显示块设备信息lsusb # 显示USB设备lspci # 显示PCI设备
进程管理
bashps aux # 查看所有进程ps -ef | grep <进程名> # 查找特定进程top # 动态查看进程htop # 增强版top(需安装)pstree # 树状显示进程kill <PID> # 结束进程kill -9 <PID> # 强制结束进程killall <进程名> # 结束所有同名进程pkill <进程名> # 按名称结束进程bg # 将任务放到后台fg # 将任务放到前台jobs # 查看后台任务
五、网络相关
bashifconfig # 查看网络接口(旧版)ip addr # 查看IP地址ip link # 查看网络链接ping <主机> # 测试网络连通性traceroute <主机> # 跟踪路由路径mtr <主机> # 增强版traceroutenetstat -tulpn # 查看网络连接和端口ss -tulpn # 新版netstat替代lsof -i :<端口> # 查看端口占用wget <URL> # 下载文件curl <URL> # 传输数据scp <源> <目标> # 安全复制文件rsync <源> <目标> # 同步文件
六、压缩与归档
※基本格式:
tar [选项] 目标文件名 源文件/目录
※ 三个核心操作选项(必选其一):
-c 或 --create:创建新的归档文件
-x 或 --extract:解压/提取归档文件
-t 或 --list:查看/列出归档文件内容(不解压)
※ 常用辅助选项:
-f 或 --file=:指定文件名(几乎总是必需,后面必须紧跟文件名)
-z 或 --gzip:通过 gzip 进行压缩或解压(用于 .tar.gz)
-j 或 --bzip2:通过 bzip2 进行压缩或解压(用于 .tar.bz2)
-J 或 --xz:通过 xz 进行压缩或解压(用于 .tar.xz)
-v 或 --verbose:显示详细处理过程
-C <目录>:解压到指定目录(需配合 -x 使用)
-p 或 --preserve-permissions:保留文件的原始权限和属性
--exclude=<模式>:排除匹配模式的文件
bash# tartar -cvf archive.tar file1 file2 # 创建tar包tar -xvf archive.tar # 解压tar包tar -czvf archive.tar.gz dir/ # 创建gzip压缩包tar -xzvf archive.tar.gz # 解压gzip压缩包tar -cjvf archive.tar.bz2 dir/ # 创建bzip2压缩包tar -xjvf archive.tar.bz2 # 解压bzip2压缩包# gzipgzip file # 压缩文件gunzip file.gz # 解压gzip文件# zipzip archive.zip file1 file2 # 创建zip包unzip archive.zip # 解压zip包
七、用户与权限管理
bashsudo <命令> # 以管理员权限执行su - <用户> # 切换用户useradd <用户名> # 添加用户userdel <用户名> # 删除用户usermod <选项> <用户名> # 修改用户属性passwd <用户名> # 修改密码groupadd <组名> # 添加组groupdel <组名> # 删除组groups # 显示用户所属组
八、包管理
Debian/Ubuntu (APT)
bashapt update # 更新包列表apt upgrade # 升级所有包apt install <包名> # 安装包apt remove <包名> # 移除包apt autoremove # 移除不需要的包apt search <关键词> # 搜索包apt show <包名> # 显示包信息
RHEL/CentOS/Fedora (YUM/DNF)
bashyum install <包名> # 安装包(YUM)dnf install <包名> # 安装包(DNF)yum remove <包名> # 移除包yum update # 更新包yum search <关键词> # 搜索包
九、文本处理
bash# 排序与去重sort <文件> # 排序文件内容sort -u <文件> # 排序并去重uniq <文件> # 去除连续重复行# 计数wc <文件> # 统计行数、单词数、字节数wc -l <文件> # 统计行数# 比较diff file1 file2 # 比较文件差异cmp file1 file2 # 比较文件是否相同# 转换tr 'a-z' 'A-Z' # 小写转大写sed 's/旧/新/g' # 文本替换
十、其他实用命令
bashhistory # 查看命令历史history | grep <关键词> # 搜索历史命令!<编号> # 执行历史命令!! # 执行上一条命令alias # 查看别名alias 别名='命令' # 创建别名unalias 别名 # 删除别名man <命令> # 查看命令手册<命令> --help # 查看命令帮助info <命令> # 查看详细信息ln -s <源> <链接> # 创建软链接ln <源> <链接> # 创建硬链接tee # 同时输出到屏幕和文件time <命令> # 测量命令执行时间watch <命令> # 定期执行命令
十一、快捷键
bashCtrl+C # 终止当前命令Ctrl+Z # 暂停当前命令Ctrl+D # 退出终端/结束输入Ctrl+L # 清屏Ctrl+R # 搜索历史命令Tab # 自动补全
组合命令
bashcommand1 && command2 # command1成功后执行command2command1 || command2 # command1失败后执行command2command1 ; command2 # 顺序执行命令
重定向
bashcommand > file # 输出重定向到文件(覆盖)/清空文件内容command >> file # 输出追加到文件command < file # 输入重定向command 2> file # 错误输出重定向command &> file # 所有输出重定向
管道
command1 | command2 # 将command1的输出作为command2的输入
记住:使用危险命令(如rm -rf)时要格外小心,特别是在根目录或重要目录下!