首页 > 编程学习 > 【linux命令】链接/用户组/find/xargs/grep

【linux命令】链接/用户组/find/xargs/grep

发布时间:2022/11/14 0:09:53

1、链接

添加硬链接,硬链接的大小和原文件大小一样,内容是同步的
ln file1 file1.hard
添加软链接,软链接的大小是指向文件的名字的长度(file1就是5个字节,/root/file1就是11个字节)
ln -s  /root/file1 file1.soft_2
ln -s file1 file1.soft_1

在使用软链接时推荐使用绝对路径来链接,这时链接文件移动到其他地方也是生效的
在这里插入图片描述文件的内容取决于该文件对应的Inode,原文件、硬链接的Inode是同一个
在这里插入图片描述

2、用户和组

添加用户
sudo adduser peng
修改文件所属用户
chown peng file1
添加用户组
sudo addgroup class_906
修改文件所属用户组
sudo chgrp class_906 file1
使用chown同时修改文件的用户和组
chown nobody:nogroup file1

将用户添加到组中

usermod -G class_906 peng

3、find命令

  • 按文件类型搜索
find 文件夹 -type 'l'
  • 按文件名字搜索
find 文件夹 -name '*.jpg'
  • 按文件的大小搜索
find 文件夹 -size +20M -size -40M
  • 默认是递归搜索的,可以指定搜索的最大深度
find 文件夹 -maxdepth 1 -name '*.jpg'
  • 按时间搜索
    atime:access time: 访问时间
    ctime:change time:修改文件内容时间
    mtime:modify time:修改文件状态时间
find 文件夹 -atime/ctime/mtime 1
  • 批量找到文件并对这些文件进行操作
命令中{}代表前面通过find找到的文件,\;是转义字符代表结束。
-exec 代表执行命令
-ok 会询问命令是否执行
find /root/ -name '*file1*' -exec/ok cp {} dir1 \;

4、grep:搜索文件的内容

查找当前目录下文件内容包括abcd字符串

grep -r 'abcd' ./

使用grep命令搜索进程

ps aux | grep 'mysql'

5、xargs

前面使用find查找文件后可以使用==-exec==对查找出来的文件进行操作。
而使用管道流的方式也可以对查找文件的文件进行一些操作。

下面两个操作的效果是一样的
find ./ type f | xargs ls -l
find ./ type f -exec ls -l {} \;

-exec和xargs的区别
1、-exec会一次处理所有的数据,效率较低
2、xargs默认使用空格拆分数据,可能将一个名字带有空格的文件拆分为两个文件

Copyright © 2010-2022 dgrt.cn 版权所有 |关于我们| 联系方式