我经常使用命令行浏览文件,所以我尽量不要在文件名中留空格。通常,我使用下划线连接单词,但最近有人建议我使用破折号。在文件名中使用下划线是否有任何不利之处?我应该切换到破折号吗?我的系统正在运行Xubuntu,而我几乎只使用bash shell。
谢谢
{...}
。如果是自动脚本,则应考虑使用它。将_
用于创建一个下标,并在被包含例如 $...$
为了避免错误,但它会产生从你期待什么不同的文字。在gnuplot的增强终端中..
我经常使用命令行浏览文件,所以我尽量不要在文件名中留空格。通常,我使用下划线连接单词,但最近有人建议我使用破折号。在文件名中使用下划线是否有任何不利之处?我应该切换到破折号吗?我的系统正在运行Xubuntu,而我几乎只使用bash shell。
谢谢
{...}
。如果是自动脚本,则应考虑使用它。将_
用于创建一个下标,并在被包含例如 $...$
为了避免错误,但它会产生从你期待什么不同的文字。在gnuplot的增强终端中..
Answers:
就操作系统而言,它们两者都彼此可用。
我要指出的一件事-某些软件(例如某些视频播放系统-XBMC等)在显示文件时会自动将下划线替换为空格,以使其看起来更好。
仅出于这个原因,我很想坚持使用下划线。
另外,连字符用于切换到命令,因此在文件名和命令切换中都带有连字符可能会引起混淆。
除此之外,这完全取决于个人选择。
Dash不需要您按SHIFT键,这意味着您可以更快地键入内容。这是詹金斯先生所建议的唯一的其他好处。
提出该建议的人可能是Vim的狂热用户,并希望以最少的键盘移动来完成所有操作。
vi
改用-减少一次击键;)
alias
“编到v
反正;-)
FOO_BAR
(我不使用大写字母锁定,因此能够一直按住Shift键很不错)。
g
用于git
:)
我的建议是使用下划线而不是空格。下划线通常是人们在替换空格时使用的约定,尽管连字符也很好。但是由于连字符可能会以其他方式显示,例如连字,因此使用下划线可以在保留名称值方面取得更大的成功。例如,如果您有一个名为“在Winston-Salem中拍摄的照片,NC.jpg”的文件,并且要将空格转换为下划线,则可以在名称中保留连字符并保留其含义。
对于想以高级方式(例如for循环)使用命令行的人,空格会引起问题:
for file in *.mp3 ; do mpg321 $file -w - | oggenc -o ${file%%.mp3}.ogg - ; done
如果与该通配符匹配的任何mp3文件的名称中都有空格,则将导致文件名被分成几部分,而不是整个部分。您可以通过更改BASH shell的IFS变量或使用find命令来解决此问题,但是这很烦人,很多人不知道这一点,因此可能会引起问题。
我怀疑这一举动,甚至是一个大动作,都会阻止人们在文件名中添加空格,但是如果您想自助,请多加力量,并代表关心我们的人向您表示感谢。
\0
或\\\`. Coding to anything less than that is broken by design. So, no, it shouldn't choke on spaces, or EOL, or non-ASCII characters, or anything that isn't
\ 0`或'\'。使用库函数进行文件路径操作是必经之路,因为许多其他人已经解决了这些问题。
您应该考虑使用连字符而不是下划线的唯一原因是出于基本的可读性。频繁的下划线会影响阅读效果,因为它会将视线从y轴中心更改为底部。但是,连字符使您的眼睛更轻松。
就操作系统而言,这两个字符均有效,并且不需要转义(空格需要转义,因此很难使用)。
我个人更喜欢连字符而不是下划线,因为您无需按住Shift键。但是要记住的一件事是,如果您主要是在进行python编码-并且您的代码树中包含带有连字符的文件/目录,并且您打算将它们用作模块(在您的代码中执行导入文件名),那么这将导致错误因为python模块中不能包含连字符。当然,导入带有连字符的模块有多种方法,但是我坚持使用下划线,因为它也遵循PEP-8准则。
因此,对于我的大多数bin /程序或别名,我都使用连字符,但是在编写python程序/模块时,我使用下划线。
有充分的理由在映射到Unix文件系统的任何基于Web的上下文中使用连字符。
URL What search indexes see
foo-baz-bang foo baz bang
foo_baz_bang foobazbang
作为网络开发人员,这迫使我在分隔单词时使用连字符。