day011-Linux基础-核心命令5

5次阅读
没有评论

2026年3月20

知识点回顾

1.yum
#安装
yum -y install 包名
#卸载
yum -y remove 包名
#查看仓库的所有包
yum list
#查看有多少仓库
yum repolist
#覆盖安装
yum -y reinstall
#只下载安装包
yum -y install --downloaddir=存放路径 --downloadolny 包名
#清理缓存
yum clean all
ubt
安装
apt -y install 包名
apt -y remove 包名
2.rpm
语法 rpm -ivh xxx.rpm包
参数:
        -i #安装
        -v #显示过程
        -h  #显示进度
        -q #查看包
        -qa #查看安装了哪些包
        -ql #查看安装路径
        -qc #
3.文件属性
第一列inode号
第二列为文件类型
- #普通文件、压缩包、命名、
-d #目录
-l 软连接
-c 字节文件
-b 块
第三列为文件权限
九位三组
第一组为创建着权限
第二组为属组权限
第三组为陌生人权限
r 可读
w 可写
x 可执行

第4列为硬链接
创建硬链接
ln 源文件 目标文件

软连接(快捷方式)
ln -s 

inode和black
查看inode 
df -i
查看文件的inode号
stat
ls -i
查看black
df -h
mount /dev/cdrom /mnt
/dev/zero
/dev/null

01.find命令

作用:查找系统中的文件
语法结构:       find 在哪里找 指定类型
                find /opt/ -type f      #按文件类型查找
                find /opt/ -name "文件名"  #按文件名称查找 -iname 忽略大小写
                find /opt/ -size 10M 或者+10M或者-10M #按文件的大小查找
                find /opt/ -[a/m/c]time +7 或者-7 #7天前或者7天内的文件0开始
                find /opt/ -type f -a -type d #并且关系 -a可以省略
                find /opt/ -size 5M -o -type f #或者关系

                find /opt/ -maxdepth 1 -type f #按照深度等级查找
                find /opt/ -inum inode号 #按照inode号查找
#文件属性的文件类型:
-   #普通文件 f
d   #目录 d
c   #字节
b   #块设备
l   #链接文件

企业中线上服务器禁止从/开始查找,消耗服务器的性能。
完全不知道在那个目录
一级一级的查
业务低谷期查

环境准备:
[root@oldboy oldboy]# touch 1.txt 2.txt 1.log 2.log 1.TXT 2.TXT
[root@oldboy oldboy]# ll
总用量 0
-rw-r--r-- 1 root root 0  3月 19 15:05 1.log
-rw-r--r-- 1 root root 0  3月 19 15:05 1.txt
-rw-r--r-- 1 root root 0  3月 19 15:05 1.TXT
-rw-r--r-- 1 root root 0  3月 19 15:05 2.log
-rw-r--r-- 1 root root 0  3月 19 15:05 2.txt
-rw-r--r-- 1 root root 0  3月 19 15:05 2.TXT
[root@oldboy oldboy]# dd if=/dev/zero of=5m.txt bs=1M count=5
记录了5+0 的读入
记录了5+0 的写出
5242880字节(5.2 MB,5.0 MiB)已复制,0.0020244 s,2.6 GB/s
[root@oldboy oldboy]# dd if=/dev/zero of=10m.txt bs=1M count=10
记录了10+0 的读入
记录了10+0 的写出
10485760字节(10 MB,10 MiB)已复制,0.00294141 s,3.6 GB/s
[root@oldboy oldboy]# dd if=/dev/zero of=20m.txt bs=2M count=10
记录了10+0 的读入
记录了10+0 的写出
20971520字节(21 MB,20 MiB)已复制,0.00558952 s,3.8 GB/s
[root@oldboy oldboy]# mkdir oldboy1 oldboy2
1.按文件类型查找:find [查找路径] -type [查找类型]
案例1:找出oldboy目录下所有的普通文件
[root@oldboy oldboy]# find ./ -type f
./1.txt
./2.txt
./1.log
./2.log
案例2:查找出当前目录下的所有目录
[root@oldboy oldboy]# find ./ -type d
./
./oldboy1
./oldboy2
案例3.查找/dev/字节文件
[root@oldboy oldboy]# find /dev/ -type c
/dev/vcsa6
/dev/vcsu6
2.按文件的名称查找:find [路径] -name “文件名称”
案例1:查找名字叫1.txt
[root@oldboy ~]# find oldboy/ -name "1.txt"
oldboy/1.txt
案例2:查找名字为oldboy2的
[root@oldboy ~]# find oldboy/ -name "oldboy2"
oldboy/oldboy2
案例3:用好* 表示所有
[root@oldboy ~]# find oldboy/ -name "*"
oldboy/
oldboy/1.txt
oldboy/2.txt
oldboy/1.log
案例4:查找所有.txt的文件
[root@oldboy ~]# find oldboy/ -name "*.txt"
oldboy/1.txt
oldboy/2.txt
oldboy/5m.txt
oldboy/10m.txt
oldboy/20m.txt
案例5:查找出名字叫touch的文件
[root@oldboy ~]# find / -name "touch"
/usr/bin/touch
3.按文件的大小进行查找find [路径] -size [文件大小+/-]
案例1:查找大于5M的文件
[root@oldboy ~]# find oldboy/ -size +5M
oldboy/10m.txt
oldboy/20m.txt
案例2:查找小于10M的文件
[root@oldboy ~]# find oldboy/ -size -10M
oldboy/
oldboy/1.txt
oldboy/2.txt
案例3:查找等于20M的文件
[root@oldboy ~]# find oldboy/ -size 20M
oldboy/20m.txt
纠正: 内存 磁盘
内存: 运行机身内存  运行程序的空间 手机8G 12G 16G   笔记本内存 8G 16G 32G
磁盘: 存储数据的地方  手机 256G 512G 1T           笔记本存储 512G 1T 2T
案例4.企业中查找大文件?磁盘马上满了,备份、删除
[root@oldboy ~]# dd if=/dev/zero of=/var/log/web.log bs=10M count=1000
[root@oldboy ~]# find / -size +200M
4.按照文件修改时间查找find [路径] -mtime [时间]
[root@oldboy ~]# date -s 20080808
Fri Aug  8 00:00:00 CST 2008

