day010-Linux基础-文件属性详解

5次阅读
没有评论

2026年3月19

知识点回顾

1.特殊符号
> #正确输出重定向
>> #正确追加输出重定向
2> #错误输出重定向
2>> #错误追加重定向
案例
将正确的结果和错误的结果写入同一个文件
方法1 ping -c1 -W1 www.baidu.com >>1.txt 2>>1.txt
方法2 ping -c1 -W1 www.baidu.com >>1.txt 2>&1
方法3 ping -c1 -W1 www.baidu.com &>>1.txt
2.sort(排序)
作用:排序
语法结构:sort 文件
参数 -n 按数字大小排序
    -rn 按数字大小倒序排序
    -rnk 按某列倒序排序
3.uniq
作用:去重统计
语法结构:uniq 文件
参数
    -c 统计单词个数
4.wc
作用统计行数
语法结构 wc 文件名
参数 -l
5.du -sh
作用:查看目录大小
6.diff
diff 比对文本内容
7.软件安装
yum -y install 包名
yum -y romove 包名
yum list
yum list | gert 搜索的包名

01.软件安装

1.yum安装
centos和kylin:
yum安装自动解决依赖的问题
默认安装,不能自定义安装位置和功能
yum -y install lrzsz --->/etc/yum.repos.d/kylin.x86.64.repo里面放着软件仓库的地址
yum -y remove lrzsz
yum list #查看仓库中可用的软件
yum clean all #清理缓存 如果安装没问题,禁止使用这个命令
yum reinstall lrzsz #重复安装类似Windows覆盖,有些命令无法正常的,尝试修复
yum repolist 查看本地有那些仓库 和ll /etc/yum.repos.d
yum search 查找命令属于哪个包

[root@oldboy /]# yum repolist
仓库标识                             仓库名称
epel                                 Extra Packages for Enterprise Linux 7 - x86_64
ks10-adv-os                          Kylin Linux Advanced Server 10 - Os
ks10-adv-updates                     Kylin Linux Advanced Server 10 - Updates
[root@oldboy /]# ll /etc/yum.repos.d/
总用量 8
-rw-r--r-- 1 root root 664  8月  4  2022 epel.repo
-rw-r--r-- 1 root root 701  9月  8  2022 kylin_x86_64.repo
2.rpm安装
centos和kylin
语法结构:
        rpm -ivh 包名字.rpm
参数选项:
        -i  #安装install
        -v  #显示过程
        -h  #显示进度
        -e  #卸载软件
        -q  #查看软件包是否安装
        -qa #查看自己系统安装的所有软件 经常和grep搭配 rpm -qa|grep wget
        -ql #查看安装了那些文件
        -qc #只显示服务的配置文件
rpm 包去哪里下载?
官网、国内镜像仓库 阿里源、清华源
光驱里就是rpm包
特点:
1.不能自动解决依赖问题,需要我们手动解决
2.安装方法类似Windows的:
    Windows先将软件下载下来,软件的名字xxx.exe
    双击下一步下一步安装
#案例1:安装rpm包
第一步:将光驱挂载到/mnt目录
[root@oldboy /]# mount /dev/cdrom /mnt
mount: /mnt: WARNING: source write-protected, mounted read-only.
第二步:进入到光驱找到软件目录
[root@oldboy /]# cd /mnt/Packages/
第三步:安装rpm包 失败的依赖、需要手动安装解决
[root@oldboy Packages]# rpm -ivh wget-1.20.3-3.ky10.x86_64.rpm 
错误:依赖检测失败:
    libmetalink.so.3()(64bit) 被 wget-1.20.3-3.ky10.x86_64 需要
#下载依赖
[root@oldboy Packages]# yum -y install libmetalink
#再安装
[root@oldboy Packages]# rpm -ivh wget-1.20.3-3.ky10.x86_64.rpm 

