如果你想拥有你从未拥有过的东西,那么你必须去做你从未做过的事情
一、文件详细属性
1、查看文件详细信息可以获取到哪些内容
使用ll命令查看文件详细信息时会看到下面这些内容
[root@localhost ~]#ll -i
总用量 32
67149692 -rw-r--r-- 1 root root 246 11月 21 17:18 1.txt
69071639 -rw------- 1 root root 3013 11月 14 02:07 anaconda-ks.cfg
67149673 -rw-r--r-- 1 root root 324 11月 14 14:20 disk.sh
68965279 -rw-r--r-- 1 root root 3445 11月 14 02:09 initial-setup-ks.cfg
67166175 -rw-r--r-- 1 root root 2705 11月 22 16:07 xunjianKylin.sh
67149671 -rw-r--r-- 1 root root 9601 11月 14 14:10 xunjian.sh
咱们可以将这些反馈内容分成8列怎么分呢?他们又有什么作用呢?
67149692 - rw-r--r-- 1 root root 246 11月 21 17:18 1.txt
第一列 第二列 第三列 第四列 第五列 第六列 第七列 第八列
有什么作用呢?
第一列:Inode号
第二列:文件类型
第三列:文件权限
第四列:用户的UID
第五列:属主
第六列:属组
第七列:上次修改时间
第八列:文件名
2、第一列Inode号
Inode号的作用:
唯一标识:每个文件或目录都有一个唯一的Inode号,即使文件名被更改,Inode号也不会改变。这意味着可以通过Inode号唯一确定文件系统中的一个文件或目录。
存储元数据:Inode包含了文件的元数据,如文件的权限(谁可以读取、写入或执行文件)、文件所有者和所属组、文件的大小、创建和修改时间等。
文件内容的索引:Inode中包含了指向文件数据块的指针。在文件系统中,文件数据被分割成多个数据块,这些数据块在磁盘上可能不是连续存放的。Inode中的指针指向这些数据块,使得系统能够快速定位并读取文件内容。
硬链接的支持:在支持硬链接的文件系统中,多个文件名可以指向同一个Inode号,这意味着它们实际上是同一个文件的不同引用。只要至少有一个硬链接指向一个Inode,文件数据就不会被删除。
文件系统管理:Inode号有助于文件系统的管理,比如在查找、删除文件时,系统可以通过Inode号快速定位文件的元数据。
权限检查:当用户尝试访问文件时,系统会检查请求者是否有权限访问对应Inode的文件,这是基于Inode中存储的权限信息。
文件恢复:在某些情况下,即使文件名丢失或目录结构被破坏,只要Inode未被删除,文件数据仍然可以通过Inode号来访问和恢复。
简单一点解释就是: Inode号,存着具体内容的指针指向
查找文件内容的时候,先找到inode号码
类似书本里的目录
inode号码和磁盘空间任意一个满,都会导致磁盘无法写入
3、第二列文件类型
Linux系统文件类型分类
1、这里面的第二列的"-"有什么含义呢?
[root@localhost ~]#ll -i
总用量 32
67149692 -rw-r--r-- 1 root root 246 11月 21 17:18 1.txt
1)表示普通文件
2)数据文件 压缩包
3)媒体文件 图片 视频 音频
4)二进制命令
2、除了"-"还有什么类型呢?
[root@localhost /]#ll -i
总用量 16
69044592 drwxr-xr-x 2 root root 6 11月 15 09:13 data
还有"d"类型,d类型表示目录
3、"l"类型
[root@localhost /]#ll -i /etc/rc.local
33723591 lrwxrwxrwx 1 root root 13 4月 20 2022 /etc/rc.local -> rc.d/rc.local
"l"类型表示软连接,类似windows的快捷键
4、"b"类型
[root@localhost /]#ll -i /dev/sda1
346 brw-rw---- 1 root disk 8, 1 11月 25 17:25 /dev/sda1
"b"类型表示硬件
5、"c"类型
[root@localhost /]#ll -i /dev/zero
7 crw-rw-rw- 1 root root 1
5 11月 25 17:25 /dev/zero
"c"类型表示字节设备
/dev/zero # 生成定量的数据 做测试使用
/dev/null #空的 类似黑洞,可以往里持续不断输入内容,而且不占用存储
至于后面的第三到第八列,咱们下面几篇文章分解
二、软件安装方式
常见的软件安装方式有三种
方法1:yum安装
方法2:rpm安装
方法3:编译安装
1、yum安装
yum安装方式是最常用的方式,基于红帽的,contos,openEuler,麒麟,龙蜥操作系统都常用yum安装,ubuntu这些debian系的操作系统使用的是apt的方式安装,这两种安装方式类似,用法也大体相同
特点:1.直接搜索到安装的命令,自动在仓库中下载
2.自动解决安装过程中的依赖问题
语法结构: yum -y install 软件包名称
yum -y install 包1 包2…
卸载结构: yum -y remove 软件包名称
yum -y remove 包1 包2…
查看仓库: yum repolist #查看默认的仓库
yum -y reinstall 包 #类似windows的覆盖安装
清理仓库的缓存:
yum clean all
安装过程中:
Total download size: 547 k
Installed size: 2.0 M
Is this ok [y/d/N]: y # 如果输入错误按住ctrl键删除或者剪切 然后再重新输入
安装错误原因:
1.无法上网,网速慢
2.仓库错误,没有仓库,仓库速度慢
3.包的名字Ping错
4.当前命令是包含在其他的包里面
例:安装rz命令
rz #将windows中的命令上传到linux中
sz #将linux中的命令上传到windows中
流程:
1.百度搜索命令属于哪个包*
百度-->搜索Linux安装rz命令
2.使用命令
yum provides rz
3.使用命令
yum search rz
查到rz 和 sz命令都属于lrzsz包 所在执行以下命令:
yum -y install lrzsz
安装完成后可以执行rz 和sz命令
2、rpm安装
rpm安装是一种广泛使用的软件包管理系统,最初由Red Hat公司开发,用于管理Linux系统中的软件包。它允许用户安装、卸载、升级、查询和验证软件包。
特点:不支持自动解决依赖包问题
语法格式:
rpm -ivh 软件包。rpm
i #install
-v #verbose 显示流程
-h #显示进度
简写:rpm -i 包名称
rpm卸载:
-e #卸载软件
-qa #查看软件是否安装
-ql #安装了哪些文件
使用rpm安装软件流程:
第一步:下载rpm软件包
第二步:使用rpm -ivh 包进行安装
注:包的路径必须正确;安装过程中需要依赖
检查是否卸载?
1.执行一下
2.which
3、编译安装
一般编译安装需要到对应服务的官网去将对应的包下载到本地,使用编译安装的方式比较常见的是Mysql和Oracle有很多,支持多实例,优缺点如下
优点:
最新版本:你可以获得软件的最新版本,可能包含最新的功能和安全修复。
定制化:在编译过程中,你可以根据需要配置软件,以满足特定的需求,比如启用或禁用某些特性。
优化:你可以针对特定的硬件平台优化软件,比如开启特定的CPU指令集,以提高性能。
依赖控制:你可以控制软件的依赖关系,选择安装哪些依赖,以及它们的版本。
安全性:由于是从源代码开始构建,你可以审计源代码,减少潜在的安全风险。
学习机会:编译安装可以帮助你更深入地了解软件的构建过程和内部工作原理。
兼容性:对于某些老旧的系统或者非常新的系统,可能只有源代码可用,编译安装是唯一的安装方式。
缺点:
耗时:编译过程可能非常耗时,尤其是对于大型软件项目。
复杂性:对于初学者来说,编译安装可能比较复杂,需要一定的命令行操作和构建系统的知识。
依赖管理:需要手动管理依赖关系,这可能会很麻烦,尤其是当依赖项很多或者版本要求严格时。
系统资源:编译过程可能会占用大量的CPU和内存资源,影响系统性能。
维护困难:编译安装的软件可能不如包管理器安装的软件那样容易更新和维护。
可能的编译错误:如果系统环境与软件预期的环境不匹配,可能会遇到编译错误。
二进制兼容性:编译的软件可能不兼容某些系统架构,尤其是当使用非标准编译器或配置时。
安全性:虽然可以从源代码审计开始,但编译过程本身可能引入安全问题,比如编译器漏洞。
文档和支持:编译安装的软件可能缺乏官方文档和社区支持,尤其是对于小众软件。
总的来说,编译安装提供了高度的灵活性和控制,但同时也带来了额外的复杂性和工作量。在决定是否采用编译安装时,需要权衡这些因素。对于需要最新功能、定制化或者优化的高级用户来说,编译安装是一个不错的选择。而对于大多数用户,使用包管理器安装软件可能更加方便和可靠。
好了今天的知识暂时告一段落了,想学习新的运维知识,记得点赞加关注!!!
想成为大佬,就要从小白开始,从0开始,一点一点的积累,慢慢成长,终有一日可以成为令别人仰望的大佬!!