Linux命令的语法和帮助系统

原笔记:https://note.youdao.com/s/A5W9xU4L

一、Linux命令语法

  1. 命令的组成结构

一条完整的Linux命令由三个部分构成

命令 选项 参数

命令指的是用来实现某一个功能

选项通常用来完善命令的功能

参数指的是被操作的对象(对象可以是用户名、文件名、路径...)

同时: 选项和参数在某些命令中是可以省略;但是命令是不能省略

  1. 命令的格式和约束

命令和选项之间使用空格分隔

命令和参数之间使用空格分隔

选项和参数之间使用空格分隔

选项和选项之间使用空格分隔

参数和参数之间使用空格分隔

项与项之间使用空格分隔

如果需要一次执行多条命令,则使用分号;来分隔多条命令

  • 使用分号 ; 时,不论前一个命令是否成功,后一个命令都会执行。
  • 使用 && 时,只有前一个命令成功,后一个命令才会执行。

二、帮助系统

  1. 查询命令的功能

whatis 用来查询命令的作用(也就是该命令是干什么的)

遇到未知的命令使用whatis查询 是最快

whatis 使用的是系统的帮助手册页来进行查询(帮助手册就是man手册);因此只有man中记录的命令可以查询到,并非所有的命令都可以查询到;但是绝大部分的Linux指令都是被man所收纳的,因此大部分命令都可以查询到

useradd 是在man中出现的标题;(8)表示该内容记录在man这本书的第八章节

如果是新装的系统第一次使用whatis 来进行查询,则需要使用mandb生成索引缓存

[root@FuJiang ~]# mandb

  1. 查询选项的作用

选项的格式:

      • 第一种 - 将其称为选项的短格式
      • 第二种 -- 将其称为选项的长格式

长格式一般表示一个完整的含义

短格式一般是长格式的缩写;是为了让用户更好敲命令

注:并非所有的选项都有长短格式,一般有长格式的选项通常会有短格式

区别:短格式可以通过一个- 缩写在一起,而长格式不支持缩写(可以通过 --help查看是否有长短格式)

eg:ls --all --size = ls -a -s = ls -as = ls -sa

可以通过 --help查看是否有长短格式:

a.查询命令自身携带的帮助来查看选项的作用

--help 查询命令本身的帮助, 这一类帮助通常是由程序的开发者来进行定义

[root@FuJiang ~]# date --help

b. 查询系统的帮助页,也就是man的手册

man 查询的关键字 eg. [root@FuJiang ~]# man date

man这本书一共有九章:

[root@FuJiang ~]# man man 查看

第一章: 用户的命令(也就是普通用户可以执行的命令)

第二章:系统调用

第三章:系统函数

第四章: 系统设备文件

第五章: 常用文件的格式

第六章:游戏

第七章:软件包帮助

第八章: 超级管理员命令(也就是root可以执行的命令)

第九章: kernel的api

[root@FuJiang ~]# man man
       1   Executable programs or shell commands
       2   System calls (functions provided by the kernel)
       3   Library calls (functions within program libraries)
       4   Special files (usually found in /dev)
       5   File formats and conventions, e.g. /etc/passwd
       6   Games
       7   Miscellaneous (including macro packages and conventions), e.g. man(7), groff(7)
       8   System administration commands (usually only for root)
       9   Kernel routines [Non standard]

这本书在 /usr/share/man (man也提供了中文,但是中文里面的man手册命令支持不全)

man的使用技巧:

man 章节 查询的内容 可以在指定章节查询内容 e.g. man 1p ls

man --k 搜索指定关键字所在的章节 e.g. man --k passwd

c.选项和参数的特殊用法

选项和参数部分:

[] 中括号表示是一个可选项

<> 表示其是一个必选项,且会有变量

大写字母表示其是一个必选项

... 表示是一个列表(列表指的是可以接多个参数或者选项)

[+FORMAT] 表示其为一个固定格式(固定格式后面是一个整体)

        • eg. date +%Y 查看年 date +%Y-%m-%d 回显=2024-01-02 (类似于编程语言的print输出)

因为中间有空格,所以需要引号使其变成一个整体,+号已经为一个整体,放在里面和外面都可以

a|b|c 表示三选一,也就是从多个中选择一个

[MMDDhhmm[[CC]YY][.ss]] 表示也是一个特定格式(man里面没有,可以查询info)

d. 查询额外的帮助手册 info

info记录的信息比man更新详细,一般是先查man,如果在man中查询不到再查info e.g. info date

  1. 查询软件的产品文档

服务器的配置(vpn、vsftpd、httpd、mariadb)

产品文档的释放目录:/usr/share/doc

通常会以软件名字在该目录下创建一个同名的目录作为产品文档的存放路径

4.查询红帽的案例资料库

https://access.redhat.com 查询红帽的知识库中发生过的类似案例

@总结

因此一条完整的Linux帮助查询方式应该为:

对于一条未知的Linux命令查询的顺序:

whatis 查询命令的作用

--help 查询命令本身的帮助

man 查询系统的帮助手册页

info 查询更加详细的手册页

/usr/share/doc 查询命令所携带的产品文档

access.redaht.com 查询红帽的在线知识库

相关推荐
康熙38bdc6 分钟前
Linux 环境变量
linux·运维·服务器
存储服务专家StorageExpert22 分钟前
DELL SC compellent存储的四种访问方式
运维·服务器·存储维护·emc存储
hakesashou1 小时前
python如何比较字符串
linux·开发语言·python
Ljubim.te1 小时前
Linux基于CentOS学习【进程状态】【进程优先级】【调度与切换】【进程挂起】【进程饥饿】
linux·学习·centos
cooldream20091 小时前
Linux性能调优技巧
linux
大G哥1 小时前
记一次K8S 环境应用nginx stable-alpine 解析内部域名失败排查思路
运维·nginx·云原生·容器·kubernetes
醉颜凉2 小时前
银河麒麟桌面操作系统修改默认Shell为Bash
运维·服务器·开发语言·bash·kylin·国产化·银河麒麟操作系统
QMCY_jason2 小时前
Ubuntu 安装RUST
linux·ubuntu·rust
慕雪华年2 小时前
【WSL】wsl中ubuntu无法通过useradd添加用户
linux·ubuntu·elasticsearch
苦逼IT运维2 小时前
YUM 源与 APT 源的详解及使用指南
linux·运维·ubuntu·centos·devops