#扩展:Linux核心命令 which 可以看到命令的绝对路径
[root@oldboy Packages]# which mkdir
/usr/bin/mkdir

#案例2:卸载rpm包
[root@oldboy Packages]# rpm -evh wget
准备中...                          ################################# [100%]
正在清理/删除...
   1:wget-1.20.3-3.ky10               ################################# [100%]

#rpm包安装的可以用yum -y remove 卸载 yum卸载自动卸载依赖
#yum安装的也可以用rpm -e进行卸载   rpm -e 不能自动卸载依赖
[root@oldboy Packages]# rpm -i wget-1.20.3-3.ky10.x86_64.rpm 
[root@oldboy Packages]# wget 
wget:未指定 URL
用法: wget [选项]... [URL]...

请尝试使用“wget --help”查看更多的选项。
单词:Usage 使用

#案例3:注意rpm路径问题
可以使用相对路径安装,也可以使用绝对路径安装
相对路径:
[root@oldboy Packages]# cd /mnt/Packages/
[root@oldboy Packages]# rpm -ivh wget-1.20.3-3.ky10.x86_64.rpm 
绝对路径:
[root@oldboy Packages]# rpm -ivh /mnt/Packages/wget-1.20.3-3.ky10.x86_64.rpm

#案例4:查看软件安装了哪些文件
[root@oldboy Packages]# rpm -ql wget
/etc/wgetrc
/usr/bin/wget
/usr/share/doc/wget
/usr/share/doc/wget/AUTHORS

#案例5:查看安装是否安装了哪些软件
[root@oldboy Packages]# rpm -q wget 
wget-1.20.3-6.ky10.x86_64
[root@oldboy Packages]# rpm -q lrzsz
lrzsz-0.12.20-46.ky10.x86_64
[root@oldboy Packages]# rpm -q wget lrzsz tree 
wget-1.20.3-6.ky10.x86_64
lrzsz-0.12.20-46.ky10.x86_64
tree-1.8.0-2.ky10.x86_64
#未安装提示
[root@oldboy Packages]# rpm -q lll
package lll is not installed
企业案例:服务器无法联网如何安装wget命令。
第一步:使用一个可以联网的服务器先将wget下载下来(前提是wget命令未安装)
[root@oldboy ~]# yum -y install --downloaddir=./ --downloadonly wget    #只下载不安装     
[root@oldboy ~]# ll libmetalink-0.1.3-8.ky10.x86_64.rpm wget-1.20.3-6.ky10.x86_64.rpm 
-rw-r--r-- 1 root root  27188 Mar 19 01:04 libmetalink-0.1.3-8.ky10.x86_64.rpm
-rw-r--r-- 1 root root 658912 Mar 19 01:04 wget-1.20.3-6.ky10.x86_64.rpm
第二步:将wget包拷贝到无法联网的服务器
sz(下载)rz(上传)到服务器
第三步:本地rpm安装
[root@oldboy ~]# ll libmetalink-0.1.3-8.ky10.x86_64.rpm wget-1.20.3-6.ky10.x86_64.rpm 
-rw-r--r-- 1 root root  27188 Mar 19 01:04 libmetalink-0.1.3-8.ky10.x86_64.rpm
-rw-r--r-- 1 root root 658912 Mar 19 01:04 wget-1.20.3-6.ky10.x86_64.rpm
3.ubuntu(apt/dpkg)
apt
ubuntu:
1.kylin(yum)--->apt(ubt)
语法结构:apt -y install 软件名称
        apt -y remove 软件名称

#案例1:安装
root@oldboy:~# apt -y install lrzsz

#案例2:卸载软件
root@oldboy:~# apt -y install lrzsz
dpkg
kylin(rpm)--->dpkg(ubt)
语法结构:
        dpkg -i xxx.deb
        dpkg -r 包名称
        dpkg -l 查看安装包
3.编译安装

02.文件属性

