简单的对系统中的所有内容进行增删改查
Linux:和Windows一样都是操作系统
Linux系统是转为为专业的开发人员提供开发服务环境架构的
特点:运行程序的速度快,兼容性强,系统安全性高,可靠性高
支持多用户模式 多任务模式 网络功能也很强大 开源
Centos的内核的二次开发
redhat 8
centos 8 不在进行更新
centos 7 24年也停止更新了
但是Linux服务器的内核都差不多
centos 6 5 4 也比较常用
Shell
shell的作用:翻译
把用户输入的指令转换成二进制,传递给内核执行,内核执行完成之后,再通过shell翻译成人类能够看懂的语言
Liunx命令基础
Linux命令的分类
内部命令与外部命令的区别
内部命令:
shell的一部分,在系统开启时,就被shell加载进了内存当中,因此内部命令运行时,直接从内存中调用,速度快。
内部命令都是一些简单的系统命令,既不复杂,功能也不强大
例如: cd history exit
外部命令:
不在shell当中,也不随着系统的开启加载到系统内存当中,外部命令都是实用功能非常强大的命令,比较复杂,程序量也很大,所以只在执行时,由shell控制。shell: 查找外部程序的路径,加载存放,控制命令的执行。
是在默认解释bash之外额外安装的程序。
一般在/bin usr/bin /sbin /usr/sbin
例如vim
Liunx命令行的格式
通用的命令使用格式
命令字 选项 参数 ---->你究竟想要对...干什么
命令字:你想要什么 你想对系统发出什么样的操作命令
选项:对系统做的操作执行精确的指示,在选项前面会有-,长格式 --(怎么做)
参数:操作对象
编辑Linux命令的辅助操作
Tab键:自动补齐
Ctrl+C:取消本次命令编辑
Ctrl+Z:终止当前进程并跳出(一定可以跳出)
Ctrl+L:清屏
Ctrl+U:清空至行首
Ctrl+K:清空至行尾
Ctrl+a:切换至行首
Ctrl+e:切换至行尾
反斜杠\:强制换行
获取命令帮助的方法
使用man命令阅读手册页
上下(ENTER)方向键滚动文本
Page Up 和Page Donw翻页
Q或者q退出
/查找内容,n向下查找,N向上查找
命令--help
适用于大部分Liunx外部命令
总结:shell在用户和内核之间充当翻译的作用
Liunx命令分为内部命令和外部命令
获取Liunx命令帮助的方法(man/--help)
命令详解
查看当前的工作目录--pwd
展示当前所在的目录地址,系统路径
cd 切换目录
cd ~ 切换到当前登陆系统用户的家目录
cd / 切换到根目录
cd /opt/ 切换到根目录下的opt目录
cd - 切换到上一次执行的目录
cd.. 返回上一层目录
cd. 就待在当前目录不变
绝对路径:以/为开头,所有往下的路径,都是绝对路径
注:Linux所有的一切都在根目录下,切换到根目录下的xx目录,都要是已存在的目录
cd只能切换目录,不能对文件操作
相对路径:没有/的就是相对路径
cd /rh/ 根目录下没有rh目录,切换不到,根目录下存在rh目录才可以切换到
cd rh/ 切换到当前目录下的子目录rh(不用加绝对路径)
ls 展示当前目录下所有的内容(简略查看)
注:Linux一切皆文件,目录也是文件,所有的设备也是文件,都以文件的形式存储
ls -a 显示隐藏文件(展示当前目录下的所有文件,包括隐藏文件)记忆
ls -A 只显示当前目录下的所有文件,包含隐藏文件,区别在于不显示前面的. ..
ls -d 显示目录本身的属性,但是不会显示目录中的内容(了解即可)
ls -R 以递归的方式显示目录及子目录中的所有内容(既展示文件,又展示目录里的内容)
ls -h 人性化显示 常用
ls - i 显示文件和目录的inode号
ls -iR 既显示文件的inode号,同时还递归展示当前目录下的所有文件,包含子目录中的文件的inode号
ls -t 以时间排序,新创建的文件排在前面(更新时间靠前的在前面)
ls -r 以时间倒序来排序(最新的文件会排在后面)都是了解即可
通配符:只能匹配文件名或者目录名,不能匹配文件内容
? 匹配单个字符
* 匹配所有字符,不管你有多长,但是不能匹配以.为开头的文件(不能匹配隐藏文件名)
范围匹配:
[a-z]:匹配所有小写字母
[A-Z]:匹配所有大写字母
[0-9]:匹配0-9数字
使用快捷方式一次性创建多个文件
{1..10}
{a..z} [a-z]不显示Z
{A..Z} [A-Z]不显示a
ls -l 长格式展示 (ls-l = ll)
ls -lh 人性化的长格式展示
d rwx r-x r-x. 1 root root 30 Jun 9 01:24 123
目录 所有者权限 所在组权限 其他用户(r读 w写 x执行)
1:文件或者目录的硬连接数 root 文件或者目录的所有者 root所在组
30:文件的大小
Jun 9 01:24 文件被最后一次更新的时间
123:文件名
创建连接文件 ln
软连接:类似快捷方式
删除源文件,快捷方式一并失效,删除快捷方式,对源文件无影响
格式:ln -s 源文件 希望创建的软连接的文件名
硬连接:创建了一个和源文件一模一样的文件
两个文件内容,大小,inode号都一致的文件,除了文件名不一样(他自己就是他自己)
删除其中一个对另外一个没有任何影响
软连接硬链接修改一方,另一方也生效
格式 ln 源文件 硬接文件名
举例 ln 123 456
总结:
文件类型 软连接文件 硬链接文件
删除源文件后 失效 仍然可用(文件占用空间与源文件相同)
使用范围 适用于文件或目录 仅适用于文件
保存位置 与源文件可在不同的文件系统中 必须与源文件在同一个文件系统(即同一个分区)中
与源文件的关系 相当于快捷方式 相当于给文件起个别名
inode号码 inode号码不同 inode号码相同
alias 别名 临时修改,重启即失效
alias check = “ifcfg-ens33”
主要作用:把复杂的命令进行替代(简化)
unalias 删除别名
du 查看当前目录下所有文件或者目录的大小(只统计目录)
du -a 统计所有文件、目录的大小(统计所有文件,目录以及文件)
du - h 人性化显示
du - ah 既统计目录,也统计文件的大小
du - s 只统计所占总空间的大小,不在一一列出
du -sh 统计总大小
--max-depth-n (-d 1)只显示统计到第几层子目录(了解即可)1当前 2子目录 3子下的子目录
du -sh * 查看当前目录下目录占的空间大小(方便删除占用空间大的目录)
df 查看所有的硬盘空间剩余
-h 人性化查看磁盘空间的使用情况
-i 显示可用inode号
创建目录 mkdir
mkdir 目录名 (创建单个目录)
mkdir 123 456 789 并行创建多个目录
mkdir -p aa/bb/cc 递归创建多个子目录
touch 创建文件
注意:不能创建和目录名相同的文件
重复的目录名既不提示,也不覆盖,也不创建
有重复的文件名既不提示,也不报错,也不覆盖
cp 复制文件 复制目录
-f:覆盖目标同名文件时,不进行提醒,而直接强制复制
-i:覆盖时,提醒用户确认
-p:保留权限复制(复制时保持源文件的权限,属主和时间标记等属性不变)
-r:复制目录时必须使用此选项,表示递归复制所有文件及子目录
-a:完整保留所有的信息包括连接文件,可以直接复制目录
注意:复制多个文件或目录时,目录位置必须是目录,且目录必须已存在
rm 删除
-f:删除文件或者目录时不进行提醒,而直接强制删除
-i:删除时提醒用户确认
-r:删除目录时必须使用此选项,表示递归删除整个目录数
-rf:不提示,整个直接删除(强制递归删除)