目录
其实就是一个程序,一串代码。而用一个程序得先安装这个程序
如ls命令由代码构成,执行的任务是显示当前文件夹中的所有文件=程序
shell 分为内部命令 和外部命令,一般先执行内部命令,hash 再执行外部命令
内部命令 | 外部命令 |
---|---|
集成于Shell解释器程序内部的一些特殊指令,也称为内建(Built-in)指令 | Linux系统中能够完成特定功能的脚本文件或二进制程序 |
属于Shell的一部分 | 属于Shell解释器程序之外的命令 |
没有单独对应的系统文件 | 每个外部命令对应了系统中的一个文件 |
自动载入内存,可以直接使用 | 必须知道其对应的文件位置,由Shell加载后才能执行 |
关闭:enable -n 内部命令
开启:enable 内部命令
外部命令使用过后会被记录在内存(缓存,但是会占用内存,临时性的),可以加快读取速度。
如果将缓存的外部命令移到其他默认的目录中,无法再次使用,需要清掉hash值之后 ,才可以继续使用
hash -d? ? ? ? ? ? ?//单独删除缓存里某个的命令
hash -r? ? ? ? ? ? ?//清空hash命令缓存
①首先判断是内部还是外部命令,如果是内部命令直接执行
②如果是外部命令,先看缓存空间是否有该外部命令,如果有按照hash缓存空间中的位置执行,如果缓存位置中没有直接报错
③如果是第一次执行外部命令,去看系统中规定的那五个特殊文件夹中是否有,有就直接执行,没有报错命令不存在
①该命令输写错误
②命令没有安装到Linux系统中
③命令不在规定的路径下
④运行过该命令,但是命令所在的位置发生了改变
#表示root用户登录
$表示的是普通用户
su - 用户名? ? ? ? ? //切换用户
命令提示符解析:
命令字? ??空格? ? ?[选项]? ? 空格? ? [对象]
?注:
命令字:
选项:
对象:
“;”号:可以在一行中隔开命令,执行多个命令
快捷键 | 功能 |
---|---|
Tab 键 | 自动补齐(两次可以显示所有选项) |
反斜杠“\” | 强制换行或转义 |
Ctrl+e 或 end 键 | 光标移到最后 |
Ctrl+U | 清空至行首不包括当前光标处的字符 |
Ctrl+K | 清空至行尾包括当前光标处的字符 |
Ctrl+a | 光标移到最前 |
Ctrl+w | 从当前光标删除到开头 |
ALT+d | 从当前光标删除末尾 |
Ctrl+l | 清屏 |
Ctrl+c | 取消本次命令编辑 |
Ctrl+s/Ctrl+q | 锁屏/解锁 |
向上下箭头 | 回看执行过的命令 |
格式说明(扩展)
CAPS或< >表示可变化的数据
...表示一个列表可加多个一个或多个
x|y|z 表示或的意思
-abc 是-a -b -c (有些命令选项有先后顺序) 多个 -abc 一般而言是没有顺序先后 (绝大多数是没有的,只有少数分先后
[root@localhost ~]# ls --help
[root@localhost dev]# useradd --help
man 1(可省略) 命令:显示命令的用法
man 5 passwd:查看passwd文件的格式
man界面中如何查看?
字符 | 说明 |
---|---|
- | 普通文件文本 |
c | 字符设备,一次只能录入一个字符,比如键盘 |
b | 块设备,硬盘读写文件时是一整块一整块的读和写 |
s | 套接字,根据ip和端口号传递信息 |
p | 管道,数据只能沿着一个方向传输(|? 表示管道) |
l | 软连接快捷方式 |
d | 目录文件 |
显示当前所在目录的完整路径
切换目录(文件夹)
?cd ~/什么都不加:表示当前用户的家目录
cd -:返回上一次的目录,但只有一次机会
?注:
绝对路径 | 从根(/)开始描述文件的位置 | 有且唯一 | 无论在哪里都可以准确找到某一个文件 |
---|---|---|---|
相对路径 | 从当前路径开始描述文件的文章 | 有可能不唯一 | 如果参照物变了,就找不到文件 |
列表,显示当前文件夹下的所有文件
选项 | 说明 |
---|---|
-l | 长格式显示详细的文件信息 |
-d | 只显示文件夹的详细信息,不显示该文件夹下的文件信息 |
-a | 显示隐藏文件夹 |
-A | 显示隐藏文件夹,但不包括当前文件夹(.)和上个文件夹(..) |
-R | 递归显示 |
-r | 倒序显示 |
-t | 时间显示 |
-s | 按文件排序显示 |
-i | 显示文件的inode(相当于身份证号码)号 |
-h | 个性化显示,加单位 |
-color | 显示颜色,其中蓝色表示文件夹,黑色表示普通文件,红色表示压缩文件 |
注:
?