Linux 之 Shell

博客分类: tools 阅读次数: comments

Linux 之 Shell

批量替换

    sed -i "s/liberxue/xigrug/g" `grep liberxue -rl _site`

删除文件中带有某个字符串的所有行

sed -e '/xxx/d' a.txt -->打印出来 文件中包含xxx的行都不会显示 使用-i参数的话就直接修改文件了

文件大小 du-

   du -s * | sort -nr | head   #选出排在前面的10个

重命名

rename

先举个例子来感受下,比如将当前目录下所有*.nc文件中Sam3替换成Stm32,命令如下:

rename -n ‘s/Sam3/Stm32/’ .nc  /确认需要重命名的文件/ rename -v ‘s/Sam3/Stm32/’ *.nc  /执行修改,并列出已重命名的文件*/

加密

Shell脚本加密

$ wget http://www.datsi.fi.upm.es/~frosal/sources/shc-3.8.9b.tgz

$ tar xvf shc-3.8.9b.tgz

$ cd shc-3.8.9b

$ mkdir -p /usr/local/man/man1/ # 创建目录这一步这个是必须的,没这个目录会报错

$ make install

$ shc -v -r -T -f link_db.sh

执行后,会在脚本所在目录生成两个文件,分别为 link_db.sh.x link_db.sh.x.c link_db.sh.x.c 是脚本的源文件,可以直接删除。 link_db.sh.x就是原来脚本的可执行文件,可随意改名,不用赋权,shc处理的过程中有赋权这一步。