#查看文件的详细信息
-i  #显示文件的inode
[root@oldboy ~]# ll -i
total 708
67162114 -rw-r--r-- 1 root root   7485 Mar 18 22:09 1.txt
#面试题 用什么命令查看文件的详细信息?[root@oldboy ~]# stat 1.txt
每列的含义
第一列:Inode号码 index node索引节点
作用:
1.存放着文件的详细信息以及block的具体指针指向
2.类似书的目录
3.类似藏宝图(信息、指针指向路线)
inode:藏宝图
block:默认4k 真正存放数据的地方,真正存放宝藏的地方
每个文件至少占用1个inode和1个block
#面试题:磁盘无法写入什么导致的?
inode或者block任何一个满都会导致无法写入
#查看inode号df -i
[root@oldboy ~]# df -i
Filesystem       Inodes  IUsed    IFree IUse% Mounted on
devtmpfs         246519    455   246064    1% /dev
tmpfs            250387      1   250386    1% /dev/shm
tmpfs            250387    680   249707    1% /run
tmpfs            250387     17   250370    1% /sys/fs/cgroup
/dev/sda3      25062912 123677 24939235    1% /
tmpfs            250387     10   250377    1% /tmp
/dev/sda1        102400    340   102060    1% /boot
tmpfs            250387      6   250381    1% /run/user/0
/dev/sr0              0      0        0     - /mnt
#查看block df -h
[root@oldboy ~]# df -h
Filesystem      Size  Used Avail Use% Mounted on
devtmpfs        963M     0  963M   0% /dev
tmpfs           979M     0  979M   0% /dev/shm
tmpfs           979M   17M  962M   2% /run
tmpfs           979M     0  979M   0% /sys/fs/cgroup
/dev/sda3        48G  3.8G   45G   8% /
tmpfs           979M     0  979M   0% /tmp
/dev/sda1       195M  139M   56M  72% /boot
tmpfs           196M     0  196M   0% /run/user/0
/dev/sr0        4.3G  4.3G     0 100% /mnt

day010-Linux基础-文件属性详解

第二列:- 文件类型
drwxr-xr-x 2 root root 6 Mar 19 02:46 touch
文件类型:Windows .txt .exe .mp4 .avi
Linux一切文件:自己给文件命名参照于Windows .txt oldboy .log .sh .mp4 .jpg
Linux文件类型表示方法:
-   #普通文件、压缩包、命令、图片、视频
d   #目录
l   #软连接 类似
c   #字节文件

b   #块设备 block块 存储 
[root@oldboy ~]# ll /dev/sda
brw-rw---- 1 root disk 8, 0 Mar 18 19:50 /dev/sda

p   #管道文件
s   #接口文件

#软连接文件
[root@oldboy ~]# ll /etc/rc.local 
lrwxrwxrwx 1 root root 13 Apr 20  2022 /etc/rc.local -> rc.d/rc.local

#第一个字节文件
#/dev/zero 经常用来做测试磁盘IO INPUT OUTPUT、生成固定大小的测试数据
[root@oldboy ~]# ll /dev/zero
crw-rw-rw- 1 root root 1, 5 Mar 18 19:50 /dev/zero

#dev/zero 混沌 万物母器鼎

#生成大小10M的文件 10.txt
[root@oldboy ~]# dd if=/dev/zero of=10.txt bs=1M count=10
dd  #命令
if  #input file 从哪个文件读取数据
of  #output file 输出到哪个文件中
bs  #block size 每次读取多大的空间
count   #读多少次
[root@oldboy ~]# dd if=/dev/zero of=15.txt bs=1M count=15
记录了15+0 的读入
记录了15+0 的写出
15728640字节(16 MB,15 MiB)已复制,0.00420408 s,3.7 GB/s
[root@oldboy ~]# ll -h 15.txt 
-rw-r--r-- 1 root root 15M  3月 19 07:17 15.txt

