# Linux 常用命令大全
## 文件和目录操作
- `ls` - 列出目录内容
- `ls -l` 详细列表
- `ls -a` 显示隐藏文件
- `ls -lh` 人类可读的文件大小
- `cd` - 切换目录
- `cd ~` 返回家目录
- `cd ..` 返回上级目录
- `cd -` 返回上次所在目录
- `pwd` - 显示当前工作目录
- `mkdir` - 创建目录
- `mkdir -p dir1/dir2` 创建多级目录
- `rmdir` - 删除空目录
- `cp` - 复制文件或目录
- `cp -r dir1 dir2` 递归复制目录
- `mv` - 移动或重命名文件/目录
- `rm` - 删除文件或目录
- `rm -r` 递归删除
- `rm -f` 强制删除
- `touch` - 创建空文件或更新文件时间戳
- `file` - 确定文件类型
## 文件查看和编辑
- `cat` - 连接并显示文件内容
- `less` / `more` - 分页显示文件内容
- `head` - 显示文件开头部分
- `head -n 10 file` 显示前10行
- `tail` - 显示文件结尾部分
- `tail -f file` 实时跟踪文件变化
- `nano` - 简单文本编辑器
- `vim` / `vi` - 强大的文本编辑器
- `grep` - 文本搜索
- `grep "text" file` 在文件中搜索文本
- `grep -r "text" dir` 递归搜索目录
## 权限管理
- `chmod` - 更改文件权限
- `chmod 755 file` 设置权限为rwxr-xr-x
- `chmod +x file` 添加执行权限
- `chown` - 更改文件所有者
- `chown user:group file`
- `chgrp` - 更改文件所属组
## 系统信息
- `uname -a` - 显示系统信息
- `uptime` - 显示系统运行时间
- `top` / `htop` - 显示进程信息
- `free -h` - 显示内存使用情况
- `df -h` - 显示磁盘空间使用情况
- `du -sh dir` - 显示目录大小
- `date` - 显示或设置系统日期时间
- `cal` - 显示日历
## 进程管理
- `ps` - 显示进程状态
- `ps aux` 显示所有进程
- `kill` - 终止进程
- `kill -9 PID` 强制终止进程
- `pkill` - 按名称终止进程
- `bg` - 将任务放到后台运行
- `fg` - 将任务放到前台运行
- `jobs` - 显示后台任务
## 网络相关
- `ifconfig` / `ip addr` - 显示网络接口信息
- `ping` - 测试网络连接
- `netstat` - 显示网络状态
- `netstat -tulnp` 显示监听端口
- `ss` - 替代netstat的工具
- `wget` - 下载文件
- `curl` - 传输数据
- `ssh` - 远程登录
- `ssh user@host`
- `scp` - 安全复制文件
- `scp file user@host:path`
## 压缩和解压
- `tar` - 打包和解包
- `tar -cvf archive.tar files` 创建tar包
- `tar -xvf archive.tar` 解压tar包
- `tar -zcvf archive.tar.gz files` 创建gzip压缩包
- `tar -zxvf archive.tar.gz` 解压gzip包
- `gzip` / `gunzip` - gzip压缩/解压
- `zip` / `unzip` - zip压缩/解压
## 用户管理
- `useradd` - 添加用户
- `userdel` - 删除用户
- `passwd` - 更改密码
- `su` - 切换用户
- `sudo` - 以超级用户权限执行命令
- `whoami` - 显示当前用户名
- `who` - 显示已登录用户
- `last` - 显示用户登录历史
## 软件包管理
### Debian/Ubuntu (APT)
- `apt update` - 更新软件包列表
- `apt upgrade` - 升级所有软件包
- `apt install package` - 安装软件包
- `apt remove package` - 删除软件包
- `apt search keyword` - 搜索软件包
### RedHat/CentOS (YUM/DNF)
- `yum install package` - 安装软件包
- `yum remove package` - 删除软件包
- `yum update` - 更新软件包
- `yum search keyword` - 搜索软件包
## 其他实用命令
- `history` - 显示命令历史
- `alias` - 创建命令别名
- `find` - 查找文件
- `find / -name "filename"`
- `locate` - 快速查找文件
- `which` - 显示命令的完整路径
- `whereis` - 定位命令的二进制、源码和手册页
- `man` - 查看命令手册
- `shutdown` - 关机或重启
- `shutdown -h now` 立即关机
- `shutdown -r now` 立即重启
- `reboot` - 重启系统
- `ln` - 创建链接
- `ln -s target link_name` 创建软链接
以上是Linux系统中常用的命令,掌握这些命令可以完成大多数日常系统管理和文件操作任务。