[root@oldboy ~]# cd oldboy/
[root@oldboy oldboy]# touch 2008{1..3}.txt
[root@oldboy ~]# ntpdate ntp1.aliyun.com #注意yum安装时间不一致会导致下载失败,手动修改时间date -s "2026-03-20 10:00:00"
案例1.找出修改时间7天前的文件
[root@oldboy ~]# find oldboy/ -mtime +7
oldboy/
oldboy/20081.txt
oldboy/20082.txt
oldboy/20083.txt
案例2:找出修改时间7天内的文件
[root@oldboy ~]# find oldboy/ -mtime -7
oldboy/1.txt
oldboy/2.txt
oldboy/1.log
oldboy/2.log
oldboy/1.TXT
案例3:笔试题经常的出的题 查找出30天前被修改过的文件
[root@oldboy ~]# find oldboy/ -mtime +30
oldboy/
oldboy/20081.txt
oldboy/20082.txt
oldboy/20083.txt
5.find查找默认递归查找
案例1:查找所有的文件、默认是递归
oldboy/1.txt
oldboy/2.txt
oldboy/1.log
oldboy/2.log
oldboy/1.TXT
oldboy/2.TXT
oldboy/5m.txt
oldboy/10m.txt
oldboy/20m.txt
oldboy/oldboy1/{1}.doc
oldboy/oldboy1/1.doc
案例2:只查找一级目录的文件、按照深度等级查找
[root@oldboy ~]# find oldboy/ -maxdepth 1 -type f
oldboy/1.txt
oldboy/2.txt
oldboy/1.log
oldboy/2.log
oldboy/1.TXT
oldboy/2.TXT
oldboy/5m.txt
oldboy/10m.txt
oldboy/20m.txt
oldboy/20081.txt
oldboy/20082.txt
oldboy/20083.txt
6.按照inode号查找
[root@oldboy ~]# find / -inum 67670297
/root/a.txt
/var/log/b.log
7.find进行并且和或者查找
案例1:查找文件1.txt并且小于5M
并且关系 -a、默认就是并且关系可以省略-a
[root@oldboy ~]# find oldboy/ -name "1.txt" -a -size -5M
oldboy/1.txt
省略a
[root@oldboy ~]# find oldboy/ -name "1.txt" -size -5M
oldboy/1.txt
案例2:查找文件小于5M,并且小于30M的
[root@oldboy ~]# find oldboy/ -size +5M -a -size -30M
oldboy/10m.txt
oldboy/20m.txt
案例3:找出oldboy目录大小等于5M的或者等于20M的
[root@oldboy ~]# find oldboy/ -size 5M -o -size 20M
oldboy/5m.txt
oldboy/20m.txt
案例4:找出oldboy目录下类型是文件或者目录的
[root@oldboy ~]# find oldboy/ -type f -o -type d
oldboy/
oldboy/1.txt
oldboy/2.txt
oldboy/1.log

02.find结果交给其他命令

1.xargs
xargs
语法结构:
        其他命令|xargs      #xargs 后面别名失效
