1

想通过用命令行(bash 或 cygwin)替换 2 面板文件管理器来提升我的文件管理效率。命令行可以提供相同的速度吗?请告知大师如何将目录 A 中的某些文件复制到目录 B 的方法。是否大量使用 pushd/popd?或者创建最常用目录的链接?管理命令行主文件的最佳实践和日常例程是什么?

4

1 回答 1

3

命令行可以提供相同的速度吗?

我的经验是命令行复制要快得多(尤其是在 Windows 环境中)。当然,物理的基本定律仍然适用,比 1 秒内复制的文件大 1000 倍的文件仍然需要 1000 秒来复制。

..(howto) 将目录 A 中的某些文件复制到目录 B。

因为我经常有 5-10 个项目使用类似的目录结构,所以我使用命名约定为每个子目录设置变量:

project=NewMatch
NM_scripts=${project}/scripts
NM_data=${project}/data
NM_logs=${project}/logs
NM_cfg=${project}/cfg

proj2=AlternateMatch
altM_scripts=${proj2}/scripts
altM_data=${proj2}/data
altM_logs=${proj2}/logs
altM_cfg=${proj2}/cfg

您可以根据需要将此类事物制作为斯巴达式或巴洛克式,以匹配您的生活/编程理论。

然后您可以轻松地将 cfg 从 1 个项目复制到另一个项目 cp -p $NM_cfg/*.cfg ${altM_cfg}

是否大量使用 pushd/popd?

有些人似乎真的很喜欢那样。你可以试试看你喜欢什么。

或者创建最常用目录的链接?

根据我的经验,指向目录的链接更多地用于软件开发,其中源代码需要一组特定的目录名称,而您的安装具有不同的名称。然后制作链接以提供预期的目录路径是有帮助的。对于生产数据,这只是另一件可能会搞砸或崩溃的事情。这并不总是正确的,也许你有一个很好的理由来拥有链接,但我不会这样开始,只是因为它是可能的。

管理命令行主文件的最佳实践和日常例程是什么?

(如上所述,对所有项目使用标准化的目录结构。让脚本将任何小文件保存到您的部门保存在 /tmp 目录中的目录中,即 /tmp/MyDeptsTmpFile (命名以适应您的本地约定))

这取决于。如果您谈论的是数据和日志文件,过时的文件名可以为您节省大量时间。如果您需要额外的分辨率,我推荐像 YYYYMMDD(_HHMMSS) 这样的 dateFmts。

过时的日志文件非常方便,当当前流程看起来需要很长时间时,您可以查看一周前的日志文件并准确量化该流程花了多长时间,一周,一个月,6个月(最多如何你能负担得起的空间)。LogFiles 还应该捕获所有 STDERR 消息,因此您不必为了查看错误消息而重新运行被炸毁的程序。

这是您正在使用的 Linux/Unix,对吗?cp阅读您机器上安装的 cmd的手册页。我建议使用这样的别名,alias CP='/bin/cp -pi'以便您始终复制具有相同权限和原始文件时间戳的文件。然后可以很容易地/bin/ls -ltr查看文件的排序列表,最新的文件显示在列表的底部。(当您按时间排序时,无需滚动回顶部,反向)。此外,“-i”选项会警告您将覆盖文件,这已经为我节省了很多次。

我希望这有帮助。

PS,因为您似乎是新用户,如果您得到的答案对您有帮助,请记住将其标记为已接受,和/或给它一个 +(或 -)作为有用的答案。

于 2011-04-09T02:14:58.113 回答