cat-cp-xargs-find-mv-管道知识

cat-cp-xargs-find-mv-管道知识

1、cat 查看文件内容
列子:cat oldboy.txt
[root@localhost test]# cat oldboy.txt
1 2 3 4

2、xargs从标注你输入获取内容创建和执行命令 -n 数字, 分组
[root@localhost test]# cat oldboy.txt
1 2 3 4 5 6 7 8
[root@localhost test]# xargs -n 2 <oldboy.txt
1 2
3 4
5 6
7 8

3、cp copy 拷贝文件或目录,如果拷贝目录,需要带参数,-R(递归拷贝)

[root@localhost test]# cp oldboy.txt /tmp
[root@localhost test]# ls /tmp/
gconfd-root keyring-ioSB7Q oldboy.txt virtual-root.jpohSv
keyring-0uMy6T keyring-WcKbJW orbit-root vmware-root
keyring-aG2aZI mapping-ladp ssh-zIaHiN4497
keyring-gpWzZD mapping-root vgauthsvclog.txt.0

(1)—R参数:递归,用于复制目录
(2)-a:相当于-pdr
(3)-d:若源文件为链接文件,则复制链接文件属性而非档案本身;

(4)-f:强制,若目标档案已经存在且无法启动,则移除后再尝试
(5)-i:若目标文件已经存在时,覆盖时会先询问
(6)-p:连同档案的属性一起复制过去,而非使用默认属性;
(7)-u:若目标文件存在,则目标文件比源文件旧时才复制

[root@localhost data]# cp oldboy.txt /tmp
[root@localhost data]# cp oldboy /tmp/
cp: omitting directory `oldboy’
[root@localhost data]# cp -a oldboy /tmp/
[root@localhost data]# cp -r oldboy /tmp/

4、mv 源文件 目标文件
-i:如果目的文件已经存在,询问是否覆盖
-f:强制执行,不在询问
-u:若目的文件存在,则比源文件新,才会移动
注意:如果源文件是多个,那么目的文件在最后,且是目录。

[root@localhost /]# mv /data /root
[root@localhost /]# ls /data
ls: /data: No such file or directory
[root@localhost /]# ls /root
anaconda-ks.cfg data Desktop hellow.java install.log install.log.syslog

5、rm remove删除 比较危险的动作,需要谨慎操作–删除前一定要先备份
-f:不提示删除(force)
-fr:强制删除目录和文件
-R(递归删除)

[root@localhost data]# ls -l
total 16
drwxr-xr-x 2 root root 4096 Feb 5 10:11 oldboy
-rw-r–r-- 1 root root 14 Feb 5 01:07 oldboy.txt
[root@localhost data]# rm oldboy.txt
rm: remove regular file `oldboy.txt’? y
[root@localhost data]# ls -ll
drwxr-xr-x 2 root root 4096 Feb 5 10:11 oldboy

6、find命令进行删除 -type(f: d:) {}代表找到内容 *****

(1)find /data -type f -name “oldboy.txt” -exec rm {} ;
/data:代表北京
-type f:代表文件
-name “a.txt”:代表姓名
-exec rm {} ;:对对象的操作

[root@localhost /]# mkdir /data
[root@localhost /]# echo oldboy >/data/oldboy.txt
[root@localhost /]# cat /data/oldboy.txt
oldboy
[root@localhost /]# echo oldboy >/data/a.txt
[root@localhost /]# find /data -type f
/data/oldboy.txt
/data/a.txt
[root@localhost /]# find /data -type f -name “a.txt”
/data/a.txt
[root@localhost /]# find /data -type f -name “a.txt” -exec rm {} ;

(2)通过管道符进行删除(意思是查找的内容通过管道传给rm,然后xargs变换成一行进行删除)
[root@localhost data]# touch a.txt b.txt c.txt
[root@localhost data]# find /data -type f -name “*.txt” |xargs –变成一行
/data/b.txt /data/a.txt /data/c.txt

find /data -type f -name “*.txt” |xargs rm -f

[root@localhost /]# ls /data
a.txt oldboy.txt
[root@localhost /]# find /data -type f -name “*.txt” |xargs rm -f;
[root@localhost /]# ls /data

touch和rm可以创建多个文件和删除多个文件

root@localhost /]# cd /data
[root@localhost data]# ls -l
total 0
[root@localhost data]# touch a.txt b.txt c.txt
[root@localhost data]# ls -l
total 12
-rw-r–r-- 1 root root 0 Feb 5 10:44 a.txt
-rw-r–r-- 1 root root 0 Feb 5 10:44 b.txt
-rw-r–r-- 1 root root 0 Feb 5 10:44 c.txt

[root@localhost data]# rm -f a.txt b.txt c.txt
[root@localhost data]# ls -l
total 0

-mtime 按照时间查找,生产环境比较常用

find /log -type f -name “*.log” -mtime +15 |xargs rm -f ##查找/log目录,删除15天以前修改过的文件

发布了17 篇原创文章 · 获赞 1 · 访问量 4259

猜你喜欢

转载自blog.csdn.net/qq_43211632/article/details/104173585