find-xargs-cut-tr-sort-uniq-tee

本文详细介绍了find命令的各种用法,包括查找文件类型、大小、修改时间、用户、组、正则表达式匹配,并展示了xargs、cut、sort、uniq、diff、tr等工具的实战应用,以及如何使用 tee、echo和用户管理。适合深入理解Linux命令行和文件操作。
find
find 参数
-type f  文件   d目录   l 符号链接
-iname  表示不区分大小写
-regex 正则表达式
-iname 不区分大小写
-cmin +10  十分钟外
-mtime -1 一天内
-user wang 用户王
-size +大于 -小于
-delete
-a 与
-o 或
! 取反
查看.conf文件数量  find /etc/ -name "*.conf"  | wc -l 
查看属组是tom2的文件 [root@localhost home]# find ./  -group tom2 -type f
查看大于1M文件  find /etc/ -size +1M
查看1天内修改的文件 find /root/ -mtime -1
查看权限是700的文件 [root@localhost home]# find ./  -perm /700 -type f
招出20分钟以内修改的文件筛选出文件进行删除find /root/ -cmin -20 | head -n 3 | head -n 2 | tail -n 1 | xargs rm -rf {} \; 
查看20分钟内小于100k文件 find /root/ -cmin -20 -a -size -100k
创建1-10的jpg和mp4文件touch {1..10}.{jpg,mp4}
删除1-10的jpg文件 find ./ -name "*.jpg"  -exec rm -rf {} \;  {}代表前边查找出的结果
复制用法 find ./ -name "*5.mp4"  -exec cp {} /tmp \;
删除10分钟内的文件 find ./ -cmin -10 -type f -exec rm -rf {} \;
除了tom1和tom2的文件find /home/ ! -user tom1  -user tom2
/home/tom2
xargs
xargs 配合mv -t 是用     ls | xargs -i mv -t  /tmp
[root@rocky tmp]# seq 5  
1
2
3
4
5
[root@rocky tmp]# seq 5|xargs  #默认取消换行符
1 2 3 4 5

[root@rocky tmp]# echo 1 2 3 4 5 6 | xargs -n1  按行显示
1
2
3
4
5
6
[root@rocky tmp]# echo 1 2 3 4 5 6 | xargs -n2
1 2
3 4
5 6
[root@rocky tmp]# echo 1 2 3 4 5 6 | xargs -n3
1 2 3
4 5 6

echo user{1..5} | xargs -n1 useradd  创建5个用户

[root@localhost home]# seq 5 | xargs -i echo a{}     花括号配合-i使用
a1
a2
a3
a4
a5
并行下载bilibili
yum install -y python3-pip
pip3 install you-get
seq 2 | xargs -i -P3 you-get https://www.bilibili.com/video/BV1hZ4y1i724?p={}&vd_source=1e8e7227cb73596440fb25edeb6a3f68 并行3个任务
cut
cat /etc/passwd |cut -d":" -f1-3,6  #切割
cat /etc/passwd  | cut -c 2-5  截取第2到第5字符显示
sort
-t 指定分隔符 
-k 指定列
-n 数字排序
-nr 数字倒序
-R  随机排序
[root@rocky ~]# cut -d: -f1,3 /etc/passwd |sort  -t: -nk2 
root:0
bin:1
daemon:2
adm:3
lp:4
sync:5
shutdown:6
------------------------------------------------------------
[root@rocky ~]# df |tail -n +2 | tr -s " " | cut -d" " -f5,6 | sort -t" " -nrk1
83% /boot
13% /
2% /run
0% /sys/fs/cgroup
0% /run/user/0
0% /dev/shm
0% /dev
uniq
-u 显示不重复的行
-c 统计相同次数
-d 每个相同的只显示一个
取相同值  cat 123 321 | sort | uniq -c
取不同值  cat 123 321 | sort | uniq -u
diff
[root@rocky ~]# cat > 123 <<EOF
> q
> a
> z
> EOF
[root@rocky ~]# cat > 321 <<11
> q
> a
> a
> z
> 11
[root@rocky ~]# diff -u 123 321
--- 123	2022-07-17 18:07:26.253703983 +0800
+++ 321	2022-07-17 18:07:43.438688469 +0800
@@ -1,3 +1,4 @@
 q
 a
+a
 z
vimdiff  123  321
patch 恢复文件
tr
[root@rocky tmp]# tr 'a-z' 'A-Z' < 123  #替换用法
ABC
[root@rocky tmp]# cat 123
abc
[root@rocky tmp]# echo healbloc | tr -d 'abc' #删除用法
hello
[root@rocky tmp]# echo healbloc | tr -dc 'abc' #除了abc都删除用法
[root@rocky tmp]# echo aabbaacc | tr -s 'abc'  #压缩用法
abac
cat > 123 <<EOF

