### Linux 操作命令详解
#### 一、ls - 查看文件和目录列表
- **基本用法**:`ls [选项] [路径名]`
- `ls`:列出当前目录下的所有文件和子目录。
- `ls -a`:列出包括隐藏文件在内的所有文件和子目录。
- `ls -l`:以长格式列出文件和目录的详细信息,如权限、拥有者、大小等。
- `ls -h`:在长格式输出中使用易于理解的单位(如K、M、G)。
- **特殊符号**:
- `~`:表示用户的家目录。
- `.`:表示当前目录。
- `..`:表示上一级目录。
- **文件权限解析**:
- `drwxr-xr-x`:其中第一个字符表示文件类型,`d`表示目录,`-`表示普通文件。
- 接下来的三组三个字母分别表示文件所有者(owner)、文件所属组(group)、其他用户(others)的权限。
- `r`:读权限。
- `w`:写权限。
- `x`:执行权限。
- 例如:`drwxr-xr-x`表示该目录可以被所有人读和执行,但只有所有者可以写入。
#### 二、rm - 删除文件或目录
- **基本用法**:`rm [选项] 文件或目录`
- `rm -rf`:强制删除文件或目录,无需确认。
- 使用时需谨慎,一旦删除,文件将不可恢复。
#### 三、grep - 文本搜索工具
- **基本用法**:`grep [选项] 模式 文件`
- 用于搜索文本文件中的特定模式。
- 常与管道(`|`)结合使用,进行多步过滤。
#### 四、文件和目录管理
- **创建目录**:`mkdir [目录名]`
- **切换目录**:`cd [路径名]`
- **查看当前目录**:`pwd`
- **创建文件**:`touch [文件名]`
- **显示文件内容**:`cat [文件名]`
- **移动/重命名文件**:`mv [源文件名] [目标文件名]`
- **向文件追加内容**:`echo [内容] >> [文件名]`
#### 五、文件内容处理
- **从文件顶部获取内容**:`head [选项] [文件名]`
- 示例:`head -n 3 data.java` 显示文件前3行内容。
- **从文件底部获取内容**:`tail [选项] [文件名]`
#### 六、用户和权限管理
- **查看当前用户**:`whoami`
- **创建用户并指定用户组**:`useradd -g [组名] [用户名]`
- 示例:`useradd -g changegp01 addgpu01` 创建用户`addgpu01`并将其加入`channgegp01`组。
- **切换用户**:`su [用户名]`
- 不指定用户名时,默认切换至`root`用户。
- **给予用户最高权限**:`sudo` 或 `sudo su`
#### 七、系统信息和资源管理
- **查看磁盘空间使用情况**:`df [选项]`
- **磁盘分区工具**:`fdisk [选项]` 用于查看或修改磁盘分区表。
#### 八、文件查找
- **查找文件**:`find [选项] [路径] -name [文件名]`
- 示例:`find . -name "data.txt" -type f -exec cat {} \;` 查找当前目录及其子目录下名为`data.txt`的文件,并显示其内容。
- **按文件名查找**:`find [路径] -name [文件名]`
- 示例:`find test "test"` 在`test`目录中查找名为`test`的文件。
#### 九、其他实用命令
- **退出当前会话**:`exit`
- **查询已安装软件包**:`rpm -qa`
- **测试网络连通性**:`ping [IP地址|域名]`
以上总结了Linux中常用的文件和目录管理、文本搜索、用户管理以及系统信息查询等相关命令,这些命令是日常运维工作中不可或缺的基础技能。熟悉并掌握它们能极大提高工作效率和问题解决能力。