一、shell
Linux系统中运行的一种特殊程序
在用户和内核之间充当“翻译官”
用户登录Linux系统时,自动加载一个Shell程序
Bash是Linux系统中默认使用的Shell,程序
文件位于/bin/bash二、内部与外部命令的区别
二、内部与外部命令
内部命令
集成于 Shell 解释器程序内部的一些特殊指令,也称为内建(Built-in)指令
属于 Shell 的一部分
没有单独对应的系统文件
自动载入内存,可以直接使用
外部命令
Linux系统中能够完成特定功能的脚本文件或二进制程序
属于 Shell 解释器程序之外的命令
每个外部命令对应了系统中的一个文件
必须知道其对应的文件位置,由 Shell 加载后才能执行
命令默认搜索路径(PATH):常用的外部命令、程序路径放到了默认搜索路径中
echo $PATH
、三、命令的格式
命令字 [选项] [参数]
选项:包括短格式与长格式
短格式选项:
使用“-”符号引导
多个单字符选项可以组合在一起使用
长格式选项:
使用“--”符号引导
参数:命令字的处理对象
可以是文件名、目录(路径)名或用户名等内容
个数可以是零到多个
四、命令行辅助操作
Tab 键 :命令补全
反斜杠“\” :强制换行
Ctrl+U 快捷键 :删除光标到行首的字符
Ctrl+K 快捷键 :删除光标到行尾的字符
Ctrl+L 快捷键 :清屏
Ctrl+C 快捷键 :结束命令
五、获取命令帮助
help 内部命令
外部命令 --help
man 命令
六、管道符与重定向
管道符(|):命令1|命令2|.... 将命令的1的执行结果做为命令2的参数
重定向:将命令的执行结果保存到文件中,在屏幕上不显示结果
>:输出重定向
>>:追加输出重定向
<:输入重定向
六、常用命令
pwd 命令
:显示当前路径
cd 命令
:切换目录
格式 说明
cd 目标位置 切换到目标位置
cd ~与
cd 若不指定目标位置,切换到当前用户的宿主目录
cd - 切换到上一次执行 cd 命令之前所在的目录
命令或文件的路径
绝对路径:
以根目录“/”作为起点
准确表示一个目录(或文件)所在的位置
表示Linux中目录结构相对稳定的目录(或文件)
位置
较繁琐
相对路径:
当前工作目录作为起点
目录的起始字符不使用“/”符号
表示当前目录“附近”的目录(文件)
位置
简短、便捷
相对路径的表示形式
表现形式 说明 示例
直接使用目录名或文件名 当前工作目录中的子目录、文件的位置 grub.conf
以一个点号“.”开头 以当前的工作目录作为起点 ./grub.conf
以两个点号“..”开头 以当前目录的上一级目录(父目录)作为起点 ../vmlinuz
以“~用户名”形式开头 以指定用户的宿主目录作为起点 ~teacher
ls 命令
:显示目录中的内容,
格式:ls [选项] [文件或目录… ] 常见的选项有:
-l 以长格式显示文件和目录的列表,包括权限、大小、最后更新时间等详细信息
-a 显示所有子目录和文件的信息,包括名称以点号“.”开头的隐藏目录和隐藏文件
-A 与-a选项的作用基本类似,但不会显示“.”目录和“..”目录
-d 显示目录本身的属性
-h 显示出目录或文件的大小(KB、MB),默认的大小单位为字节(B)
-R 递归方式显示指定目录及其子目录中的所有内容
--color 在字符模式中以颜色区分不同的文件
通配符:
?:匹配一个字符
*:匹配任意个字符
alias命令:设置与显示命令别名
alias 命令别名 = 命令
du命令:统计指定目录(或文件)所占用磁盘空间的大小
格式
格式:du [选项] [文件或目录… ]
-a 统计磁盘空间占用时包括所有的文件,而不仅仅只统计目录
-h 显示出目录或文件的大小(K、M),默认的大小单位为字节(KB)
-s 只统计每个参数所占用空间总的大小,而不是统计每个子目录、文件的大小
mkdir命令:创建空目录
格式:mkdir [选项] 目录位置及名称…
-p:创建嵌套的目录
touch命令:创建空文件或更新文件的时间标记
格式:touch 文件…
ln命令:为文件或目录建立链接文件,类似windows下的快捷方式
软链接:软链接文件包含另一个文件名路径
硬链接:相当于新的文件,直接指向文件的物理位置
格式:ln [-s] 源文件或目录… 链接文件或目标位置
-s: 创建软链接
如果没有指定链接文件名,则与源文件名称一样
默认创建 硬链接
cp命令:复制文件或目录
格式:cp [选项]… 源文件或目录… 目标文件或目录,常用的选项
-f 覆盖目标同名文件或目录时不进行提醒,直接强制复制
-i 覆盖目标同名文件或目录时提醒用户确认
-p 复制时保持源文件的权限、属主及时间标记等属性不变
-r 复制目录时必须使用此选项,表示递归复制所有文件及子目录
rm命令:删除文件或目录
格式:rm [选项] 要删除的文件或目录…
mv命令:移动与重命名
将指定的文件或目录转移位置
如果目标位置与源位置相同,则相当于执行重命名操作
格式:mv [选项] … 源文件或目录… 目标文件或目录
which命令:查找命令或文件的的所在路径,搜索范围为PATH变量包含的路径
格式:which 选项 命令或文件
默认搜索到第一个即停
-a 在所有路径中搜索
find命令:递归的方式查找文件或目录
格式:find [查找范围] [查找条件表达式] 查找类型 关键字 说明
按名称查找 -name 根据目标文件的名称进行查找,允许使用“*”及“?”通配符
按文件大小查找 -size 根据目标文件的大小进行查找
一般使用“+”、“-”号设置超过或小于指定的大小作为查找条件
常用的容量单位包括 kB(注意 k 是小写)、MB、GB
按文件属主查找 -user 根据文件是否属于目标用户进行查找
按文件类型查找 -type 根据文件的类型进行查找
文件类型包括普通文件(f)、目录(d)、块设备文件(b)、字符设备文件(c)等
块设备是指成块读取数据的设备(如硬盘、内存等),字符设备是指按单个字符读取数据的设备(如键盘、鼠标等)
各表达式之间使用逻辑运算符
“-a”表示 而且(and)
“-o”表示 或者(or)
示例1:递归查找 /etc 目录中名称以“resol”开头、以“.conf”结尾的文件
find /etc –name "resol*.conf“
示例2:/boot 目录中查找出所有的文件夹(类型为d),忽略其他类型的文件
find /boot -type d
示例3:查找 /boot 目录中 大小超过 1024KB 且名称以“vmlinuz”开头的文件
find /boot -size +1024k -a -name "vmlinuz*“
示例4:查找 /boot 目录中 大小超过 1024KB 或 名称以“vmlinuz”开头的文件
find /boot -size +1024k -o -name "vmlinuz*"