我挣扎来包装我的脑海里围绕为什么在find
解释文件修改时间它的方式。具体来说,我不明白为什么-mtime +1
不显示小于 48 小时的文件。
作为示例测试,我创建了三个具有不同修改日期的测试文件:
[root@foobox findtest]# ls -l
total 0
-rw-r--r-- 1 root root 0 Sep 25 08:44 foo1
-rw-r--r-- 1 root root 0 Sep 24 08:14 foo2
-rw-r--r-- 1 root root 0 Sep 23 08:14 foo3
Run Code Online (Sandbox Code Playgroud)
然后我用-mtime +1
开关运行 find并得到以下输出:
[root@foobox findtest]# find -mtime +1
./foo3
Run Code Online (Sandbox Code Playgroud)
然后我运行 find-mmin +1440
并得到以下输出:
[root@foobox findtest]# find -mmin +1440
./foo3
./foo2
Run Code Online (Sandbox Code Playgroud)
根据 find 的手册页,我知道这是预期的行为:
-mtime n
File’s data was last modified n*24 hours ago. …
Run Code Online (Sandbox Code Playgroud) CentOS 5.9
前几天我遇到了一个问题,一个目录有很多文件。数一数,我跑了ls -l /foo/foo2/ | wc -l
原来在一个目录中有超过 100 万个文件(长话短说——根本原因正在得到解决)。
我的问题是:有没有更快的计数方法?获得计数的最有效方法是什么?
CentOS 6.0
我正在研究 iptables 并且对 FORWARD 和 OUTPUT 链之间的区别感到困惑。在我的培训文档中,它指出:
如果要附加到 (-A) 或从 (-D) 删除链,则需要将其应用于沿三个方向之一传输的网络数据:
- INPUT - 根据此链中的规则检查所有传入数据包。
- OUTPUT - 根据此链中的规则检查所有传出数据包。
- FORWARD - 发送到另一台计算机的所有数据包都根据此链中的规则进行检查。
这让我很困惑,因为在我看来,发往主机的数据包应该是传出的。那么是否存在数据包将前往另一台计算机但不会“传出”的情况?iptables 如何区分两者?
我的理解是硬链接包括原始文件的副本,我可以删除一个位置的硬链接文件,但它仍然存在于另一个位置。
如果是这样,我为什么要使用硬链接?为什么不只有两个单独的文件?
我需要一些帮助来理解我确信 Linux 中的一个基本概念:打开文件的限制。具体来说,我对为什么打开的套接字可以计入系统上“打开文件”的总数感到困惑。
有人可以详细说明原因吗?我知道这可能可以追溯到 Linux 中的整个“一切都是文件”原则,但任何其他细节都将不胜感激。
如果这是一个重复的问题,我提前道歉。在问这里之前,我确实努力搜索/检查。
我很乐意写这样的单行代码:
foocommand && foocommand2 && foocommand3
Run Code Online (Sandbox Code Playgroud)
这个想法是,如果前一个命令“成功”,我只希望后续命令运行。
我正在编写一个有点冗长的脚本,这个单行代码是不可行的,因为它看起来像是一大块令人困惑的代码。
我想在脚本中将命令隔开并在它们之间写注释。我怎样才能做到这一点,并且在那里仍然有相当于 && 的东西?
RHEL 6
>>
和>\>
运算符之间有区别吗?我在一本 RHEL 培训书中读到了以下简介:
“您可以使用带有双重定向箭头的命令将标准输出添加到现有文件的末尾,例如
ls >\> filelist
我更习惯于>>
操作符,当我同时尝试两者时,我得到了不同的结果。
>>
似乎将输出附加到它后面的文件(如预期的那样)。>\>
似乎将输出附加到一个字面上称为>这是我正在阅读的书中的错误吗?还是我错过了作者的观点?
我偶尔会搜索vim
或less
使用/
or 中的文件,?
但据我所知,搜索模式区分大小写。
因此,例如,/foo
不会找到相同的东西/FOO
。有没有办法让它不那么严格?如何搜索vim
或搜索less
不区分大小写的模式?
CentOS 6.4
我试图更好地了解文件系统 ACL 规则的处理方式以及 ACL 规则的应用顺序。
例如,假设用户 bob 和 joe 属于名为 sales 的组。假设我有一份包含以下详细信息的销售文件:
[root@Maui ~]# getfacl /home/foo/docs/foo.txt
getfacl: Removing leading '/' from absolute path names
# file: home/foo/docs/foo.txt
# owner: jane
# group: executives
user:: r--
user:bob:rw-
user:joe:rwx
group:sales:rwx
group::r--
mask::rwx
other::---
Run Code Online (Sandbox Code Playgroud)
我的问题是,在这样的示例中如何处理权限以及哪些访问权限优先?
是否只有自上而下的搜索,并且首先匹配的规则才是适用的?
或者 Linux 是否根据相关用户的最具体规则强制执行访问?或者最严格和适用的规则优先?
如果这是重复的帖子,我们深表歉意。我确实尝试过搜索,看看是否有人已经问过/回答过这个问题,但没有找到任何东西。
||
在 bash中是什么意思?例如,在研究解决驱动程序问题的步骤时,我遇到了以下命令:
modprobe -q vmxnet3 && echo "vmxnet3 installed" || echo "vmxnet3 not installed"
我知道第一部分是查询 modprobe 并返回“已安装 vmxnet3”的响应,如果它收到成功的返回代码......但是......最后一部分在做什么?
bash ×4
centos ×3
files ×2
linux ×2
rhel ×2
acl ×1
directory ×1
file-search ×1
filesystems ×1
find ×1
hard-link ×1
iptables ×1
ls ×1
networking ×1
scripting ×1
shell ×1
socket ×1
timestamps ×1
vim ×1