我知道我可以/dev/null
使用以下语法将错误消息从命令重定向到:
command arg1 arg2 2>/dev/null
Run Code Online (Sandbox Code Playgroud)
但是有没有办法在默认情况下执行此操作,以便错误消息始终转到/dev/null
,除非我另有说明?
我正在运行 Lubuntu 16.04。运行系统一段时间后,无线互联网将停止工作。
我尽职尽责地跑:
sudo service network-manager restart
Run Code Online (Sandbox Code Playgroud)
但这会返回消息:
Failed to add /run/systemd/ask-password to directory watch: No space left on device
Run Code Online (Sandbox Code Playgroud)
但是我在硬盘、RAM 和交换中都有很多可用空间。这是怎么回事?
似乎我第一次运行find
或ls
在目录上运行时,需要一段时间才能工作。但是,此后每次都很快,就好像目录内容列表已被缓存或索引到某处一样。
有没有办法在计算机重新启动后保留此缓存?
我有一个很大的CSV 文件。
我想使用less
或一些类似的命令来查看我的文件,而不必一次读取整个文件来显示其中的一部分。
是否有一个命令可以在逗号对齐的列中显示我的文件?
我有一个包含许多文件的目录。这些文件总共占用了几 GB 的空间。我想压缩这个目录。
但是将目录压缩为单个文件会使该文件难以移动,因此我想要多个文件。
我可以使用:
tar cvzf - dir/ | split --bytes=200MB - sda1.backup.tar.gz.
Run Code Online (Sandbox Code Playgroud)
要做到这一点,但我担心我将需要所有备份文件才能恢复任何数据。我更希望每个文件都是自己的独立单元,包含源数据的一部分。
我能想到的一种方法是构建一个脚本,该脚本计算每个输入文件的大小并贪婪地将文件附加到列表中,直到达到最大大小。然后对文件列表进行 tar-ed 并开始一个新列表。重复此操作,直到所有文件都在 tars 中。然后可以独立提取焦油。
这不是其他问题的重复,因为我特别想知道如何以这样的方式执行此操作,即整个存档的每个部分本身都是一个有效的存档,并且每个文件都可以在不需要联合存档的情况下重建。
有没有做这种事情的实用程序?
我愚蠢地使用cp -r
.
现在看着它,我意识到这意味着我丢失了文件修改时间。我应该使用cp -rp
.
我的目录结构和文件没有改变:现在有没有办法只复制属性/时间戳?我想rsync
可能有用。
我有一个程序可以产生几个子进程。
我想知道这个程序及其子程序正在创建、删除和修改哪些文件。
inotifywait
可以告诉我正在访问哪些文件,但不能告诉我哪个进程正在访问。而且我必须知道在哪里创建文件才能设置监视器。
auditctl
将让我记录哪些进程修改了文件,但是,同样,我必须知道文件在哪里才能设置日志记录。
lsof
会告诉我所有文件,但似乎不是实时跟踪的好解决方案。
有什么可以让我监视程序的文件操作而不先知道哪些文件将被操作?