常用的CMD & Linux命令

【CMD命令】

1、分行输入环境变量

使用echo %PATH%输出环境变量的时候没有分行输出,看起来十分麻烦;

通过xargs命令可以实现分行输出,命令如下:

echo %PATH% | xargs -d ; -n 1

原理:

-d选项为输入指定一个定制的定界符,环境变量中的每一项通过‘;’来分割。

-n选项指定每行最大的参数数量,-n 1指定为一行。

2、批处理获取当前目录的绝对路径:

1 @echo off
2 echo 当前盘符:%~d0
3 echo 当前盘符和路径:%~dp0
4 echo 当前批处理全路径:%~f0
5 echo 当前盘符和路径的短文件名格式:%~sdp0
6 echo 当前CMD默认目录:%cd%
7 pause

3、rem命令

rem 表示此命令后的字符为解释行,不执行,相当于注释掉了,只是给自己今后查找用的;

::也可以起到 rem 的注释作用, 而且更简洁有效; 

【Linux命令】

1、删除所有子目录下后缀为.txt的文件

find -name "*.txt" -print | xargs rm -rf

 这种情况有可能会删除不必要删除的文件。因为无法预测分割find命令输出结果的定界符究竟是' '还是' '。很多文件名中可能包含空格符,而xargs很可能会误以为他们是定界符(例如,hello word.txt会被xargs误以为hello和world.txt)。

只要我们把find的输出作为xargs的输入,就必须将-print0与find结合使用,以字符null来分割输出。

另一种用法,用find匹配并列出所有的.txt文件,然后xargs将这些文件删除:

find . -type f -name  "*.txt" -print0 | xargs -0 rm -rf

xargs -0将作为输入的定界符;

2、

原文地址:https://www.cnblogs.com/utank/p/8998405.html