文章目录
shell(翻译官)
①Linux系统中运行的一种特殊程序
②在用户和内核之间充当“翻译官”
③用户登录Linux系统时,自动加一个Shell程序
④Bash是Linux系统中默认使用的Shell程序
接收用户输入命令–》解释命令–》传递给系统内核执行
Linux命令的分类
内部命令与外部命令的区别:
内部命令在系统启动时就调入内存,是常驻内存的,所以执行效率高
外部命令是系统的软件功能,用户需要时由Shell加载后从硬盘中调出
通用命令行使用格式
【命令字】 【选项】 【参数】
操作 功能 对象
命令字:是整条命令中最关键的一部分,
唯一确定一条命令
选项:短格式使用“-”符号引导,字母,分大小写
长格式使用“--”符号引导,单词
参数:命令字的处理对象,可以是文件名,目录(路径)名或用户名等内容
个数可以是0到多个
命令提示字符
#表示为管理员登陆
$表示为普通用户登陆
su 是切换用户 高到低不需要密码, 相反
su : 切换后用户所在目录不变
su-:切换后用户所在目录变成用户家目录
永久设置主机名称:hostnamectl set-hostname 主机名 回车 su或bash (设置成功)
方法二:cd /etc/
查看当前系统版本信息:cat /etc/redhat-release release(发行版)
cat /etc/*release
*:正则表达式,意思匹配0或多个字符(全部)
查看当前内核版本:
uname -r
编辑Linuk命令行辅助操作
Tab 键:自动补齐
反斜杠“\”:强制换行
Ctrl+U组合键:清空至行首
Ctrl+K组合键:清空至行尾
Ctrl+L组合键:清屏
Ctrl+C组合键:取消本次命令编辑
获得命令帮助的方法
1,内部命令“help”
查看shell内部命令的帮助信息
2,命令的‘–-help’选项
适用于大多数Linux外部命令
3,使用man命令阅读手册页
使用“↑”“↓”方向键滚动一行文本
使用Page up和Page down 翻页
按Q或q退出阅读环境
按“/”查找内容
查找参数翻页“n”“N”
查看当前目录
pwd 显示用户当前所在的工作目录位置
切换目录
cd 将用户的工作目录更改到其他位置
cd~ 或cd :若不指定目标位置,切换到当前用户的宿主目录
cd - :切换到上一次执行 cd 命令之前所在目录(切换到移动之前目录)
cd… 表示回到上一层目录
cd…/…/ 表示回到上上层目录
绝对路径:有/(/又叫根)就是绝对路径
相对路径:没有/ 就是相同路径
相对路径表现形式:
ls和cat的区别
ls:只能查看目录(看不了内容)
cat:可查看到文件(内容)
列表显示目录内容-ls
显示目录中内容,包括目录和文件相关属性信息
ls 【选项】 【文件或目录…】
常用选项:
-l -a -A -h -R -i -d --color
结合通配符:
"?"匹配文件名中的一个未知字符
"*"匹配文件名中的0或任意多个未知字符
-l:显将文件信息详细列出,通常直接使用ll,因为设置了别名
-a:遍历所有文件及目录(ls内定将文件名或目录名称开头为‘.’视为隐藏,不会列出)
-A: 跟-a唯一的不同是不列出当前目录和上一层目录
-h:友好显示,以单位为例
以更人性化的方式(默认以kb计数,但不显示单位)显示出统计结果
-R:递归显示,比如一个目录下还有文件,则把那个文件也一起列出
-i:显示inode值
-d:查看目录本身信息,不显示目录下的内容
–color:显示颜色
选项多个一起使用例:ls -lh…
颜色区分:
黑色数据文件 TXT
绿色 可执行文件
黄色 块设备文件
棕色 压缩包
蓝色 文件夹
天蓝色 链接文件(快捷方式)
设置别名-alias
通过别名机制简化常用的,比较长的命令
改别名注意:别跟别的命令冲突
alisa 命令别名=命令
用unalias 加上别名直接删除
语法:unalias [-a][别名]
参数 -a 表示删除全部的别名,可要小心啊
统计目录及文件空间占用情况-du
统计指定目录(或文件)所占用磁盘空间的大小
du 【选项】 【文件或目录…】
常用选项:
-a 统计磁盘空间占用是包括所有的文件
-h 以更人性化的方式(默认以kb计数,但不显示单位)显示出统计结果
-s 只统计所占用空间总的(Summary)大小,而不是统计每个子目录,文件的大小
创建新目录-mkdir
-p:创建递归文件夹
创建多个文件夹:
mkdir {0…19} 就是创建了1到20 个文件夹
创建空文件-touch
更新文件的时间标记
经常用于创建多个新的空文件
touch {1…5} .txt 就创建了5个空文件夹
创建链接文件 -ln
为文件或目录建立连接文件类似快捷方式
链接文件类型:
软链接(又称为符号链接):ln -s 创建软链接,相当于创建一个快捷方式(天蓝色)
详细描述:
①查询过程:软链接指向的是原文件的文件名,然后在从原文件找到对应的inode值,最后找到数据并读取出来
②源文件删除,软连接失效
③源文件或软链接文件修改会影响到所有文件内容
④源文件与软链接文件的inode不一致(软链接的inode值的内容仅指向源文件的文件名)
⑤软链接可对文件或目录进行创建符号链接
echo输出时一个> 号如有就会覆盖之前写入,若没有添加
cat 查看写入的位置
echo输出时一个> >号才会添加新的输入信息
硬链接:ln 创建硬链接,相当于复制了一个副本
详细描述:
①查询过程:访问硬件链接文件,硬链接文件指向inode值(与源文件相同),再指数据
②源文件删除硬链接依然可用
③源文件或硬链接文件修改会影响到所有文件内容(和软链接相同)
④源文件与硬链接文件的inode值相同
⑤硬链接仅能对文件进行创建(对目录不行)
复制文本或目录 -cp
格式:cp 【选项】 源文件或目录 目标文件或目录
常见选项:
-r :复制整个文件夹,需加-r参数递归复制
-p:复制且保持文件属性不变
-d:拷贝软链接时,保持连接属性不变
-i:覆盖文件前提示,交互确认覆盖(一般是默认)
-f:强制覆盖
-a:保留权限,复制软连接本身,递归复制
删除文件或目录 -rm
-r:删除递归,删除目录及内容
-d:删除空的文件夹
-f:强制删除,不提示(不进行交互) 目录无法直接删除
-v:显示删除的过程
移动文件或目录-mv
格式:
作用:
将指定的文件或目录转移位置
如果目标位置与原位置相同,则相当于执行重命名操作
-i:覆盖提示
-f:强制覆盖
查找命令/文件存放目录 -which
which 命令用于查找Linuk 命令程序并显示所在具体位置,其搜索范围由环境变量PATH决定(可执行echo $PATH 命令查看)这个范围也是Linuk操作系统在执行命令或程序的默认搜索路径。
格式:
which 命令|程序名 或 which -a 命令|程序名
环境变量解释:就是把命令字和功能对应关系的命令程序,放在应该放的目录中,就能让系统认知或识别到,我们就可以用这条命令
查询文件或目录 -find
采用递归方式,根据目标的名称,类型,大小等不同属性进行精细查找
格式:
关键字:
-name:(按名称查找)
据目标 文件的名称进行查找,允许使用“*” 或 “?" 通配符
查找目录以 .txt结尾的文件
查找目录以大写或小写字母开头的文件,需中括号引号,括,引在其中
-size:(按文件大小查找)
根据目标文件的大小进行查找,一般使用“+” ,“-”号设置超过或小于指定的大小作为查询条件,常用的容量单位包括kB(注意k是小写),MB ,GB
例:
组合:
查找/etc/中,文件大小为4M,名字以31为结尾的文件。
多项组合:
-user:(按文件属主查找)
根据文件是否属于目标用户进行查找
-type:(按文件类型查找)
根据文件的类型进行查找,文件类型包括普通文件(f),目录(d),块设备文件(b),字符设备文件(c) 链接(l)等
|(管道符)| xargs -exec 的区别 (扩展)
|(管道符)分割命令,总左到右先后(依次) 执行
xargs:
- 命令行参数转换
- 从标准输入执行命令
- 可以把文件内部的内容输出来
xargs -exec 的区别
| xargs :表示将|(管道),左侧(前面)的执行结果,作为右侧的处理对象(参数来使用)
消耗CPU资源,但速度快
例:find./ -name “[a-z].txt” | xargs rm -f {}
-exec :简单叙述:虽是两条命令,但在exec眼里是一条任务(一个整体),相对消耗CPU资源较少,但速度相对较慢
执行程序
find./ -name “[a-z].txt” -exec rm -f {} ;
查找/(根)以下,以mysql为名字,的目录在哪 -type d
查找/(根)以下,以mysql为名字,的文件在哪 -type f
!-type d: 对于结果进行取反查询,除-d(目录)都显示
-type l:查找链接文件
Linuk中日志放在/var/log sylog(扩展)
例:“-5’': 是5天内 “+5”: 是5天前
-atime 访问时间
-mtime 文件内容修改时间
-ctine 文件属性修改时间
ctime 以每天单位
cmin 以分钟为单位
使用 “-a” “-o” 组合两个条件,
-a:表示两个条件必须同时满足
-o:表示只需要满足其中任何一个条件即可
-a和-o:前面两个条件必须同时满足,和后面需要满足其中任何一个条件
pe d: 对于结果进行取反查询,除-d(目录)都显示
[外链图片转存中…(img-au3aTwQG-1655119734080)]
-type l:查找链接文件
[外链图片转存中…(img-FAUYDEdu-1655119734080)]
Linuk中日志放在/var/log sylog(扩展)
例:“-5’': 是5天内 “+5”: 是5天前
-atime 访问时间
-mtime 文件内容修改时间
[外链图片转存中…(img-fm7BcKTb-1655119734081)]
-ctine 文件属性修改时间
ctime 以每天单位
cmin 以分钟为单位
使用 “-a” “-o” 组合两个条件,
-a:表示两个条件必须同时满足
[外链图片转存中…(img-tzOnf0Uv-1655119734081)]
-o:表示只需要满足其中任何一个条件即可
[外链图片转存中…(img-cakiyISQ-1655119734081)]
-a和-o:前面两个条件必须同时满足,和后面需要满足其中任何一个条件