gzip 命令
减少文件大小有两个明显的好处,一是可以减少存储空间,二是通过网络传输文件时,可以减少传输的时间。gzip 是在 Linux 系统中经常使用的一个对文件进行压缩和解压缩的命令,既方便又好用。
语法:gzip [选项] 压缩(解压缩)的文件名该命令的各选项含义如下:
-c 将输出写到标准输出上,并保留原有文件。-d 将压缩文件解压。-l 对每个压缩文件,显示下列字段: 压缩文件的大小;未压缩文件的大小;压缩比;未压缩文件的名字-r 递归式地查找指定目录并压缩其中的所有文件或者是解压缩。-t 测试,检查压缩文件是否完整。-v 对每一个压缩和解压的文件,显示文件名和压缩比。-num 用指定的数字 num 调整压缩的速度,-1 或 –fast 表示最快压缩方法(低压缩比),-9 或–best表示最慢压缩方法(高压缩比)。系统缺省值为 6。指令实例:
gzip *% 把当前目录下的每个文件压缩成 .gz 文件。gzip -dv *% 把当前目录下每个压缩的文件解压,并列出详细的信息。gzip -l *% 详细显示例1中每个压缩的文件的信息,并不解压。gzip usr.tar% 压缩 tar 备份文件 usr.tar,此时压缩文件的扩展名为.tar.gz。
.tar
解包:tar xvf FileName.tar
打包:tar cvf FileName.tar DirName
(注:tar是打包,不是压缩!)
.gz
解压1:gunzip FileName.gz
解压2:gzip -d FileName.gz
压缩:gzip FileName
.tar.gz 和 .tgz
解压:tar zxvf FileName.tar.gz
压缩:tar zcvf FileName.tar.gz DirName
.bz2
解压1:bzip2 -d FileName.bz2
解压2:bunzip2 FileName.bz2
压缩: bzip2 -z FileName
.tar.bz2
解压:tar jxvf FileName.tar.bz2
压缩:tar jcvf FileName.tar.bz2 DirName
.bz
解压1:bzip2 -d FileName.bz
解压2:bunzip2 FileName.bz
压缩:未知
.tar.bz
解压:tar jxvf FileName.tar.bz
压缩:未知
.Z
解压:uncompress FileName.Z
压缩:compress FileName
.tar.Z
解压:tar Zxvf FileName.tar.Z
压缩:tar Zcvf FileName.tar.Z DirName
.zip
解压:unzip FileName.zip
压缩:zip FileName.zip DirName
.rar
解压:rar x FileName.rar
压缩:rar a FileName.rar DirName
.lha
解压:lha -e FileName.lha
压缩:lha -a FileName.lha FileName
.rpm
解包:rpm2cpio FileName.rpm | cpio -div
.deb
解包:
dpkg-deb –fsys-tarfile ***.deb | tar xvf -
如果没有dpkg-deb命令,可使用:
ar -x ***.deb,此时会出现两个tar包,使用tar解包即可。更多命令查阅原文。
本文链接
最近接触了服务器负载一块的东东,下面就介绍下Linux下同IP绑定多网卡的配置,这里是用CentOS6.3来做的实验,环境是在VMware Workstation 9 下面完成的。首先,虚拟机Linux CentOS系统上有两块网卡设备,这里为了方便使用CRT软件SSH就都用NAT的方式。闲话不多说,直接CAT出配置:
首先告诉系统以什么驱动启动bond0:
[root@localhost ~]# cat /etc/modprobe.d/bonding.conf
alias bond0 bonding
在 /etc/sysconfig/network-scripts/目录下新建一个名为:ifcfg-bond0 的档案。
[root@localhost ~]# cat /etc/sysconfig/network-scripts/ifcfg-bond0
DEVICE=bond0 //设备名
IPADDR=192.168.8.133 //IP地址
PREFIX=24 //前缀24 相当于 NETMASK=255.255.255.0
GATEWAY=192.168.8.2 //网关
DNS1=192.168.8.2 //DNS服务器地址
ONBOOT=yes //是否开机启动该设备
BOOTPROTO=none //
USERCTL=no //是否允许用户控制
BONDING_OPTS=”mode=1 miimon=50″ // 使用的模式0为轮询,1为备用
ifcfg-eth0的配置:
[root@localhost ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=”eth0″
BOOTPROTO=”none”
HWADDR=”00:0C:29:72:88:D2″
NM_CONTROLLED=”yes”
ONBOOT=”yes”
TYPE=”Ethernet”
UUID=”1dd57e5d-b697-471c-81a7-3899580e5682″
MASTER=bond0
SLAVE=yes
USERCTL=no
ifcfg-eth1的配置:
[root@localhost ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=”eth1″
BOOTPROTO=”none”
HWADDR=”00:0C:29:72:88:DC”
NM_CONTROLLED=”yes”
ONBOOT=”yes”
TYPE=”Ethernet”
MASTER=bond0
SLAVE=yes
USERCTL=no
重启网络:service network restart
重启之后请看原文支持个。
本文链接
转自:http://blog.chinaunix.net/u3/110644/showart_2208979.html
class_device_create(myclass, NULL, MKDEV(major_num, 0), NULL, “char_dev”);
当然,在exit函数中要把创建的class移除:
class_destory(&xxx_dev->cdev);
class_device_desotry(my_class,MKDEV(major_num,0));
-------------------------------------------------
linux-2.6.22/include/linux/device.h
struct class *class_create(struct module *owner, const char *name)
class_create - create a struct class structure
@owner: pointer to the module that is to "own" this struct class
@name: pointer to a string for the name of this class.
在/sys/class/下创建类目录
class_device_create()
-------------------------------------------------
linux-2.6.22/include/linux/device.h
struct class_device *class_device_creat(struct class *cls,
struct class_device *parent,
dev_t devt,
struct device *device,
const char *fmt, ...)
class_device_create - creates a class device and registers it with sysfs
@cls: pointer to the struct class that this device should be registered to.
@parent: pointer to the parent struct class_device of this new device, if any.
@devt: the dev_t for the char device to be added.
@device: a pointer to a struct device that is assiociated with this class device.
@fmt: string for the class device's name
本文链接