对于像我这样的非技术人员来说,最好的/最简单的方法是什么,让我的无头 Ubuntu 媒体服务器生成一个文件,其中包含来自特定文件夹的 X 级文件列表,并备份该列表,而无需实际备份文件本身?理想情况下(但绝不是必需的)它将是一个格式良好的 HTML 页面……但前提是存在一些可以执行此类操作的现有工具。我不指望回答者为我编写大量代码。
我安装了 Crashplan,但我不想使用带宽将数 TB 的非关键文件移动到云端。但在极少数情况下,我希望至少能看到一份文件列表,这样我就能知道丢失了什么,并可以选择要替换的内容。
我希望答案是完整的,因为我绝不是命令行大师......并且它确实需要是命令行,因为它是无头的。
答案1
您可以使用tree
。它可能未预安装,因此请使用
sudo apt-get install tree
然后,您只需运行即可获取文件及其目录结构的列表
$ tree test/
test/
├── dir1
│ ├── file1
│ ├── file2
│ └── file3
├── dir2
│ ├── file1
│ ├── file2
│ └── file3
└── dir3
├── file1
├── file2
└── file3
您可以将输出重定向到这样的文件:
tree test/ > directory-list.txt
您可以使用选项限制递归深度-L
,例如tree -L 3 test/
。
如果您想要一个包含指向每个文件的 FTP 链接的精美 HTML 页面,那么tree
它已经内置了!
tree -H /ftp-root test/ > directory-list.html
您需要指定一个基本链接,它将控制所有文件超链接指向的位置,如手册页(man tree
)中所述:
-H baseHREF
Turn on HTML output, including HTTP references. Useful for ftp
sites. baseHREF gives the base ftp location when using HTML
output. That is, the local directory may be `/local/ftp/pub',
but it must be referenced as `ftp://hostname.organiza‐
tion.domain/pub' (baseHREF should be `ftp://hostname.organiza‐
tion.domain'). Hint: don't use ANSI lines with this option, and
don't give more than one directory in the directory list. If you
wish to use colors via CCS style-sheet, use the -C option in
addition to this option to force color output.
在网络浏览器中打开的结果文件如下所示:
答案2
find
是你的朋友。
假设您想要备份所有文件名,最多 4 层深度,从/foo/bar
目录开始,到一个文件中backup_filenames.txt
:
find /foo/bar -maxdepth 4 -type f >backup_filename.txt
要仅考虑特定扩展名的文件名,例如.txt
,使用-name
:
find /foo/bar -maxdepth 4 -type f -name '*.txt' >backup_filename.txt
不区分大小写 ( -iname
):
find /foo/bar -maxdepth 4 -type f -iname '*.txt' >backup_filename.txt
修改参数以满足您的需要。另请查看man find
。