操作系统的架构
- 用户
- 核外程序
- 内核
- 硬件
Shell
Linex系统中运行的一种特殊程序
在用户和内核之间充当“翻译官”
用户登录Linex系统时,自动加载一个Shell程序
Bash是Linux系统中默认使用的Shell程序
- 文件位于/bin/bash
Linex命令的分类
- 内部命令与外部命令的区别
- 内部命令:shell解释器自带的命令,执行效率高。
- 外部命令:shell解释器不自带的,安装某些包的时候,被安装到的系统命令
内部命令 | 外部命令 |
集成于Shell解释器程序内部的一些特殊指令, 也称为内建(Built-in)指令 | Linux系统中能够完成特定功能的脚本文件或二进制程序 |
属于Shell的一部分 | 属于Shell解释器程序之外的命令 |
没有单独对应的系统文件 | 每个外部命令对应了系统中的一个文件 |
自动载入内存,可以直接使用 | 必须知道其对应的文件位置,由Shell加载后才能执行 |
Linux命令行的格式
-
通用的命令行使用格式
命令字 【选项】 【参数】 (英文字符区分大小写)
-
命令字
- 是整条命令中最关键的一部分
- 唯一确定一条命令
- 选项
- 短格式选项:使用“-”符号引导
- 长格式选项:使用”--“符号引导
- 调节输入方式
- 参数
- 命令执行的对象
Is-a : 一个字母做选项 : 短格式
Is--help : 一个单词做选项 : 长格式
命令 | 说明 |
IP a | 查看ip地址 |
hash | 查看输入过的命令次数 |
enable | wc -l | 列出内部命令的行数 wc: word kppnnnnnnnnnnnnnnnnnnnnnnn7 -l : line-行数 |
cd | 切换工作目录 cd: change directory |
type[cd] | 查看cd命令的类型是外部还是内部命令 显示:cd 是shell 内嵌 |
type[ls] | 查看ls是内部还是外部命令 显示:ls是`ls--color=auto'的别名 |
which[ls ] | 查看ls命令的文件位置 显示:alias Is='ls --color=auto' /usr/bin/ls |
enable | 查看内部命令 |
pwd (print working directory) | 打印当前工作目录 |
mkdir | 创建文件 |
pwd | pwd: print working directory 打印 当前工作的目录 |
\ | 强制换行,当输入很长的命令可以在想换行的地方输入1直接回车可以换行输入 |
man[ls] | 查看ls命令手册 man:manu |
ls | ls:list;查看当前目录下所有文件,不包括以.开头的隐藏文件 蓝色字体代表改文件是目录 |
ls-a/opt | 查看 /opt 所有文件和目录,包括隐藏文件(以开头的文件) |
ls -l | 以长格式显示当前目录信息 |
ll[绝对路径] | 详细显示当前或指定目录下信息 |
ll -d | 只显示当前目录下的目录 |
ll -h | h: human 人性化的打印当前目录信息(文件带字节单位) |
ll -i | 加上每个文件的唯一标识编号(inode / i节点)并显示该目录信息 |
du | du: disk usage - 磁盘用量 disk: 硬盘 usage: 利用率 |
du -a [/opt] | 显示/opt目录占用的磁盘空间大小,还要显示其下目录和文件占用磁盘空间的大小 |
du -ah | 同-a,带字节单位,更人性化 |
du -s | s: summary-总共 不能和 -a -起使用 显示该目录总磁盘占用量 |
du -sh | 用更人性化的字节显示该目录总磁盘占用量 |
cat 文件名 | 打印该文件内容 |
编辑相关指令
命令 | 说明 |
vi /etc/TAB | 在v 查看 /etc/ 忘记了后面的目录名时 连续按两下TAB键来列出目录下的文件 |
vim [路径] | 用vim编辑器编辑文件 |
操作文件相关命令
命令 | 说明 |
mkdir | mk:make-创建:制作 dir: directory 创建目录 |
mkdir -p /root/aaa/bbb/ccc/ddd | 创建目录时,将整个目录树一同创建出来 |
touch 文件名 | touch:触摸 如果touch的文件存在就更新时间戳,如果touch的文件不存在就创建文件 |
In -s 源绝对路径[目标绝对路径] | ln:link-链接 -f:强制 软链接:-s;可以针对文件和目录,能跨分区 硬链接:不加-s默认创建为硬链接,只针对文件吗,不能跨分区创建硬链接当源文件和链接文件不在一个路径,要用绝对路径 源文件和链接文件在一个路径内,可以用相对路径。 |
cp-源文件 绝对路径[/修改后的名字] | -f:强制复制,如果目标路径有同名文件将直接爱盖,没有提示弹出 -f在当前目录的.bashrc文件内删除对应cp命令才生效 -r:拷贝目录 复制文件到指定位置 |
rm -rf 文件名.后缀 | 删除当前目录下指定文件 rm:remove -r:递归,如果是目录用r,如果是文件不用r,如果都有加上r -f:强制删除 |
查询相关命令
命令 | 说明 |
find /opt | 查找该目录下的目录和文件 |
find /etc/ -name "ifcfg-ens33" | 查找该目录下所有文件以子目录内所有文件名字为ifcfg-ens33的文件位置 |
find /etc/ -name .conf | 查找 /etc/ 目录下后缀名为.conf 的所有文件 |
find /etc/ -name re.conf | 查找 /etc 目录下 开头为re,后缀名为.conf的所有文件 |
find /boot -type d | 查找 /boot 目录下 类型为directory的所有目录及子目录 |
find /boot -size +1024k -a -name "vm*" | 查找 /boot 目录下 文件大小大于1024k 目 名称以vm为开头的所有文件-a:and |
find /boot -size +1024k -0 -name "'vm*" | 查找 /boot 目录下 文件大小大于1024k 或 名称以vm为开头的所有文件 -0:0r |
find /dev/ -type c | 查找 /dev 目录下所有的字符设备文件 |
常用快捷键
命令 | 说明 |
Ctrl + U | 删除 所处输入位置 之前的全部文本 |
Ctrl + K | 删除 所处输入位置 之后的全部文本 |
Ctrl +C | 取消当前命令(cancel) |
Ctrl + L | 清屏(clear) |
Ctrl + A | 将光标位置移动到最前方(左) |
路径
- 绝对路径
- 从根开始输入路径
- 相对路径
- 从当前位置开始输入路径
Il命令对应文件信息
当用"l命令查看目录内容时,最左侧会显示一串字母组成的文件类型
示例: drwxr-xr-X.
结尾的点(.):安全上下文,类似ACL
允许哪个用户对我访问,不允许哪个用户对我访问
setenforce 0:临时关闭内核安全机制,安全上下文的机制就没有了(重启还会启用)
第一个字母:文件类型
第一个字母代表文件的类型,drwxr-xr-X.
命令 | 说明 |
d | 目录 |
- | 普通文件 |
l | 连接文件 |
b | 块文件(存储文件) |
c | 字符文件(键盘) |
r | read(读) |
w | write(写) |
x | execute(执行) |
后面的字母每三个为一组
rwx r-x r-x
属主 属组 其他
- 属主: 我是谁的
- 属组: 我是哪个组的(包含多个用户的)
- 其他: 既不是属主,也不是属组