我不确定这是一个“正确”的问题在这里发布.我可能更多地询问“意见”而不是实际的分类答案(那些无论是有效还是无效的,那就是它).
我想知道什么名字分隔符将是最友好的Linux(或更具体地,Bash友好)和人类友好的同时.
假设我想创建一个包含与Foo Bar先生相关的内容的目录(Foo是名字,Bar是姓氏)
名称为“Foo-Bar /”非常方便. – 是一个“常规”角色,它不需要逃脱,它清楚地表明Foo和Bar是两个独立的东西……很好.
现在,“Foo.Bar”有点棘手.有人可能认为Foo.Bar实际上是一个文件(乍一看,特别是如果你没有启用着色的终端),其中“Foo”是文件名,“Bar”是扩展名.
我也可以使用“Foo Bar”,但是当我想要访问目录时我需要转义空白,如果我想列出父目录的内容(Foo Bar所在的位置)并将所述列表放入bash数组,白色空间会造成麻烦(很多).不太好.
Brackets()也会导致很多问题.它们也需要被转义,然后以scp命令引起麻烦…不好.
所以…问题(最后)是:如果你需要一目了然地使文件的名称清晰而有意义,并且你需要使用分隔符,你会使用什么?
解决方法:
简短回答:“Foo _-_ Bar”
答案很长:
为了使事情易于发现,我倾向于在需要的地方使用一系列字符,这个想法是使用容易发现的东西,这样你就可以得到这个分隔符,例如“_-_”或“ ___”.
我使用它的一个实际例子是我的mp3集合,其中文件名包含艺术家和歌曲标题,有时还包含序列号.如果你使用魔术序列将它们分开,那么对于眼睛和脚本来说都很容易. mp3示例可能看起来像这样.
> 01_Blue_Man_Group _-_ Above.mp3
> 02_Blue_Man_Group _-_ Time_to_Start.mp3
> 03_Blue_Man_Group _-_ Sing_Along.mp3
现在,如果Foo和Bar是两个不应该混合的逻辑事物,那么这可以转换成你的例子,然后可以是Foo _-_ Bar.
标签:bash,linux,filenames
来源: https://codeday.me/bug/20190808/1625929.html