#第二个字节文件
/dev/null 类似宇宙的黑洞、东西往里放、进去就没。只要命令执行结果。
企业用法:很多的命令的结果不想看,定向到空>
[root@oldboy ~]# ping -c1 -W1 www.baidu.com &>/dev/null 
[root@oldboy ~]# echo $?
0
[root@oldboy ~]# ping -c1 -W1 www.baidu.comaaaa &>/dev/null 
[root@oldboy ~]# echo $?
2


#第三列 文件权限
[root@oldboy ~]# ll -i 10.txt 
67162126 -rw-r--r-- 1 root root 10485760  3月 19 06:56 10.txt
rw-r--r--   #九位数权限、三位一组
rw-     #主人的权限 谁创建的这个文件 可读read 可写 write
r--     #小组的权限 哪些用户在我的小组,拥有属组的权限,没意义,只能看
r--     #其他用户的权限、陌生人,只能看

#第四列 硬链接
什么是硬链接?
具有相同inode号码的文件互为硬链接。
有多张秦始皇的藏宝图,多个藏宝图互为硬链接,我通过任何一张藏宝图都能找到秦始皇的位置。
目录的硬链接默认为2个
目录不能创建硬链接
硬链接不能跨文件系统创建、不能跨磁盘

第一步:创建硬链接(给一个文件在开一个门)
[root@oldboy ~]# ln 1.txt ln.txt
[root@oldboy ~]# ll -i 1.txt ln.txt 
67162114 -rw-r--r-- 2 root root 7485  3月 18 22:09 1.txt
67162114 -rw-r--r-- 2 root root 7485  3月 18 22:09 ln.txt
[root@oldboy ~]# > ln.txt 
[root@oldboy ~]# cat ln.txt 
[root@oldboy ~]# cat 1.txt 
[root@oldboy ~]# 

第二步:删除一个文件不影响另外一个
[root@oldboy ~]# rm -rf 1.txt 
[root@oldboy ~]# cat ln.txt 
hheeh
[root@oldboy ~]# ll -i ln.txt 
67162114 -rw-r--r-- 1 root root 6  3月 19 07:44 ln.txt

恢复1.txt
[root@oldboy ~]# ll -i ln.txt 1.txt
67162114 -rw-r--r-- 3 root root 6  3月 19 07:44 1.txt
67162114 -rw-r--r-- 3 root root 6  3月 19 07:44 ln.txt

#企业中经常用来做备份
[root@oldboy ~]# ln /etc/passwd /opt/passwd.bak

day010-Linux基础-文件属性详解

目录的入口默认两个:
[root@oldboy ~]# cd oldboy/
[root@oldboy oldboy]# cd .
[root@oldboy oldboy]# cp /etc/hosts . === cp /etc/hosts /root/oldboy/
[root@oldboy ~]# ll -id oldboy/
817587 drwxr-xr-x 2 root root 6  3月 19 08:01 oldboy/ #oldboy目录的硬链接

[root@oldboy ~]# cd oldboy/
[root@oldboy oldboy]# ll -ai
总用量 4
  817587 drwxr-xr-x 2 root root    6  3月 19 08:01 . #oldboy目录的硬链接
67157889 dr-xr-x--- 4 root root 4096  3月 19 08:01 ..

在创建test目录会出现第三个入口
[root@oldboy ~]# cd oldboy/
[root@oldboy oldboy]# ll
总用量 0
drwxr-xr-x 2 root root 6  3月 19 08:06 test
[root@oldboy oldboy]# cd test/
[root@oldboy test]# pwd
/root/oldboy/test
[root@oldboy test]# ll -ai
总用量 0
34172831 drwxr-xr-x 2 root root  6  3月 19 08:06 .
  817587 drwxr-xr-x 3 root root 18  3月 19 08:06 ..

