cmds_daily_use

split大文件分割与合并

分割:
split -b 800M VS2012_ULT_chs.iso VS2012_ULT_chs.iso
1.6G Jun 24 10:54 VS2012_ULT_chs.iso
800M Jun 24 17:16 VS2012_ULT_chs.isoaa
768M Jun 24 17:16 VS2012_ULT_chs.isoab
合并:
cat VS2012_ULT_chs.isoa* > VS2012_ULT_chs.iso

ubuntu apt install software

apt-cache search xxx
sudo apt-get install xxx

search cmd belond to which package

dpkg -S `cmd`

dpkg -S \`which ls\`
coreutils: /bin/ls

dpkg -L coreutils
/.
/bin
/bin/sync
/bin/cp
/bin/dir
/bin/mknod
/bin/cat
/bin/rm
/bin/rmdir
/bin/sleep
/bin/date
/bin/ls

打包压缩

tar cvf xxx.tar xxx
tar zcvf xxx.tar.gz xxx tar cvf xxx.tar xxx; gzip xxx.tar
tar jcvf xxx.tar.bz2 xxx tar cvf xxx.tar xxx; bzip2 -z xxx.tar

解包解压

tar xvf xxx.tar
tar zxvf xxx.tar.gz gizp -d xxx.tar.gz; tar xvf xxx.tar
tar jxvf xxx.tar.bz2 bzip2 -d xxx.tar.bz2; tar xvf xxx.tar

查看内容

tar tvf xxx.tar
tar ztvf xxx.gz
tar jtvf xxx.bz2

zip 加密

zip -e secure.zip -r files_to_incrypt

sed advanced usage

sed 'G' file        #行间插入空行
sed '$!G' file      #don't insert to the endline

sed ‘/^$/d; $!G’ file #first delete all space lines and the insert a space line

sed '=' file            #add line number
sed '=' file | sed 'N; s/\n/ /' #add line number to line start

sed -n '$p' file # print last line

sed ‘{:start; $q; N; 11,$D; b start}’ file #首先检查是不是数据流中的最后一行,如果是,quit命令会停止循环N命令会将下一行附加到模式空间的当前行后,如果当前行在第10行后面,11,$D命令会删除模式空间中的第一行。

sed '/./,/^$/!d' #区间开始会匹配任何含有至少一个字符的行,区间的结束地址会匹配一个空行,在这个区间内的行不会被删除。用于删除多余空白行,只保留一个空白行

sed '/./,$!d' #删除顶部空白行,从含有字符行开始,一直到数据流结束,之间的行都不会被删除。

sed ‘{:start; /^\n*$/{$d; N; b start}}’ #删除行尾空白行

sed 's/<[^>]*>//g' #删除HTML标签