Questions tagged «filenames»

文件名是用于在给定文件系统上唯一标识文件的名称。

7
避免列出以〜结尾的文件(备份文件)
我的要求是列出目录中的所有文件,但以~(.backup files)结尾的文件除外。 我试图使用命令: ls -l | grep -v ~ 我得到以下输出: asdasad asdasad~ file_names.txt normaltest.txt target_filename testshell1.sh testshell1.sh~ testshell2.sh testshell2.sh~ testtwo.txt testtwo.txt~ test.txt test.txt~ 我只想获取这些文件: asdasad file_names.txt normaltest.txt target_filename testshell1.sh testshell2.sh testtwo.txt test.txt
20 ls  filenames 

4
使用特殊字符批量重命名(或正确显示)文件
我有一堆目录和子目录,其中包含带有特殊字符的文件,例如以下文件: robbie@phil:~$ ls test�sktest.txt test?sktest.txt 查找揭示了一个转义序列: robbie@phil:~$ find test�sktest.txt -ls 424512 4000 -rwxr--r-x 1 robbie robbie 4091743 Jan 26 00:34 test\323sktest.txt 我什至可以在控制台上键入其名称的唯一原因是由于制表符的完成。这也意味着我可以手动重命名它们(并去除特殊字符)。 我已将LC_ALL设置为UTF-8,这似乎无济于事(也不在新的shell上): robbie@phil:~$ echo $LC_ALL en_US.UTF-8 我正在使用Mac上的ssh连接到计算机。这是Ubuntu安装: robbie@phil:~$ cat /etc/lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=7.10 DISTRIB_CODENAME=gutsy DISTRIB_DESCRIPTION="Ubuntu 7.10" Shell是Bash,TERM设置为xterm-color。 这些文件已经存在了很长一段时间,并且尚未使用该Ubuntu版本创建。因此,我不知道以前的系统编码设置是什么。 我已经尝试过以下方法: find . -type f -ls | sed 's/[^a-zA-Z0-9]//g' 但是我找不到能满足我所有需求的解决方案: 识别所有具有不可显示字符的文件(以上内容忽略太多) 对于目录树中的所有那些文件(递归),请执行mv …

3
什么是./和../目录?
这个问题很简单,但是我不确定在哪里查找,Google不会对句号和斜杠做出响应。 我只是想计算当前目录中的文件和目录数(不包括子文件夹/文件),并且试图区分它们ls -1 | wc -l,ls | wc -l因为它们看起来相同。我正在查看的一个站点说:“请记住,这也在计算./和../目录。” 关于带有的目录ls -1,我不确定这是否意味着它包含之前的目录或某些目录(我不想要),但是从测试来看似乎没有做到这一点。 有人可以确认其中哪一个最适合仅计算当前目录(而非子目录)中的文件和目录数量,以及./和../目录的含义吗?

4
dirname和basename与参数扩展
是否有客观原因偏爱一种形式?性能,可靠性,可移植性? filename=/some/long/path/to/a_file parentdir_v1="${filename%/*}" parentdir_v2="$(dirname "$filename")" basename_v1="${filename##*/}" basename_v2="$(basename "$filename")" echo "$parentdir_v1" echo "$parentdir_v2" echo "$basename_v1" echo "$basename_v2" 产生: /some/long/path/to /some/long/path/to a_file a_file (v1使用外壳程序参数扩展,v2使用外部二进制文件。)

1
鼠标快捷方式,用于在Gnome文件管理器中将路径复制到文件
Linux是否等效于Windows Shift +右键单击序列?我在文件和目录上经常使用它来在弹出菜单中获得“隐藏”的“复制为路径”选项。使用命令行时,它可以节省大量的键入(和输入错误)。 我希望Linux具有类似的功能,因此我可以转到GUI中的“文件”窗口(在我的情况下为Gnome3),只需复制文件或目录位置作为路径,然后将其粘贴到终端窗口中即可。鉴于严重依赖终端,此功能在Linux中特别方便!这可能吗?

1
目录列表未完全排序
我在Debian Linux系统上有以下目录清单。但是,奇怪的是,文件populate.sql似乎没有与其余文件一起排序。 -rw-r--r-- 1 user1 user1 10004 Jul 28 13:16 populate2.sql -rw-r--r-- 1 user1 user1 10244 Jul 28 13:16 populate3.sql -rw-r--r-- 1 user1 user1 10359 Jul 28 13:16 populate4.sql -rw-r--r-- 1 user1 user1 11618 Jul 28 13:16 populate5.sql -rw-r--r-- 1 user1 user1 11654 Jul 28 13:17 populate6.sql -rw-r--r-- 1 user1 …

