Questions tagged «unix»

此标记专用于与Unix直接相关的PROGRAMMING问题;常规软件问题应直接到Unix&Linux Stack Exchange网站或超级用户。Unix操作系统是由Bell Labs在1960年代后期开发的通用操作系统,目前存在各种版本。

3
强制“ git status”在终端上输出颜色(在脚本内部)
编辑: 我想提出一个建议,即解析颜色通常是一个构思错误的想法。 我想要它的部分原因是我既可以解析它,又可以将其传递到我自己的脚本输出中。没关系,但是使用瓷器或类似瓷器自己重建彩色零件可能更明智! 原始问题如下。 我喜欢看到颜色,因为我的脚本足够强大(到目前为止)可以处理颜色代码。似乎我在这里背叛了话题,但老实说,我看不出必须解析脚本中的转义代码之类的东西有什么大不了的。如果颜色有助于交互使用,为什么它们不能在脚本使用中帮助我聚集数据并处理比手工更多的数据?颜色会更重要吗? 无论如何,我写了一个简洁的小shell脚本来修改git status输出,而我只是想使此脚本保持原样。设置我的全局git配置,以便在git状态下以彩色显示更改和未跟踪的文件列表。不幸的是,与之不同的git diff是git status,我没有找到强制使用颜色的选项。 明确地说,这是问题所在: $ git status 产生完美的输出,但是(摘录自我的脚本) git status | sed "s/^#/\x1b[34m#[0m/" 不会产生任何彩色git status输出,您甚至可以在此处看到我正在将前导哈希字符明确转换为蓝色,因为它有助于突出显示脚本输出的不同区域。 有谁知道如何使它熄灭颜色?我是否可以使用一个可用作“假终端” STDIN / STDOUT管道的标准程序?实际上,我也在开发pty伪终端工具,因此我可以为此目的当然使用它,但这是一个比较繁琐的解决方案(由于我尚未完成构建,因此尚未准备就绪)。
71 git  shell  unix  io  terminal 

7
Unix文件名应限制哪些字符?
考虑一个带有自由文本条目的另存为对话框,在该对话框中,用户以自由文本形式输入文件名,然后单击“保存”按钮。然后,软件将验证文件名,如果文件名有效,则将其保存。 在Unix文件系统上,应在验证中应用哪些规则,例如: 该名称以后在转义特殊字符等方面将不难操作。 规则不是太严格,以至于保存文件变得对用户不友好。 因此,基本上,应该从Unix文件名中限制的最小字符集是什么?
71 validation  unix  file 

7
ini / config文件在linux / unix中的位置?
确实有两个问题: 是否有关于配置文件放置位置的标准/约定? 对于系统或准系统程序,它们似乎通常位于中/etc。对于普通的应用程序或特权不足的程序,似乎不太清楚/etc。 在处理程序选项时,是否存在优先的标准层次结构?例如,命令行选项是否覆盖初始化文件和/或环境变量?反之亦然?还是这完全取决于开发人员?


14
Unix上的递归mkdir()系统调用
在阅读了具有该名称的Unix系统调用的mkdir(2)手册页之后,看来该调用不会在路径中创建中间目录,而只会在路径中创建最后一个目录。有什么方法(或其他功能)可以在不手动解析目录字符串并单独创建每个目录的情况下创建路径中的所有目录吗?
70 c  posix  unix  mkdir 

7
在Unix上删除部分路径
我正在尝试删除字符串中的部分路径。我有路径: /path/to/file/drive/file/path/ 我想删除第一部分/path/to/file/drive并产生输出: file/path/ 注意:我在while循环中有几个路径,/path/to/file/drive所有路径都相同,但是我只是在寻找删除所需字符串的“方法”。 我找到了一些示例,但无法使它们起作用: echo /path/to/file/drive/file/path/ | sed 's:/path/to/file/drive:\2:' echo /path/to/file/drive/file/path/ | sed 's:/path/to/file/drive:2' \2 作为字符串的第二部分,我显然做错了什么……也许有更简单的方法吗?
70 shell  unix  scripting  sed 


4
使用Rsync的包含和排除选项按模式包括目录和文件
我在rsync正确设置语法方面遇到问题,并且想知道我的方案是否可以真正使用处理rsync。首先,我已经确认rsync本地主机和远程主机之间的运行正常。在目录上进行直接同步成功。 我的文件系统如下所示: uploads/ 1260000000/ file_11_00.jpg file_11_01.jpg file_12_00.jpg 1270000000/ file_11_00.jpg file_11_01.jpg file_12_00.jpg 1280000000/ file_11_00.jpg file_11_01.jpg file_12_00.jpg 我想做的是仅在子目录中以“ file_11_”开头的文件上运行rsync,并且我希望能够仅运行一个rsync作业来同步子目录中的所有这些文件。 这是我正在尝试的命令: rsync -nrv --include="**/file_11*.jpg" --exclude="*" /Storage/uploads/ /website/uploads/ 这导致0文件在我的空运行中被标记为可以传输。我尝试了--includeand--exclude语句的各种其他组合,但是要么继续未获得任何结果,要么获得了所有内容,就好像没有设置任何include或exclude选项一样。 有人知道如何执行此操作吗?
70 linux  unix  rsync  darwin 

14
在shell脚本中使用passwd命令
我正在编写一个Shell脚本,以自动添加新用户并更新其密码。我不知道如何获取passwd来从shell脚本中读取,而不是交互式地提示我输入新密码。我的代码如下。 adduser $ 1 密码$ 1 2美元 2美元
70 linux  bash  unix  shell 

7
如何删除以双连字符开头的文件?
我的Unix机器上有一些文件以 -- 例如 --testings.html 如果尝试删除它,则会出现以下错误: cb0$ rm --testings.html rm: illegal option -- - usage: rm [-f | -i] [-dPRrvW] file ... unlink file 我试过了 rm "--testings.html" || rm '--testings.html' 但没有任何效果。 如何在终端上删除此类文件?
70 bash  unix  filenames 


8
使用grep和sed查找和替换字符串
我正在使用以下内容以递归方式在目录中搜索特定的字符串,并将其替换为另一个: grep -rl oldstr path | xargs sed -i 's/oldstr/newstr/g' 这样可以。唯一的问题是,如果字符串不存在,则sed失败,因为它没有任何参数。这对我来说是个问题,因为我正在使用ANT自动运行此操作,并且由于sed失败而导致构建失败。 如果找不到该字符串,有没有办法使它失效? 我对我可以使用的单行简单解决方案感兴趣(不一定与grep或sed与此类通用unix命令一起使用)。
69 linux  shell  unix  sed  grep 

1
我应该在哪里放置全局“ gitattributes”文件?
我搜集到了(尽管缺乏文档)一种全局设置Git属性的方法。但我不清楚在哪里放置必要的gitattributes文件。该说明称,他们属于在 $(prefix)/etc/gitattributes 但是哪里$(prefix)呢?特别是OS X(在中装有Git)会在/usr/local/git/bin/git哪里?替代地(或除此之外)会~/.gitattributes 工作吗?
69 git  unix  path  gitattributes 



By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.