当前位置: 首页 > news >正文

Linux命令的语法和帮助系统

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

一、Linux命令语法

1. 命令的组成结构

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

命令     选项     参数

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

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

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

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

2.  命令的格式和约束

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

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

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

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

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

项与项之间使用空格分隔

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

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

二、帮助系统

1.  查询命令的功能

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

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

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

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

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

[root@FuJiang ~]# mandb

2. 查询选项的作用

  选项的格式:

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

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

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

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

区别:短格式可以通过一个- 缩写在一起,而长格式不支持缩写(可以通过 --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 man1   Executable programs or shell commands2   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/passwd6   Games7   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

3. 查询软件的产品文档

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

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

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

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

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

@总结

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

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

whatis 查询命令的作用

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

man   查询系统的帮助手册页

info    查询更加详细的手册页

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

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

相关文章:

  • 海豚调度异常处理: 使用 arthas 在内存中删除启动失败的工作流
  • AMS(ActivityManagerService)源码解析2,Android应用是如何被启动的
  • 【Android】安Android Studio环境搭建注意点
  • QT
  • 练习时长 1 年 2 个月的 Java 菜鸡练习生最近面经,期望25K
  • article:文章信息表
  • 和鲸101计划:以神经计算建模培训,助力北大学术人才培养
  • lspci总结
  • 【最新鸿蒙应开发】——HarmonyOS沙箱目录
  • 【Kafka】Kafka Producer 分区-05
  • Python 使用 Thick 方式连接 Oracle Database BaseDB 23ai
  • 前端将Markdown文本转换为富文本显示/编辑,并保存为word文件
  • vue 之 vuex
  • HTML(6)——表单
  • 重装了mysql,然后安装为服务时,net start 启动一直报错,MySQL服务无法启动的解决
  • CSS居中完全指南——构建CSS居中决策树
  • ES10 特性的完整指南
  • es6--symbol
  • IOS评论框不贴底(ios12新bug)
  • JavaScript标准库系列——Math对象和Date对象(二)
  • maven工程打包jar以及java jar命令的classpath使用
  • Netty 框架总结「ChannelHandler 及 EventLoop」
  • spring cloud gateway 源码解析(4)跨域问题处理
  • Vue2.x学习三:事件处理生命周期钩子
  • windows下如何用phpstorm同步测试服务器
  • Xmanager 远程桌面 CentOS 7
  • 干货 | 以太坊Mist负责人教你建立无服务器应用
  • 关于for循环的简单归纳
  • 关于字符编码你应该知道的事情
  • 规范化安全开发 KOA 手脚架
  • 湖南卫视:中国白领因网络偷菜成当代最寂寞的人?
  • 开发基于以太坊智能合约的DApp
  • 利用jquery编写加法运算验证码
  • 日剧·日综资源集合(建议收藏)
  • 如何用Ubuntu和Xen来设置Kubernetes?
  • 使用权重正则化较少模型过拟合
  • 适配iPhoneX、iPhoneXs、iPhoneXs Max、iPhoneXr 屏幕尺寸及安全区域
  • 适配mpvue平台的的微信小程序日历组件mpvue-calendar
  • 探索 JS 中的模块化
  • 微信开源mars源码分析1—上层samples分析
  • 新手搭建网站的主要流程
  • 一个JAVA程序员成长之路分享
  • 7行Python代码的人脸识别
  • 如何在招聘中考核.NET架构师
  • ​【已解决】npm install​卡主不动的情况
  • (003)SlickEdit Unity的补全
  • (1)svelte 教程:hello world
  • (C++17) std算法之执行策略 execution
  • (vue)页面文件上传获取:action地址
  • (八)Flask之app.route装饰器函数的参数
  • (第61天)多租户架构(CDB/PDB)
  • (二刷)代码随想录第16天|104.二叉树的最大深度 559.n叉树的最大深度● 111.二叉树的最小深度● 222.完全二叉树的节点个数
  • (更新)A股上市公司华证ESG评级得分稳健性校验ESG得分年均值中位数(2009-2023年.12)
  • (九十四)函数和二维数组
  • (七)c52学习之旅-中断