一、初识Linux
1.1 Linux命令
- 用于实现某一类功能的指令或程序
- 命令的执行依赖于解释器程序(例如:/bin/bash )
1.2 Linux命令的分类
- 内部命令∶属于Shell 解释器的一部分
- 外部命令∶独立于Shell解释器之外的程序
1.3 Shell
- Linux系统中运行的一种特殊程序也可以理解成一种特殊的软件,提供了用户与内核进行交互操作的一种接口。
- 在用户和内核之间充当“翻译官”去通知操作系统需要进行什么样的操作(相当于解释层)
- 内核相当于操作系统去指挥硬件,硬件才能工作,否则无法交互
- 用户登录Linux系统时,自动加载一个Shell程序
- Bash是Linux系统中默认使用的Shell程序
- 文件位于/bin/bash
1.4 shell与内、外部命令
- 内部命令在系统启动时调入在内存,常驻内存,所以执行效率高
- 外部命令是系统软件的功能,用户需要时从硬盘中调入指定的文件,运行完放在内存当中
(1) shell 分为内部命令和外部命令,一般先执行内部命令,再执行外部命令(别名最大)
| 内部命令 | 外部命令 |
|---|---|
| 集成于Shell解释器程序内部的一些特殊指令,也称为内建(Built-in)指令 | Linux系统中能够完成特定功能的脚本文件或二进制程序 |
| 属于Shell的一部分 | 属于Shell解释器程序之外的命令 |
| 没有单独对应的系统文件 | 每个外部命令对应了系统中的一个文件 |
| 自动载入内存,可以直接使用 | 必须知道其对应的文件位置,由Shell加载后才能执行 |
- 我们可以通过 type -a [命令 ] 来查看该命令的状况
我们可以看到,凡是内部命令只有显示是shell的内嵌;凡是外部命令,会直接输出该命令所在的路径信息。
那么,为什么内部命令为什么即显示内嵌,又会输出系统文件呢?
这是考虑到shell的种类有很多,比如bash、sh等等,如果在一些内部命令bash中集成了却没有在sh中集成,假如bash崩了,在sh中就完全无法使用这些内部命令了。所以,开发者就将那些常用的命令划成既是内部命令,又是外部命令,这样无论在什么shell类型的程序下,无关有没有集成进内核,都可以正常使用。
优先级:绝对路径下的命令>别名>内部命令 > Hash(缓存命令) > 外部命令
Hash介绍: Hash,缓存命令,外部命令使用过一次之后,就会加入缓存,再次使用时就会加快调用该命令的速度。
1.5 Linux命令的通用格式
命令字 [选项] [参数]
-
选项:用于调节命令的具体功能
命令字(区分字母大小写)是整条命令中最关键的一部分,唯一确定一条命令
-
”-”引导短格式选项(字母),例如“Is -a"
-
“--”引导长格式选项(全拼),例如“Is --help”
-
参数:命令的对象,如文件、目录名等
个数可以是0到多个,例如
有些命令仅支持文件,如vim,
有些命令支支持文件夹 “ ;”可以用来隔开命令,执行多个命令,例如
1.6 命令的操作技巧
| 快捷键 | 功能 |
|---|---|
| Tab键 | 自动补齐(1、命令补齐;2、文件名补齐【前提是唯一】);按两次Tab键,系统将输出可用的名称列表 |
| 反斜杠“\” | 强制换行或转义 |
| ctrl+a | 光标移到最前 |
| ctrl+e | 光标移到最后 |
| ctrl+u | 清空至行首,不包括当前光标所在的字符 |
| ctrl+k | 清空至行尾,包括当前光标所在的字符 |
| ctrl+w | 从当前光标删除到开头 |
| alt+d | 从当前光标删除到末尾 |
| ctrl+l | 清屏 |
| ctrl+c | 取消本次命令编辑 |
| 上下箭头 | 回看执行过的命令 |
二、Linux的优点
- 一切都是一个文件。(包括硬件)
- 系统中拥有小型,单一用途的程序。(一个程序只负责做好自己的本职工作)
- 当遇到复杂任务,通过不同功能用途的程序组合起来完成。
- 避免令人困惑的用户界面就是没有复杂的图形界面。
- 连配置文件都存储在文本中,方便增删改查。
- 不在乎后缀名,有没有都无所谓,不是通过后缀名来定义文件的类型。
三、获取命令的帮助
1.内部命令help
-
查看Bash内部命令的帮助信息
例如:查看echo命令怎么用
2.外部命令的格式为: “--help” 比如 ls --help
-
适用于大多数外部命令
例如:查看ls命令怎么用
3.使用man命令阅读手册页
- 使用 “ ↑ ”、“↓” 方向键滚动文本
- 使用Page Up和 Page Down键翻页
- 按Q或q键退出阅读环境、按“\”键查找内容
四、Linux命令基础知识总结
4.1查看CPU
-
lscpu 命令可以查看cpu信息
-
cat /proc/cpuinfo也可看查看到
4.2### 查看内存大小
- 使用free 或 cat /proc/meminfo
4.3 查看硬盘和分区情况
- 使用lsblk 或 cat /proc/partitions
4.4 查看机器架构 architecture
- arch
4.5 查看内核版本(查看系统版本)
- 使用 uname 或 cat /etc/redhat-release