From b81729819263c201e80e6526a48eb875c140a011 Mon Sep 17 00:00:00 2001 From: wxy Date: Wed, 2 Oct 2013 17:43:05 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8F=91=E5=B8=83=EF=BC=9AQuick-n-easy=20comma?= =?UTF-8?q?nd-line=20tips?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Quick-n-easy command-line tips.md | 33 ++++++++++++++----- 1 file changed, 24 insertions(+), 9 deletions(-) rename {translated => published}/Quick-n-easy command-line tips.md (57%) diff --git a/translated/Quick-n-easy command-line tips.md b/published/Quick-n-easy command-line tips.md similarity index 57% rename from translated/Quick-n-easy command-line tips.md rename to published/Quick-n-easy command-line tips.md index 184c1d6a14..53cdfa310d 100644 --- a/translated/Quick-n-easy command-line tips.md +++ b/published/Quick-n-easy command-line tips.md @@ -1,8 +1,13 @@ -快速便捷的命令行小贴士 -================================================================================ +三个快速便捷的命令行小贴士 +================== + 最近几周里,我总是收到人们询问一些快速零散的问题。有时候一个人是在寻找一个有帮助的建议,或者一个具体的命令,或者一个命令行捷径,以完成一个特定的任务。本篇将介绍最近人们向我提出的三个问题,以及完成这些任务的简单方法。 -第一个场景是,我们要找到那些在过去的一个月中被改动过的文件,并将他们从当前的位置复制到另一个目录中去。在这种情况下,能否精确的解决取决于你复制文件的时候是否保持了原来的文件树结构,还是你仅仅只是把所有文件全部复制到了一个指定的地方。如果我们只是想把所有的文件保存到一个文件夹中,或许这样做是为了将这些文件归档,那么我们可以使用find这条命令。通过使用find命令,我们能够根据文件被修改的时间查找到他们的位置,然后复制他们到指定的地方。这条命令看起来是这样: +###第一个场景 + +**我们要找到那些在过去的一个月中被改动过的文件,并将他们从当前的位置复制到另一个目录中去。** + +在这种情况下,能否精确的解决取决于你复制文件的时候是否保持了原来的文件树结构,还是你仅仅只是把所有文件全部复制到了一个指定的地方。如果我们只是想把所有的文件保存到一个文件夹中,或许这样做是为了将这些文件归档,那么我们可以使用find这条命令。通过使用find命令,我们能够根据文件被修改的时间查找到他们的位置,然后复制他们到指定的地方。这条命令看起来是这样: find Documents -mtime -30 -exec cp "{}" Backup \; @@ -14,13 +19,21 @@ 上面的例子,它会先找到哪些文件在Documents中和Backup中都存在,以便不再复制这些不必要的文件。 -有一个我们都会做的很普遍的工作,就是在一个文本文件中找到一个单词,然后用另一个单词把这个词在文本中的所有实例都替换掉。比如,假设我有一个文档中提到一个人名叫“Becky”,但是我后来决定还是用稍微正式点的称呼“Rebecca”为好。对文件中的这个简单的改动,下面这条命令会起到作用: +###第二个场景 + +**有一个我们都会做的很普遍的工作,就是在一个文本文件中找到一个单词,然后用另一个单词把这个词在文本中的所有实例都替换掉。** + +比如,假设我有一个文档中提到一个人名叫“Becky”,但是我后来决定还是用稍微正式点的称呼“Rebecca”为好。对文件中的这个简单的改动,下面这条命令会起到作用: perl -pi -e 's/Becky/Rebecca/' mydocument.txt -这条微型的Perl脚本会查询文档中所有“Becky”的实例,并且将之改为“Rebecca”。程序首先读取名为mydocument.txt这个要改动的文档,待修改完毕后再保存回去。 +这条微型的Perl脚本会查询文档中所有“Becky”的实例,并且将之改为“Rebecca”。程序首先读取名为mydocument.txt这个要改动的文档,待修改完毕后再保存回去。 + +###第三个场景 -一个普遍关注的问题是,在一个硬盘要给别人或者被扔掉之前,需要对其中存储的敏感数据做些什么。有些人会在电脑里保存一些银行的业务数据或者税务信息,那么这些数据最好在你的硬盘被转手到别人之前被彻底清理掉。现在有一些方法和工具可以让你使用。我最喜欢的一个是**shred**这条命令,它不仅能对单一文件进行处理,同样也能对整个设备进行处理。要重写一个文件里面的内容,我们可以这样运行**shred**: +**一个普遍关注的问题是,在一个硬盘要给别人或者被扔掉之前,需要对其中存储的敏感数据做些什么。** + +有些人会在电脑里保存一些银行的业务数据或者税务信息,那么这些数据最好在你的硬盘被转手到别人之前被彻底清理掉。现在有一些方法和工具可以让你使用。我最喜欢的一个是**shred**这条命令,它不仅能对单一文件进行处理,同样也能对整个设备进行处理。要重写一个文件里面的内容,我们可以这样运行**shred**: shred mytaxes.odt @@ -31,15 +44,17 @@ 需要强调的一点是,**shred**并不是在所有的文件系统中都能正常运行,尤其是那些带有日志功能的比较新的文件系统。在**shred**的操作手册中写明了哪些文件系统运行这个程序的时候会出问题。当处理敏感数据的时候,最好的方法也许是清除掉整张硬盘。**shred**同样也能办到。下面这个例子中,显示了如何移除掉我们电脑中第一块硬盘内的所有数据。使用这条命令一定要非常小心: shred /dev/sda + +--- via: http://distrowatch.com/weekly.php?issue=20130923 本文由 [LCTT][] 原创翻译,[Linux中国][] 荣誉推出 -译者:[译者ID][markvv] 校对:[校对者ID][] +译者:[markvv][] 校对:[wxy][] [LCTT]:https://github.com/LCTT/TranslateProject [Linux中国]:http://linux.cn/portal.php -[译者ID]:http://linux.cn/space/译者ID -[校对者ID]:http://linux.cn/space/校对者ID +[markvv]:http://linux.cn/space/markvv +[wxy]:http://linux.cn/space/wxy