目录
一、Shell
shell是Linux系统中后台运行的一种特殊程序也可以理解成一种特殊的软件,提供了用户与内核进行交互操作的一种接口。在用户和内核之间充当"翻译器"
用户登录linux系统时,自动加载一个shell程序
bash是linux系统中默认使用的shell程序(文件位于/bin/bash)。
用户使用应用程序发布指令比如 (使用浏览器访问网页)
shell去通知操作系统需要进行什么样的操作(相当于解释层)
内核相当于操作系统去指挥硬件
硬件才能工作,否则无法交互。
1.1、查看当前的shell
echo $SHELL
1.2、查看其他shell
cat /etc/shells
1.3、切换窗口
bash相当于切换窗口
二、linux命令的分类
- 内部命令 在系统启动时就调入内存,是常驻内存的,所以执行效率非常高。
- 外部命令 是系统软件的功能,用户需要时才从硬盘中读入到内存中,当一个外部命令被执行时,一个新的进程即被创建同时命令被执行【比如说,当我们执行“ls”(通常被保存在/bin目录下)命令时,然后/bin/ls被执行】
shell分为内部命令和外部命令, 一般先执行内部命令再执行外部命令(别名最大)
2.1、内部命令
2.1.1、type区分查看
-a 可以看到外部命令会有程序路径
2.1.2、whereis可以查找命令具体的位置所在
也有相关文档的帮助的命令
2.2、禁用内部命令
enable -n
如果不加-n
参数,enable可以重新启动已关闭的指令。
恢复
扩展
2.3、外部命令
外部命令存放于 echo $PATH 一个一个找,找到为止,找不到就报无命令
外部命令使用过后会被记录在内存(缓存,但是会占用内存,临时性的)加快读取速度
部命令本身并不会被“缓存”,因为它们已经是Shell解释器的一部分,始终在内存中。
2.3.1、查看缓存
Linux系统为每个shell都维护了一个hash表,用于记录已执行过的外部命令的路径。当shell再次需要执行这些命令时,它会首先查看hash表,如果找到相应的命令路径,则直接执行,而不需要再去环境变量PATH
指定的目录中查找。
全删除-r
单删除-d
三、辅助快捷键
a头e尾 U(you)K(可以,ok)
快捷键 | 功能描述 |
---|---|
Tab 键 | 自动补齐 |
反斜杠 "\" | 强制换行 |
Ctrl+U 组合键 | 清空至行首 |
Ctrl+K 组合键 | 清空至行尾 |
Ctrl+L 组合键 | 清屏 |
Ctrl+C 组合键 | 取消本次命令编辑 |
Ctrl+E 组合键 | 光标跳到行尾 |
Ctrl+A 组合键 | 光标跳到行头 |
四、命令帮助
4.1、命令帮助help和--help
4.1.1、内部命令help
查看shell内部命令的帮助信息
4.1.2、命令的"--help"选项
适用于大多数linux外部命令
4.2、man手册的使用
linux的命令手册大全
用法:man cd
q退出
或者
man ls | col -b >lsman.txt
col -b
:col
命令用于过滤文本,特别是用于处理文本文件中的行宽和制表符。-b
选项告诉col
命令去除输入中的粗体(bold)和其他控制字符。这对于处理从man
命令输出的手册页内容特别有用,因为man
命令的输出通常会包含用于格式化的控制字符。- 管道:用竖杠符号“|”表示,用于将前面命令的屏幕输出结果作为后面命令的操作对 象(输入)。就好像一根管道一样,从这头塞入内容,从另一头出来。
- 重定向输出:用大于符号“>”表示,前面的命令成功执行以后,其屏幕输出结果将 保存到“>”号后边指定的文件中,而不是直接输出到屏幕,因此称为重定向。
然后
sz -b lsman.txt
用于从 Unix/Linux 系统向 Windows 客户端发送(sz
)
然后可以查看
五、相对路径的表现形式
没有以/为开头的都是相对路径
表现形式 | 说明 | 示例 |
---|---|---|
直接使用目录名或文件名 | 表示当前工作目录中的子目录、文件的位置 | grub.conf |
以一个点号“.”开头 | 表示以当前的工作目录作为起点 | 这里通常是相对路径,不需要斜杠,如 "./grub.conf" |
以两个点号“..”开头 | 表示以当前目录的上一级目录(父目录)作为起点 | 同样,这里是相对路径,如 "../vmlinuz" |
以“~用户名”形式开头 | 表示以指定用户的宿主目录作为起点 | ~teacher |
六、命令格式
命令字 [选项】 [参数】
命令字是整条命令中最关键的一部分(唯一确定一条命令)
短格式选项:使用"-"符号引导(多个参数可以组合)
长格式选项:使用"--"符号引导(一般是help和version)
参数 每个有其对应的含义,也可以文件名,目录 (路径)名或用户名等内容
\ 换行可以继续输入
七、查找命令的存放目录
which 命令用于查找 Linux 命令程序并显示所在的具体位置,其搜索范围主要由用户的环境变量 PATH 决定(可以执行“echo $PATH”命令查看),这个范围也是 Linux 操作系统在执行命令或程序时的默认搜索路径。
which命令只能用于查找命令所在路径,不能查找普通文件,后面会讲find查找普通文件。