• Linux系统中运行的一种特殊程序
• 在用户和内核之间充当“翻译官”
• 用户登录Linux系统时,自动加载一个Shell程序
• Bash是Linux系统中默认使用的Shell程序(文件位于/bin/bash)
shell是Linux系统中后台运行的一种特殊程序也可以理解成一种特殊的软件,提供了用户与内核进行交互操作的一种接口。用户使用应用程序发布指令比如(使用浏览器访问网页),shell去通知操作系统需要进行什么样的操作(相当于解释层),内核相当于操作系统去指挥硬件,硬件才能工作,否则无法交互。
内部命令 | 外部命令 |
---|---|
集成于Shell解释器程序内部的一些特殊指令,也称为内建(Built-in)指令 | Linux系统中能够完成特定功能的脚本文件或二进制程序 |
属于Shell的一部分 | 属于Shell解释器程序之外的命令 |
没有单独对应的系统文件 | 每个外部命令对应了系统中的文件 |
自动载入内存,可以直接使用 | 必须知道其对应的文件位置,由Shell加载后才能执行/bin;/usr/bin;/usr/local/bin等 |
两者区别在于:
①内部命令属于shell的一部分,外部命令属于shell程序之外的命令。
②内部命令属于shell的一部分(/bin/bash)没有单独的文件,外部命令一般由脚本文件或者二进制文件组成。
③内部命令自动加载,可以直接使用,所以命令执行快,外部命令系统必须要知道对应的文件位置(命令的环境变量),由shell进行加载后,系统才能识别该命令。
内部命令:内部命令被构建在shell之中。当执行shell命令时,内部命令的执行速度非常快。这是因为没有其他的进程因为执行这条命令而被创建。
外部命令:外部命令并没有被构建在shel1中。这些可执行的外部命令保存在一个独立的文件当中。当一个外部命令被执行时,一个新的进程即被创建。
1.查看内部命令
●help
●enable
●type命令
2.禁用内部命令
●enable -n 命令 ——禁用该命令
●enable 命令——启用该命令
3.查看外部命令
适用于大多数Linux外部命令:- -help
命令字 —【选项】 —— 【参数】
操作 — 命令的功能 — 要执行的对象(文件、目录、用户名)
●命令字:
是整条命令中最关键的一部分
唯一确定一条命令
●选项:
短格式选项:使用“-”符号引导 —— 多个单字符选项(单个字母)可以组合在一起使用
例:ls -a -l -h = ls -alh
长格式选项:使用“- -”符号引导(一个单词)
例如:- -help
●参数:
命令字的处理对象
可以是文件名、目录(路径)名或用户名等内容
个数可以是零到多个
●Tab键:自动补齐/按两下帮忙查询相同前缀的目录或文件(cd会显示目录,vim会显示文件)
●反斜杠“\”强制换行(在长命令的情况下使用便于排错,更加工整)
●Ctrl+U组合键:清空至行首
●Ctrl+K组合键:清空至行尾
●Ctrl+L组合键:清屏,或者clear
●Ctrl+C组合键:取消本次命令编辑
●Ctrl+A组合键:切换到行首
●Ctrl+E组合键:切换到行尾
1.①内部命令help
查看Shell内部命令的帮助信息
②命令的“- -help”选项
适用于大多数Linux外部命令
③使用man(manual 手册)命令阅读手册页
●使用“↑”、“↓” (ENTER)方向键滚动一行文本
●使用Page Up和Page Down (空格) 键翻页
●按Q或q键退出阅读环境
●按“/"键查找内容,n键向下查找,N键向上查找
显示用户当前所在的工作目录位置
pwd
例如:
[root@localhost ~]# pwd
/root
将用户的工作目录更改到其它位置
格式 | 说明 |
---|---|
cd | 目标位置 切换到目标位置 |
cd ~或 cd | 若不指定目标位置,切换到当前用户的宿主目录 |
cd - | 切换到上一次执行cd命令之前所在的目录 |
绝对路径:以“/”,根目录为起点
相对路径:以当前目录为起点
相对路径表现形式:
表现形式 | 说明 | 示例 |
---|---|---|
直接使用目录名或文件名 | 表示当前工作目录中的子目录、文件的位置 | grub.conf |
以一个点号“.”开头 | 表示以当前的工作目录作为起点 | ./grub.conf |
以两个点号“…”开头 | 表示以当前目录的上一级目录(父目录)作为起点 | …/vmlinuz |
以“~用户名”形式开头 | 表示以指定用户的宿主目录作为起点 | ~teacher |
以“~”形式开头 | 表示以当前用户的宿主目录作为起点 | ~ |
cd / home #后面跟绝对路径,切换到home目录
cd . / home #后面跟相对路径,切换到home目录cd ~
cd #切换到当前用户的家目录
cd~#切换到当前用户的家目录
cd ~user#切换到某一个用户的家目录,只有root才行,别的用户只能在自己家
cd - #切换到上一次执行操作的目录
cd … #切换到上一层目录(父目录)
思考:如何切换到父目录的父目录(cd …/…/)
●显示目录中内容,包括子目录和文件相关属性信息
ls【文件】【文件或目录…】
●常用选项
-l、-a、-A、-d、-h、-R、–color
●结合通配符
“?”:代表任意一个字符,且至少一个
“*”:代表任意数个字符,可以是0个或者1个或者多个
“[]”:表示可以匹配字符组中的任意一个字符
-l、-a、-A、-d、-h、-R、- -color
-l:以长格式(Long) 显示文件和目录的列表,包括权限、大小、最后更新时间等详细信息。ll命令与ls -l功能相同。
-a:显示所有(All)子目录和文件的信息,包括名称以点号“."开头的隐藏目录和隐藏文件。
-A: 与-a选项的作用基本类似,但有两个特殊隐藏目录不会显示,即表示当前目录的“.”和表示父目录的"…"
-d: 显示目录(Directory) 本身的属性,而不是显示目录中的内容,一般结合-l使用。
-h: 以更人性化(Human) 的方式显示目录或文件的大小,默认的大小单位为字节(B),使用 -h 选项后将显示为KB、MB等单位。此选项需要结合 -l 选项一起使用。
-R: 以递归(Recursive) 的方式显示指定目录及其子目录中的所有内容。
-i: 显示文件和目录的inode号。
color: 在字符模式中以颜色区分不同的文件。默认已开启
白色 数据文件TXT
绿色 可执行文件
黄色 块设备文件
红色 压缩包
蓝色 文件夹
天蓝色 连接文件(快捷方式)
r代表文件可读
w代表文件可写入可修改
x代表文件可执行
有x权限文件会变成绿色
第一个rwx代表这个文件所有者所拥有的权限,是第一个root
第二个rwx代表所属组,组成员所拥有的权限,第二个root,组名
第三个rwx代表其他用户所拥有的权限,赋予时注意,防止获取关键信息和破坏系统
1.Shell在用户和内核之间充当“翻译官”
2.Linux命令分为内部命令和外部命令
3.获得Linux命令帮助的方法
4.目录与文件基本操作pwd、ls、cd