Linux && Windows 命令行 Tricks
操作系统的shell一般会提供一些简单易操作的tricks来应对规则性强、且需要处理大批量文件的情况。
-
巧用正则表达式
比如:当想要查找当前文件夹下的一批符合某种规则的文件并移动到新的文件夹下
<windows shell> Get-ChildItem "*confm*.csv" | foreach {Move-Item $_ D:\Code\newfile\} <linux shell> find -iname "*confm*.csv" | xargs mv -t opt/yourdata/newfile/ 注意: find命令双引号“”中的规则匹配并不是完全符合正则规则, 如果要完全使用正则规则,需要将参数-iname 替换为 -regex,另外,此时匹配的文件名为全路径。
同理,可以使用rename命令来批量替换文件名中的某些字符串:
rename 'hh' 'xx' *.csv 注意: rename后面紧跟的参数解释为【需要替换的字符串】【替换成的新字符串】【需要替换文件名的文件】
-
传输文件
有时需要在服务器之间传输大批量文件夹,此时可以使用scp和rsync都可以;
为了避免每传输一个新的文件就要输入密码的问题,需要把两台服务器的用户对应的公钥拷贝到对方的authorized_keys文件夹里面。详细步骤可见: https://www.jianshu.com/p/2cc2ff9cc53f
注意:一般建议使用scp。
scp使用ssh连接和加密传输,且基本不影响服务器正常使用;rsync非加密,速度快,只对差异文件做更新,一般用于增量或者全量备份。 -
查看当前文件夹大小并按照大小排序
有几种比较实用的组合可以选择: du --max-depth=1 -h | sort -rh du --max-depth=1 -h | sort -rh |head -5 ls -l -h | sort -nr
-
查看 CPU 信息
总核数 = 物理CPU个数 * 每颗物理CPU的核数 总逻辑CPU数 = 物理CPU个数 * 每颗物理CPU的核数 * 超线程数 查看物理CPU个数 cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l 查看每个物理CPU中core的个数(即核数) cat /proc/cpuinfo| grep "cpu cores"| uniq 查看逻辑CPU的个数 cat /proc/cpuinfo| grep "processor"| wc -l cat /proc/cpuinfo| grep physical |uniq --count