echo {a..d} | tr ' ' '\n'  #把空格替换成换行

tee
tee命令用于将数据重定向到文件,另一方面还可以提供一份重定向数据的副本作为后续命令的stdin。简单的说就是把数据重定向到给定文件和屏幕上
-a:向文件中重定向时使用追加模式;
-i:忽略中断(interrupt)信号。

echo haha | tee -a 123
cat 123
ahsdhjkasd
haha

[root@HTNICE home]# cat /proc/version Linux version 5.10.140 (ylc@ylc-Precision-3571) (aarch64-linux-gcc.br_real (Buildroot 2022.02.6) 10.4.0, GNU ld (GNU Binutils) 2.36.1) #7 SMP Mon Feb 20 12:59:02 CST 2023 [root@HTNICE home]# busybox BusyBox v1.35.0 (2023-02-21 13:21:21 CST) multi-call binary. BusyBox is copyrighted by many authors between 1998-2015. Licensed under GPLv2. See source distribution for detailed copyright notices. Usage: busybox [function [arguments]...] or: busybox --list[-full] or: busybox --show SCRIPT or: busybox --install [-s] [DIR] or: function [arguments]... BusyBox is a multi-call binary that combines many common Unix utilities into a single executable. Most people will create a link to busybox for each function they wish to use and BusyBox will act like whatever it was invoked as. Currently defined functions: [, [[, addgroup, adduser, ar, arch, arp, arping, ascii, ash, awk, base32, base64, basename, bc, blkid, bunzip2, bzcat, cat, chattr, chgrp, chmod, chown, chroot, chrt, chvt, cksum, clear, cmp, cp, cpio, crc32, crond, crontab, cut, date, dc, dd, deallocvt, delgroup, deluser, depmod, devmem, df, diff, dirname, dmesg, dnsd, dnsdomainname, dos2unix, du, dumpkmap, echo, egrep, eject, env, ether-wake, expr, factor, fallocate, false, fbset, fdflush, fdformat, fdisk, fgrep, find, flock, fold, free, freeramdisk, fsck, fsfreeze, fstrim, fuser, getopt, getty, grep, gunzip, gzip, halt, hdparm, head, hexdump, hexedit, hostid, hostname, hwclock, i2cdetect, i2cdump, i2cget, i2cset, i2ctransfer, id, ifconfig, ifdown, ifup, inetd, init, insmod, install, ip, ipaddr, ipcrm, ipcs, iplink, ipneigh, iproute, iprule, iptunnel, kill, killall, killall5, klogd, last, less, link, linux32, linux64, linuxrc, ln, loadfont, loadkmap, logger, login, logname, losetup, ls, lsattr, lsmod, lsof, lspci, lsscsi, lsusb, lzcat, lzma, lzopcat, makedevs, md5sum, mdev, mesg, microcom, mim, mkdir, mkdosfs, mke2fs, mkfifo, mknod, mkpasswd, mkswap, mktemp, modinfo, modprobe, more, mount, mountpoint, mt, mv, nameif, netstat, nice, nl, nohup, nologin, nproc, nslookup, nuke, od, openvt, partprobe, passwd, paste, patch, pidof, ping, ping6, pipe_progress, pivot_root, poweroff, printenv, printf, ps, pwd, rdate, readlink, readprofile, realpath, reboot, renice, reset, resize, resume, rm, rmdir, rmmod, route, run-init, run-parts, runlevel, sed, seq, setarch, setconsole, setfattr, setkeycodes, setlogcons, setpriv, setserial, setsid, sh, sha1sum, sha256sum, sha3sum, sha512sum, shred, sleep, sort, start-stop-daemon, strings, stty, su, sulogin, svc, svok, swapoff, swapon, switch_root, sync, sysctl, syslogd, tail, tar, tc, tee, telnet, telnetd, test, tftp, time, top, touch, tr, traceroute, true, truncate, ts, tty, ubirename, udhcpc, udhcpd, uevent, umount, uname, uniq, unix2dos, unlink, unlzma, unlzop, unxz, unzip, uptime, usleep, uudecode, uuencode, vconfig, vi, vlock, w, watch, watchdog, wc, wget, which, who, whoami, xargs, xxd, xz, xzcat, yes, zcat [root@HTNICE home]# 我尝试使用这个系统进行网安agent探针开发,目前先尝试使用C语言标准库和POSIX标准实现登录成功、退出登录、登陆失败、操作命令、串口数量信息、串口占用、串口释放等事件的日志记录
09-09
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值