2
为什么套接字路径长度限制为一百个字符?
在Unix系统上,路径名通常几乎没有长度限制(在Linux上是4096个字符)...除了套接字文件路径最多只能有100个字符(在Linux上为 107个字符)外)之外。 第一个问题: 为什么限制这么低? 我检查了,它似乎有可能通过改变当前的工作目录,并在不同的目录中创建所有使用相同的路径几个套接字文件来解决此限制./myfile.sock:客户端应用程序似乎正确地连接到预期的服务器进程偶数虽然lsof显示所有他们中的一个在同一套接字文件路径上侦听。 这种解决方法可靠吗?还是我很幸运? 此行为是特定于Linux的,还是该解决方法也适用于其他Unix?


1
cp:无法统计`/vol/examples/tutorial/science.txt':没有这样的文件或目录
我尝试了一条命令cp /vol/examples/tutorial/science.txt .,但出现错误- cp: cannot stat `/vol/examples/tutorial/science.txt': No such file or directory 我不明白为什么会这样。我转到cygwin主文件夹,并创建了必要的文件夹结构和文本文件。我还检查了文件夹的结构和名称。 另外,我进入~/vol/examples/tutorial然后做cat science.txt,可以阅读文档。那为什么CP命令不起作用?
18 bash  filenames 


2
如何使用加密的文件名压缩目录?
使用命令行,我知道可以使用以下命令加密目录: zip -er Directory.zip /path/to/directory 但是,这不会对文件名本身进行加密。如果有人跑步: unzip Directory.zip 并反复输入错误的密码,unzip命令将遍历所有包含的文件名,直到输入正确的密码为止。样本输出: unzip Directory.zip Archive: Directory.zip creating: Directory/ [Directory.zip] Directory/sensitive-file-name-1 password: password incorrect--reenter: password incorrect--reenter: skipping: Directory/sensitive-file-name-1 incorrect password [Directory.zip] Directory/sensitive-file-name-2 password: password incorrect--reenter: password incorrect--reenter: skipping: Directory/sensitive-file-name-2 incorrect password [Directory.zip] Directory/sensitive-file-name-3 password: password incorrect--reenter: password incorrect--reenter: skipping: Directory/sensitive-file-name-3 incorrect password 等等。 使用命令行,是否可以使用加密方式压缩目录,同时也可以加密或隐藏文件名? …

3
如何去除目录路径的最后斜杠?
我有一个脚本,它需要一个目录作为一个参数。我想支持两种形式:一种是 a/b/c (最后没有斜杠),另一个就像 a/b/c/ (末尾有斜线)。 我的问题:给定两种形式中的任一种,我如何才能保持第一种形式不变并去除第二种形式的最后一个斜杠以将其转换为第一种形式。

4
文件(或目录)名称中的分隔符的良好样式/做法
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 5年前关闭。 我不确定这是否是在此处发布的“正确”问题。我可能要问的是有关“意见”的更多信息,而不是实际的分类答案(那些有用或无效的答案,仅此而已)。 我想知道什么名称分隔符将同时对Linux最友好(或更具体地说,对Bash友好)和对人类友好。 假设我要创建一个目录,其中包含与Foo Bar先生相关的内容(Foo是名字,Bar是姓氏) 使用名称“ Foo-Bar/”非常方便。-是一个“常规”字符,不需要转义,它清楚地表明了这一点,Foo并且Bar是两个独立的东西……很好。 现在,“ Foo.Bar”有点棘手。可能有人认为这Foo.Bar实际上是一个文件(乍一看,特别是如果您没有启用着色功能的终端),其中“ Foo”是文件名,“ Bar”是扩展名。 我也可以使用“ Foo Bar”,但是当我要访问目录时,我需要转义空格,如果要列出父目录的内容(Foo Bar位于该位置)并将所述列表放在bash数组中,空白会引起麻烦(很多)。不是很好。 括号()也引起很多问题。还需要将它们转义,然后给命令造成麻烦,例如scp...不好。 所以...问题(最后)是:如果您一眼就想使文件名清晰且有意义,并且需要使用分隔符,那么您将使用什么呢?
16 linux  bash  filenames 

4
自动完成目录中的文件名
这个问题是非常相似这一个,但我不明白的解决方案。我也知道本教程,但仍然无法理解我做错了什么。 我正在尝试自动完成放置在目录的列表/something/: $ ls /something/ One Other Three 以某种方式将发生这种情况: $ hi [TAB] One Other Three $ hi O[TAB] One Other 只有在第一个单词出现的时候hi,不仅在内部/something/。 这就是我在做的事情.profile: _codeComplete() { local cur=${COMP_WORDS[COMP_CWORD]} COMPREPLY=( $(compgen `ls /something/` -- $cur) ) } complete -F _codeComplete "hi "


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.