目录
一、shell
- Linux系统中运行的一种特殊程序
- 在用户和内核之间之间充当“翻译官”
- 用户登陆Linux系统时,自动加载一个Shell程序
- Bash是Linux系统中默认使用的Shell程序
内核:用于调用计算机硬件资源
shell:将用户指令转换成计算机语言让内核去调用计算机硬件资源
bash是一个文件,linux系统中万物皆文件
bash文件位于/bin/bash
用户与内核进行交互过程如下
- 1、计算机接收用户所输入的的命令
- 2、shell会将所接收到的命令转换成计算机所能识别的二进制语言
- 3、将命令传递给系统内核执行
二.Linux命令
内部命令与外部命令的区别
内部命令 | 外部命令 |
集成于Shell解释器程序内部的一些特殊指令也称为内建(Built-in)指令 | Linux系统中能够完成特定功能的脚本文件或二进制程序 |
属于Shell的一部分 | 属于Shell解释器程序之外的命令 |
没有单独对应的系统文件 | 每个外部命令对应了系统中的一个文件 |
每个外部命令对应了系统中的一个文件 | 必须知道其对应的文件位置,由Shell加载后才能执行/bin,/usr/bin,/usr/local/bin等 |
内部命令:集成于shell,属于shell的一部分;没有独立的系统文件;会随着shell自动加载到内存,可以直接使用
外部命令:由一个二进制程序文件或脚本文件组成;属于shell之外的,每个外部命令都要有一个对应的系统文件;需要让shell知道文件位置才能自动加载
查看内部命令
- enable help
- type <命令字>
- enable -n <命令字> #禁用内部命令
- enable <命令字> #启用内部命令
三.Linux常用命令
命令行格式
- Linux的命令大多是都是由三部分组成 分别为(命令 选项 参数)
- 操作 功能 执行的对象
选项
- 短格式: -<单字符> ------ #多个短格式选项可以组合再一起使用
- 长格式: --<单词>
- 参数:可以是 文件 目录 用户名等(根据不同的命令使用不同的执行对象),数量可以是零个或者一个或者多个
获取命令帮助
help <内部命令>
查看Shell内部命令的帮助信息
<命令字> --help
适用于大多数的 Linux的外部命令
man <命令字>pwd----查看当前的工作目录
pwd #显示用户当前所在工作目录位置
cd-----切换目录
绝对路径与相对路径
绝对路径: 以根目录 / 为起点的路径
相对路径: 直接使用文件名/目录名,为起点的文件/目录
./
../
ls命令
ls 以列表形式显示文件本身或目录中的内容
常用选线 | |
-l | 以长格式的形式显示文件/子目录的属性 |
-a/-A | 显示目录中所有的隐藏文件,-A不显示 . 和 .. |
-h | 以人性化的方式显示文件/子目录大小(默认单位为字节) |
-d | 查看目录本身 |
-R | 以递归的方式显示目录中所有子目录的内容 |
-t | 以时间排序显示,默认从最新到最老的方式 |
-r | 反向排序 |
-i | 显示文件/目录的 inode 号 |
通配符
- * 表示任意长度的任意字符
- ? 表示一个任意字符
- [] 表示列表中的任意一个字符
alias命令
- alias 别名命令
- 命令字 [选项] [参数]'
du命令
统计文件/目录占用磁盘的空间大小
-a | 统计目录及其所有子目录和文件的占用大小 |
-s | 仅统计目录本身的占用大小,不能和 -a 选项同时使用 |
-h | 以人性化的方式显示占用大小(默认单位为KB) |
-d 1 --max-depth=1 | 仅统计目录中的第一层子目录的占用大小 |
mkdir命令
- mkdir 创建空目录
- mkdir -p 一次性创建多层目录
- mkdir {..} 一次性创建多个{范围}目录
touch命令
- 创建空文件
- 更新文件时间
软连接和硬链接的区别
cp命令
复制文件/目录指定路径
cp [选项] 源文件/目录路径 ... 目标路径
/cp-f
cp-a
rm命令
- 删除文件/目录
mv命令
- 移动文件/目录到指定路径,修改单个文件的文件名
rename批量修改文件名
rename 旧字符 新字符 目标文件
find命令
- 根据条件查找文件/目录
- -a 且
- -o 或
其他查找目录和文件的命令
- which、find、whereis、locate
- which 查看可执行文件的位置,
- whereis 查看文件的位置。
- locate 配合数据库查看文件位置,
- find 实际搜寻硬盘查询文件名称。