Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3463588
  • 博文数量: 534
  • 博客积分: 11595
  • 博客等级: 上将
  • 技术积分: 5785
  • 用 户 组: 普通用户
  • 注册时间: 2006-12-22 17:00
文章分类

全部博文(534)

文章存档

2015年(4)

2014年(27)

2013年(15)

2012年(38)

2011年(36)

2010年(85)

2009年(63)

2008年(142)

2007年(124)

分类: LINUX

2007-07-16 15:49:39

split分割与合并文件
 
分割:split -b 15m -d computer.pdf computer.pdf. --verbose
(注意pdf后面的”.”,如果不指定的话,默认是xaa,xab,xac)
合并:cat computer.pdf.00 computer.pdf.01 > computer.pdf
 
要将目录logs打包压缩并分割成多个1M的文件,可以用下面的命令:
tar cjf - logs/ |split -b 1m - logs.tar.bz2.
完成后会产生下列文件:
-rw-r--r-- 1 httpd nobody 1048576 Oct 5 15:37 logs.tar.bz2.aa
-rw-r--r-- 1 httpd nobody 1048576 Oct 5 15:37 logs.tar.bz2.ab
-rw-r--r-- 1 httpd nobody 1048576 Oct 5 15:37 logs.tar.bz2.ac
-rw-r--r-- 1 httpd nobody 1048576 Oct 5 15:38 logs.tar.bz2.ad
-rw-r--r-- 1 httpd nobody 1048576 Oct 5 15:38 logs.tar.bz2.ae
-rw-r--r-- 1 httpd nobody 829440 Oct 5 15:39 logs.tar.bz2.af

这样存储压缩包的目的就达到了,可是当要解压的时候要怎么做呢?只要执行下面的命令就可以了:
cat logs.tar.bz2.a* | tar xj

这里对命令做一些讲解。
压缩和分割命令行中红色部分的为命令对应的I/O文件名参数,其中-表示标准输入或输出。那么结合上面的例子,tar命令表示的意思就是将logs目录压缩,生成的结果直接输送到标准输出上;而split命令表示从标准输入获得文件内容进行分割,结果文件前缀为logs.tar.bz2.。二者再通过管道将各自的标准输入输出对接起来。

这里再解释一下split命令的参数含义:
-b SIZE 指定每个文件的大小,其单位可以为b(512字节)、k(1K)、m(1M)
-d 使用数字而不是字母作为后缀名
-a X 指定后缀名的长度,默认为2位

这样上面的命令就可以变化为:
tar cjf - logs/ |split -b 1m -d -a 1- logs.tar.bz2.
###############################
 
uname -a    查看内核版本      
ls -al    显示所有文件的属性
pwd         显示当前路径       
cd -    返回上一次目录     cd ~    返回主目录
date s      设置时间、日期         
cal      显示日历     cal 2006
bc          计算器具              
man  & info     帮助手册
locale     显示当前字体     locale -a    所有可用字体     /etc/sysconfig/i18n设置文件
LANG=en    使用英文字体           
sync       将数据同步写入硬盘       
shutdonw -h now & half & poweroff  关机
reboot     重启                  
startx  &  init 5   进入图形介面
/work  & ?work    向上、下查找文档内容
chgrp      改变档案群组  chgrp testing install.log   
chown     改变所属人   chown root:root install.log
chmod      改变属性     chmod 777 install.log     read=4  write=2  execute=1
cp   复制   cp filename
rm   删除文件  rm -rf filename   强制删除文件
rmdir   删除文件夹
mv  移动    mv 123.txt 222.txt  重命名
mkdir     创建文件夹
touch     创建文件  更新当前时间
cat       由第一行开始显示     cat |more  分页
nl        在内容前加行号
more  &  less   一面一面翻动
head -n filename   显示第N行内容
tail -n filename  显示后N行内容
od        显示非纯文档
df -h 显示分区空间
du  显示目录或文件的大小
fdisk   分区设置    fdisk -l /dev/hda  显示硬盘分区状态
mkfs    建立各种文件系统  mkfs -t ext3  /dev/ram15  
fsck    检查和修复LINUX档案
ln      硬链接   ln -s  软件链接
whereis   查找命令
locate    查找
find      查找   find / -name "***.***"
which     查看工具
whoami    显示当前用户
gcc -v    查看GCC版本
chattr +i filename  禁止删除   chattr -i filename  取消禁止
lsattr    显示隐藏档属性
updatedb  更新资料库
mke2fs    格式化   mkfs -t ext3
dd if=/etc/passwd of=/tmp/passwd.bak    备份
mount     列出系统所有的分区
mount -t iso9660 /dev/cdrom /mnt/cdrom   挂载光盘
mount -t vfat /dev/fd0 /mnt/floppy       挂载软盘
mount -t vfat -o iocharset=utf8,umask=000 /dev/hda2 /mnt/hda2   挂载fat32分区
mount -t ntfs -o nls=utf8,umask=000 /dev/hda3 /mnt/hda3         挂载ntfs分区
Linux-NTFS Project:
umount /mnt/hda3  缷载
ifconfig   显示或设置网络设备
service network restart   重启网卡 
ifdown eth0  关闭网卡
ifup eth0    开启网卡
clear    清屏
history    历史记录       !55  执行第55个指令
stty   设置终端    stty -a
fdisk /mbr   删除GRUB
at     僅進行一次的工作排程
crontab   循環執行的例行性命令    [e]编辑,[l]显示,[r]删除任务
&       后台运行程序    tar -zxvf 123.tar.gz & --------->后台运行
jobs    观看后台暂停的程序   jobs -l
fg      将后台程序调到前台   fg n ------>n是数字,可以指定进行那个程序
bg      让工作在后台运行
kill    结束进程    kill -9 PID     [9]强制结束,[15]正常结束,[l]列出可用的kill信号
ps aux  查看后台程序  
top     查看后台程序   top -d 2    每两秒更新一次        top -d 2 -p10604   观看某个PID
        top -b -n 2 > /tmp/top.txt ----->將 top 的資訊進行 2 次,然後將結果輸出到 /tmp/top.txt   
