80个常用shell命令及简单用法

Shell命令是Linux和Unix系统中的基础,用于完成各种操作,如文件管理、程序执行、文本处理等。下面列举一些常用的Shell命令,并详细解释它们的功能及应用场景:

  1. ls - 列出目录内容

    • 功能:列出指定目录中的文件和目录。
    • 应用场景:查看目录中的内容。
    • 例子:ls -lh 显示当前目录下的文件和目录,并以人类可读的格式显示文件大小。
  2. cd - 更改当前目录

    • 功能:更改Shell的当前工作目录。
    • 应用场景:在文件系统中导航。
    • 例子:cd /home/user 切换到 /home/user 目录。
  3. pwd - 打印当前目录

    • 功能:显示当前工作目录的完整路径。
    • 应用场景:找出当前所在目录。
    • 例子:pwd 输出当前目录路径。
  4. mkdir - 创建目录

  5. rmdir - 删除目录

  6. touch - 创建或更新文件

  7. rm - 删除文件或目录

  8. cp - 复制文件或目录

  9. mv - 移动或重命名文件或目录

  10. grep - 文本搜索

  11. find - 查找文件

  12. cat - 查看和连接文件

    • 功能:查看文件内容、连接多个文件内容到标准输出。
    • 应用场景:查看文件内容或合并文件。
    • 例子:cat file1.txt file2.txt 查看 file1.txtfile2.txt 的内容。
  13. echo - 输出文本

    • 功能:在标准输出(通常是终端)上显示一行文本或变量。
    • 应用场景:显示消息、变量值或将内容写入文件。
    • 例子:echo "Hello World" 显示 "Hello World"。
  14. tail - 查看文件末尾内容

    • 功能:显示文件的最后几行。
    • 应用场景:查看日志文件或其他持续增长文件的最新内容。
    • 例子:tail -f /var/log/syslog 实时查看系统日志文件的新更新。
  15. head - 查看文件开头内容

    • 功能:显示文件的前几行。
    • 应用场景:快速查看文件的开始部分。
    • 例子:head -n 5 file.txt 显示 file.txt 的前5行。
  16. sort - 排序文本文件中的行

    • 功能:按字母或数字顺序对文件内容进行排序。
    • 应用场景:排序或合并文件。
    • 例子:sort file.txtfile.txt 文件内容进行排序。
  17. uniq - 报告或省略重复行

    • 功能:从输入中删除重复的连续行。
    • 应用场景:处理排序后的文件,删除或统计重复行。
    • 例子:sort file.txt | uniq 对文件排序后删除重复行。
  18. cut - 剪切文本文件中的部分

    • 功能:按列提取文本文件的内容。
    • 应用场景:从文件中提取指定的列。
    • 例子:cut -d':' -f 1 /etc/passwd 提取 /etc/passwd 文件中以冒号分隔的第一列。
  19. awk - 强大的文本处理工具

    • 功能:用于模式扫描和处理语言的工具,非常适合文本处理。
    • 应用场景:复杂的文本处理,如分析、提取和报告。
    • 例子:awk '{print $2, $1}' file.txt 交换每行的第一和第二个字段。
    • 详细用法:19. 常用shell之awk的用法-CSDN博客
  20. sed - 流编辑器

    • 功能:对文本流(如文件)执行基本的文本转换。
    • 应用场景:文本替换、插入、删除等。
    • 例子:sed 's/old/new/g' file.txtfile.txt 中的 "old" 全部替换为 "new"。
    • 详细用法:20. 常用shell之sed的用法及优缺点-CSDN博客
  21. chmod - 更改文件权限

    • 功能:更改文件或目录的访问权限。
    • 应用场景:设置文件的读、写和执行权限。
    • 例子:chmod 755 script.sh 设置 script.sh 可被所有人读取和执行,只有所有者可写。
  22. chown - 更改文件所有者

    • 功能:更改文件或目录的所有者和组。
    • 应用场景:更改文件的所有权。
    • 例子:chown user:group file.txt 更改 file.txt 的所有者为 "user",组为 "group"。
  23. df - 显示磁盘空间使用情况

    • 功能:显示文件系统的磁盘空间使用情况。
    • 应用场景:监控磁盘空间。
    • 例子:df -h 以人类可读的格式显示磁盘空间使用情况。
  24. du - 显示目录空间使用情况

    • 功能:显示文件或目录所占用的磁盘空间。
    • 应用场景:查找占用大量磁盘空间的文件或目录。
    • 例子:du -sh /path/to/directory 显示指定目录的总磁盘使用量。
  25. ps - 查看活动进程

    • 功能:显示当前系统中的活动进程。
    • 应用场景:监控和管理进程。
    • 例子:ps aux 显示系统中所有进程的详细列表。
  26. top - 实时显示进程动态

    • 功能:实时显示进程及系统资源的使用情况。
    • 应用场景:动态监控系统和进程状态。
    • 例子:直接运行 top 会打开一个交互界面,显示当前活动进程及资源使用情况。
  27. kill - 终止进程

    • 功能:发送信号到进程,通常用于终止进程。
    • 应用场景:终止挂起的或无响应的进程。
    • 例子:kill -9 1234 强制终止 PID 为 1234 的进程。
  28. tar - 打包和解压文件

    • 功能:将文件打包成一个大文件,可选压缩或解压。
    • 应用场景:文件备份和压缩。
  29. crontab - 定时任务调度

    • 功能:安排定时任务。
    • 应用场景:自动执行周期性任务,如备份、脚本运行等。
    • 例子:crontab -e 打开定时任务编辑器,添加或修改计划任务。
  30. wget - 网络下载工具

    • 功能:从网络上下载文件。
    • 应用场景:命令行下载网页、文件等。
    • 例子:wget http://example.com/file.zip 下载指定URL的文件。
  31. curl - 数据传输工具

    • 功能:与服务器交换数据。
    • 应用场景:命令行下进行数据上传、下载,API测试等。
    • 例子:curl http://example.com 显示指定 URL 的内容。
  32. ssh - 安全远程登录

    • 功能:安全地远程登录到另一台计算机。
    • 应用场景:远程管理服务器或设备。
    • 例子:ssh user@example.com 使用 SSH 连接到 example.com。
  33. scp - 安全复制文件

    • 功能:通过 SSH 安全地传输文件。
    • 应用场景:在不同计算机间安全地复制文件。
    • 例子:scp file.txt user@example.com:/path 将本地的 file.txt 复制到远程服务器。
  34. iptables - 网络防火墙配置

    • 功能:配置 Linux 内核防火墙。
    • 应用场景:设置网络访问控制规则。
    • 例子:iptables -L 列出所有防火墙规则。
  35. df - 磁盘空间使用情况

    • 功能:显示文件系统的磁盘使用情况。
    • 应用场景:检查磁盘空间。
    • 例子:df -h 以人类可读的格式显示磁盘使用情况。
  36. du - 磁盘占用空间

    • 功能:估算和显示文件或目录所占磁盘空间。
    • 应用场景:分析磁盘空间使用。
    • 例子:du -sh /path/to/dir 显示指定目录的总占用空间。
  37. nano / vi / vim - 文本编辑器

    • 功能:在命令行中编辑文本文件。
    • 应用场景:创建和修改配置文件或编写代码。
    • 例子:nano file.txtvi file.txt 打开文件进行编辑。
  38. jobs - 列出后台作业

    • 功能:显示当前后台运行的作业。
    • 应用场景:管理后台进程。
    • 例子:jobs 列出所有后台作业。
  39. fg - 将后台作业移到前台

    • 功能:将后台作业移至前台继续运行。
    • 应用场景:继续在前台操作被暂停的作业。
    • 例子:fg %1 将作业号为1的后台作业移到前台。
  40. bg - 将作业放到后台运行

    • 功能:使作业在后台继续运行。
    • 应用场景:将暂停的作业放到后台继续运行。
    • 例子:bg %1 将作业号为1的作业放到后台。
  41. alias - 创建命令别名

    • 功能:为长命令或常用命令创建短的别名。
    • 应用场景:简化复杂的命令或常用命令序列。
    • 例子:alias ll='ls -l' 创建 ll 作为 ls -l 的别名。
  42. unalias - 移除别名

    • 功能:删除之前创建的别名。
    • 应用场景:删除不再需要的命令别名。
    • 例子:unalias ll 移除 ll 这个别名。
  43. env - 查看环境变量

    • 功能:显示当前用户的环境变量。
    • 应用场景:查看或设置环境变量。
    • 例子:env 显示当前所有环境变量。
  44. export - 设置或显示环境变量

    • 功能:创建新的环境变量或修改现有的环境变量。
    • 应用场景:配置程序运行时的环境设置。
    • 例子:export PATH=$PATH:/new/path 添加 /new/path 到现有的 PATH 环境变量。
  45. unset - 删除环境变量或函数

    • 功能:删除指定的环境变量或函数。
    • 应用场景:清理不再需要的环境变量或函数。
    • 例子:unset PATH 删除 PATH 环境变量。
  46. which - 显示命令的完整路径

    • 功能:显示指定命令的完整路径。
    • 应用场景:确定正在使用的命令的位置。
    • 例子:which ls 显示 ls 命令的路径。
  47. whereis - 查找文件

    • 功能:定位命令、源文件和手册页的位置。
    • 应用场景:查找程序相关文件的位置。
    • 例子:whereis python 查找 Python 的可执行文件和源码位置。
  48. man - 显示命令手册

    • 功能:显示命令的手册页(帮助文档)。
    • 应用场景:学习特定命令的用法和选项。
    • 例子:man ls 显示 ls 命令的手册页。
  49. history - 命令历史

    • 功能:显示用户命令历史。
    • 应用场景:回顾或重用之前的命令。
    • 例子:history 显示命令历史列表。
  50. chmod - 更改文件权限

    • 功能:更改文件或目录的权限。
    • 应用场景:控制对文件和目录的访问。
    • 例子:chmod 755 filename 设置文件的读、写、执行权限。
  51. chown - 更改文件所有者和组

    • 功能:更改文件或目录的所有者和组。
    • 应用场景:管理文件和目录的所有权。
    • 例子:chown user:group filename 更改文件的所有者和组。
  52. gzip / gunzip - 压缩和解压文件

    • 功能:使用 Gzip 压缩或解压文件。
    • 应用场景:减小文件大小以节省空间或便于传输。
    • 例子:gzip file 压缩文件,gunzip file.gz 解压文件。
  53. zip / unzip - 压缩和解压 ZIP 文件

    • 功能:创建和解压 ZIP 格式的压缩文件。
    • 应用场景:文件打包和压缩。
    • 例子:zip archive.zip file1 file2 压缩文件,unzip archive.zip 解压文件。
  54. watch - 定期执行命令

    • 功能:定期执行命令并显示其输出。
    • 应用场景:监视命令的输出,如系统资源、进程状态等。
    • 例子:watch df -h 每隔2秒更新并显示磁盘空间使用情况。
  55. df - 显示磁盘使用情况

    • 功能:显示系统中文件系统的磁盘使用情况。
    • 应用场景:监控磁盘空间使用。
    • 例子:df -h 以人类可读的格式显示磁盘空间使用情况。
  56. free - 查看内存使用情况

    • 功能:显示系统的空闲和已用内存及交换空间。
    • 应用场景:监控内存使用情况。
    • 例子:free -m 以 MB 为单位显示内存使用情况。
  57. ping - 检查网络连接

    • 功能:发送 ICMP ECHO_REQUEST 以测试目标主机的可达性。
    • 应用场景:诊断网络连接问题。
    • 例子:ping google.com 测试与 google.com 的网络连接。
  58. netstat - 网络统计信息

    • 功能:显示网络连接、路由表、接口统计等网络信息。
    • 应用场景:网络问题诊断和分析。
    • 例子:netstat -a 显示所有网络连接。
  59. traceroute - 跟踪网络路径

    • 功能:显示数据包到达主机所经过的路由。
    • 应用场景:网络路径分析。
    • 例子:traceroute google.com 跟踪到 google.com 的路径。
  60. dig - 查询 DNS 信息

    • 功能:查询 DNS 名称服务器信息。
    • 应用场景:DNS 故障诊断和信息查询。
    • 例子:dig example.com 查询 example.com 的 DNS 信息。
  61. nslookup - 查询 DNS 信息

    • 功能:查询域名的 DNS 信息。
    • 应用场景:DNS 问题调试。
    • 例子:nslookup google.com 查询 google.com 的 DNS 信息。
  62. ifconfig - 配置或显示网络接口参数

    • 功能:配置或显示网络接口的网络参数。
    • 应用场景:网络配置和故障排查。
    • 例子:ifconfig eth0 显示或配置名为 eth0 的网络接口。
  63. iwconfig - 配置无线网络接口

    • 功能:用于配置无线网络接口的参数。
    • 应用场景:无线网络接口配置。
    • 例子:iwconfig wlan0 查看或配置名为 wlan0 的无线网络接口。
  64. hostname - 显示或设置系统的主机名

    • 功能:显示或设置系统的主机名。
    • 应用场景:管理系统主机名。
    • 例子:hostname 显示当前系统主机名。
  65. useradd / userdel - 添加或删除用户

    • 功能:添加或删除系统用户。
    • 应用场景:用户账户管理。
    • 例子:useradd newuser 添加新用户,userdel olduser 删除用户。
  66. groupadd / groupdel - 添加或删除组

    • 功能:添加或删除用户组。
    • 应用场景:用户组管理。
    • 例子:groupadd newgroup 添加新组,groupdel oldgroup 删除组。
  67. passwd - 更新用户密码

    • 功能:更新用户的密码。
    • 应用场景:修改用户账户密码。
    • 例子:passwd username 修改指定用户的密码。
  68. chgrp - 更改文件或目录的群组

    • 功能:更改文件或目录的群组归属。
    • 应用场景:管理文件或目录的群组权限。
    • 例子:chgrp groupname file 更改文件的群组。
  69. chmod - 更改文件或目录的权限

    • 功能:更改文件或目录的访问权限。
    • 应用场景:管理文件或目录的访问权限。
    • 例子:chmod 755 file 设置文件的权限。
  70. su - 切换用户身份

    • 功能:切换当前用户身份到另一个用户。
    • 应用场景:临时以其他用户身份执行命令。
    • 例子:su - username 切换到指定用户。
  71. sudo - 以超级用户身份执行命令

    • 功能:以超级用户或指定用户身份执行命令。
    • 应用场景:执行需要管理员权限的命令。
    • 例子:sudo apt update 以超级用户身份更新软件包列表。
  72. apt-get / yum / dnf - 包管理器

    • 功能:软件包安装和管理(基于发行版)。
    • 应用场景:安装、更新和移除软件包。
    • 例子:apt-get install nginx 安装 Nginx(在基于Debian的系统上)。
  73. mount / umount - 挂载或卸载文件系统

    • 功能:挂载或卸载文件系统。
    • 应用场景:管理设备或存储的挂载点。
    • 例子:mount /dev/sdb1 /mnt 挂载设备,umount /mnt 卸载。
  74. fdisk - 磁盘分区工具

    • 功能:查看和修改磁盘分区表。
    • 应用场景:磁盘分区管理。
    • 例子:fdisk /dev/sda 修改 /dev/sda 磁盘的分区表。
  75. mkfs - 创建文件系统

    • 功能:在分区上创建新的文件系统。
    • 应用场景:格式化分区,准备存储使用。
    • 例子:mkfs.ext4 /dev/sdb1/dev/sdb1 创建一个新的 ext4 文件系统。
  76. fsck - 检查和修复文件系统

    • 功能:检查和修复文件系统的一致性和完整性。
    • 应用场景:修复损坏或不一致的文件系统。
    • 例子:fsck /dev/sda1 检查并修复 /dev/sda1 分区。
  77. dd - 转换和复制文件

    • 功能:复制文件并在复制过程中进行指定的转换。
    • 应用场景:备份整个磁盘或分区,创建启动盘等。
    • 例子:dd if=/dev/sda of=/dev/sdb 将 sda 磁盘的内容复制到 sdb 磁盘。
  78. find - 查找文件和目录

    • 功能:在目录树中查找文件和目录。
    • 应用场景:搜索文件和目录,执行搜索到的文件上的操作。
    • 例子:find / -name "*.conf" 在根目录下查找所有以 .conf 结尾的文件。
  79. locate - 快速查找文件

    • 功能:基于数据库快速查找文件的位置。
    • 应用场景:快速定位文件。
    • 例子:locate nginx.conf 快速查找名为 nginx.conf 的文件。
  80. tar - 打包和压缩/解压缩文件

    • 功能:创建文件档案,并可选地对其进行压缩或解压缩。
    • 应用场景:文件打包和压缩。
    • 例子:tar -czvf archive.tar.gz /path/to/dir

