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目录中查找所有带有.conf的文件。标准输出将是一个名为etcdata的文件,并向ETCError发送标准错误 $find/etc-name*.conf 1>etcdata 2>etcerrors 3、在/var目录中查找过去30分钟内修改过的所有文件。标准输出是进入vardata,错误进入varerrors 那将是: $find/var-mmin30 1>vardata 2>varerrorsLinux查找命令问题,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目录中查找所
这些是正确的吗?如果没有,我做错了什么?在命令中使用通配符时,需要确保它们不会被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>文件
就足够了>文件
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