Shell: 是一类软件的总称
shell是Linux系统中后台运行的一种特殊程序也可以理解成一种特殊的软件;提供了用户与内核进行交互操作的一种接口。
Shell将人类使用的 高级语言翻译成0100101交给内核;内核再调度硬件。
linux默认shell 程序是 bash
linux命令分为内部和外部命令
内部命令外部命令集成于Shell解释器程序内部的一些特殊指令;也称为内建;Built-in;指令Linux系统中能够完成特定功能的脚本文件或二进制程序属于Shell的一部分属于Shell解释器程序之外的命令没有单独对应的系统文件每个外部命令对应了系统中的一个文件每个外部命令对应了系统中的一个文件必须知道其对应的文件位置;由Shell加载后才能执行格式;命令字 空格 [选项] 空格 [参数]
命令字;是整条命令中最关键的一部分 唯一确定
选项; 短格式选项;使用“-”符号引导 通常 一个字母
长格式选项;使用“--”符号引导通常完整的单词
参数; 命令字的处理对象 可以是文件名、目录;路径;名或用户名等内容 个数可以是零到多个
编辑Linux命令行的辅助操作;
按键作用tab自动补齐;两次可以显示所有选项上下键查找之前使用过的命令Ctrl;l清屏Ctrl;c取消本次命令编辑Ctrl;a光标移到最前Ctrl;e光标移到最后Ctrl;U清空至行首不包括当前光标处的字符Ctrl;K清空至行尾包括当前光标处的字符内部帮助 help
外部命令帮助 --help
man
Man手册分9章
使用“↑”、“↓”;ENTER;方向键滚动一行文本
使用Page Up和Page Down;空格;键翻页
按Q或q键退出阅读环境
按“/”键查找内容;n键向下查找;N键向上查找
命令功能cd cd ~若不指定目标位置;切换到当前用户的宿主目录cd 目标位置切换到目标位置cd -切换到上一次执行cd命令之前所在的目录
绝对路径;以根目录开头的路径
相对路径;不以根目录开头
.代表自己文件夹
.. 自己的上一级目录;文件夹;
ls [选项] [文件或目录… ]
ls 不单独使用 要配合通配符使用
通配符作用;匹配文件名
*代表任意长度字符?代表任意单个字符[0-9]代表单个数字[a-z]没有大Z[A-Z]没有小a[^qwe]反向选择 不会出现qwe中任意一个{1..10}1到10{a..z}小写的a 到小写的z 转义 代表原来的意思ls常用选项
选项作用-a显示所有文件-l 长格式-R递归显示-d只显示当前目录-t按照时间排序-i显示indoe号-S文件大小排序ls -l
-rw-r--r--. 1 root root 2028 8月 31 19:32 initial-setup-ks.cfg
第一个字符代表文件的类型:
;_;表示该文件是一个普通文件
;d”表示该文件是一个文件夹
;l;表示该文件是一个软链接文件。类似于windows下的快捷方式
;c;表示字符
;b;表示块;硬盘;
;s;表示套接字
;p;表示管道
第1字符的后面9个字母表示该文件或目录的权限位:
r表是读;查看、下载;、w表示写;添加、更改、删除、上传;、x表示执行(运行文件、切换目录)
其中前三个表示文件拥有者;属主;的权限;中间三个表示文件所属组拥有的权限;最后三个表示其他用户拥有的权限。
第2字段:文件硬链接数
如果一个文件不是目录;此时这一字段表示这个文件所具有的硬链接数
如果是一个目录;则第2字段表示该目录所含子目录的个数。
如果新建一个空目录;这个目录的第二字段就是2;表示该目录下有两个子目录
第3字段:文件目录拥有者
第4字段:文件目录拥有者所在的组
第5字段:文件所占用的空间(默认以字节为单位).
如果是一个目录;则表示该目录的大小;而不是目录以及它下面的文件的总大小。
Linux系统中一切皆文件;因此目录也是一种文件。
第6字段:文件目录最近访问或修改时间
第7字段:文件名
如果是一个符号链接;软链接文件;;那么会有一个“->”箭头符号;后面根一个它指向的文件名
du [选项] [文件或目录… ]
常用选项;
选项作用-a统计磁盘空间占用时包括所有的文件;而不仅仅只统计目录-h以更人性化的方式;默认以KB计数;但不显示单位;显示出统计结果-s;--summarize;只统计所占用空间总的;Summary;大小;而不是统计每个子目录、文件的大小--max-depth=n (-d 1)最大显示到第n层--exclude不计入统计注意a s无法同时使用
mkdir [选项] 目录位置及名称
-p递归创建文件夹alias 命令别名 = ’命令‘
unalias 别名命令 删除别名
加别名命令 ;显示原始命令;
alias 临时修改
tips
绝对路径>别名>内部>hash>外部命令;先查找别名在查找内部命令;缓存最后外部;
touch 文件名
1.当文件不存在时 直接新建该文件;并且该文件是空文件
2.当文件存在;会刷新该文件的时间戳
硬连接;同一个文件取不同的名或者叫多个名字不支持文件夹;创建一个连接数加一;多路径访问。
软连接;类似于windows里快捷方式;软连接;符号连接;会指向原来的文件ln;link;
软连接;
ln -s 源文件或目录… 链接文件或目标位置
cp [选项]… 源文件 目标 相当改名复制
cp [选项]... 源文件... 文件夹 多个源文件只能复制到文件夹
注;复制多个文件或目录时;目标位置必须为目录;且目标目录必须已存在
-f复制时;复制在同一目录时只会提醒时同一文件;不会覆盖。
mv [选项] … 源文件或目录… 目标文件或目录 单个文件
将指定的文件或目录转移位置
如果目标位置与源位置相同;则相当于执行重命名操作
rm [选项] 要删除的文件或目录
选项作用-f删除文件或目录时不进行提醒;而直接强行删除-i删除文件或目录时提醒用户确定;y确定删除;n不删除;-r删除目录时必须使用次选项;表示递归删除整个目录数;谨慎使用查找路径;指定具体目标路径;默认为当前目录
查找条件;可以对文件名、大小、类型、权限等标准进行查找;默认为找出指定路径下的所有文件
查找类型关键字说明按名称查找-name根据目标文件的名称进行查找;允许使用“*”和“?”通配符按文件大小查找-size根据目标文件的大小进行查找补充;
1.按查找文件名字查找 -name
[root;localhost data]#find /boot/ -name ;vm*;
命令 查找范围 查找条件表达式;查找名字是以vm开头的文件;
2.按文件大小查找文件 -size k M G
[root;localhost data]#find /boot/ -size ;1024k
#查找boot目录下 大于1024k 的文件
注意点;文件大小不加加减号是一定的范围;单位越精确越好
3.按文件属主查找 属主;文件的拥有者 -user
[root;localhost data]#find /home/ -user zhangsan
#找到home 目录下 属于zhangsan用户的文件
4.按文件类型查找 -type f ;普通文件; d;目录; c;字符文件; b;块设备;
[root;localhost data]#find /dev/ -type b
#找到 /dev 下 的 块设备文件
5.按照 indoe号查找 -inum 要先知道indoe号
[root;localhost data]#ls -i
9243885 1.txt 9243846 bigfile 9243860 zwz.txt
[root;localhost data]#find -inum 9243885
./1.txt
6.按照目录层级查找文件 -maxdepth level -mindepth level
[root;localhost data]#find /etc/ -maxdepth 2 -mindepth 2
#只看第二层
7.天数查找文件 -mtime
[root;localhost data]#find /boot/ -mtime ;7 -type f -size ;1M -delete
#找到 7天以上 且文件类型为普通文件 且大于1M的文件 并且 加上处理动作 删除
查看cpu lscpu
查看内存 free
查看内核 uname -r
查看架构 arch
命令执行的顺序
1 绝对路径下的执行程序
2 先看别名;如果有别名直接执行
3 再区别是内部 还是外部;内部直接执行
4 外部 首先看 hash表 表中直接执行; 表中有但是找不到直接报错
5 没有hash 回去$PATH 路径下的文件夹去找;找到执行 找不到直接报错
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin