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