关于 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 去查询具体的命令的用法。
-
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本