Linux下使用Shell根据txt文件批量创建目录

Windows到Linux脚本迁移
本文介绍如何解决从Windows环境中创建并迁移至Linux环境的.sh文件格式问题,并提供了一个具体的Shell脚本示例,用于根据指定文本文件内容批量创建目录。

在Windows下用记事本编辑的.sh文件直接传到Linux中会有格式问题,在Linux下每行后边会有个^M,会影响Shell脚本运行。文字较少,建议直接在Linux下编辑。


newFolders.sh文件内容

!/bin/bash
input="目录名称txt文件路径"

cd 创建目录目标路径
while IFS= read line
do
  mkdir ${line:0:15}
done < "$input"

newFolders.sh文件示例

!/bin/bash
input="/home/root/aaa.txt"

cd /home/test
while IFS= read line
do
  mkdir ${line:0:15}
done < "$input"

运行后会在/home/test目录(事先建好的)中创建以aaa.txt中每行前15个字符为名的子目录


Shell解释

循环读取文件的每一行
每一行的字符串从第0(起始)位开始取15(长度)个字符,以此为名字创建目录
(示例目录名长度均为15)


运行Shell脚本

1. 改变文件权限
chmod +x newFolders.sh
2. 运行
./newFolders.sh
<think>好的,用户想在Linux系统下创建指定文件的快捷方式,需要用到Shell命令。首先,我得回忆一下Linux创建快捷方式的常用方法。通常,快捷方式在Linux中称为符号链接(symbolic link),可以使用ln命令创建。 记得ln命令有两种链接方式:硬链接和软链接。用户可能需要的是软链接,也就是符号链接,因为它可以跨文件系统并且指向原文件或目录。硬链接不能跨文件系统,而且删除原文件后硬链接仍然有效,但可能不符合用户对快捷方式的预期。 正确的命令应该是使用ln -s选项。比如,ln -s 目标路径 链接路径。例如,要在当前目录创建一个指向/home/user/file的快捷方式linkfile,命令是ln -s /home/user/file linkfile。这样创建的linkfile就是符号链接。 另外,可能需要考虑路径的问题。如果目标路径是相对路径,那么符号链接会相对于链接的位置来解析。所以,最好使用绝对路径来避免错误。比如,如果目标文件在另一个目录,最好用绝对路径指定。 还有用户权限的问题,创建链接需要当前用户对目标目录有写权限,否则会失败。需要提醒用户注意权限设置。 可能还需要提到如何验证链接是否创建成功,可以使用ls -l查看链接的指向是否正确,显示箭头指向原文件。 用户提供的引用内容里提到外部命令和内部命令,ln属于外部命令,由coreutils包提供,但一般系统默认安装,用户可以直接使用。另外,引用[2]提到执行脚本的方法,但这里可能不直接相关,不过可以确认使用ln命令是在当前Shell进程中执行的,属于共享父进程的方法。 总结下来,用户需要的是使用ln -s命令创建符号链接。需要详细说明命令格式和注意事项,比如路径、权限等。同时,可能需要给出具体例子,让用户更容易理解。另外,可以建议用户使用绝对路径,并验证链接是否正确创建。 可能还需要回答相关问题,比如如何删除符号链接,或者如何处理已存在的链接文件。但用户的问题主要聚焦在创建命令上,所以重点放在创建步骤。 最后,确保回答符合格式要求,使用中文,正确应用LaTeX格式的行内公式(如果有的话),但这个问题可能用不到数学公式。然后生成相关问题,比如如何创建硬链接,如何批量创建符号链接等。</think>### Linux shell 创建文件快捷方式命令详解 在 Linux 系统中,**创建文件快捷方式**主要通过 `ln` 命令实现,具体方法如下: #### 1. 符号链接(软链接)创建方法 **命令格式**: ```bash ln -s <目标文件或目录的绝对路径> <快捷方式路径> ``` **示例**: ```bash ln -s /home/user/documents/report.txt ~/Desktop/report_link ``` - `-s` 表示创建**符号链接**(可跨文件系统) - 目标路径建议使用**绝对路径**,避免因相对路径导致链接失效 - 快捷方式路径若省略文件名,则默认使用原文件名[^2] #### 2. 硬链接创建方法(非快捷方式) ```bash ln <源文件> <硬链接名称> ``` 注:硬链接与源文件共享inode,不能用于目录且不能跨文件系统[^1] #### 3. 验证链接有效性 ```bash ls -l <快捷方式路径> ``` 成功创建时显示类似: ``` lrwxrwxrwx 1 user group 11 Jul 1 10:00 report_link -> /home/user/documents/report.txt ``` #### 4. 注意事项 - 需要具有目标文件的**读取权限**和存放目录的**写入权限** - 重复创建同名链接需先删除旧链接:`rm <旧链接路径>` - 删除原文件后,符号链接会变成"悬空链接"[^3] 相关问题
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值