shell是Linux系统中后台运行的一种特殊程序也可以理解成一种特殊的软件,提供了用户与内核进行交互操作的一种接口/界面, 用户通过这个界面访问操作系统内核的服务。
Shell的功能
[root@localhost ~]# 你
①root 当前用户名是root。
②localhost 主机名称
③~ 当前用户的家目录, root的家目录为/root,普通用户的家目录在/home,
d | 文件的属性 |
rwxr-xr-x | 代表权限 |
2 | 硬连接个数 |
root | 文件的主人 |
root | 属组 |
6 | 文件大小 |
12月19 14:56 | 文件时间 |
2 | 文件名 |
查看目录具体信息,共8段如下图
①d ②r-xr-xr-x. ③5 ④root ⑤root ⑥4096 ⑦11月 13 12:25 ⑧boot
①第1段表示文件类型,文件类型共分7种
- :代表该文件为普通文件
d :表示为文件夹
l :链接文件,相当于windows的快捷方式
p :管道文件,单向进程交互
s :套接字,双向进程交互
b :块设备,表示硬件储存设备,按块读取
c :表示字符文件,一个字节一个字节的读取
②第2段表示文件的权限(目前只要了解r为可读、w可写、x可执行即可,后面会详细讲解)
③第3段表示硬链接数
④第4段表示所属用户
⑤第5段表示所属组
⑥第6段表示文件大小
⑦第7段表示文件最近一次修改时间
⑧第8段表示文件名称
内部命令: bash软件提供的(自带的命令)
外部命令:手动安装 (后加的命令)
首先判断是内部还是外部命令,如果是内部命令直接执行
如果是外部命令,先看缓存空间是否有,如果有按照缓存空间的位置执行,如果缓存空间中没有,会报错
如果第一次执行,去看那五个文件夹是否有,有直接执行,没有报错命令不存在
1.命令打错了
2.命令没有安装
3.命令不在规定的路径下
4.运行过命令,但命令的位置发生了改变
内部命令 | 外部命令 |
---|---|
集成于Shell解释器程序内部的一些特殊指令,也称为内建(Built-in)指令 | Linux系统中能够完成特定功能的脚本文件或二进制程序 |
属于Shell的一部分 | 属于Shell解释器程序之外的命令 |
没有单独对应的系统文件 | 每个外部命令对应了系统中的一个文件 |
自动载入内存,可以直接使用 | 必须知道其对应的文件位置,由Shell加载后才能执行 |
外部命令:命令+ --help选项
②使用 `info bash' 来获得关于 shell 的更多一般性信息
1、分类
内部命令:自带 集成在系统shell中,安装系统后即存在,读取快。
外部命令:后天 需要安装,在系统中有个单独对应的系统文件,读取慢于内存命令。
Hash:缓存,外部命令最近输入过一次后会存在Hash缓存中,读取快于外部命令,慢于内部命令
2、命令格式
命令 选项 对象
命令:表示想用什么命令要做什么,cp cd ls
选项:补充命令,添加额外的功能,
参数:代表要对什么进行操作,例如文件、文件夹、用户等。
cd ~ cd / cd 都能返回 ~]#
cd -返回上一次目录,只能一次
-a 显示所有文件包括隐藏文件,包括 . 和 .. (.表示当前文件,..表示上级文件)
-l 显示长格式文件,8段全部显示出来,权限、最后修改时间、文件大小文件名等
-A 显示所有文件包括隐藏文件,但是不包括 . 和 ..(.表示当前文件,..表示上级文件)
-t 按时间顺序显示内容,默认按最近时间在上顺序显示
-r 倒叙显示,例如与-t配合使用可以按文件最远时间到最近时间排序
-S 按文件大小排序,默认从大到小排序
-R 递归显示,例如ls -R / 则显示根目录下所有文件夹内的所有内容
-i 显示inode 就是每个文件的身份证号一样,在系统中唯一
hash -d //单独删除缓存里某个的命令
hash -r //清空hash命令缓存
⑨whatis passwd 查看命令的章节
⑩相对路径:
表现形式 | 说明 |
---|---|
直接使用目录名或文件名 | 表示当前工作目录中的子目录、文件的位置 |
以一个点号 " . " 开头 | 表示以当前的工作目录作为起点 |
以两个点号 " ·· " 开头 | 表示以当前目录的上一级目录(父目录)作为起点 |
以 " ~用户名 " 形式开头 | 表示以指定用户的宿主目录作为起点 |
⑩关机命令:
1、halt #立刻关机
2、poweroff #立刻关机
3、shutdown -h now #立刻关机(root用户使用)
4、shutdown -h 10 #10分钟后自动关机
重启:
reboot
init6
shutdown -r now
修改颜色:
[root@localhost ~]# echo "PS1='
\e[1;34m
\e
[
1
;
34
�
[\u@\h \W]#
\e[0m
\e
[
0
�
'" >> ~/.bashrc
[root@localhost ~]# . ~/.bashrc
修改时间:
date -s "2020-10-15 1:1"