文章目录
一、shell
1、什么是shell?
他是Linux系统中运行的一中特殊程序;在用户和内核直接充当“翻译官”
当用户登录Linux操作系统时,他自动加载;Bash是Linux默认使用的shell程序
用户和内核的交互过程:
内核:用于调用计算机硬件资源
shell:将用户指令转换成计算机语言让内核去调用计算机硬件资源
bash是一个文件,linux系统中万物皆文件
bash文件位于/bin/bash
二、Linux命令的分类及区别
内部命令 | 外部命令 |
---|---|
集成于Shell解释器程序内部的一些特殊指令,也称为内建指令 | Linux系统中能够完成特定功能的脚本文件或二进制程序 |
属于Shell的一部分 | 属于Shell解释器程序之外的命令 |
没有单独对应的系统文件 | 每个外部命令对应了系统中的一个文件 |
自动载入内存,可以直接使用 | 必须知道其对应的位置,由shell加载后才能执行 |
- 如何区分内外部命令?
利用type命令来判断
外部命令有命令所在的路径
- 命令的优先顺序:
内部命令>缓存命令(hash)>外部命令
命令执行顺序:先找hash缓存,再找内部命令,再找外部命令
例如:ls命令在缓存中有这条,我将这条命令从缓存中删掉后,执行ls这个程序的时候就会找内部命令,因为ls属于外部命令,所以内部命令找不到,最终在外部命令找到ls程序,并执行。
三、Linux命令格式
1.命令字(区分字母大小写)
是整条命令中最关键的一部分
唯一确定一条命令
2.选项
短格式选项:使用“-”符号引导, 通常引导一个字母
长格式选项:使用“–”符号引导。通常引导一个完整的单词
3.参数
命令字的处理对象
可以是文件名、目录(路径)或用户名等内容
个数可以是0到多个
四、Linux常用的辅助操作(linux快捷键)
五、如何获得命令帮助
内部命令help
查看shell内部命令的帮助信息
外部命令–help
使用man命令阅读手册页
- 使用上下箭头滚动一行文本
- 使用Page UP和Page Down键翻页
- 按Q或q键退出阅读环境
- 按“\”键查找内容
六、 目录和文件的基本操作
查看当前的工作目录—pwd
显示用户当前所在的工作目录位置,示例:
/Bin是个链接文件,真实地址是/usr/bin
切换工作目录-cd
绝对路径与相对路径
cd /home #后面跟绝对路径,切换到home目录
cd ./home #后面跟相对路径,切换到home目录
cd ~ #切换到当前用户的家目录
cd #切换到当前用户的家目录
cd ~user #切换到某一个用户的家目录,只有root才行,别的用户只能在自己家
cd - #切换到上一次执行操作的目录
cd .. #切换到上一层目录(父目录)
cd ../../ #切换到父目录的父目录
相对路径:相对路径就是指由这个文件所在的路径引起的跟其它文件(或文件夹)的路径关系。
/ 唯一入口,例如:
cd /home/cao 绝对路径
cd kk 相对路径
相对路径的表现形式
表现形式 说明 实例
直接使用目录名或文件名 表示当前工作目录的子目录、文件的位置 grub.conf
以一个点号“.”开头 表示当前的工作目录作为起点 ./grub.conf
以两个点号“..”开头 表示以当前目录的上一级目录(父目录作为起点) ../vmlinuz
以“~用户名”形式开头 表示以指定的宿主目录作为起点 ~teacher
举例:
创建文件夹的三种方法
[root@yxp ~]# touch 7.txt
[root@yxp ~]# vim 77.txt
[root@yxp ~]# echo “888” > 777.txt
七、不同颜色字的含义
不同文件颜色表示的含义
- 黑色:普通文件
- 蓝色:文件夹
- 天蓝色:链接文件
- 绿色:可执行文件
- 红色:压缩文件
八、ls(list)命令
作用:显示目录中内容,包括子目录和文件相关属性信息
格式:ls [选项] [文件或目录...]
选项包含:
-l: 以长格式(Long)显示文件和目录的列表 ,ll=ls -l
-a: 显示所有(All)子目录和文件的信息,包括“.“和”…“**
-A: 与-a选项的作用基本类似,但有两个特殊,隐藏目录不会显示,“.“和”…“
-d 显示目录(Directory)本身的属性,而不是显示目录中的内容
-h: 以更人性化(Human)的方式显示出目录或文件的大小,此选项需要结合-l选项一起使用
-R: 以递归(Recursive)的方式显示指定目录及其子目录中的所有内容
九、别名alias
作用:通过别名机制简化常用的、比较长的命令
格式:alias 命令名=‘别名’
注意等式两边不能有空格,alias ,临时修改,重启会失效,只有修改配置文件才会永久生效
alias #查看系统当前所有可用别名
alias ll=‘ls-lt’#设置别名
unalias #删除别名
vim /root/.bash 永久生效
注意:在定义别名时,等号两边不能有空格,否则shell不能决定您需要做什么。仅在命令中包含空格或特殊字符时才需
十、du命令
作用:统计指定目录(或文件)所占用磁盘空间的大小
格式:du [选项] [文件或目录...]
常用选项:
- -a :统计磁盘空间占用时包括所有的文件,而不仅仅只统计目录
- -h:以更人性化的方式(默认以KB计数,但不显示单位)显示出统计结果
- -s:只统计所占用空间总的大小,而不是统计每个子目录、文件的大小
十一、创建目录mkdir
作用:创建目录
格式:mkdir [选项] 目录位置及名称...
注意:父目录必须存在
选项:
- -p: 创建一个已有的目录会报错,加-p则不会报错/当父目录不存在时,递归创建
删除目录:rmdir 删除一个空目录
十二、创建空文件touch
还可以用其他命令创建空文件:
touch 1.txt
vim 2.txt
echo“ ”>3.txt
作用:创建空文件;更新文件时间
例子:
十三、创建链接文件 ln
作用:为文件或目录建立链接文件,类似于Windows系统的快捷方式
分类:
软连接(又称为符号链接)和硬链接
格式:ln [-s] 源文件或目录…链接文件或目标位置(加-s为软连接,不加为硬链接)
例子:
这里有一点要记住就是查看链接的时候应该查看的是链接文件而不是原文件
十四、复制文件或目录
作用:拷贝文件或者目录,将需要复制的文件或目录(源)重建一份,并保存为新的文件或目录
格式:cp 【选项】…源文件或目录…目标文件或目录…
选项:
-f: 覆盖目标同名文件或目录时不进行提醒,而直接强制(Force)复制
-i: 覆盖目标同名文件或目录时提醒用户确认(Interactive ,交互式)(i的优先级高于f)
-p:复制时保持(Preserve)源文件的权限、属主及时间标记等属性不变
-a:和p的功能差不多,不过比p功能更强大,可以复制软连接
-r: 复制目录时必须使用此选项,表示递归复制所有文件及子目录
十五、删除文件或目录rm
作用:删除文件或目录
格式:格式:rm [选项] 要删除的文件或目录
选项:
-f: 不提醒,直接强制删除
-i: 提醒用户确认
-r: 递归删除整个目录树
删除空目录:rmdir
十六、移动文件或目录mv
作用:将指定文件或目录转移位置
如果目标位置与源位置相同,则相当于执行重命名操作
格式:mv [选项]... 源文件或目录... 目标文件或目录
选项:
-f:如果指定移动的源目录或文件与目标的目录或文件同名,不会询问,直接覆盖旧文件。
-b:当目标文件或目录存在时,在执行覆盖前,会为其创建一个备份。无论多少次,生效的文件以最近的两次文件为准
- i:如果指定移动的源目录或文件与目标的目录或文件同名,则会先询问是否覆盖旧文件,输入y表示直接覆盖,输入n表示取消该操作。直接覆盖原有文件,n取消移动
-n::要覆盖任何已存在的文件或目录
-u:当源文件比目标文件新或者目标文件不存在时,才执行移动操作。
十七、查找Linux命令程序所在的位置—which
格式:which 命令/程序名
十八、精细查找文件或目录——find
格式:find [查找范围] [ 查找条件表达式]注意:查找范围必须在前面
常用查找范围:
按名称查找:“-name”
按文件大小查找:“-size”
按文件属性查找:“-user”
按文件类型查找:“-type”
总结
-
Shell是一 种特殊程序
-
Linux命令的分类、 格式及使用方法
-
Linux常用命令
查看及切换目录(pwd、 cd、 Is、 du)
创建目录和文件(mkdir、 touch、 In)
复制、删除、移动目录和文件(cp、 rm、 mv)
查找目录和文件(which、 find)