Linux查找命令问题

Linux查找命令问题,linux,Linux,我没有一个可以运行的Linux系统来尝试这些命令,所以我在这里询问我计划做的事情是否正确。(在我通过拨号连接下载ISO时执行此操作,我认为拨号速度更快) 1,我试图在/var/log目录和子目录中查找扩展名为.log的所有文件,将标准输出写入logdata.txt,将标准输出写入logerrors.txt 我相信命令是: $find/var/log/-name*.log 1>logdata.txt 2>/home/username/logs/logerrors.txt 2,在/etc目录中查找所

我没有一个可以运行的Linux系统来尝试这些命令,所以我在这里询问我计划做的事情是否正确。(在我通过拨号连接下载ISO时执行此操作,我认为拨号速度更快)

1,我试图在/var/log目录和子目录中查找扩展名为.log的所有文件,将标准输出写入logdata.txt,将标准输出写入logerrors.txt

我相信命令是:

$find/var/log/-name*.log 1>logdata.txt 2>/home/username/logs/logerrors.txt

2,在/etc目录中查找所有带有.conf的文件。标准输出将是一个名为etcdata的文件,并向ETCError发送标准错误

$find/etc-name*.conf 1>etcdata 2>etcerrors

3、在/var目录中查找过去30分钟内修改过的所有文件。标准输出是进入vardata,错误进入varerrors

那将是:

$find/var-mmin30 1>vardata 2>varerrors


这些是正确的吗?如果没有,我做错了什么?

在命令中使用通配符时,需要确保它们不会被shell解释。因此,最好在引号中包含带有通配符的表达式。因此,第一个将是:

find /var/log/ -name "*.log" 1>logdata.txt 2>/home/username/logs/logerrors.txt
在第二条注释中,您应该有
“*.conf”

1,我试图在/var/log目录和子目录中查找扩展名为.log的所有文件,将标准输出写入logdata.txt,将标准输出写入logerrors.txt

给你:

find /var/log/ -name '*.log' >logdata.txt 2>/home/username/logs/logerrors.txt
注:

  • 您需要引用“*.log”,否则shell将在传递到
    find
    之前展开它们
  • 不需要写
    1>文件
    >文件
    就足够了
2,在/etc目录中查找所有带有.conf的文件。标准输出将是一个名为etcdata的文件,并向ETCError发送标准错误

如前所述:

find /etc -name \*.conf >etcdata 2>etcerrors
为了举个例子,我用另一种方法对
*
进行了转义。这相当于
“*.conf”

3、在/var目录中查找过去30分钟内修改过的所有文件。标准输出是进入vardata,错误进入varerrors


我将
-mmin-30
更改为
-mmin-30
。这样,它可以匹配30分钟内修改的文件。否则,它将与30分钟前修改的文件相匹配。

谢谢-我想我已经很接近了,但目前还没有办法测试它。我现在的问题是,我下载的Fedora的速度是1.2k(谢谢!我很感激你给我的提示!
find /var -mmin -30 >vardata 2>varerrors