[root@oldboy ~]# echo a.txt|xargs cat
aa
[root@oldboy ~]# echo a.txt|xargs ls -l
-rw-r--r-- 2 root root 3  3月 20 15:48 a.txt
[root@oldboy ~]# echo a.txt|xargs rm -f
案例1:find查找到的结果交给rm命令
[root@oldboy ~]# find oldboy/ -name "1.txt"|xargs rm
[root@oldboy ~]# find oldboy/ -name "1.txt"
案例2:find查找到的结果交给cat命令
[root@oldboy ~]# find oldboy/ -name "1.txt"|xargs rm
[root@oldboy ~]# find oldboy/ -name "1.txt"
[root@oldboy ~]# echo hehe > oldboy/2.txt 
[root@oldboy ~]# find oldboy/ -name "2.txt"
oldboy/2.txt
[root@oldboy ~]# find oldboy/ -name "2.txt"|xargs cat
hehe
案例3:find查找到的结果交给cp
[root@oldboy ~]# find oldboy/ -name "2.txt"|xargs -i cp {} /tmp/
[root@oldboy ~]# ll /tmp/
总用量 4
-rw-r--r-- 1 root root 5  3月 20 16:14 2.txt
案例4:find结果交给mv命令
[root@oldboy ~]# find oldboy/ -iname "1.txt"|xargs -i mv {} /tmp/
[root@oldboy ~]# ll oldboy/1.TXT
ls: 无法访问 'oldboy/1.TXT': 没有那个文件或目录
[root@oldboy ~]# ll /tmp/
总用量 4
-rw-r--r-- 1 root root 0  3月 19 15:05 1.TXT
案例5:xargs的-n参数 按照n列输出
[root@oldboy ~]# echo {1..10}|xargs -n5
1 2 3 4 5
6 7 8 9 10
2.exec方式执行
案例1:find查找到的结果交给ls -l命令
[root@oldboy ~]# find oldboy/ -name "1.log" -exec ls -l {} \;
-rw-r--r-- 1 root root 0  3月 19 15:05 oldboy/1.log
案例2:find查找到的结果交给rm命令
[root@oldboy ~]# find oldboy/ -name "1.log" -exec rm {} \;
[root@oldboy ~]# ll oldboy/1.log
ls: 无法访问 'oldboy/1.log': 没有那个文件或目录
案例3:find查找到的结果交给cp命令
[root@oldboy ~]# find oldboy/ -name "2.log" -exec cp {} /opt/ \;
[root@oldboy ~]# ll /opt/
总用量 4
-rw-r--r-- 1 root root    0  3月 20 16:22 2.log
3.使用反引号“ 或者$()
案例1:find结果交给ls -l命令
[root@oldboy ~]# ls -l `find oldboy/ -name "2.log"`
-rw-r--r-- 1 root root 0  3月 19 15:05 oldboy/2.log
[root@oldboy ~]# ls -l $(find oldboy/ -name "2.log")
-rw-r--r-- 1 root root 0  3月 19 15:05 oldboy/2.log
------------------------------------------------------
扩展:
[root@oldboy ~]# echo `hostname`
oldboy
[root@oldboy ~]# echo 
.bash_history  .config/       oldboy/        
[root@oldboy ~]# 
[root@oldboy ~]# hostname
oldboy
[root@oldboy ~]# echo `hostname`
oldboy
[root@oldboy ~]# echo `hostname`_
oldboy_
[root@oldboy ~]# echo `hostname`_`hostname -I`
oldboy_10.0.0.129 10.0.0.200
[root@oldboy ~]# mkdir `hostname`_`hostname -I`
[root@oldboy ~]# ll
总用量 0
drwxr-xr-x 2 root root   6  3月 20 16:27 10.0.0.200
drwxr-xr-x 4 root root 170  3月 20 16:20 oldboy
drwxr-xr-x 2 root root   6  3月 20 16:27 oldboy_10.0.0.129
------------------------------------------------------------
案例2:find的结果交给rm命令
[root@oldboy ~]# rm -f `find oldboy/ -name "2.log"`
案例3:find的结果交给cp命令
[root@oldboy ~]# cp `find oldboy/ -name "2.txt"` /tmp/
[root@oldboy ~]# ll /tmp/2.txt 
-rw-r--r-- 1 root root 5  3月 20 16:32 /tmp/2.txt
三种方式总结
find /oldboy -type f|xargs rm
find /oldboy -type f|xargs -i cp {} /opt
find /oldboy -type f -exec ls -l {} \;
ll `find /oldboy -type f`
cp $(find /oldboy -type f) /tmp/
重点
find 查找文件
find 结果交给其他文件

面试题:如何查找出系统中的大文件
find / -size +500M
笔试题:查找系统中大于30天前的文件并且删除
find / -mtime +30|xargs rm -rf

命令:
shutdown
reboot
init 0
init 6
pwd
ip a #ifconfig Windows命令 ipconfig/all ping nslookup
ping
nslookup www.baidu.com
cd
tree
ls 
ll
cat
mkdir
touch
vim
echo
cp
mv
rm
df
free
lscpu
uptime
w
hostname
hostnamectl
ifup ens33
ifdown ens33
dd
which
yum
rpm
dpkg
apt
wc
sort
uniq
sz
rz
head
tail
less
grep
alias
du
date
ntpdate
clock
stat
source
ln
route -n
man
find
xargs

周末总结命令
一周知识点
周末两天后面来的同学加紧跟进度。
打字 英文小本本
正文完
 0
评论(没有评论)