[ 上一页 ] [ 目录 ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ 12 ] [ 13 ] [ 14 ] [ 15 ] [ 16 ] [ 17 ] [ 18 ] [ A ] [ B ] [ C ] [ D ] [ 下一页 ]
tar, cpio, dump; 以及大规模复制,cp -a 等。
(也许可以写一些关于如何只备份 /home 和 /etc 的内容,如果你只有软盘驱动器,因为很多家庭用户没有磁带驱动器)
如何使用 tar 复制大量文件,或备份你的文件。Tarball 文件。我认为这应该是一个针对单用户系统的简短章节,更全面的系统管理员讨论应放在另一本手册中。
备份命令 (由 Oliver Elphick 贡献,本节需要清理和详细说明)
dump - 一次转储一个文件系统;它的命令选项假定你正在使用半英寸磁带(每卷最多 45Mb),因此当使用 DAT(2Gb 或更多)时有点烦人。可能是定期备份的最佳选择。不能用于 NFS 挂载的文件系统。
cpio - `find [目录] -print | cpio -ovH newc -B >/dev/st0'
tar - `tar cvf /dev/st0 [目录]'
afio - 类似于 cpio;支持在归档前预压缩文件。
tob - afio 的前端
通常,将文件变得更小会很好:例如,为了更快地下载它,或者使其占用更少的磁盘空间。执行此操作的程序称为 gzip (GNU Zip)。
cd; cp /etc/profile ./mysamplefile
切换到你的主目录,然后将任意选择的文件 (/etc/profile) 复制到当前目录,并在此过程中将其重命名为 mysamplefile。这给了我们一个可以使用 gzip 处理的文件。
ls -l
列出当前目录的内容。注意 mysamplefile 的大小。
gzip mysamplefile
压缩 mysamplefile。
ls -l
观察结果:mysamplefile 现在名为 mysamplefile.gz。它也小了很多。
gunzip mysamplefile.gz; ls -l
解压缩。观察到 mysamplefile 已恢复到其原始状态。请注意,要解压缩,请使用 gunzip,而不是 gzip。
rm mysamplefile
删除该文件,因为它只是用来练习的。
有时,文件太大而无法放入磁盘,或者你不想一次性通过网络发送一个巨大的文件。你可以使用 split 实用程序分割文件,并使用 cat (concatenate) 实用程序重新组装它。
cd; cp /bin/bash myfile; ls -l myfile
将 bash 可执行文件复制到你主目录中名为 myfile 的文件中。观察到 myfile 占用略超过 400,000 字节,或大约 400 千字节。
split -b100k myfile myprefix
将文件分割成 100 千字节的部分,并将这些部分命名为 myprefixaa、myprefixab 等。输入 ls -l 以查看结果。
你可以在 -b 之后指定任何数字:选择一个有意义的数字。如果省略 k,它将被理解为字节而不是千字节。如果使用 m 而不是 k,它将被理解为兆字节。
cat myprefix* > mynewfile
连接所有文件并将它们写入 mynewfile。(* 和 > 是你将在另一章中学习的技巧。)
rm myfile mynewfile myprefix*
删除所有内容。
有两种不同的查找文件的方法:find 和 locate。find 搜索当前状态下的实际文件。locate 搜索系统每天早上 6:42 生成的索引(这是一个 cron 任务,在本手册的其他地方解释)。locate 不会找到索引生成后创建的任何文件。但是,由于 locate 搜索索引,因此速度更快 - 就像使用书的索引而不是浏览整本书一样。
为了比较这两种查找文件的方式,假设你不记得 X 配置文件 XF86Config 位于何处。
locate XF86Config
这应该很快。你将获得一个包含 XF86Config 的文件名列表,如下所示
/etc/X11/XF86Config /usr/X11R6/lib/X11/XF86Config /usr/X11R6/lib/X11/XF86Config.eg /usr/X11R6/man/man5/XF86Config.5x.gz
find / -name XF86Config
你会听到很多磁盘活动,这将花费更长的时间。结果看起来像这样
/etc/X11/XF86Config /usr/X11R6/lib/X11/XF86Config find: /var/spool/cron/atjobs: Permission denied find: /var/spool/cron/atspool: Permission denied find: /var/lib/xdm/authdir: Permission denied
请注意,find 只找到了名称完全为 XF86Config 的文件,而不是任何包含该字符串的文件。此外,find 实际上尝试查找系统上的每个目录 - 包括一些你没有读取权限的目录。因此出现了“权限被拒绝”消息。
语法也不同。你必须指定要搜索的目录 --- / --- 而 locate 自动选择了根目录。而且你必须使用 -name 选项指定按名称搜索。你也可以使用许多其他条件搜索文件,例如修改日期或所有者。要让 find
搜索名称与 XF86Config 匹配的文件,你必须使用正则表达式:find / -name '*XF86Config*'。像大多数命令行工具一样,find
接受正则表达式作为参数。
总的来说,find 是一个更强大的实用程序,而 locate 对于日常快速搜索来说更快。要解释所有可能的搜索范围将花费很长时间;有关更多详细信息,请键入 info find,这将显示关于 find 和 locate 的非常详尽的信息页面。
Debian 自带一个实用程序,可以为你猜测文件的内容。它并不总是正确的。但是,它相当准确,你可以使用它来探索你的系统。
file /bin/cp
你应该看到类似这样的内容
/bin/cp: ELF 32-bit LSB executable, Intel 386, version 1, stripped
跳过技术部分,这是一个用于 Intel 机器的可执行文件。
file /etc/init.d/boot
给出这样的响应
/etc/init.d/boot: Bourne shell script text
意思是这是一个文本文件,包含一个 Bourne shell 脚本。
[ 上一页 ] [ 目录 ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ 12 ] [ 13 ] [ 14 ] [ 15 ] [ 16 ] [ 17 ] [ 18 ] [ A ] [ B ] [ C ] [ D ] [ 下一页 ]
Debian 教程 (过时文档)
2009 年 12 月 29 日hp@debian.org