如何使用 apt-get 在 Ubuntu Linux 上安装 ssh
2024年3月29日操作方法:在 Unix/Linux 中 Bash 提取文件名和扩展名
2024年3月29日我有一个名为My Personal Files.如何在类 Unix 操作系统上重命名名称中包含空格的文件夹/目录?
在Linux或类Unix操作系统上,
您需要使用mv命令来重命名文件或目录名称。使用 Linux 和 Unix shell,您需要使用 字符(例如My Dir1)转义空格或使用引号(例如'My Folder1')来重命名名称中带有空格的目录或文件。让我们看看如何使用命令行选项重命名名称中包含空格的目录。
用空格重命名目录
Linux、macOS、*BSD 和类 Unix 操作系统下的mv 命令语法如下。
语法 #1 – 使用单引号
将目录名称括在单引号 ( 'dir name') 中可保留引号内目录名称的字面值:
$ mv 'old name here' 'new dir name here'
打开终端并键入以下命令将“ My Personal Files”重命名为“Files”:
$ mv 'My Personal Files' Files
使用 ls 命令验证新更改,如下所示:
$ ls -l
传递-v查看当您尝试重命名目录或文件夹时正在执行什么操作。例如:
$ mv -v 'My Birthday Party Old Pictures' BirthDayParty2022
这是视觉构造:
重命名为“我的生日聚会老照片”->“BirthDayParty2022”
语法 #2 – 使用转义字符
不带引号的反斜杠是 shell 转义字符。它保留后面的下一个字符的字面值,但换行符除外:语法为:
mv 旧名称此处 '新目录名称此处'
打开终端并键入以下命令将“ My Personal Files”重命名为“Files”:
$ mv My Personal Files Files
$ ls -l
批量重命名目录中的空间
您需要使用 find 命令和rename 命令的组合。获取名称中包含空格的目录列表:
输出:
$ find . -name "* *" -type d
## OR
$ find . -name "* *" -type d -ls
./backups/hello-web-app/图书文件 6:18:18 ./backups/hello-web-app/图书文件 6:18:18/中级概念 ./backups/hello-web-app/图书文件 6 :18:18/Hello Web App ./Test/这是一个测试/Dir foo
或者
4457192 4 drwxrwxr-x 3 vivek vivek 4096 Sep 9 04:39 ./测试/这是 a 测试 4457193 4 drwxrwxr-x 2 vivek vivek 4096 Sep 9 04:39 ./测试/这 is a Test/Dir foo 4457188 4 drwxrwxr-x 4 vivek vivek 4096 Sep 9 04:39 ./backups/hello-web-app/Book Files 6: 18:18 4457189 4 drwxrwxr-x 2 vivek vivek 4096 Sep 9 04:39 ./backups/hello-web-app/Book Files 6:18:18/Intermediate 概念 4457190 4 drwxrwxr-x 2 vivek vivek 4096 Sep 9 04:39 ./backups/hello-web-app/Book Files 6:18:18/Hello Web 应用程序
默认情况下,您的系统上可能未安装rename命令。因此,在 Alpine Linux 上使用apk 命令,在 RHEL 和 co 上使用dnf 命令/ yum 命令,在 Debian、Ubuntu 和 co 上使用apt 命令/ apt-get 命令,在 SUSE/OpenSUSE 上使用 zypper 命令,在 Arch Linux 上使用 pacman 命令来安装重命名。
现在使用命令行选项在 Linux 或 Unix 中重命名多个文件夹。例如,将“INPUT DIR 1”重命名为“INPUT_DIR_1”
$ rename -v 's/ /_/g' "INPUT DIR 1"
因此,最终语法为:
$ find . -name "* *" -type d -execdir rename -v 's/ /_/g' {} +
现在它将如下所示:
示例会话
这是我的 macOS Unix 的另一个输出:
加起来
简而言之,在使用各种 Linux 和 Unix 命令时,任何包含空格的文件、目录或文件夹都必须用引号括起来或用 字符转义。本页介绍了如何使用 mv 命令重命名名称中包含空格的目录。但是,其他 Linux、macOS、*BSD 和 Unix 命令的语法保持不变。例如:
使用带空格的文件名是一个坏主意。在 Linux/Unix 下,最好避免文件和目录名称中出现空格。
$ cp 'my dir 1' /dest/
$ rsync 'foo bar dir1' user@box1:/dest/path/
推荐读物
- mv 命令示例及用法
- 使用 man 命令阅读 mv 和 bash/ksh 手册页或将 –help 选项传递给 mv,如下所示:
$ man mv
$ mv --help - 请参阅GNU coreutils mv 帮助页面
- Unix 或 Linux 重命名名称中包含空格的目录
- Linux 在 Shell 提示符下重命名多个文件
- 如何使用命令行在 Linux 中重命名多个文件夹