### Linux常用命令及其实用用法详解
在Linux操作系统的广阔世界中,命令行界面(CLI)是用户与系统交互的强大工具,掌握Linux常用命令不仅能够提高工作效率,还能让你更深入地理解操作系统的运作机制,本文将详细介绍一系列Linux常用命令及其用法,帮助初学者快速上手并进阶为Linux高手。
#### 1. 文件与目录管理
**ls**
`ls`命令用于列出目录内容,基本用法如下:
- `ls`:列出当前目录下的文件和目录。
- `ls -l`:以长格式列出信息,包括文件权限、所有者、大小等。
- `ls -a`:显示所有文件,包括以`.`开头的隐藏文件。
- `ls -lh`:结合`-l`和`-h`选项,以易读的格式(如KB、MB)显示文件大小。
**cd**
`cd`命令用于改变当前工作目录。
- `cd /path/to/directory`:切换到指定路径的目录。
- `cd ~`:切换到当前用户的主目录。
- `cd ..`:切换到上一级目录。
- `cd -`:切换到上一次所在的目录。
**pwd**
`pwd`命令显示当前工作目录的完整路径。
**mkdir**
`mkdir`命令用于创建新目录。
- `mkdir newdir`:创建名为`newdir`的新目录。
- `mkdir -p newdir/subdir`:递归创建目录,包括所有不存在的父目录。
**rm**
`rm`命令用于删除文件或目录(需慎用)。
- `rm filename`:删除名为`filename`的文件。
- `rm -r directory`:递归删除名为`directory`的目录及其内容。
- `rm -rf directory`:强制递归删除目录及其内容,不会询问确认。
**cp**
`cp`命令用于复制文件或目录。
- `cp source destination`:将`source`复制到`destination`。
- `cp -r source_dir destination_dir`:递归复制目录。
**mv**
`mv`命令用于移动或重命名文件/目录。
- `mv source destination`:将`source`移动到`destination`,如果`destination`是文件名,则相当于重命名。
- `mv -i source destination`:在覆盖文件前提示用户确认。
#### 2. 文本处理
**cat**
`cat`命令用于查看文件内容、合并文件等。
- `cat filename`:查看文件内容。
- `cat file1 file2 > file3`:将`file1`和`file2`的内容合并到`file3`中。
**grep**
`grep`命令用于搜索文件内容,并输出匹配的行。
- `grep "pattern" filename`:搜索`filename`中包含“pattern”的行。
- `grep -i "pattern" filename`:忽略大小写搜索。
- `grep -r "pattern" directory`:递归搜索目录中的文件。
**sed**
`sed`(stream editor)是一种流编辑器,用于对文本进行过滤和转换。
- `sed 's/old/new/g' filename`:将文件`filename`中所有的“old”替换为“new”。
**awk**
`awk`是一个强大的文本分析工具,用于模式扫描和处理语言。
- `awk '{print $1}' filename`:打印文件`filename`中每行的第一个字段(默认字段分隔符为空格或制表符)。
#### 3. 系统管理与监控
**top**
`top`命令用于实时显示系统中各个进程的资源占用情况。
- 默认情况下,`top`会显示CPU、内存等使用情况以及当前运行的进程列表。
**ps**
`ps`命令用于显示当前系统中的进程状态。
- `ps aux`:显示系统中所有用户的所有进程信息。
**df**
`df`命令用于显示磁盘空间的使用情况。
- `df -h`:以易读的格式(如GB)显示磁盘空间使用情况。
**du**
`du`命令用于估计文件或目录的磁盘空间使用量。
- `du -sh directory`:显示指定目录的总大小(以易读格式)。
**free**
`free`命令用于显示系统的内存使用情况。
- `free -h`:以易读的格式显示内存使用情况。
#### 4. 网络操作
**ping**
`ping`命令用于测试主机之间网络的连通性。
- `ping hostname`:向指定的主机发送ICMP回显请求,以检查网络连通