#软链接
软链接类似windows的快捷方式
软链接inode号不同
软链接中存放着源文件的指针指向
文件和目录都可以做软链接
软链接可以跨文件系统
软链接常用、硬链接基本不用。
[root@oldboy oldboy]# ll /etc/rc.local 
lrwxrwxrwx 1 root root 13  4月 20  2022 /etc/rc.local -> rc.d/rc.local
[root@oldboy oldboy]# ll /etc/rc.d/rc.local 
-rw-r--r-- 1 root root 473  4月 20  2022 /etc/rc.d/rc.local

创建软链接:
[root@oldboy oldboy]# echo oldboy > a.txt
[root@oldboy oldboy]# cat a.txt 
oldboy
[root@oldboy oldboy]# ll
总用量 4
-rw-r--r-- 1 root root 7  3月 19 08:16 a.txt
[root@oldboy oldboy]# ln -s a.txt b.txt
[root@oldboy oldboy]# ll -i
总用量 4
  817592 -rw-r--r-- 1 root root 7  3月 19 08:16 a.txt
  817593 lrwxrwxrwx 1 root root 5  3月 19 08:17 b.txt -> a.txt

#删除源文件影响链接文件
[root@oldboy oldboy]# rm -f b.txt 
[root@oldboy oldboy]# ll
总用量 4
-rw-r--r-- 1 root root 7  3月 19 08:16 a.txt

#删除源文件影响链接文件
[root@oldboy oldboy]# ln -s a.txt b.txt
[root@oldboy oldboy]# ll
总用量 4
-rw-r--r-- 1 root root 7  3月 19 08:16 a.txt
lrwxrwxrwx 1 root root 5  3月 19 08:20 b.txt -> a.txt
[root@oldboy oldboy]# rm -rf a.txt 
[root@oldboy oldboy]# ll
总用量 0
lrwxrwxrwx 1 root root 5  3月 19 08:20 b.txt -> a.txt

#软硬链接都使用绝对路径
#创建时源文件在前、链接文件在后
[root@oldboy oldboy]# ln -s /root/oldboy/ /opt/test
#查看的时候源文件在前、链接文件在后
[root@oldboy oldboy]# ll /opt
lrwxrwxrwx 1 root root   13  3月 19 08:24 test -> /root/oldboy/


#软硬链接的区别
1.硬链接inode号相同、软链接不同的
2.创建方式不同ln硬  ln -s 软
3.目录不能做硬链接、可以做软链接
4.硬链接不能跨磁盘、软链接可以
5.删除硬链接不影响源文件、删除软链接不影响源文件,删除源文件影响软链接。

-------------
1.inode区别
2.创建方式以及跨磁盘
3.删除方面
-------------

取消挂载

umount /mnt

day010-Linux基础-文件属性详解

重点小结
1.yum安装软件、卸载软件
yum -y install
yum -y remove

-----笔记、操作
yum -y install --downloaddir 文件路径 --downloadonly 只下载不安装
yum -y reinstall #覆盖下载
yum clean all 清理缓存
yum repolist 查看仓库

2.rpm安装软件、卸载软件、查看软件
mount /dev/cdrom /mnt   #进入/mnt/Package目录下操作rpm包
rpm -ivh xx.rpm
rpm -e 包名字 卸载
rpm -q lrzsz wget #是否安装
rpm -qa #查看所有已经安装的软件
---------------
rpm -ql
rpm -qc

3.upt安装
apt -y install
apt -y remove
dpkg -i xx.deb
dpkg -r 名字

4.文件详细属性
inode号面试题、无法写入磁盘是什么原因导致
inode号满或者block满
df -i
df -h
ll -i文件 #查看文件的inode号

文件类型
-
d
/dev/zero
    dd if=/dev/zero of=1.txt bs=1M count=10
/dev/null
    ping xxx &>/dev/null
    $?
理解两个的不同
软链接创建ln -s源文件 目标文件
硬链接创建ln 源文件 目标文件

下次内容:
find 文件查找
打包压缩tar zip
正文完
 0
评论(没有评论)