- 浏览: 485999 次
- 性别:
- 来自: 湖南
-
文章分类
- 全部博客 (201)
- j2ee (43)
- oracle (9)
- mysql (7)
- db2 (1)
- j2se (3)
- spring (1)
- hibernate (3)
- struts (0)
- Berkeley DB (0)
- linux (60)
- Apache2+PHP+MYSQL (2)
- solr (15)
- svn (1)
- IntelliJ Idea (1)
- eclipse,myeclipse (4)
- ant (2)
- vim (8)
- IT生活 (4)
- 测试 (6)
- lucene (4)
- shell (1)
- nutch (18)
- thread (1)
- hadoop (5)
- mapreduce (0)
- Python (4)
- 硬件 (1)
- database (1)
- maven (1)
- 正则表达 (0)
- 互联网 (1)
最新评论
-
youngcoder:
good job
HTTP协议头部与Keep-Alive模式详解 -
javazdq:
受教了 解释的不错。
lucene创建索引高级特性和索引创建参数优化 -
josico:
有几个问题想问下楼主1. LinkedBlockingQueu ...
生产者-消费者-BlockingQueue -
annybz:
有没有关于 BlockingQueue和ConcurrentL ...
生产者-消费者-BlockingQueue -
uniquejava:
多谢,记录的很真实。
DB2 学习记录
名称:split
使用权限:所有使用者
使
用方式:split [OPTION] [INPUT [PREFIX]
说明:
将一个档案分割成数个。而从 INPUT
分割输出成固定大小的档案,其档名依序为 PREFIXaa, PREFIXab...;PREFIX 预设值为 `x。若没有 INPUT 档或为
`-,则从标准输入读进资料。
匡兜
-b, --bytes=SIZE
SIZE 值为每一输出档案的大小,单位为
byte。
-C, --line-bytes=SIZE
每一输出档中,单行的最大 byte 数。
-l,
--lines=NUMBER
NUMBER 值为每一输出档的列数大小。
-NUMBER
与 -l NUMBER 相同。
--verbose
于每个输出档被开启前,列印出侦错资讯到标准错误输出。
--help
显示辅助资讯然后离开。
--version
列出版本资讯然后离开。
SIZE 可加入单位: b 代表 512, k 代表 1K, m 代表 1 Meg。
范例:
PostgresSQL
大型资料库备份与回存:
因 Postgres 允许表格大过你系统档案的最大容量,所以要将表格 dump 到单一的档案可能会有问题,使用
split进行档案分割。
% pg_dump dbname | split -b 1m - filename.dump.
重
新载入
% createdb dbname
% cat filename.dump.* | pgsql dbname
1、文件的切分及结合工具;
可能我们遇到这种情况,有时文件比较大,想上传到服务器 上,但由于服务器 管理员为了安全 考虑,把上传空间作了限 制,比如只能上传20M的文件,如果我们文件的体积在100M的,有时就是压缩也不能满足服务器上传的限制。这时我们就要考虑切分文件了,把100M的文 件,切分成若干份,然后传到服务器上。切分后的每个文件都是原文件的组成部份。如果要获得整个完整的文件,我们就需要文件的结合工具。
所以我们引入了文件切分工具split和csplit,文件的结合工具cat;
2、文件的切分工具 split 和csplit;
split 是把一个文件拆分为长度或体积相等的若干文件的工具;
2.1 split 工具;
split 是把一个文件拆分为长度或体积相等的若干文件的工具;
2.11 语法格式;
split 把输入的文件拆分为若干体积或长度相等的文件,输入文件保持不变,只是把结果拆分结果写到outfileaa、outfileab
... ... 等文件中。如果我们不指定outfile,被拆分后的文件会写到 xaa、xab ... ...。
参数
-b n[bkm] 以体积为单位的拆分,约定每拆分后每个文件的大小 ,b代表512B,k代表1KB,m代表1MB。
-C bytes[bkm] 把bytes的最大值放入文件,坚持增加完整的行;
- 从标准输入读取;
--help 帮助;
2.12 split实例应用;
实例一:比如我们想切分一个文件linux doc.txt,切分 后,每两行存为一个新文件。
111111111
222222222
333333333
444444444
555555555
666666666
777777777
888888888
999999999
000000000
[root@localhost ~]# split -l 2 linuxdoc.txt linuxdocsp 注:切分linuxdoc.txt文件,被切分后的文件名linuxdocsp开头
[root@localhost ~]# ls linuxdocspa* 注:查看切分后的所有文件;
linuxdocspaa linuxdocspab linuxdocspac linuxdocspad linuxdocspae
[root@localhost ~]# more linuxdocspa* 注:查看这些文件的内容;是不是每个文件都是两行呢?
linuxdocspaa
::::::::::::::
111111111
222222222
::::::::::::::
linuxdocspab
::::::::::::::
333333333
444444444
::::::::::::::
linuxdocspac
::::::::::::::
555555555
666666666
::::::::::::::
linuxdocspad
::::::::::::::
777777777
888888888
::::::::::::::
linuxdocspae
::::::::::::::
999999999
000000000
实例二:以文件体积为单位的切分;
-rw-r--r-- 1 root root 100 04-27 15:56 linuxdoc.txt
[root@localhost ~]# more linuxdoc.txt
111111111
222222222
333333333
444444444
555555555
666666666
777777777
888888888
999999999
000000000
[root@localhost ~]# split -b 30 linuxdoc.txt linuxdocwsp 如果指定切分体积大小后面没有接单位,默认是B;
[root@localhost ~]# ls -lh linuxdocwspa*
-rw-r--r-- 1 root root 30 04-27 16:10 linuxdocwspaa
-rw-r--r-- 1 root root 30 04-27 16:10 linuxdocwspab
-rw-r--r-- 1 root root 30 04-27 16:10 linuxdocwspac
-rw-r--r-- 1 root root 10 04-27 16:10 linuxdocwspad
[root@localhost ~]# more linuxdocwspa*
::::::::::::::
linuxdocwspaa
::::::::::::::
111111111
222222222
333333333
::::::::::::::
linuxdocwspab
::::::::::::::
444444444
555555555
666666666
::::::::::::::
linuxdocwspac
::::::::::::::
777777777
888888888
999999999
::::::::::::::
linuxdocwspad
::::::::::::::
000000000
对于切分体积的说明:如果没有指定单位,默认单位是B。还有其它的单位,比如b、k、m。看下面的例子;
-rw-r--r-- 1 root root 13K 04-27 16:17 moretool.txt 注:文件大小为13K;
[root@localhost ~]#split -b 3k moretool.txt moretoolwsp 注: 切分后每个文件大小为3K;
实例三:从标准输入读取的实例;
[root@localhost ~]# ls etcfilelista*
etcfilelistaa etcfilelistab etcfilelistac etcfilelistad etcfilelistae etcfilelistaf etcfilelistag
注:本指令的意思是用ls以长格式列出/etc目录的文件(不包括.file格式的文件,也就是隐藏文件),把输入的内容传递给split,让 split来切分每40行为存为一个文件,文件名的开头以etcfilelist开始。注意40后面的- ,表示从标准输入读取,在这里就表示键盘输入了,也就是读取ls -lh /etc 指令的内容。然后split切分。
2.2 csplit 工具;
正在补充之中... ...
3、文件的连接工具 cat;
cat 工具如果后面直接文件文件名,就可以查看文件的内容。我们在《文件内容查看工具》中有说过。在《文件内容查看工具》一文中,我们也谈过cat 连接文件的功能;现在我们仍得把cat工具连接文件的功能单列出来说一说。
3.1 把多个文件合并到一个新的文件中;
命令格式如下:
我们可以把file1、file2、file3 等多个文件合并到一个文件中,其中filen是在合并这些文件的同时新建的文件,而不是已存在的文件;
123456
[root@localhost ~]# cat sir02.txt
56789
[root@localhost ~]# cat sir03.txt
09876
[root@localhost ~]# cat sir01.txt sir02.txt sir03.txt > sir04.txt
[root@localhost ~]# more sir04.txt
123456
56789
09876
3.2 把多个文件合并追加到一个已存在的文件中;
命令格式如下:
如果我们想把file1、file2、file3等多个文件内容连接起来,并追加到一个已存在的文件filen中,应该用追加的方法;
123456
[root@localhost ~]# cat sir01.txt
123456
[root@localhost ~]# cat sir02.txt
56789
[root@localhost ~]# cat sir03.txt
09876
[root@localhost ~]# cat sir05.txt
aaaaa
bbbbb
[root@localhost ~]# cat sir01.txt sir02.txt sir03.txt >> sir05.txt
[root@localhost ~]# cat sir05.txt
aaaaa
bbbbb
123456
56789
09876
4、关于分拆文件和连接文件的安全
性;
比如我们把一个大的文件分拆为多个小文件时,肯定会考虑到,我们重新把一个一个小的分拆文件连接起来,会不会能和原文件保持一致 。这样的疑问其实也是有道理的,因为这关系到一个文件的完整性,如果真的合并不到一起,关系到文件的完整性和安全性。这时就涉及到文件的校验工具。一般我 们是通过MD5工具来校验对比。在Linux也有这样的工具md5sum。
-rw-r--r-- 1 root root 7.9M 04-27 20:35 myfile.img
[root@localhost ~]# split -b 4m myfile.img myfileSp 注:分拆为大小为4M的文件;
[root@localhost ~]# ls -lh myfileSp* 注:列出分拆文件,我们看到有两个文件;
-rw-r--r-- 1 root root 4.0M 04-27 20:37 myfileSpaa
-rw-r--r-- 1 root root 3.9M 04-27 20:37 myfileSpab
[root@localhost ~]# cat myfileSp* > newmyfile.img 注:我们尝试合并文件到一个新文件中;
[root@localhost ~]# ls -lh newmyfile.img
-rw-r--r-- 1 root root 7.9M 04-27 20:38 newmyfile.img
[root@localhost ~]# md5sum newmyfile.img myfile.img 注:我们对比合并后文件和原文件的MD5值,如果M55值相同,就是完整的;
[root@localhost ~]# md5sum newmyfile.img myfile.img
7eb24d865a14fa3227633816800522c1 myfile.img
7eb24d865a14fa3227633816800522c1 newmyfile.img
上面是一个实例,把myfile.img文件分拆为4M大小的文件,然后再把两个文件连接起来,然后校验是不是合并后的文件和原文件的MD5值 是相同的,如果相同,证明分拆过程是安全的。
5、关于本文;
文件的切分工具和结合工具只是介绍性的,用法也相对简单。我们知道有这两个工具就行了,用的时候查man和help就OK。没有必要象我这样大 动干戈写文档,弄的好像写长篇小说似的。如果我真的能当作家,对我来说可是极大的荣耀~~~
6、后记;
关于目录和文件管理的文档写了有一些了,我想为这些文档写个归类文档,这样新手查看就容易一点。另外感觉应该写一下字符模式下的文本编辑工具的 简单用法,比如vi或nano之类的。这新手面对黑黑的屏幕就不会不知所措了~~~
发表评论
-
ifstat命令行统计网络流量
2012-06-05 15:31 5534关于统计网络流量的问题,我喜欢用命令行方式查看: ... -
CentOS 5: Make Command not Found
2012-05-22 17:50 1408个人博客:http://demi-panda.com ... -
Linux Deepin 安装永中 Office2012 个人版(更新)
2012-05-18 19:41 1538下面讲解如何在 Linux Deepin 上安装并使用永中 O ... -
Piwik 网站分析系统
2012-04-25 15:38 2967个人博客:http://demi-panda.com ... -
C3P0使用出错!
2012-04-18 21:43 2081个人博客:http://demi-panda.com/ ... -
win7、ubuntu11.10双系统,win7重装后,如何找回linux
2012-03-25 18:40 1386个人博客:http://demi-panda.com ... -
stardict 词库安装
2012-03-22 11:32 1492下载词库文件以后直接在目录下执行 tar -xjvf ... -
ubuntu 64位 安装 永中Office
2012-03-21 11:07 0Ubuntu 64位默认是不能安装永中Office的,因为它不 ... -
is not in the sudoers file
2012-02-15 17:23 1096解决方案: 首需要切换到root身份 $su - (注意 ... -
is not in the sudoers file
2011-12-22 14:00 1003解决方案: 首需要切换到root身份 $su - (注意 ... -
进程间通信IPC、LPC、RPC
2011-05-25 15:12 2077进程间通 ... -
ubuntu下virtualbox虚拟机XP里使用USB
2011-05-19 09:25 2507环境:ubuntu10.04下安装virualbox,虚拟 ... -
Shell 判断文件类型
2011-05-11 15:45 3717#!/bin/sh ... -
Linux wget 详解
2011-05-07 16:05 4696个人技术博客:http://dem ... -
linux curl命令详解
2011-04-30 15:36 6017个人技术博客:http://demi-panda.com ... -
解决Socket TIME_WAIT造成的服务器无法访问,Apache的KeepAlive和TCP/IP的TIME
2011-04-20 11:19 4581个人技术博客:http://demi-panda.com ... -
Ffmpeg快速命令使用
2011-03-24 15:52 1844Ffmpeg使用语法 ffmpeg [[opt ... -
Linux远程备份工具Rsync使用案例
2011-02-24 10:31 3537个人技术博客:http://dem ... -
linux下的命令行下转换媒体格式工具FFMPEG详解
2011-02-15 17:25 6682在windows下有格式工厂之 ... -
Linux下tar bz gz等压缩包的压缩和解压
2011-02-12 12:58 1431解压 就用得挺熟 ...
相关推荐
理解并熟练使用`split`和`cat`命令对于Linux用户来说至关重要,特别是处理大数据时。通过合理地分割和合并文件,可以提高工作效率,简化文件管理。无论是日常维护还是服务器管理,这两个命令都是必不可少的工具。...
命令功能:切割文件,将文件以行为单位或以字节为单位进行切割 命令语法: split [–help][–version] ...#cat hello Hello, World1 Hello, World2 Hello, World3 Hello, World4 Hello, World5 使用命令: #spl
以下是一些常见的Linux命令详解: 1. **cd (Change Directory)**:用于切换当前工作目录。例如,`cd /home/user` 将你带入 `/home/user` 目录。 2. **pwd (Print Working Directory)**:显示当前工作目录的完整...
1. 定期分割日志:使用Linux的`split`命令可以将大型日志文件分割成多个小文件。例如,可以设定每天定时执行脚本来分割日志。在示例代码中,`split`命令被用来按指定大小(例如65535000字节,约60MB)分割`nohup.out...
要合并由`split`生成的文件块,可以使用`cat`命令,如`cat x?? > original.file`。这里的`x??`是匹配所有以`x`开头的两字符文件名。 7. **注意与安全** 默认的文件块命名可能会导致旧的文件块被新生成的文件块...
### Linux-nohup日志拆分详解 在Linux环境下,我们经常会使用`nohup`命令来运行一些长时间运行的任务,这些任务会将输出重定向到`nohup.out`文件中。随着运行时间的增长,这个文件可能会变得非常大,不仅占用大量...
运维工程师必会的109个Linux命令,分为 [1].文件管理 cat cd chmod.. [2].磁盘管理 dd df du.. [3].压缩管理bzip2 cpio split.. [4].进程管理 crontab kill ps nohup.. [5].网络管理 finger ftp netstat.. [6].系统...
3、 Linux目录详解 三、 命令概述 1、 常用快捷键 2、 Linux 终端命令格式 2.1 终端命令格式 2.2 查阅命令帮助信息 2.3 文件和目录常用命令 2.3.1 查看目录内容 2.3.2 ls命令 2.3.3 nd指令 2.4 相对路径和绝对路径 ...
diff、diffstat、file、find、git、gitview、ln、locate、lsattr、mattrib、mc、mcopy、mdel...split、tee、tmpwatch、touch、umask、whereis、which、cat、chattr、chgrp、chmod、chown、cksum、cmp、cp、cut、indent...
### SUSE LINUX 简明手册:核心知识点详解 #### Linux基础知识概览 **1. 硬盘管理** 在Linux环境下,硬盘被视为系统的重要组成部分,用于存储各种数据和应用程序。与Windows系统的盘符概念不同,Linux通过挂载点...
- **版本与发行版**:Linux内核由多个不同的发行版实现,如Red Hat Enterprise Linux、Ubuntu、Debian等,每个发行版都有自己的特色和用户群体。 #### 三、Red Hat Software, Inc. 简介 - **公司背景**:Red Hat ...
本次实验旨在加深学生对Linux操作系统基础命令的理解和应用能力,特别是在命令行接口(Shell)环境下进行文件与目录管理的能力。通过一系列实际操作,使学生能够熟练掌握常用的Shell命令,并学会通过设置Shell环境...
- 步骤详解,包括图形界面和命令行两种安装方式。 - **1.2.4 配置网络** - 设置静态IP地址、DNS服务器等。 - **1.2.5 安装额外软件包** - 根据实际需求安装必要的软件包。 - **1.2.6 系统安全配置** - 包括...
- `cat`、`head` 和 `tail`: 查看文件内容。 - `mv` 和 `cp`: 移动和复制文件或目录。 - `rm`: 删除文件或目录。 - `find`: 搜索文件。 - `ln`: 创建链接。 - **文件压缩与解压缩** - `gzip`、`gunzip`: 压缩...
### Linux基础命令详解 随着Linux系统的广泛应用,掌握其基本命令对于任何从事IT行业的人来说变得尤为重要。本文将基于“150个常用Linux命令”的内容,详细介绍其中的关键知识点,特别是那些对于初学者而言至关重要...
### Linux新手入门十三课:全面...通过深入学习这些课程,用户不仅能够熟悉Linux的目录结构、常用命令和文本编辑器,还能掌握shell脚本编写、软件包管理和版本控制等高级技术,为后续的Linux学习和应用打下坚实的基础。
- **文本处理**: 如`cat`、`grep`、`sed`、`awk`等命令,用于文本文件的查看、搜索和编辑。 - **系统管理**: 如`ps`、`top`、`kill`等,用于查看系统资源状态和管理进程。 - **文件操作**: 如`cp`、`mv`、`rm`等,...
### Linux Awk 多文件操作两种实现方法详解 #### 一、引言 在Linux环境中,经常需要对多个文件进行处理,特别是在数据处理和文本分析领域。Awk作为一种强大的文本处理工具,在处理这类任务时非常高效。本文将详细...