关于 Linux 的学习

命令的注意点

  • [Awa@study ~]$ command [-options] parameter1 parameter2 ...
  • parameter 1 parameter 2 为依附在选项后面的参数,或是command的参数。

  • 中括号 [] 并不存在于实际的命令中,只是可选项的标志。在使用该可选项时,通常选项前会带 - 号,例如 -h;有时候会使用选项的完整全名,则选项前会带有 -- 符号,例如 --help;

  • 命令、选项、参数等几个东西中间以空格来区分,不论空几格shell都视为一格,所以空格是很重要的特殊字符。

  • 按下回车键后,该命令就立即执行,回车键代表一行命令的开始启动。

  • 命令太长的时候,可以使用反斜杠(“\”)来转义回车键,使命令连续到下一行,注意,反斜杠后就立刻接着特殊字符才能转义。

  • 在Linux系统中,英文大小写字母是不一样的,cd与CD功能并不同。

  • 一行命令中第一个被输入的字符绝对是命令(command)或者是可执行的文件(如shell脚本)

基础命令

  • 显示日期与时间:date

    • date格式化输出:date +%Y/%m/%d

  • 显示日历:cal

    • cal [month] [year]

  • 简单好用的计算器:bc (bc默认仅输出整数)

    • 输入 scale=number 命令才能获取小数点后位数

  • 在命令行退出小程序是用 quit 指令,退出命令行用 exit 指令

  • 看到光标在 [Awa@study ~]$ 这个提示字符后面,那就是命令行的等待命令输入环境下。

重要热键

Tab键
  • [Tab] 连续按下两次,会出现命令或者文件名的提示信息

  • [Tab] 接在一串命令的第一个字段后面,则为【命令补全】。

  • [Tab] 接在一串命令的第二个字段后面,则为【文件名补齐】。

  • 若安装了 Bash-completion 软件,则在某些命令后面使用 [Tab] 按键时,是进行【命令可执行的选项/参数的补齐】功能,会替换掉【文件名补齐】。

Ctrl + c
  • 可以将正在运行的命令中断,即中断目前的程序。

Ctrl + d
  • 代表:键盘输入结束(end of file / end of input)

  • 如果你想要直接离开命令行模式,可以直接按下 Ctrl + d 就能够直接离开(相当于输入exit)

shift + [page up]/[page down]
  • 纯命令行模式下,某些命令输出信息想当长,导致前面的部分已经不在目前的屏幕中时,可以使用这个组合键往前/后翻页。

错误信息的查看

  • Linux的默认程shell程序是Bash

  • command not found 的三个可能原因:

    • 因为该命令归属的软件没有安装,解决方法就是安装该软件。

    • 这个命令所在的目录目前的用户并没有把它加入命令查找路径中,就是PATH添加的问题。

    • 打错字了

Linux 系统的在线求助 man page 与 info page

  • 在centos 7.x中,不输入任何内容仅仅按下两次 [Tab] 按键来显示所有命令的功能被取消了,现在只能先打个命令字母开头,然后连按两下 [Tab] 键来显示所有可能的命令。

  • 以理解在什么情况下应该要使用哪方面的命令为准,只有在考证的时候才去死记硬背。

  • 开发者已经将可以使用的命令语法和参数写入命令操作过程中,只需在命令后使用 --help 这个参数,就能将该命令的用法作一个大致的输出

  • 在Linux下面我们需要学习完成任务的方式,而不用硬背命令参数。

  • --help 用于协助你查询“你已知的命令所具备的选项和参数”,但你要使用你没用过的命令,或者你要查询的根本就不是命令而是文件的格式时,就得通过 [man page] 命令了。

[man page]
  • man是manual(操作说明)的简写,只要执行 man + 命令 就可以获取详实的说明。

  • LANG=“en_US.utf8”  临时改变 命令行中文为英文制格式

  • 进入man命令的功能后,你可以按下 [空格键] 往下翻页,可以按下 [q] 按键来离开man的环境。

  • (数字) 代表一般用户可以使用的命令,可以通过 [man man] 这个命令 获得如下表格的关于数字含义的详细说明:

代号代表内容
1 用户可在 shell 环境中可以操作的命令或可执行文件
2 系统内核可调用的函数与工具等
3 一些常用的函数 (function) 与函数库 (library) ,大部分为 C 的函数库 (libc)
4 设备文件的说明,通常在 /dev 下的文件
5 配置文件或者是某些文件的格式
6 游戏 (games)
7 惯例与协议等,例如 Linux 文件系统、网络协议、ASCII代码等的说明
8 系统管理员可用的管理命令
9 跟内核有关的文件

  • man page 的内容分成几个部分加以介绍命令,大致分块情况如下:

代号内容说明
NAME 简短的命令、数据名称说明
SYNOPSIS 简短的命令语法 (syntax) 简介
DESCRIPTION 较为完整的说明,这部分需要仔细看看。
OPTIONS 针对SYNOPSIS 部分中,有列举的所有可用的选项说明
COMMANDS 当这个程序 (软件) 在执行的时候,可以在此程序 (软件) 中执行的命令。
FILES 这个程序或数据所使用或参考或链接到的某些文件
SEE ALSO 可以参考跟这个命令或数据有相关的其他说明
EXAMPLE 一些可以参考的范例

  • 通常在查询某个数据时有经验的人会这样查看:

    • 先查看 NAME 的部分,粗看一下这个数据的意思。

    • 接着详细看一下 DESCRIPTION ,这个部分会提到很多相关的数据与使用时机,从这个地方可以学到很多细节。

    • 如果这个命令原本已经很熟悉了,那么主要就是查询关于 OPTIONS 的部分;这样可以知道每个选项的意义,可以执行比较详细的命令内容。

    • 最后再看一下跟这个数据有关的还有哪些东西可以使用,举例来说,上面的 SEE ALSO 就告知我们还可以利用 [info coreutils date] 来进一步查看帮助。

    • 某些说明内容还会列举有关的文件 (FILES部分) 来给我们提供参考

  • 可以用 空格键/[page up]/[page down] 来翻页,特别是你知道某些关键词的时候,你可以在详情页里的任何时候输入 [/关键词] 来主动查找相关的部分。 当你按下【/】的时候,光标就会移动到屏幕的最下面一行,并等待你输入你想要查找的字符串了。


  • 一些常用的 man page 功能按键整理如下:

  • 注意,以下按键是在 man page 的界面中才能使用的。

按键工作效果
空格键 向下翻一页
[page up] 向上翻一页
[page down] 向下翻一页
[Home] 去到第一页
[End] 去到最后一页
/string 向【下】查找 string 这个字符串,如果要查找 vbird 的话,就输入 /vbird 。
?string 向【上】查找 string 这个字符串
n,N 利用 / 或 ?字符来查找字符串时,可以用 n 来继续下一个查找(不论是 / 或者 ?),可以利用 N 来进行【反向】查找。举例说明为:以 /vbird 查找vbird字符串时,可以按下 n 继续往下查询,按下 N 往上查询;若以 ?vbird 向上查询 vbird 字符串,用 n 继续【向上】查询,用 N 反向【往下】查询。这两个按键在重复查找某个字符串时使用
q 结束本次的 man page

  • 不同的发行版 man page 的存放位置可能会存在差异,不过,通常是放在 /usr/share/man 这个目录里,我们可以通过修改它的 man page 查找路径来改善这个目录的问题,通过修改 /etc/man_db.conf (有的版本为 man.conf 或 manpath.conf 或 man.config 等)即可,更多的 man 信息可以使用 [man man] 命令来查询。


    查找特定命令/文件的 man page 说明文件
    • 在某些情况下,你可能知道要使用某些特定的命令或者是修改某些特定的配置文件,但是偏偏忘记了该命令的完整名称,有些时候则是你只记得该命令的部分关键词。这个时候你要如何查出来你所想要知道的 man page ?

      • 你可否查出系统中还有哪些跟【man】这个命令有关的说明文件?

      • [Awa@study ~]$ man -f man
        man(1) - an interface to the on-line reference manuals
        man(1p) - display system documentation
        man(7) - macros to format man pages
      • 使用 -f 这个选项就可以取得更多与 man 相关的信息,而上面这个结果当中也有提示 (数字) 的内容,举例来说,第三行的【man(7)】表示有个 man(7) 的说明文件存在,但同时也有个 man(1) 存在;那当我们执行【man man】的时候到底是指向哪一个说明文件呢?

      • [Awa@study ~]$ man 1 man <==这里使用man(1)的文件说明
        [Awa@study ~]$ man 7 man <==这里使用man(7)的文件说明
      • 当忘记执行数字,只输入【man man】的时候取出的数据跟查找的顺序有关,查找的顺序记录在 /etc/man_db.conf 这个配置文件中,先查找到的那个说明文件会被先显示出来,一般根据数字排序会先找到数字较小那个。

    • 此外,我们还可以利用关键词找到更多的文件说明数据,什么是关键词?在上面的【man -f man】输出的结果中,我们知道其实输出的数据是:

      • 左边部分:命令(或文件)以及该命令所代表的含义(即数字代表的含义)

      • 右边部分:这个命令的简易说明,例如上述的【-macros to format man pages】

    • 当使用【man -f 命令】时,man只找输出数据中的左边那个命令(或文件)的完整名称,有一点不同都不行。

    • 如果我想找的知识关键词呢?即上述左右部分只要包含关键词就显示所有内容,不需要写出完全相同的命令(或文件)时就能够找到。

      • 找出系统说明文件中包含 man 这个关键词的说明文件

      • [Awa@study ~]$ man -k man
        fallocate(2) - manipulate file space
        zshall(1) - the Z shell meta-man page
          ......
        yum-config-manager (1) - manage yum configuration options and yum repositories
        yum-groups-manager (1) - create and edit yum's group metadate
        yum-utils (1) - tools for manipulating repositories and Extended package management
      • man 命令的两个简略写法

      • [Awa@study ~]$ whatis [命令或是文件] <==相当于man -f [命令或是文件]
        [Awa@study ~]$ apropos [命令或是文件] <==相当于man -k [命令或是文件]
      • 注意:上述两个特殊命令的使用需要建立 whatis 数据库,建立这个数据库需要以 root 的身份执行如下的命令。

      • [Awa@study ~]# mandb #旧版的 Linux 这个命令是使用 makewhatis 。这个版本开始是使用 mandb 了。

    • 有经验的人会去记住几个常见的命令,其他需要的都是依赖 man 命令去查找。比如:“打印”的相关命令,仅记得 lp (line print) 的话,就由 man lp 开始去找相关的说明,然后再以 lp [tab] [tab] 去找到任何以 lp 开头的命令,找到有可能有点相关的命令后,先以 --help 去查基本的用法,若有需要再以 man 去查询具体的命令的用法

posted on   愿将过往均储藏  阅读(27)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示