我有数百个文件夹,每个文件夹有二十个或更多的父文件夹,数量从一个到几十个不等,每个文件夹都有唯一的名称(在我的整个系统中),以便使它们全部按日期顺序正确排序。
它们的排列方式如下:
.
├── ASA Specs
├── Camera Making
├── Camera Manual
├── Camera Repair
├── CarboGel and Carbon-Q
├── Darkroom and Developers
├── defective macophot 100_files
├── Equipment
├── Ferric Gum Printing Process
├── Kodak Camera Model History
├── Large Format Forum PMs
├── LED Safelight
├── My Images
│ ├── 35 mm
│ │ ├── Ansco Easy View AF Date
│ │ ├── Balda Jubilette
│ │ ├── Bantam RF
│ │ ├── Canonet 28
│ │ ├── Canonet G-III QL-17
│ │ ├── Capital KX-100 Pinhole
│ │ ├── GumPintoids
│ │ ├── Junker P&S
│ │ ├── Kiev 4
│ │ ├── Minolta AL
│ │ ├── Motormatic 35
│ │ ├── Olympus XA
│ │ ├── Petri 7S
│ │ ├── Pony 135 Model C
│ │ ├── Ricoh Singlex II
│ │ ├── Rollei 35
│ │ ├── Sears TLS (Ricoh Singlex TLS)
│ │ ├── Signet 35
│ │ ├── Spotmatic SP
│ │ ├── Traveling Vivitar Ultra Wide and Slim
│ │ ├── Vivitar 220 SL
│ │ ├── Vivitar PZ-3125
│ │ ├── Voigtlander Vitrona
│ │ └── Zenit TTL
│ ├── Circle Wing Paper Glider
│ ├── Digital
│ │ ├── 6x24 Fine Box
│ │ ├── AutoPin 210
│ │ ├── Beach Trip Nov. 2015
│ │ ├── Brownie Bullseye
│ │ ├── Capital KX-100 conversion
│ │ ├── EM Polaroid 4x5
│ │ ├── February Snow
│ │ ├── From LG enV2
│ │ ├── From LG enV Touch
│ │ ├── from Samsung Galaxy S4
│ │ ├── Kawee Camera
│ │ ├── Kodak Starmeter
│ │ ├── Monopod
│ │ ├── Nelsonfoto Winter 2007
│ │ ├── Pin-Plate
│ │ ├── Pony 135 Model C
│ │ ├── Scans via Camera
│ │ ├── Self-Portraits
│ │ ├── Smelting Wheel Weights
│ │ ├── Speed Graphic
│ │ ├── Spring Back Conversion
│ │ ├── Three-60 9x24 Anamorph
│ │ ├── Tree on House
│ │ ├── Voigtlander Vitrona
│ │ ├── Wedding Ring
│ │ └── Zeiss-Ikon Baby Ikonta 520-18
│ ├── Digital Portfolio
│ ├── For APUG
│ ├── Found Film
│ │ ├── 120
│ │ ├── 126
│ │ ├── 127
│ │ ├── 35 mm
│ │ ├── 620
│ │ ├── 828 Bantam
│ │ └── Minolta 16
│ ├── Jazz Cam
│ ├── Keith Slater
│ │ └── Kodacolor II 127
│ ├── Large Format
│ │ ├── Aletta
│ │ ├── EM Polaroid 4x5
│ │ ├── Graphic View
│ │ ├── Kawee Camera
│ │ ├── Speed Graphic
│ │ ├── Three-60 9x24 Anamorph
│ │ └── Ziess-Ikon Ideal 9x12 cm
│ ├── Lit'l H Ranch
│ ├── Medium Format
│ │ ├── Agfa Clack
│ │ ├── Ansco Pioneer 620
│ │ ├── Ansco Shur-Shot Jr
│ │ ├── Argoflex EF
│ │ ├── Baldixette Pinhole
│ │ ├── Bencini Koroll 24-S
│ │ ├── Brownie Bullseye
│ │ ├── Brownie Flash Six-20
│ │ ├── Brownie Hawkeye Flash #1
│ │ ├── Brownie Hawkeye Flash #2
│ │ ├── Brownie Target Six-16 Pinhole
│ │ ├── CCB Pinhole 6x6
│ │ ├── Daiichi Zenobia
│ │ ├── Debonair
│ │ ├── Hagar the Ansco Viking
│ │ ├── Kodak Duaflex IV-Kodet
│ │ ├── Kodak Reflex II
│ │ ├── Moskva-5
│ │ ├── RB67
│ │ ├── Seagull 4-B
│ │ ├── Shur-Flash Traveling Camera
│ │ ├── Spartus Full-Vue Pinhole
│ │ ├── Speedex 4.5
│ │ ├── Speedex Jr
│ │ ├── Voigtlander Rollfilmkamera
│ │ ├── Wirgin Auta 4.5
│ │ ├── Wirgin Auta 6.3
│ │ ├── Zeiss-Ikon Ikomat
│ │ ├── Zeiss-Ikon Nettar
│ │ └── Zeiss-Ikon Super Ikonta B
│ ├── Mosin Nagant Interrupter Repair
│ ├── Mosin Nagant Scope Base
│ ├── Polaroid
│ │ ├── Autofocus 660
│ │ ├── Model 210
│ │ ├── Model 350
│ │ └── SX-70
│ ├── Print Scan Shortcuts
│ ├── Rhinoceros Times
│ │ ├── Center City Soars
│ │ ├── Fun Fourth Festival 2007
│ │ ├── Fun Fourth Freedom Run 2007
│ │ ├── GYC Carnival 2007
│ │ └── Weatherspoon Solstice 2007
│ ├── Rhonda's Investigations
│ ├── Shortcuts by Film Type
│ │ ├── Acros
│ │ ├── ADOX CMS 20
│ │ ├── Agfa 400
│ │ ├── APX 400
│ │ ├── Classic 400
│ │ ├── Copex Rapid
│ │ ├── Delta 100
│ │ ├── Double-X Negative
│ │ ├── Ferrania 400
│ │ ├── Fomapan 100 - Ultra 100
│ │ ├── Fomapan 400 - Ultra 400
│ │ ├── Forte 400 - .EDU 400
│ │ ├── FP3000B
│ │ ├── FP4+
│ │ ├── HP5+
│ │ ├── Imagelink HQ
│ │ ├── J&C Pro 100
│ │ ├── Kodachrome
│ │ ├── Kodak Max 400
│ │ ├── Kodak Max 800
│ │ ├── KS 400
│ │ ├── Lucky SHD 400
│ │ ├── Maco UP100
│ │ ├── Neopan SS
│ │ ├── NPS 160
│ │ ├── NPS 400
│ │ ├── ORWO DN21 (Babylon 13)
│ │ ├── Plus X Negative
│ │ ├── Plus X Reversal
│ │ ├── Portra 160 NC
│ │ ├── Portra 160 VC
│ │ ├── Portra 400
│ │ ├── Portra 400NC
│ │ ├── Portra 400 VC
│ │ ├── Press 400
│ │ ├── Reala 400
│ │ ├── Superia 100
│ │ ├── Superia Xtra 400
│ │ ├── T400CN
│ │ ├── T-Max 400
│ │ ├── Tri-X
│ │ ├── Tri-X 320
│ │ ├── Type 664
│ │ ├── Type 667
│ │ ├── Verichrome Pan
│ │ ├── Walgreen's 400
│ │ └── XP2 Super
│ ├── Small Format
│ │ ├── Anny 44
│ │ ├── Baby Ikonta 520-18
│ │ ├── Brownie Starmeter
│ │ └── Yashica 44
│ ├── Subminiature
│ │ ├── Keychain Camera
│ │ ├── Kiev 303
│ │ ├── Minolta 16
│ │ ├── Minolta 16 II
│ │ ├── Minolta 16 MG
│ │ ├── Minolta QT
│ │ └── Olympus Pen EES-2
│ ├── Test CD
│ └── There
├── Nelsonfoto PMs
├── Photo Business Information
├── Printable Lens Hoods
└── reciprocity_files
在“我的图像”中,我将创建一个新文件夹“按日期排序的快捷方式”,并且在该文件夹内,我想要放置指向每个列出的相机内的每个文件夹(图像文件)的链接。
我已经通过拖放操作完成了部分操作,例如“按影片类型划分的快捷方式”,但有时会创建一个名为“XYZ 的快捷方式”的链接,而不是我想要的“XYZ”——到目前为止,当发生这种情况时,我不得不手动重命名这些链接。
有没有一种有效的方法来做到这一点,集体无论是从 GUI 还是命令行?如果是后者,当然,在几十个父文件夹之一中工作时,每次重复命令时最好不要输入整个文件夹路径甚至名称。
回答评论:
每一个文件夹名称(代表一卷胶卷)在“我的图片”中每个相机文件夹中的文件名在我的整个系统中都是唯一的,并且以 ISO 日期开头(看起来像 20070706),结尾带有字母 A、B、C 等,表示来自同一日期的多卷胶卷(即使它们位于不同的父文件夹中),后面还有进一步的描述(使用的胶卷和显影剂)——例如,“20200913B-Ultra 400-Xtol Stock”。文件名那些文件夹是不是在其他文件夹中是唯一的;它们通常只是帧号和 .tiff 或 .jpg,这显然会在不同的卷之间重复。
我有在“按影片类型划分的快捷方式”中成功创建链接(或可能是 Windows 类型的快捷方式,我不确定 16.04 文件管理实际上支持什么)位于同一个 NTFS 卷上已经(大约占整个索引任务的一半),手动将已按所用设备索引的文件链接到基于胶片类型的文件夹中。我通过 GUI 中的拖放操作完成此操作(按住左 Alt 键然后释放鼠标,然后出现一个菜单询问要做什么;选择“在此处链接文件”),并且多次,当拖动一组文件时,生成的链接显示为“XYZ 的快捷方式”,而不仅仅是带有链接子图标的“XYZ”。这需要手动重命名才能修复。
我现在想创建一个按日期排列的完整索引。理想情况下,“按日期排列的快捷方式”文件夹(我很乐意手动创建)将包含指向“我的图片”和相机子文件夹中每个“卷”文件夹的一个链接,仅此而已。
如果这很重要的话,我目前正在使用 16.04,并且文件位于盘片驱动器上的传统 NTFS 扩展分区上(分区有几百 GB 的可用空间,因此空间还不是问题,但这些数据很可能会在明年内移动到 EXT4 SSD,以加快加载和保存时间)。
答案1
NTFS 文件系统自 3.1 版起支持符号链接。我刚刚在具有 NTFS 文件系统的外部驱动器上进行了检查,发现它可以正常工作(不过我使用的是 20.04)。所以我认为您可以做到。
因此下面的操作应该可行:
mkdir "/full/path/to/your/My Images/Shortcuts by Date"
cd "/full/path/to/your/My Images/Shortcuts by Date"
find .. -noleaf -type d -name '[0-9][0-9][0-9][0-9][0-9][0-9]*' -exec ln -s {} . \;
这假设全部您的图像目录的名称至少以六位数字开头(名称模式[0-9][0-9][0-9][0-9][0-9][0-9]*
),并且没有任何您的“其他”目录都有这样的名称。
它还假设您的“按影片类型分类的快捷方式”文件夹仅包含指向其他“编号”文件夹的符号链接,而不包含“真实”的此类文件夹。如果不是这种情况,则命令必须更复杂才能将此文件夹排除在搜索之外。
该-noleaf
参数通常不需要,但在非 Linux 文件系统(如 NTFS)上可能需要该参数才能正确检测所有文件夹,因此为了安全起见我将其包含在这里。