1.Linux shell脚本在没有后缀的文件中使用后缀fori in * domv $ I $ I '.CSV ' done http://www.Sina.com/http://www.Sina.com:shell
默认情况下,每1000行剪切到一个小文件。
2.LINUX切割文件【SPLIT命令详解】
[ linuxidc @ localhost~] $ http://www.Sina.com /
用法: split [选项]. [输入前缀]
output fixed-sizepiecesofinputtoprefixaa,PREFIXab, 默认设置
size is 1000 lines,anddefaultprefixis ' x '.with no input,or when INPUT
is -,读标准输入。
mandatoryargumentstolongoptionsaremandatoryforshortoptionstoo。
-a,--suffix-length=ngeneratesuffixesoflengthn (default2) ) ) ) ) ) ) ) ) )。
- additional-suffix=suffixappendanadditionalsuffixtofilenames
-b,--bytes=sizeputsizebytesperoutputfile
-C,--line-bytes=sizeputatmostsizebytesoflinesperoutputfile
-d,--numeric-suffixes [=from ] usenumericsuffixesinsteadofalphabetic;
fromchangesthestartvalue (default0) )。
-e,--elide-empty-filesdonotgenerateemptyoutputfileswith '-n '
- filter=commandwritetoshellcommand; 文件名称is $ file
-l,--lines=numberputnumberlinesperoutputfile
-n,--number=chunksgeneratechunksoutputfiles; see explanation below
-u,--unbufferedimmediatelycopyinputtooutputwith '-NR/. '
--verbose在打开每个输出文件之前输出文件特征
--help将显示此帮助信息并退出
--version显示版本信息并退出
sizeisanintegerandoptionalunit (example :10 mis 10 * 1024 * 1024 ).Units
are K,m,g,t,p,e,z,y(powersof1024 ) or KB,MB, (powers of 1000 )。
CHUNKS may be:
nsplitintonfilesbasedonsizeofinput
K/N output Kth of N to stdout
l/nsplitintonfileswithoutsplittinglines
l/k/noutputkthofntostdoutwithoutsplittinglines
r/n like ' l ' butuseroundrobindistribution
r/k/nlikewisebutonlyoutputkthofntostdout
gnucoreutilsonlinehelp :http://www.GNU.org/software/coreutils /
请在http://translation project.org/team/zh _ cn.html中报告split翻译错误
要获得完整的文档,请运行info coreutils 'split invocation '
功能
[ linuxidc @ localhost~~ ] $ split-- versi
onsplit (GNU coreutils) 8.22 [tomcat-nohup]$ split --help用法:split [选项]... [输入 [前缀]]将输入内容拆分为固定大小的分片并输出到"前缀aa"、"前缀ab",...;默认以 1000 行为拆分单位,默认前缀为"x"。如果不指定文件,或者文件为"-",则从标准输入读取数据。长选项必须使用的参数对于短选项时也是必需使用的。 -a, --suffix-length=N 指定后缀长度为N (默认为2) -b, --bytes=大小 指定每个输出文件的字节大小 -C, --line-bytes=大小 指定每个输出文件里最大行字节大小 -d, --numeric-suffixes 使用数字后缀代替字母后缀 -l, --lines=数值 指定每个输出文件有多少行 --verbose 在每个输出文件打开前输出文件特征 --help 显示此帮助信息并退出 --version 显示版本信息并退出SIZE 可以是一个可选的整数,后面跟着以下单位中的一个:KB 1000,K 1024,MB 1000*1000,M 1024*1024,还有 G、T、P、E、Z、Y。
使用实例:
1.(按文件大小分割)比如我想将一个log文件切割成每个1M大小,后缀是2位数字结尾的子文件,子文件以child开头,则
split -a 2 -d -b 1M app.log.10 child-a 2 后缀是2位-d 后缀是数字-b 1M 每个文件最大1Mtomcat-bankgw-app.log.10 child 需要切割的文件是tomcat-bankgw-app.log.10,生成的子文件前缀是 "child"切割结果如下:
2.(按行数做分割)将一个文件分割成每1万行一个文件,后缀是2位,子文件以child开头
split -a 2 -l 10000 app.log child-a 2 后缀是2位-l 10000 每10000行一个文件tomcat-bankgw-app.log.10 child 需要切割的文件是tomcat-bankgw-app.log.10,生成的子文件前缀是 "child"切割结果如下:
注意:此次结尾是字母排序,而不是数字了。这是默认的方式。
3.Linux压缩打包命令——tar、zip、unzip打包跟压缩的区别:打包是指将多个文件或者目录放在一起,形成一个总的包,这样便于保存和传输,但是大小是没有变化的,压缩是指将一个或者多个大文件或者目录通过压缩算法使文件的体积变小以达到压缩的目的,可以节省存储空间,在压缩的时候通常是先打包再压缩;
tar命令tar命令参数前面加”-"与不加“-”的区别:
tar命令参数前面加不加“-”执行命令的结果是没有区别的,区别只要是在于linux风格方面,加“-”属于System V风格,不加“-”属于BSD风格,所以在使用tar命令的时候它的参数加不加“-”结果是一样的,看个人的使用方式;
常用参数: tar命令的常用参数注释-z是否同时具有gz属性-j是否同时具有bz2属性-J是否同时具有xz属性-x解压缩、提取打包的内容-t查看压缩包内容-c建立一个压缩,打包文档-C切换到指定目录,表示指定解压缩包的内容和打包的内容存放的目录-v显示压缩或者打包的内容-f使用文件名,在f后面要接压缩后的文件的名字,只要用到tar命令,-f选项是必须要用的,-f参数在使用的时候一定排在其他参数的后面,在最右边-p保留备份数据的原本权限与属性,常用于备份(-c)重要的配置文件-P保留绝对路径3.1 打包实例:
a.将/root/下的ceshi.txt文件和anaconda-ks.cfg文件和time.sh文件打包为一个文件,名称为“jihe.tar”:
b.查看jihe.tar文件的内容
c.提取jihe.tar文件的内容到/opt目录下:
如果不用“-C”指定目录则会提取内容到当前目录
3.2 压缩linux主要有三种压缩方式:
gzip:是公认的压缩这速度最快,压缩大文件的时候与其他的压缩方式相比更加明显,历史最久,应用最广泛的压缩方式bzip:压缩形成的文件小,但是可用性不如gzipxz:是最新的压缩方式,可以自动提供最佳的压缩率建议的压缩的时候标明后缀:
参数作用命名方式-z用于gzip压缩方式文件名.tar.gz-j用于bzip2压缩方式文件名.tar.bz2-J用于xz压缩方式文件名.tar.xz实例:用不同的压缩方式压缩/root/目录下的Golden.apk文件
先查看Golden.apk文件的大小:
可以看到Golden.apk文件的大小为187M
a.用gzip压缩方式将Golden.apk文件压缩为Golden.apk.tar.gz文件:
b.用bzip2的压缩方式将Golden.apk文件压缩为Golden.apk.tar.bz2文件
从上图可以看出红色方框内有报错,这个报错的原因是缺少bzip2的包,需要安装一个bzip2软件包
安装完成之后再重新压缩:
在压缩的过程中,我们可以发现:
压缩速度:gz > bz2 > xz
压缩率:xz > bz2 > gz
在解压gz压缩方式压缩文件的时候并不需要加上-z,直接用参数-xf即可,另外两种压缩方式在解压的时候一样,因为tar命令会自动选择,解压之后压缩文件还在,如果不指定解压出来的文件保存在哪里,那么会直接解压在当前目录。
指定解压出来的文件保存的目录,将Golden.apk.tar.bz2文件解压在/opt/目录下:
zip命令和unzip命令#在使用zip跟unzip命令之前先查看系统有没有安装这两个命令的包,没有的话要自己安装
查看有没有安装zip跟unzip命令的命令:
rpm -q zip unzip
如果有安装了命令则会显示出命令的版本号,如下:
zip命令
基本用法:
zip [参数] [压缩包名] [压缩的目录或者文件的路径]
常用参数:
参数作用-m将文件压缩后,删除原文件-o将压缩文件内的所有文件的最新变动时间设为压缩的时间-q安静模式,在压缩的时候不显示指令执行的过程-r递归压缩,将自定目录下的所有子文件以及文件一起处理-x”文件列表“,压缩时排除文件列表中的文件zip:
example:
1.正常压缩,不加-q选项,显示压缩的过程:
zip -r test.zip test
2.加上-q选项,安静模式输出,不显示压缩的过程:
zip -q -r test.zip test.txt
3.压缩多个文件(因为压缩的全是文件,所以可以不用加上-r选项,文件间用空格)
zip -q test.zip test.txt test1.txt
4.压缩文件跟目录:
zip -q -r test.zip test.txt test1.txt test
5.排除good目录下的ha.txt文件:
zip -r good.zip good -x "./good/ha.txt"
unzip命令
基本用法:
unzip [参数] [压缩文件] (-d [目录]) //如果不是用括号里面的内容,则解压文件在当前工作目录
常用参数:
参数作用-c 将解压缩的结果显示到屏幕上(显示每一个目录下的每一个文件的内容),同时对字符做适当的转换,但是并没有解压压缩包-l 显示压缩文件内所包含的文件-t 检查压缩文件是否正确-v执行时显示压缩文件的详细信息-q安静模式,执行时不显示任何信息-d指定文件解压后存储的目录-x指定不要处理压缩文件中的那些文件unzip:
example:
1.将good.zip压缩包解压缩的结果显示出来(具体会显示到每一个文件跟每一个文件的内容):
unzip -c good.zip
2.显示good.zip压缩包里面锁包含的文件
unzip -l good.zip
3.检查good.zip压缩文件是否正确:
unzip -t good.zip
全部OK表示全部文件都是正确的
4.不解压压缩文件good.zip,查看压缩包里面的内容(查看显示的文件列表还包含压缩比率):
#使用-v显示的信息比使用-l显示的信息更加详细
e.将dajihe.zip压缩包解压到/opt/目录下:
unzip -q good.zip -d /opt/