Shell:
shell:是Linux系统的一个特殊程序,位于用户与内核之间
shell的作用:
作用:作为“翻译官”,接收用户输入的命令,并将命令翻译成计算机语言,传递给内核执行调用相关硬件资源
用户登录Linux系统会自动加载shell程序,bash为默认的shell,文件位于 /bin/bash
linux命令分类:
内部命令 | 外部命令 |
集成于shell,属于shell的一部分 | 由一个二进制程序文件或脚本文件组成; |
会随着shell自动加载到内存,可以直接使用 | 属于shell之外的,每个外部命令都要有一个对应的系统文件 |
需要让shell知道文件位置才能自动加载(将文件放入到PATH环境变量指定的目录中) |
查看内部命令:
enable help
type <命令字>
enable -n <命令字> #禁用内部命令
enable <命令字> #启用内部命令
命令行格式:
命令字 [选项] [参数]
- 命令字:你要执行的操作
- [选项] :执行操作的功能
- [参数] :执行的对象
[选项] :
- 短格式: -<单字符> -a -l -h #多个短格式选项可以组合再一起使用 -alh
- 长格式: --<单词> --help
[参数] :
可以是 文件 目录 用户名等(根据不同的命令使用不同的执行对象)
数量可以是零个或者一个或者多个
编辑Linux命令行的辅助操作
Tab | 自动补齐(两次可以显示所有选项) |
反斜杠“\” | 强制换行或转义 |
Ctrl+e | 光标移到最后 |
Ctrl+a | 光标移到最前 |
Ctrl+U | 清空至行首不包括当前光标处的 字符 |
Ctrl+K | 清空至行尾包括当前光标处的字符 |
Ctrl+c | 取消本次命令编辑 |
Ctrl+l | 清屏 |
获取命令帮助:
内部命令 | help <内部命令> | 查看shell内部命令的帮助信息 |
外部命令 | <命令字> --help | 适用于大多Linux外部命令 |
man <命令字> | 使用man命令阅读手册页 1.使用“↑”、“↓”键滚动一行文本 (一行一行) 2.空格滚动一页文本(一页一页) 3.按 Q 或 q键退出阅读环境 4.按“/”键查找内容,n键向下查找,N键向上查找 | |
百度 |
显示当前所在的目录位置:
pwd 显示当前所在的目录位置
切换目录:
cd 切换目录
cd ~ 切换到家目录
cd - 切换上一个目录
绝对路径和相对路径:
绝对路径 | 相对路径 |
以根目录 / 为起点的路径, 如 /usr/local/bin/cfssl | 直接使用文件名/目录名, 代表的是以当前目录为起点的文件/目录 |
./XXX , 代表的是以 当前目录 为起点的 XXX 文件/目录 | |
../XXX , 代表的是以 上一层目录 为起点的 XXX 文件/目录 | |
~/XXX , 代表的是以 当前用户的家目录 为起点的 XXX 文件/目录 | |
~用户名/XXX ,代表的是以 指定用户的家目录 为起点的 XXX 文件/目录 |
ls 列表显示文件本身或目录中的内容:
常用选项: | |
-l | 以长格式的形式显示文件/子目录的属性 |
-a/-A | 显示目录中所有的隐藏文件,-A不显示 . 和 .. |
-h | 以人性化的方式显示文件/子目录大小(默认单位为字节) |
-d | 查看目录本身 |
-R | 以递归的方式显示目录中所有子目录的内容 |
-t | 以时间排序显示,默认从最新到最老的方式 |
-r | 反向排序 |
-i | 显示文件/目录的 inode 号 |
ls -l显示文件属性一共有 7 个字段:
-rw-r--r--. 1 root root 1931 5月 14 2023 initial-setup-ks.cfg
-rw-r--r--. | 文件类型+权限位 注:-普通文件、d目录、l软链接、c设备文件 |
1 | 文件硬链接数/目录的子目录数 |
root | 属主 |
root | 属组 |
1931 | 文件大小 |
5月 14 2023 | 文件修改时间 |
initial-setup-ks.cfg | 文件 |
通配符
- *表示任意长度的任意字符
- ?表示一个任意字符
- [XXXX]表示列表中的任意一个字符
别名命令:
alias 别名命令='命令字 [选项] [参数]' #创建别名命令
unalias 别名命令 #取消别名命令
alias #显示所有的别名命令
统计文件/目录大小:
du | 统计文件/目录占用磁盘的空间大小 |
-a | 统计目录及其所有子目录和文件的占用大小 |
-s | 仅统计目录本身的占用大小,不能和 -a 选项同时使用 |
-h | 以人性化的方式显示占用大小(默认单位为KB) |
-d 1 --max-depth=1 | 仅统计目录中的第一层子目录的占用大小 |