Bash 用于2面板文件管理器用户的命令行智慧

Bash 用于2面板文件管理器用户的命令行智慧,bash,command-line,file-management,Bash,Command Line,File Management,希望通过使用命令行(bash或cygwin)替换2面板文件管理器来提高我的文件管理效率。命令行能提供同样的速度吗?请告知专家如何将目录a中的某些文件复制到目录B。是否大量使用pushd/popd?还是创建指向最常用目录的链接?管理命令行主控文件的最佳实践和日常例行程序是什么 命令行能提供同样的速度吗 我的经验是,命令行复制要快得多(特别是在Windows环境中)。当然,物理学的基本定律仍然适用,一个比在1秒内复制的文件大1000倍的文件仍然需要1000秒才能复制 ..(如何)将目录A中的某个文件

希望通过使用命令行(bash或cygwin)替换2面板文件管理器来提高我的文件管理效率。命令行能提供同样的速度吗?请告知专家如何将目录a中的某些文件复制到目录B。是否大量使用pushd/popd?还是创建指向最常用目录的链接?管理命令行主控文件的最佳实践和日常例行程序是什么

命令行能提供同样的速度吗

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

..(如何)将目录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从一个项目复制到另一个项目
cp-p$NM\u cfg/*.cfg${altM\u cfg}

是否大量使用pushd/popd

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

还是创建指向最常用目录的链接

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

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

(如上所述,对所有项目使用标准化目录结构。 让脚本将所有小文件保存到部门保存在/tmp目录中的目录中。 i、 e/tmp/MyDeptsTmpFile(根据当地惯例命名))

视情况而定。如果您谈论的是数据和日志文件,那么带日期的文件名可以为您节省大量时间。如果需要额外的分辨率,我建议使用诸如YYYYMMDD(_HHMMSS)之类的日期格式

注明日期的日志文件非常方便,当当前流程似乎需要很长时间时,您可以查看一周前的日志文件,并准确量化此流程所需的时间,一周、一个月、六个月(最多可容纳多少空间)。日志文件还应该捕获所有的STDERR消息,因此您永远不必重新运行被轰炸的程序来查看错误消息是什么

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

我希望这有帮助

另外,由于您似乎是新用户,如果您得到的答案有助于您,请记住将其标记为已接受,和/或将其作为有用的答案给予+(或-)