目录
一、Linux的哲学思想
1.1 基础知识
1.2 根目录下的文件夹
二、Shell
1、Shell的定义
2、Shell的作用
三、Linux命令行
1、Linux通用命令行使用格式
四、Linux命令的分类
1、内部命令和外部命令的理解
2、内部命令和外部命令的区别
3、命令的执行过程
五、编辑Linux命令行
六、获得命令帮助的方法
6.1 内部命令 help
6.2 命令的“--help”选项
6.3 使用man命令阅读手册页
一、Linux的哲学思想
1. 一切都是一个文件。容易看(包括硬件,文本,二进制,源代码)
2. 系统中拥有小型,单一用途的程序。(一个程序只负责做好自己的本职工作)
3. 当遇到复杂任务,通过不同功能用途的程序组合起来完成。
4. 避免令人困惑的用户界面,就是没有复杂的图形界面。
5. 不在乎后缀名,有没有都无所谓,不是通过后缀名来定义文件的类型
1.1 基础知识
root #表示用户
localhost #主机名
~ #家目录
# #管理员用户
$ #普通用户
root #root的家目录
opt #opt目录
1.2 根目录下的文件夹
[root@localhost ~]#cd /
进入根目录
[root@localhost /]#ls
查看当前目录下的所有文件夹或文件
bin:存放二进制文件的地方,(二进制文件 电脑可以直接运行)
proc:内存环境中程序状态
内存:临时 临时修改:靠命令
硬盘:永久 永久修改:写入文件
boot: 开机启动需要的文件,操作系统 最重要的是内核文件,内核在boot文件夹中放配置文件用户
etc:放配置文件,用户信息,密码信息,软件配置
mnt:挂载点--空文件夹,经常用到
opt:空文件夹,存放后天安装的软件
tmp:存放临时文件
var:子目录 /var/log 日志
dev:存放硬件设备,典型:磁盘,光驱,输入(键盘鼠标),输出(显示器)
home:存放用户家目录的地方,家目录的上级目录
家目录:每一个用户都会有一个家目录,存放用户的基本配置信息,及个性化配置,存放用户自己的文档使用
root:用户 家目录在根下的root
lib :被调用的库32位操作系统使用
lib64:被调用的库64位操作系统使用
现在操作系统是不会出现32位, 32位最大只支持4G内存,64位
二、Shell
在了解之前我们要知道什么是程序?
程序是执行特定任务的一串代码。
操作系统也是程序,主要用来调度硬件。
Shell也是一种特殊程序
1、Shell的定义
shell是Linux系统中后台运行的一种特殊程序,也可以理解成一种特殊的软件,提供了用户与内核进行交互操作的一种接口。
2、Shell的作用
将人类使用的高级语言翻译成二进制。(在用户和内核之间充当“翻译官”)
linux用户 一旦登录系统必须加载一个翻译官——shell程序,那么这个程序就是/bin/bash
三、Linux命令行
- 命令的本质就是一个程序
1、Linux通用命令行使用格式
命令字 [选项] [对象]
注意点:
①英文字符区分大小
②选项和对象不是一定要写的,根据实际情况选择写与不写
命令字——你要干什么
- 是整条命令中最关键的一部分
- 唯一确定一条命令
选 项——修饰命令,添加额外的功能
- 短格式选项:使用“-”符号引导
- 长格式选项:使用“--”符号引导
- 多个单字符选项可以组合在一起使用,且没有顺序要求
- 选项也可以放在对象的后面
对 象——文件,文件夹,用户名等,如果不写,默认是当前文件夹或文件
四、Linux命令的分类
- 分为内部命令和外部命令
1、内部命令和外部命令的理解
内部是自带的命令
内部命令是 /bin/bash一部分,只要登录系统,内部命令直接就运行在内存中了
外部是后加的命令
2、内部命令和外部命令的区别
内部命令 | 外部命令 |
集成于Shell解释器程序内部的一些特殊指令也称为内建 (Built-in) 指令 | Linux系统中能够完成特定功能的脚本文件或二进制程序 |
属于Shell的一部分 | 属于Shell解释器程序之外的命令 |
没有单独对应的系统文件 | 每个外部命令对应了系统中的一个文件 |
自动载入内存,可以直接使用 | 必须知道其对应的文件位置,由Shell加载后才能执行 |
type 命令 可以查看该命令是内部命令还是外部命令
ls 是外部命令,cd是内部命令。但我们在具体使用时,即使不把 ls 命令的具体位置写出来也可以使用。为什么呢?这就要说到五个特殊文件夹
你和系统做了一个约定,有5个特殊文件夹,如果外部命令在这5个特殊文件夹里面,就可以直接写程序的名字调用, 不用关注文件的具体在什么位置。
如果程序不在规定的5个文件夹中,就需要将程序的位置写完整(从根开始描述程序的位置)
3、命令的执行过程
1.首先判断是内部还是外部命令,如果是内部直接执行
2.如果是外部命令,先看缓存空间是否有,如果有按照缓存空间中的位置执行,如果缓存位置中没有找到,直接报错
3.如果第一次执行,去看那五个特殊文件夹是否有,有直接执行,没有报错命令不存在。
我打一个命令,提示命令不存在,如何排错?
1.命令打错了
2.命令没有安装
3.命令不在规定的路径下
4.运行过命令,但是命令的位置发生改变了
五、编辑Linux命令行
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向上