用于启用或关闭命令的某个或某些功能
- BSD风格选项: 一个字母,例如:a
许多短选项都是长选项的缩写,比如 -a= --all
多选项可组合使用,以下三者等价:
命令的作用对象,比如:文件名、目录、用户名等
- 多个选项以及多参数和命令之间使用空白字符分隔
-
结束命令执行:Ctrl+C,Ctrl+D、 C是强制退出,D是正常退出
因为某些命令开始之后会一直不停进行 - 多个命令可以用 " ; " 符号分开
- 一个命令可以用 \ 分成多行
命令提示符有固定的格式,而且可以自定义
显示提示符当前格式:echo $PS1 严格区分大小写!!!
\e 控制符 也可写为\033(3137=七种字体颜色,4147=七种背景颜色)
\W 当前工作目录基名
\t 24小时时间格式
\T 12小时时间格式
#对各个元素颜色进行设置
\[\e [0m\] #标准结尾 若结尾在最后,则对提示符也生效
\\$ #\$表示提示符,第一个\用来对第二个进行转义
- 进入nano界面,将编写好的格式粘贴进去,直接ctrl+X退出会提示是否保存
- 按Y保存,然后按enter退出
- exit退出,重新登录看是否有效
Ubuntu修改提示符对应每个账户是独立的
- 输入当前用户的密码(而不是root的密码)
Linux分两种时间:
- 系统时钟(date):由Linux内核通过CPU的工作频率进行的
- 硬件时钟(clock):主板有自己单独的电池供电,保证记录时间
- 若不知道标准时间,ping一台联网的机器,
同步远程服务器的时间:ntpdate IP 即可同步系统时间,再使用clock -w即可同步硬件
3.3.2 查看硬件与软件
-
安装OS设置网卡为桥接模式,才能被其他人连接,NAT无法被连接!!!
看到多个网卡,lo与virbr0均为虚拟网卡,ens为物理网卡
+#:相对时间,表示多少min之后
hh:mm 表示绝对时间,在指定时间点生效
只能修改文本文件txt,不能用于二进制
命令行的典型使用方式是,打开一个终端窗口,在里面输入命令
用户与计算机的这种临时的交互,称为一次"会话"(session)
打开窗口,会话开始;关闭窗口,会话结束,会话内部的进程也会随之终止,不管有没有运行完
为了防止执行中的程序意外中断,会话与窗口可以"解绑":需要使用终端复用器软件
screen命令常见用法:
远程协助步骤:(B需要向A求助)
- B提供目标服务器的IP和账户与密码,A使用shell连接登录
- 此时两者画面同步,可看到公用窗口,A即可进行协助
- 结束后,A首先应该退出此次会话,使用 Ctrl+a,d进行剥离(先按Ctrl+a再按d)
(若直接关机或者注销,将会同时影响B)
终端复用器 tmux(也需要自行安装)
tmux 窗口有大量的快捷键,所有快捷键都要通过前缀键唤起(默认的前缀键是 Ctrl+b)
先按下Ctrl+b ,快捷键才会生效
新建会话 第一个启动的 Tmux 窗口,编号是0,第二个窗口的编号是1,以此类推
为了方便直观,一般会对新建的会话重命名:
一些常用命令:(还要按会话session、窗口windows、窗格panes分类)
一个会话可以有多个窗口,一个窗口可以有多个窗格
- 窗格之间切换 ctrl+b,再加方向键
- 当前窗格全屏显示 Ctrl+b, z(再使用一次会变回原来大小)
- 将当前窗格拆分为独立窗口 Ctrl+b, !
echo 命令可以将后面跟的字符进行输出,也能输出变量的值(echo $变量)
-
-E (默认)不支持 \ 解释功能
-
-e 启用 \ 字符的解释功能
启用命令选项-e,若字符串中出现以下字符,则特别加以处理,
而不会将它当成一般文字输出\c 最后不加上换行符号
\n 换行且光标移至行首
\r 回车,即光标移至行首,但不换行
shell中可执行的两类命令(本质区别在于,内部命令集成在shell中)
- 内部命令:由shell自带的,而且通过某命令形式提供(enable或者help)
- 外部命令:在文件系统路径下有对应的可执行程序文件($PATH或者hash)
某些命令可能同时属于两者,如echo:
因为shell不止一种,上述属于shell的意思是属于bash,其他shell未必有
命令 help 可以列出所有内部命令以及其帮助!!
- enable –n cmd 禁用内部命令(禁用是临时的,重启即失效)
- enable –n 查看所有禁用的内部命令
命令 ls /bin/ 列出此目录下所有文件(即为所有的外部命令)
查看某个外部命令文件路径:
执行外部命令过程:系统初始hash表为空,当外部命令执行时,默认会从PATH路径下寻找该命令,找到后会将这条命令的路径缓存到hash表中,当再次使用该命令时,shell解释器首先会查看hash表,存在将执行之,如果不存在,将会去PATH路径下寻找,若找不到,则无法执行。
常用的外部命令缓存在内存中的Hash缓存表
若路径被移动,则hash缓存信息错误,寻找不到,命令将无法执行
此时应该删除或者清空hash
别名alias:对命令进行自定义,达到简化效果
- 显示当前shell进程所有可用的命令别名:alias
注意:在命令行中定义的别名,仅对当前shell进程有效(重启失效)
如果想永久有效,要定义在配置文件中:
方法一:nano .bashrc进入,将alias内容贴入对应位置,保存退出
编辑配置之后,新配置不会立即生效,
若存在冲突,又想跳过别名直接执行原命令:反斜、单引、双引、command、全路径
3.5 常用简单快捷键
tab键可以实现命令及路径等补全,提高输入效率,避免出错
可用于外部命令和文件名、目录名
bash根据PATH环境变量定义的路径,自左而右在每个路径搜寻以给定命令名命名的文件,第一次找到的命令即为要执行的命令
注意:用户给定的字符串只有惟一对应的命令则直接补全,否则,再次Tab会给出列表
也可以利用此功能,双击tab查看所有可能的命令
路径补全:把用户给出的字符串当做路径开头,唯一则直接补全,否则再次Tab给出列表
-
上个世纪60年代,美国制定了一套字符编码,对英语字符与二进制位之间的关系,做了统一规定,即ASCII码
ASCII 码一共规定了128个字符的编码,占用了一个字节的后面7位,最前面的一位统一规定为0 -
为了表示世界上所有语言中的所有字符,每一个符号都给予一个独一无二的编码数字
Unicode 仅仅只是一个字符集,规定了每个字符对应的二进制代码,如何存储则没有规定UTF-8 是目前互联网上使用最广泛的一种 Unicode 编码方式,可变长存储
获取帮助的能力决定了技术的能力!
whatis 使用数据库来显示命令的简短描述
刚安装系统后不可立即使用whatis,需要手动制作数据库才能生效
3.7.2 查看命令的帮助
- man bash(查看所有内部命令)
--help或-h 选项:显示常用的绝大多数用法总结和参数列表
CAPS或 <> 表示变化的数据???????
... 表示一个列表,即可以跟多个选项
1、显示当前时间,格式: 10:20:30
3、创建一个新文件,命名为昨天的日期
#使用$()和``两种方式都可 #需要注意单引号与反引号区别!!!单引号忽略一切
man页面分组为不同的“章节”,统称为Linux手册:
4:设备文件及特殊文件
在man的详情页面,使用 / 字符可搜索关键字
/KEYWORD 以KEYWORD指定的字符串为关键字,从当前位置向文件尾部搜索
n: 下一个 N:上一个
man 帮助段落说明:
man命令的配置文件:配置文件定义了帮助文件所在的目录
#此时即可知道date是第一章的内容(p后缀表示开发相关,ssl后缀表示子命令) #若有多个章节,可以指明第几章直接进入1、在本机字符终端登录时,除显示原有信息外,再显示当前登录终端号,主机名和当前时间
#此处显示不是用命令实现,通过man命令查看具体指引,最终找到mingetty相关介绍 #因此进入issue文件修改加入\l,\n,\t即可2、设置今天22:30自动关机,并提示用户
info适合通用文档参考 没有参数
Tab键 移动到下一个链接
Home 显示主题首部
n/p/u/l 进入下/前/上一层/最后一个链接
3.7.7 命令自身提供的官方使用指南
多数安装了的软件包的子目录,包括了这些软件的相关原理说明
用 ll 显示列表,用cat查看内容
3.7.8 系统及第三方应用官方文档
- 红帽知识库和官方在线文档: