Shell 批量删除失效软链接

shell删除失效软连接

#! /bin/bash

read path

if [ -z $path ]
then
    echo "please enter scan path"
    exit
fi

for file in $(find $path -type l)
do
    if [ ! -e $file ]
    then
        echo "rm $file"
        rm -f $file
    fi
done

      Mark it down to use.

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 可以使用`ln -s`命令来构建一个shell脚本来批量创建软链接文件。 下面是一个示例脚本: ``` #!/bin/bash # 要创建软链接的目录 src_dir="/path/to/src" # 软链接文件将会放置的目录 dst_dir="/path/to/dst" # 批量创建软链接 for file in $(ls $src_dir); do ln -s "$src_dir/$file" "$dst_dir/$file" done ``` 这个脚本会在目录`/path/to/src`中查找所有文件, 并在目录`/path/to/dst`中创建软链接文件。 请注意需要赋予文件可执行权限,例如: ``` chmod +x your_script.sh ``` 然后运行这个脚本: ``` ./your_script.sh ``` ### 回答2: 构建一个Shell脚本来批量创建软链接文件。首先,创建一个名为"create_softlinks.sh"的脚本文件,并添加如下内容: ```bash #!/bin/bash # 指定源目录和目标目录 src_dir="/path/to/source/dir" dest_dir="/path/to/destination/dir" # 切换到源目录 cd $src_dir # 遍历源目录中的所有文件 for file in *; do # 检查文件是否为普通文件 if [ -f "$file" ]; then # 创建软链接到目标目录 ln -sf "$src_dir/$file" "$dest_dir/$file" echo "Created soft link for $file" fi done ``` 请确保将`/path/to/source/dir`替换为实际的源目录路径,并将`/path/to/destination/dir`替换为实际的目标目录路径。 该脚本首先将当前目录切换到源目录,然后使用`*`通配符遍历源目录中的所有文件。通过检验文件是否为普通文件,可以确保仅链接文件,而不链接目录。然后,使用`ln`命令创建软链接到目标目录,并使用`-sf`选项来强制创建链接。最后,打印出每个成功创建的软链接文件的消息。 要运行此脚本,首先需要给予执行权限: ```bash chmod +x create_softlinks.sh ``` 然后,可以运行脚本: ```bash ./create_softlinks.sh ``` 脚本将遍历源目录,并在目标目录中创建软链接文件。成功创建的软链接文件将打印在终端上。 ### 回答3: 构建一个shell脚本用于批量软链接文件可以参考以下的示例代码: ```shell #!/bin/bash # 要链接的文件所在目录 source_dir="/path/to/source/directory" # 链接目标目录 target_dir="/path/to/target/directory" # 检查链接目标目录是否存在,若不存在则创建 if [ ! -d "$target_dir" ]; then mkdir -p "$target_dir" fi # 遍历源目录中的文件 for file in "$source_dir"/*; do # 获取文件名 filename=$(basename "$file") # 构建链接路径 link_path="$target_dir/$filename" # 检查链接路径是否已存在,若存在则跳过 if [ -e "$link_path" ]; then echo "链接已存在: $link_path" continue fi # 创建软链接 ln -s "$file" "$link_path" echo "创建链接: $link_path -> $file" done ``` 在上述脚本中,需要将`/path/to/source/directory`替换为要链接的文件所在的目录的实际路径,将`/path/to/target/directory`替换为链接目标目录的实际路径。 脚本首先检查链接目标目录是否存在,如果不存在则创建。然后遍历源目录中的文件,对于每个文件,脚本获取其文件名,并构建链接路径。接着检查链接路径是否已存在,如果已存在则继续下一个文件,否则创建软链接。 脚本通过调用`ln -s`命令来创建软链接,并打印出每个成功创建的链接路径作为输出。 希望以上示例能满足你的要求。如有需要,你可以按照实际情况进行修改。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值