小编Ala*_*orm的帖子

查找所有“非二进制”文件

是否可以使用该find命令查找目录中的所有“非二进制”文件?这是我试图解决的问题。

我收到了来自 Windows 用户的文件存档。此存档包含源代码和图像文件。我们的构建系统不能很好地处理具有 Windows 行结尾的文件。我有一个命令行程序 ( flip -u) 可以在 *nix 和 windows 之间翻转行尾。所以,我想做这样的事情

find . -type f | xargs flip -u
Run Code Online (Sandbox Code Playgroud)

但是,如果针对图像文件或其他二进制媒体文件运行此命令,则会损坏该文件。我意识到我可以建立一个文件扩展名列表并用它过滤,但我宁愿有一些不依赖于我保持该列表最新的东西。

那么,有没有办法在目录树中找到所有非二进制文件?或者是否有我应该考虑的替代解决方案?

find files text newlines

53
推荐指数
6
解决办法
4万
查看次数

为什么 umask 不更改文件的执行权限?

如果我将 更改umask0000,我希望创建一个具有rwxrwxrwx权限的文本文件(根据我对 umask 的理解,如“可能的重复”问题中所述)但是,当我尝试此操作时,我得到以下信息

$ umask 0000
$ touch /tmp/new.txt
$ ls -ld /tmp/new.txt 
-rw-rw-rw-  1 alanstorm  wheel  0 Jun  2 10:52 /tmp/new.txt
Run Code Online (Sandbox Code Playgroud)

也就是说,省略了执行权限,我最终得到rw-rw-rw-了文件(目录是rwxrwxrwx)。我在本地 OS X 机器、共享主机上的旧 BSD 机器和在 linode 上运行的 linux 服务器上尝试了这个。

为什么是这样?我的理解是 umask 是权限的最终仲裁者——我对此的理解不正确吗?如果是这样,还有什么会影响 unix 系统上文件的默认权限?

permissions umask

24
推荐指数
2
解决办法
2万
查看次数

如何找到逃亡的 Crontab

几年前,作为监控系统的一部分,我设置了一个 cron 作业,每分钟自动 ping 一个 URL(这过于简单,但它可以解决这个问题)。因为我是一个可怕的人,我没有在任何地方记录下来。

多年后的今天,我开始遇到被 ping 的 URL 另一端的应用程序的问题。我修复了它,但后来意识到,我不知道这个 cron 工作来自哪里

有没有办法快速搜索或找出特定系统上的所有 crontab?我有 root 访问权限,所以权限不是问题。我只是一个用户cron,我从来没有深入研究过它的实现,但是我的 *nix 直觉说必须有一组文本文件保存所有的 crontabs。我只是不知道他们会在哪里,如果我深入研究,我会害怕找到一些,但不是全部,或者错过系统的一些奇怪的细微差别

另外,我意识到通过 root 访问我可以

  1. 获取系统中所有用户的列表
  2. su 作为用户
  3. crontab -l
  4. 对所有用户重复

但我正在寻找一些不那么手动的东西(并希望了解有关 cron 实现的知识)

cron

17
推荐指数
3
解决办法
1873
查看次数

什么是`bash -x`

一位同事最近向我介绍bash -x了调试我的 bash 脚本而不走echo $foo路线。

$ bash -x hello-world.sh 
+ echo 'Hello World'
Hello World
Run Code Online (Sandbox Code Playgroud)

在内部——bash 如何做到这一点?我检查了man bash它(似乎没有?)-x在调用解释器时提到了这个标志。我主要是在寻找将在-x环境中调试和不调试的概述,或任何其他问题。

bash debugging

2
推荐指数
1
解决办法
6451
查看次数

标签 统计

bash ×1

cron ×1

debugging ×1

files ×1

find ×1

newlines ×1

permissions ×1

text ×1

umask ×1