菜鸟科技网

Linux注释命令有哪些?如何正确使用?

Shell 脚本中的注释

在 Shell 脚本(如 .sh 文件)中,注释的作用是解释代码逻辑,方便自己或他人理解和维护。

Linux注释命令有哪些?如何正确使用?-图1
(图片来源网络,侵删)

单行注释

使用 符号,从 开始到该行末尾的所有内容都会被 Shell 解释器忽略。

语法:

# 这是注释内容

示例:

#!/bin/bash
# 这是一个简单的 Shell 脚本,用于演示注释功能
# 作者:Your Name
# 日期:2025-10-27
# 定义一个变量
name="Linux"
# 输出变量值
echo "Hello, $name!" # 这行代码会打印 "Hello, Linux!"

重要提示:

Linux注释命令有哪些?如何正确使用?-图2
(图片来源网络,侵删)
  • 必须是行首或者前面有空格/Tab。 出现在引号(单引号或双引号)内部,它会被当作普通字符,而不是注释符号。
  • #!/bin/bash 这行(称为 Shebang), 不是注释,它有特殊含义,告诉系统使用哪个解释器来执行这个脚本。

配置文件中的注释

在 Linux 的各种配置文件中,注释的规则由该文件的具体格式决定,最常见的规则是使用 或 作为注释符。

使用 作为注释符

这是最常见的方式,广泛用于系统配置文件和应用配置文件中。

示例文件 (/etc/fstab 的一部分):

# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
# /dev/sda1 was on / during installation
UUID=1234abcd-56ef-78gh-90ij-klmnopqrstuv / ext4    defaults 0 1

在上面的例子中,所有以 开头的行都是注释,解释了文件的结构和各个字段的含义。

Linux注释命令有哪些?如何正确使用?-图3
(图片来源网络,侵删)

使用 作为注释符

一些配置文件,特别是某些服务或软件的自定义配置文件,会使用分号 作为注释符。

示例 (一个常见的 ini 风格配置文件):

; 这是一个 ini 风格的配置文件
; server_port 定义了服务监听的端口号
[database]
host = localhost
port = 3306
user = admin
[server]
port = 8080 ; 服务监听的端口号

以 开头的行是注释,在 port = 8080 这一行, 及其后面的内容也是注释。

使用 或 作为注释符

这种风格通常出现在编程语言或特定工具的配置文件中,nginx 的配置文件 (nginx.conf) 就支持 C 语言风格的注释。

示例 (nginx.conf 的一部分):

# 这是 nginx 的主配置文件
user  nginx;
worker_processes  1;
error_log  /var/log/nginx/error.log warn;
pid        /var/run/nginx.pid;
events {
    worker_connections  1024;
}
http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;
    # 日志格式定义
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';
    access_log  /var/log/nginx/access.log  main;
    sendfile        on;
    #tcp_nopush     on;
    keepalive_timeout  65;
    #gzip  on;
    # 包含站点配置文件
    include /etc/nginx/conf.d/*.conf;
}

虽然 nginx.conf 主要使用 ,但它也支持 C 风格的注释,这在一些更复杂的配置中可以看到:

/* 这是一个多行注释块
   可以跨越多行来解释复杂的配置块 */
server {
    listen 80;
    server_name example.com;
    // 这也是一个单行注释
    location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm;
    }
}

如何给已执行的命令添加注释?

你可能想在终端历史记录中留下一个带有注释的命令,方便以后查找,直接在命令前加 是无效的,因为 Shell 会忽略它。

方法:使用 (空命令) 和 && (逻辑与)

是一个空命令,它什么都不做,但总是返回成功(退出码为 0)。&& 表示如果前面的命令成功执行,就执行后面的命令。

语法:

# : 注释内容 && 实际要执行的命令

示例: 假设你想安装 vim 并加上注释说明用途。

# 错误方式 (不会执行安装)
# 安装编辑器 vim
sudo apt-get install vim
# 正确方式
: 安装编辑器 vim && sudo apt-get install vim

当你执行这行命令时:

  1. 命令执行成功。
  2. 因为 &&sudo apt-get install vim 被执行。
  3. 当你按 键查看历史记录时,你会看到完整的一行 安装编辑器 vim && sudo apt-get install vim,清晰地记录了你的操作意图。

场景 注释符号 示例 备注
Shell 脚本 # 这是一个脚本注释 最常用,必须是行首或前面有空格。
配置文件 (通用) # 这是一个配置注释 /etc/fstab, /etc/hosts 等常用。
配置文件 (部分) ; 这是一个配置注释 一些 ini 风格的文件使用。
配置文件 (Nginx等) , , # 注释/* 注释 */ 类似 C 语言风格。
终端历史记录 && 注释 && command 用于在命令前添加说明性文字。

掌握这些注释方法,能让你的脚本和配置文件更具可读性和可维护性。

分享:
扫描分享到社交APP
上一篇
下一篇