相关推荐

  1. 80shell命令简单

    2023-12-11 22:44:03       38 阅读
  2. 命令简单shell语句

    2023-12-11 22:44:03       26 阅读
  3. linux命令

    2023-12-11 22:44:03       10 阅读
  4. 100shell命令

    2023-12-11 22:44:03       20 阅读
  5. Redis命令指令、描述简单举例

    2023-12-11 22:44:03       35 阅读
  6. 20npm命令详解

    2023-12-11 22:44:03       12 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-11 22:44:03       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-11 22:44:03       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-11 22:44:03       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-11 22:44:03       20 阅读

热门阅读

  1. 如何理解冲突域和广播域

    2023-12-11 22:44:03       48 阅读
  2. [ERROR] 不再支持源选项 6

    2023-12-11 22:44:03       37 阅读
  3. vim常用键位总结

    2023-12-11 22:44:03       34 阅读
  4. 【Android】使用Netty库来实现Socket接收

    2023-12-11 22:44:03       43 阅读
  5. Android Kotlin 泛型:强大的类型抽象和重用利器

    2023-12-11 22:44:03       39 阅读
  6. Android 依据Build相关信息判断机型

    2023-12-11 22:44:03       39 阅读
  7. CF1898B Milena and Admirer(贪心)

    2023-12-11 22:44:03       44 阅读
  8. Mybatis进阶知识

    2023-12-11 22:44:03       41 阅读
  9. C#的参数数组

    2023-12-11 22:44:03       39 阅读
  10. Linux CUDA11.6 Python3.8 安装pytorch-geometric

    2023-12-11 22:44:03       45 阅读
  11. druid在没有web的项目中如何查看监控

    2023-12-11 22:44:03       83 阅读
  12. SAP UI5 walkthrough step10 Descriptor for Applications

    2023-12-11 22:44:03       29 阅读