### Linux常用命令详解
#### 一、目录结构与基本概念
Linux系统采用了树形的文件系统结构,根目录(`/`)位于整个文件系统的最顶层。其他所有的目录都从根目录衍生出来。
- **根目录**:`/` — 所有文件系统的起点。
- **用户主目录**:`~/` 或 `~用户名/` — 普通用户的家目录,通常位于 `/home/用户名`。
- **系统配置文件**:`/etc/` — 包含了各种配置文件。
- **程序文件**:`/bin/` 和 `/sbin/` — 存放系统核心程序。
- **临时文件**:`/tmp/` — 用于存储临时文件。
- **日志文件**:`/var/log/` — 记录系统运行时产生的日志信息。
#### 二、常用命令
1. **目录操作**
- **cd**:改变当前工作目录。
- `cd/`:切换到根目录。
- `cd..`:切换到上级目录。
- `cd /data/weixin`:切换到指定目录。
- `cd-`:切换到上一个工作目录。
- `cd ~` 或 `cd`:切换到当前用户的家目录。
- **mkdir**:创建目录。
- `mkdir 目录名`:创建单个目录。
- `mkdir -p 嵌套目录`:递归创建多级目录。
- **rmdir**:删除空目录。
- `rmdir 空目录名`:删除空目录。
- **rm**:删除文件或目录。
- `rm 文件名`:删除文件。
- `rm -rf 非空目录`:强制删除非空目录及其所有内容。
- **mv**:移动文件或重命名文件。
- `mv 路径/文件/路径/文件`:移动文件。
- `mv 文件名 新名称`:重命名文件。
- **cp**:复制文件。
- `cp /路径/文件 ./`:将文件复制到当前目录。
2. **文件操作**
- **touch**:创建空文件。
- `touch file1 file2`:创建两个空文件。
- **vi**:文本编辑器。
- `vi 文件名`:打开或创建文件进行编辑。
- `i`:进入编辑模式。
- `Esc`:退出编辑模式。
- `:wq!`:保存并退出。
- `:q!`:不保存退出。
- **chmod**:更改文件权限。
- `chmod +x 文件名`:增加执行权限。
- **find**:查找文件。
- `find 路径 -name "字符串"`:查找指定名称的文件。
- **tar**:打包和压缩文件。
- `tar -zcvf benet.tar.gz /mnt`:打包并压缩文件夹。
- `tar -zxvf benet.tar.gz`:解压文件。
- **ping**:测试网络连通性。
- `ping IP地址`:发送ICMP请求包到指定IP地址。
- **telnet**:远程登录服务。
- `telnet IP地址 端口号`:连接到远程主机的指定端口。
3. **网络与系统管理**
- **ifconfig**:配置网络接口。
- `ifconfig eth0 up`:启动eth0网卡。
- **mount**:挂载文件系统。
- `mount -t 文件系统类型 设备路径 访问路径`:挂载文件系统。
- **rpm**:软件包管理工具。
- `rpm -ivh 包名.rpm`:安装rpm包。
- **yum**:软件包管理工具。
- `yum install 包名`:安装软件包。
- **kill**:终止进程。
- `kill PID`:终止指定进程ID的进程。
- **man**:查看命令的手册页。
- `man 命令名`:查看命令的帮助文档。
- **whereis**:查找命令的位置。
- `whereis 命令名`:查找命令的位置。
4. **文件内容查看**
- **cat**:显示文件内容。
- `cat 文件名`:显示文件内容。
- **more**:分页显示文件内容。
- `more 文件名`:分页显示文件内容。
- **grep**:搜索文件中的字符串。
- `grep 字符 文件名`:搜索文件中的特定字符串。
- 示例:
- `grep -ic --color=auto '异常' ca*`:查询文件名为ca开头中包含“异常”关键字在文件中出现的次数。
- `grep -i --color=auto '异常' ca*.out`:查询文件名为ca开头.out结尾中包含“异常”关键字在文件中出现的所有行。
5. **系统监控**
- **top**:实时显示系统中各个进程的状态。
- **vmstat**:显示内存、交换分区和CPU的使用情况。
#### 三、进阶技巧
- **命令组合**:结合管道和重定向使用,如 `find . -name "*.txt" | grep "error"`。
- **批处理**:利用shell脚本进行自动化任务处理。
- `#!/bin/bash`:脚本的头部声明。
- `./*.sh`:执行脚本。
#### 四、总结
本文档提供了Linux中常用的命令及其用法介绍,这些命令涵盖了目录操作、文件管理、网络与系统管理等方面。熟练掌握这些命令对于日常运维和开发工作都极为重要。此外,还提供了一些额外的资源链接,以便进一步学习和深入了解特定命令的功能。通过不断实践和探索,可以更高效地利用Linux系统完成各种任务。