### Linux常用命令详解 Linux作为一款高度可定制且功能丰富的操作系统,在服务器管理和开发环境中占据了举足轻重的地位。为了帮助用户更好地理解和运用这些基础命令,本文将详细介绍这80个常用的Linux命令及其应用场景。 #### 1. **ls - 列出目录内容** - **用途**:列出指定目录下的文件和子目录列表。 - **常用选项**: - `-a` 显示所有文件及目录,包括隐藏文件。 - `-l` 以长格式显示文件详细信息。 - `-h` 人性化显示文件大小。 - `-t` 按照最后修改时间排序。 - **示例**:`ls -alh` #### 2. **cd - 更改目录** - **用途**:改变当前工作目录到指定路径。 - **示例**:`cd /path/to/directory` #### 3. **pwd - 打印工作目录** - **用途**:显示当前工作目录的完整路径。 - **示例**:`pwd` #### 4. **mkdir - 创建目录** - **用途**:创建一个或多个目录。 - **示例**:`mkdir new_directory` #### 5. **rmdir - 删除空目录** - **用途**:删除一个或多个空目录。 - **示例**:`rmdir empty_dir` #### 6. **touch - 创建空文件或更新文件时间戳** - **用途**:创建一个新文件或者更改现有文件的时间戳。 - **示例**:`touch new_file.txt` #### 7. **cp - 复制文件或目录** - **用途**:复制文件或目录到另一个位置。 - **常用选项**: - `-r` 递归复制目录。 - **示例**:`cp file.txt /path/to/destination` - **示例**:`cp -r source_directory /path/to/destination` #### 8. **mv - 移动或重命名文件或目录** - **用途**:移动文件或目录到另一个位置,或者重命名文件或目录。 - **示例**:`mv file.txt new_file.txt` #### 9. **rm - 删除文件或目录** - **用途**:删除文件或目录。 - **常用选项**: - `-r` 递归删除目录。 - `-f` 强制删除,不提示确认。 - **示例**:`rm file.txt` - **示例**:`rm -rf directory` #### 10. **cat - 连接文件并打印到标准输出** - **用途**:显示文件内容或合并多个文件。 - **示例**:`cat file.txt` #### 11. **more - 分页显示文件内容** - **用途**:分页查看大文件内容。 - **示例**:`more largefile.txt` #### 12. **less - 类似于 more,但提供向前和向后翻页** - **用途**:分页查看文件内容,支持更多交互操作。 - **示例**:`less file.txt` #### 13. **head - 显示文件的开头部分** - **用途**:显示文件的前几行。 - **常用选项**: - `-n` 显示指定行数。 - **示例**:`head -n 10 file.txt` #### 14. **tail - 显示文件的结尾部分** - **用途**:显示文件的后几行。 - **常用选项**: - `-f` 跟踪文件新增内容。 - **示例**:`tail -f log.txt` #### 15. **grep - 搜索文本并打印匹配行** - **用途**:在文件中搜索特定模式。 - **常用选项**: - `-i` 忽略大小写。 - `-v` 取反搜索结果。 - **示例**:`grep "error" log.txt` #### 16. **find - 搜索文件并执行操作** - **用途**:根据指定条件查找文件。 - **常用选项**: - `-name` 根据文件名搜索。 - `-type` 指定文件类型 (d - 目录, f - 文件)。 - `-mtime` 根据修改时间搜索。 - **示例**:`find /path/to/search -name "*.txt"` #### 17. **which - 查找并显示命令的路径** - **用途**:显示命令的完整路径。 - **示例**:`which ls` #### 18. **whereis - 定位二进制、源和手册页** - **用途**:查找命令的二进制文件、源代码文件和手册页的位置。 - **示例**:`whereis ls` #### 19. **locate - 定位文件位置** - **用途**:快速查找文件位置。 - **示例**:`locate *.txt` #### 20. **chmod - 更改文件或目录的权限** - **用途**:更改文件或目录的访问权限。 - **常用选项**: - `u` 用户权限。 - `g` 组权限。 - `o` 其他用户权限。 - `+` 添加权限。 - `-` 删除权限。 - **示例**:`chmod u+x file.txt` #### 21. **chown - 更改文件或目录的所有者** - **用途**:更改文件或目录的所有者。 - **示例**:`chown user:group file.txt` #### 22. **chgrp - 更改文件或目录的组** - **用途**:更改文件或目录所属的组。 - **示例**:`chgrp group file.txt` #### 23. **ln - 创建链接** - **用途**:创建文件的硬链接或符号链接。 - **常用选项**: - `-s` 创建符号链接。 - **示例**:`ln -s original_file link_file` #### 24. **du - 显示目录或文件的磁盘使用情况** - **用途**:报告文件或目录占用的磁盘空间。 - **常用选项**: - `-h` 以易读的方式显示。 - **示例**:`du -h /path/to/directory` #### 25. **df - 报告文件系统的磁盘空间使用情况** - **用途**:显示文件系统磁盘空间的使用情况。 - **示例**:`df -h` #### 26. **sync - 将缓冲的块写入磁盘** - **用途**:确保磁盘缓存中的数据被同步到磁盘。 - **示例**:`sync` #### 27. **tar - 打包、压缩或解压文件** - **用途**:打包或压缩文件。 - **常用选项**: - `c` 创建新的归档文件。 - `x` 从归档文件中提取文件。 - `z` 使用 gzip 压缩/解压。 - `j` 使用 bzip2 压缩/解压。 - `J` 使用 xz 压缩/解压。 - **示例**:`tar czvf archive.tar.gz directory` #### 28. **gzip - 压缩或解压文件** - **用途**:使用 gzip 算法压缩或解压文件。 - **示例**:`gzip file.txt` #### 29. **gunzip - 解压 gzip 压缩的文件** - **用途**:解压 gzip 压缩的文件。 - **示例**:`gunzip file.txt.gz` #### 30. **bzip2 - 压缩或解压文件** - **用途**:使用 bzip2 算法压缩或解压文件。 - **示例**:`bzip2 file.txt` #### 31. **xz - 高压缩率的压缩工具** - **用途**:使用 xz 算法压缩文件。 - **示例**:`xz file.txt` #### 32. **unxz - 解压 xz 压缩的文件** - **用途**:解压 xz 压缩的文件。 - **示例**:`unxz file.txt.xz` #### 33. **zip - 创建 zip 压缩文件** - **用途**:创建 zip 压缩文件。 - **示例**:`zip archive.zip file.txt` #### 34. **unzip - 解压 zip 文件** - **用途**:解压 zip 文件。 - **示例**:`unzip archive.zip` #### 35. **wget - 从网络上下载文件** - **用途**:从互联网下载文件。 - **示例**:`wget http://example.com/file.txt` #### 36. **curl - 传输数据** - **用途**:下载或上传文件,支持多种协议。 - **示例**:`curl -O http://example.com/file.txt` #### 37. **ping - 测试主机是否可达** - **用途**:测试网络连通性。 - **示例**:`ping www.example.com` #### 38. **traceroute - 显示数据包到达目标主机的路径** - **用途**:追踪数据包到达目的地的路径。 - **示例**:`traceroute www.example.com` #### 39. **netstat - 显示网络状态** - **用途**:显示网络连接、路由表、接口统计等信息。 - **示例**:`netstat -an` #### 40. **ifconfig - 配置或显示系统网络接口参数** - **用途**:配置网络接口。 - **示例**:`ifconfig eth0 up` #### 41. **route - 显示或修改路由表** - **用途**:查看或修改路由表。 - **示例**:`route add default gw 192.168.1.1` #### 42. **ssh - 安全的远程登录客户程序** - **用途**:通过 SSH 协议安全地远程登录其他计算机。 - **示例**:`ssh user@remote.host` #### 43. **scp - 安全复制文件到/从远程主机** - **用途**:通过 SSH 协议安全地复制文件。 - **示例**:`scp file.txt user@remote.host:/path/to/remote` #### 44. **rsync - 同步文件和目录** - **用途**:高效地同步文件或目录。 - **示例**:`rsync -avz /local/path user@remote.host:/remote/path` #### 45. **crontab - 定时执行命令** - **用途**:设置定时任务。 - **示例**:`crontab -e` #### 46. **at - 安排一次性任务** - **用途**:安排一次性定时任务。 - **示例**:`at now + 10 minutes` #### 47. **top - 实时显示系统进程** - **用途**:实时显示系统中正在运行的进程信息。 - **示例**:`top` #### 48. **htop - 增强版的 top 命令** - **用途**:提供比 top 更丰富的界面和交互功能。 - **示例**:`htop` #### 49. **ps - 显示当前进程** - **用途**:显示系统当前运行的进程信息。 - **示例**:`ps aux` #### 50. **kill - 发送信号到进程** - **用途**:发送信号给进程。 - **示例**:`kill -9 1234` #### 51. **pkill - 通过名称杀死进程** - **用途**:根据进程名称杀死进程。 - **示例**:`pkill firefox` #### 52. **nice - 更改程序的优先级** - **用途**:启动新进程时设置其优先级。 - **示例**:`nice -n 5 sleep 100` #### 53. **renice - 更改正在运行的进程的优先级** - **用途**:更改正在运行的进程的优先级。 - **示例**:`renice -n 5 -p 1234` #### 54. **free - 显示内存状态** - **用途**:显示系统的内存使用情况。 - **示例**:`free -m` #### 55. **vmstat - 报告虚拟内存统计信息** - **用途**:显示有关虚拟内存的信息。 - **示例**:`vmstat 1` #### 56. **iostat - 报告 CPU 和输入/输出统计信息** - **用途**:显示关于 CPU 和设备的 I/O 使用情况的统计信息。 - **示例**:`iostat -x 1` #### 57. **mpstat - 报告 CPU 使用情况** - **用途**:显示每个处理器核心的 CPU 使用情况。 - **示例**:`mpstat -P ALL 1` #### 58. **df -h - 以易读的格式显示磁盘空间** - **用途**:以人类易于理解的方式显示磁盘空间。 - **示例**:`df -h` #### 59. **du -h - 以易读的格式显示目录的磁盘使用** - **用途**:以人类易于理解的方式显示目录的磁盘使用情况。 - **示例**:`du -sh /path/to/directory` #### 60. **alias - 创建命令别名** - **用途**:为命令创建别名。 - **示例**:`alias ll='ls -l'` #### 61. **unalias - 删除别名** - **用途**:删除命令别名。 - **示例**:`unalias ll` #### 62. **history - 显示用户命令历史** - **用途**:显示用户的历史命令记录。 - **示例**:`history` #### 63. **echo - 显示一行文本** - **用途**:显示一行文本或变量值。 - **示例**:`echo "Hello, World!"` #### 64. **printf - 格式化并打印数据** - **用途**:格式化并打印数据。 - **示例**:`printf "%s\n" "Hello, World!"` #### 65. **test - 检查条件表达式** - **用途**:检查条件表达式的结果。 - **示例**:`test -f file.txt && echo "File exists."` #### 66. **if - 条件语句** - **用途**:根据条件执行命令。 - **示例**:`if [ "$var" = "value" ]; then echo "True"; fi` #### 67. **case - 多模式选择结构** - **用途**:根据不同的模式执行相应的命令。 - **示例**:`case $var in value1) echo "Value is value1";; *) echo "Unknown value";; esac` #### 68. **for - 循环结构** - **用途**:循环执行一系列命令。 - **示例**:`for i in {1..5}; do echo $i; done` #### 69. **while - 循环结构,直到条件为假** - **用途**:当条件为真时继续循环。 - **示例**:`while [ $var -lt 5 ]; do echo $var; ((var++)); done` #### 70. **until - 循环结构,直到条件为真** - **用途**:当条件为假时继续循环。 - **示例**:`until [ $var -gt 5 ]; do echo $var; ((var++)); done` #### 71. **sed - 流编辑器** - **用途**:对文本流进行编辑。 - **示例**:`sed 's/old/new/g' file.txt` #### 72. **awk - 模式扫描和处理语言** - **用途**:用于处理文本文件,特别是报告生成和数据处理。 - **示例**:`awk '{print $1}' file.txt` #### 73. **sort - 对文本行进行排序** - **用途**:按字母顺序或其他方式对文本行进行排序。 - **示例**:`sort file.txt` #### 74. **uniq - 报告或忽略重复的行** - **用途**:从文件中去除重复的行。 - **示例**:`uniq file.txt` #### 75. **diff - 比较文件的差异** - **用途**:比较两个文件的不同之处。 - **示例**:`diff file1.txt file2.txt` #### 76. **comm - 比较两个排序文件的行** - **用途**:比较两个已排序的文件,并输出只存在于其中一个文件中的行。 - **示例**:`comm file1.txt file2.txt` #### 77. **join - 将两个排序文件的行连接起来** - **用途**:根据公共字段连接两个文件。 - **示例**:`join -1 1 -2 1 file1.txt file2.txt` #### 78. **split - 将文件分割成多个更小的文件** - **用途**:将大文件分割成多个较小的文件。 - **示例**:`split -l 1000 largefile.txt` #### 79. **tr - 删除或替换字符** - **用途**:替换或删除文本中的字符。 - **示例**:`tr 'a-z' 'A-Z' < file.txt` #### 80. **expand - 将制表符转换为空格** - **用途**:将制表符转换为空格。 - **示例**:`expand -t 4 file.txt` 以上列举的命令是 Linux 用户日常工作中最常用的命令之一。熟练掌握这些命令能够极大地提高工作效率,无论是对于初学者还是高级用户来说都是必不可少的基础知识。
- 粉丝: 1285
- 资源: 53
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助