激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

香港云服务器
服務器之家 - 腳本之家 - perl - 使用腳本實現自動清除指定文件夾下丟失鏈接文件的符號鏈接

使用腳本實現自動清除指定文件夾下丟失鏈接文件的符號鏈接

2020-06-26 14:55AndrewYZWang perl

這篇文章主要介紹了使用腳本實現自動清除指定文件夾下丟失鏈接文件的符號鏈接,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下

使用腳本實現自動清除指定文件夾下丟失鏈接文件的符號鏈接

腳本可清除,指定文件夾下,對視鏈接文件的符號鏈接。

在使用Linux時,常常會為自己許多文件或者程序建立符號鏈接,這樣就不用每次都到對應的文件夾下去尋找對應的文件而只需要對需要經常訪問的文件建立符號鏈接就可以了,這樣就能把你常需要訪問的文件放到桌面上,或者指定到另外一個文件夾中。

這樣訪問時,方便了很多,但是用完之后往往留下許多的符號鏈接,這些鏈接需要用戶自己手動確認是否可以刪除,為linux的使用帶來很多的不方便,使用該腳本就能解放你的雙手,只需要執行一下腳本,就能將對應文件夾下沒有用的符號鏈接清除。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
#!/bin/bash
# 一個可以測試鏈接斷掉的符號鏈接的文件,并且可以輸出它們指向的文件
# 以便于它們可以把輸出提供給xargs來進行處理 :)
# 比如. broken-link.sh /somedir /someotherdir|xargs rm
#
#下邊的方法, 不管怎么說, 都是一種更好的辦法:
#
#find "somedir" -type l -print0|\
#xargs -r0 file|\
#grep "broken symbolic"|
#sed -e 's/^\|: *broken symbolic.*$/"/g'
#
#但這不是一個純粹的bash腳本, 最起碼現在不是.
#注意: 謹防在/proc文件系統和任何死循環鏈接中使用!
##############################################################
#如果沒有參數被傳遞到腳本中, 那么就使用
#當前目錄. 否則就是用傳遞進來的參數作為目錄
#來搜索.
####################
[ $# -eq 0 ] && directorys=`pwd` || directorys=$@
 
#編寫函數linkchk用來檢查傳遞進來的目錄或文件是否是鏈接,
#并判斷這些文件或目錄是否存在. 然后打印它們所指向的文件.
#如果傳遞進來的元素包含子目錄,
#那么把子目錄也放到linkcheck函數中處理, 這樣就達到了遞歸的目的.
##########
linkchk () {
  for element in $1/*; do
    [ -h "$element" -a ! -e "$element" ] && echo \"$element\"
    [ -d "$element" ] && linkchk $element
    # 當然, '-h'用來測試符號鏈接, '-d'用來測試目錄.
  done
}
#把每個傳遞到腳本的參數都送到linkchk函數中進行處理,
#檢查是否有可用目錄. 如果沒有, 那么就打印錯誤消息和
#使用信息.
################
for directory in $directorys; do
  if [ -d $directory ]
    then linkchk $directory
    else
      echo "$directory is not a directory"
      echo "Usage: $0 dir1 dir2 ..."
  fi
  done
exit 0
# 創建一個新文件 name
andrew@andrew:/work/bash/src$ touch name
# 為name創建符號鏈接
andrew@andrew:/work/bash/src$ ln -s name aaa
# 刪除name文件, aaa將會變成丟失鏈接文件的符號鏈接
andrew@andrew:/work/bash/src$ rm name
# 查看aaa為執行當前目錄下的name的符號鏈接文件
andrew@andrew:/work/bash/src$ ls -l
總用量 44
lrwxrwxrwx 1 andrew andrew  4 2月  1 13:20 aaa -> name
-rwxrwxr-x 1 andrew andrew 8656 1月 30 14:46 a.out
-rw-rw-r-- 1 andrew andrew 1887 2月  1 13:08 broken_link.sh
-rw-rw-r-- 1 andrew andrew 322 1月 29 13:08 echo_unique.sh
-rw-rw-r-- 1 andrew andrew 1513 1月 29 15:55 escape_charater.sh
-rw-rw-r-- 1 andrew andrew 279 1月 30 13:48 exit_example.sh
-rw-rw-r-- 1 andrew andrew 199 2月  1 11:52 if_else_more.sh
-rw-rw-r-- 1 andrew andrew 1946 1月 30 21:03 if_true.sh
-rw-rw-r-- 1 andrew andrew 337 1月 29 14:02 single_quotation_mark.sh
-rw-rw-r-- 1 andrew andrew 864 2月  1 12:00 test.c
# 調用腳本清除當前文件夾中,丟失鏈接文件的符號鏈接
andrew@andrew:/work/bash/src$ bash broken_link.sh ./ | xargs rm
andrew@andrew:/work/bash/src$ ls -l
總用量 44
-rwxrwxr-x 1 andrew andrew 8656 1月 30 14:46 a.out
-rw-rw-r-- 1 andrew andrew 1887 2月  1 13:08 broken_link.sh
-rw-rw-r-- 1 andrew andrew 322 1月 29 13:08 echo_unique.sh
-rw-rw-r-- 1 andrew andrew 1513 1月 29 15:55 escape_charater.sh
-rw-rw-r-- 1 andrew andrew 279 1月 30 13:48 exit_example.sh
-rw-rw-r-- 1 andrew andrew 199 2月  1 11:52 if_else_more.sh
-rw-rw-r-- 1 andrew andrew 1946 1月 30 21:03 if_true.sh
-rw-rw-r-- 1 andrew andrew 337 1月 29 14:02 single_quotation_mark.sh
-rw-rw-r-- 1 andrew andrew 864 2月  1 12:00 test.c

總結

以上所述是小編給大家介紹的使用腳本實現自動清除指定文件夾下丟失鏈接文件的符號鏈接,希望對大家有所幫助!

原文鏈接:https://blog.csdn.net/andrewgithub/article/details/104132832

延伸 · 閱讀

精彩推薦
  • perlPerl的經典用法分享

    Perl的經典用法分享

    Perl的經典用法分享,學習perl的朋友可以參考下 ...

    腳本之家6562020-06-06
  • perlperl pop push shift unshift實例介紹

    perl pop push shift unshift實例介紹

    perl的pop跟push操作數組的最右邊,shift跟unshift操作數組的最左邊 ...

    腳本之家4612020-06-10
  • perlPerl List::Util模塊使用實例

    Perl List::Util模塊使用實例

    這篇文章主要介紹了Perl List::Util模塊使用實例,本文給出掃描符合條件的某個列表并取出第一個符合條件的、求1到1000之間的和 、求一組數字的最大值與最小...

    腳本之家4712020-06-22
  • perlPerl使用nginx FastCGI環境做WEB開發實例

    Perl使用nginx FastCGI環境做WEB開發實例

    這篇文章主要介紹了Perl使用nginx FastCGI環境做WEB開發實例,實現了路由系統和模板系統,需要的朋友可以參考下...

    Perl教程網2412020-06-18
  • perlPerl從文件中讀取字符串的兩種實現方法

    Perl從文件中讀取字符串的兩種實現方法

    有時候我們需要從文件中讀取字符串,這里簡單介紹下, 需要的朋友可以參考下 ...

    腳本之家6252020-06-08
  • perlperl use vars pragma使用技巧

    perl use vars pragma使用技巧

    perl 中的vars是perl中的一個pragma(預編譯指示符),專門用來預定義全局變量,這些預定義后的全局變量在qw()列表中,在整個引用perl文件中皆可使用,即便使...

    perl教程網6812020-06-16
  • perlperl命令行參數內建數組@ARGV淺析

    perl命令行參數內建數組@ARGV淺析

    這篇文章主要介紹了perl命令行參數內建數組@ARGV淺析,本文重點在于講解@ARGV的用法,并通過實例來說明,需要的朋友可以參考下 ...

    perl教程網6162020-06-18
  • perlperl常見問題集合之二

    perl常見問題集合之二

    哪些平臺上有 Perl?要到哪里去找? Perl的標準發行版(由 perl 發展小組負責維護)僅以原始碼形式發行。您可在 http: //www.perl.com/CPAN/src/latest.tar.gz處取得。這個檔...

    腳本之家2102020-05-29
593
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25
主站蜘蛛池模板: 国产又粗又爽又深的免费视频 | 亚洲天堂岛国片 | 日本在线观看一区二区 | 国产成人精品一区二区三区电影 | 亚洲最新色 | 99riav国产在线观看 | 色成人在线 | 成人免费观看毛片 | 色阁五月 | 免费看成人毛片 | 亚洲av毛片久久久久 | 91精品国产日韩91久久久久久360 | 欧美高清另类自拍视频在线看 | 亚洲网站在线观看 | 成人午夜激情网 | 毛片视频免费播放 | 性大片免费看 | 久久精品视频网站 | 久久资源总站 | 欧美在线a | 成人黄色免费网站 | 国产一级aaa全黄毛片 | 国产亚洲欧美一区久久久在 | 久久久久久亚洲国产精品 | 爽成人777777婷婷 | 久久艹一区 | 国外成人在线视频 | 国产精品久久久久久久久久久久午夜 | 国产精选91 | 久久久中文 | 18视频在线观看娇喘 | 一级黄色免费观看视频 | 少妇一级淫片免费看 | 国产精品观看在线亚洲人成网 | 欧美国产永久免费看片 | 中国洗澡偷拍在线播放 | 亚洲成人高清在线观看 | 91极品视频在线观看 | 国产a级片电影 | 精品亚洲一区二区三区 | 99精品国产小情侣高潮露脸在线 |