目录
1. 一切都是一个文件。容易看(包括硬件,文本,二进制,源代码)
2. 系统中拥有小型,单一用途的程序。(一个程序只负责做好自己的本职工作) ? ??
3. 当遇到复杂任务,通过不同功能用途的程序组合起来完成。? ?
4. 避免令人困惑的用户界面,就是没有复杂的图形界面。 ?
5. 不在乎后缀名,有没有都无所谓,不是通过后缀名来定义文件的类型
基础知识
root #表示用户
localhost #主机名
~ #家目录
# #管理员用户
$ #普通用户
root #root的家目录
opt #opt目录
在了解之前我们要知道什么是程序?
程序是执行特定任务的一串代码。
操作系统也是程序,主要用来调度硬件。
Shell也是一种特殊程序
shell是Linux系统中后台运行的一种特殊程序,也可以理解成一种特殊的软件,提供了用户与内核进行交互操作的一种接口。
将人类使用的高级语言翻译成二进制。(在用户和内核之间充当“翻译官”)
?linux用户 一旦登录系统必须加载一个翻译官——shell程序,那么这个程序就是/bin/bash
命令字 [选项] [对象]
注意点:
①英文字符区分大小
②选项和对象不是一定要写的,根据实际情况选择写与不写
命令字——你要干什么
- 是整条命令中最关键的一部分
- 唯一确定一条命令
选? 项——修饰命令,添加额外的功能
- 短格式选项:使用“-”符号引导
- 长格式选项:使用“--”符号引导?
- 多个单字符选项可以组合在一起使用,且没有顺序要求
- 选项也可以放在对象的后面
对? 象——文件,文件夹,用户名等,如果不写,默认是当前文件夹或文件
内部是自带的命令
内部命令是 /bin/bash一部分,只要登录系统,内部命令直接就运行在内存中了
外部是后加的命令
内部命令 | 外部命令 |
集成于Shell解释器程序内部的一些特殊指令也称为内建 (Built-in) 指令 | Linux系统中能够完成特定功能的脚本文件或二进制程序 |
属于Shell的一部分 | 属于Shell解释器程序之外的命令 |
没有单独对应的系统文件 | 每个外部命令对应了系统中的一个文件 |
自动载入内存,可以直接使用 | 必须知道其对应的文件位置,由Shell加载后才能执行 |
type 命令 可以查看该命令是内部命令还是外部命令
ls 是外部命令,cd是内部命令。但我们在具体使用时,即使不把? ls? 命令的具体位置写出来也可以使用。为什么呢?这就要说到五个特殊文件夹
你和系统做了一个约定,有5个特殊文件夹,如果外部命令在这5个特殊文件夹里面,就可以直接写程序的名字调用, 不用关注文件的具体在什么位置。
如果程序不在规定的5个文件夹中,就需要将程序的位置写完整(从根开始描述程序的位置)
1.首先判断是内部还是外部命令,如果是内部直接执行
2.如果是外部命令,先看缓存空间是否有,如果有按照缓存空间中的位置执行,如果缓存位置中没有找到,直接报错
3.如果第一次执行,去看那五个特殊文件夹是否有,有直接执行,没有报错命令不存在。
我打一个命令,提示命令不存在,如何排错?
1.命令打错了
2.命令没有安装
3.命令不在规定的路径下
4.运行过命令,但是命令的位置发生改变了
TAB键 | 如果命令唯一,直接补全;如果不唯一,按两次显示全部可能 |
CTRL+c | 停止命令 |
CTRL+l | 清屏--实际上是将光标移动到顶行。 |
CTRL+r | 输入关键字查询命令,回车再次执行,左键显示在屏幕上。 |
CTRL+k | 清空至行尾 |
CTRL+u | 清空至行首 |
\ | 调整格式,强制换行 |
上下键 | 回看打过的命令 |
6.1? 内部命令? ?help
- ? ? ? ? ? 查看Shell内部命令的帮助信息
6.2? 命令的“--help”选项
- ? ? ? ? ? 适用于大多数Linux外部命令
6.3? 使用man命令阅读手册页
man分九个章节默认打开第一章节;
第一章节:命令的解释,默认打开
[root@localhost ~]# man passwd
第五章节:文件的格式
[root@localhost ~]# man 5 passwd 代表passwd文件的格式
- ? ? ? ? ? 使用" ↑"? ?“↓"方向键滚动一行文本
- ? ? ? ? ? 使用 Page Up 和 Page Down 键翻页
- ? ? ? ? ? ?按 Q 或 q 键退出阅读环境
- ? ? ? ? ? ?按" \ "键查找内容,n向下 N向上