pstree   以树状图显示程序    [A]以 ASCII 來連接, [u]列出PID, [p]列出帐号
killall   要刪除某個服務    killall -9 httpd
free      显示内存状态     free -m  -------->以M为单位显示
uptime    显示目前系统开机时间
netstat   显示网络状态    netstat -tulnp------>找出目前系統上已在監聽的網路連線及其 PID
dmesg     显示开机信息    demsg | more
nice      设置优先权      nice -n -5 vi & ----->用 root 給一個 nice 植為 -5 ,用於執行 vi
renice    调整已存在优先权
runlevel  显示目前的runlevel
depmod    分析可载入模块的相依性
lsmod     显示已载入系统的模块
modinfo   显示kernel模块的信息
insmod    载入模块
modprobe   自动处理可载入模块
rmmod     删除模块
chkconfig   检查,设置系统的各种服务     chkconfig --list ----->列出各项服务状态
ntsysv     设置系统的各种服务
cpio      备份文件

压缩命令:
 *.Z      compress 程式壓縮的檔案;
 *.bz2    bzip2 程式壓縮的檔案;
 *.gz     gzip 程式壓縮的檔案;
 *.tar    tar 程式打包的資料,並沒有壓縮過;
 *.tar.gz tar 程式打包的檔案,其中並且經過 gzip 的壓縮
compress filename  压缩文件  加[-d]解压  uncompress
gzip filename   压缩  加[-d]解压  zcat 123.gz 查看压缩文件内容
bzip2 -z filename  压缩  加[-d]解压   bzcat filename.bz2  查看压缩文件内容
tar -cvf /home/123.tar /etc  打包,不压缩
tar -xvf 123.tar   解开包
tar -zxvf /home/123.tar.gz  以gzip解压
tar -jxvf /home/123.tar.bz2  以bzip2解压
tar -ztvf /tmp/etc.tar.gz   查看tar内容
cpio -covB  > [file|device]   份份
cpio -icduv < [file|device]   还原
 
#########################
 
一个不安装rpm包就可以提取rpm包里文件的方法。

比如你要将test.rpm用test.rpm里的某个文件,但你又不想安装test.rpm,那你可以试试这个办法。
随便建一个目录
mkdir aaa
把test.rpm放入目录aaa里并进入aaa目录
cp path/to/test.rpm aaa/
cd aaa
用rpm2cpio将rpm文件转换成cpio文件
rpm2cpio test.rpm >test.cpio
用cpio解压cpio文件
cpio -i  --make-directories
(注意:用rpm2cpio和cpio命令时不要忘了输入那个">"和"<")
FROM: google
阅读(1615) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~