linux下解压命令大全
.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
解包:ar p FileName.deb data.tar.gz | tar zxf -
———————————————
.tar .tgz .tar.gz .tar.Z .tar.bz .tar.bz2 .zip .cpio .rpm .deb .slp .arj .rar .ace .lha .lzh .lzx .lzs .arc .sda .sfx .lnx .zoo .cab .kar .cpt .pit .sit .sea
解压:sEx x FileName.*
压缩:sEx a FileName.* FileName
sEx只是调用相关程序,本身并无压缩、解压功能,请注意!
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,此时压缩文件的扩展名
B. 求Linux大神指导下,怎么在Linux系统下装Ramdisk呢
linux本身就支持ramdisk, 根本不用安装.
用下面这个命令就可以了
# mount -t ramfs ramfs /mnt/ramdisk
C. 在linux系统中,建立文件系统的命令是
Linux系统下基本命令: 要区分大小写
uname 显示版本信息(同win2K的 ver)
dir 显示当前目录文件,ls -al 显示包括隐藏文件(同win2K的 dir)
pwd 查询当前所在的目录位置
cd cd ..回到上一层目录,注意cd 与..之间有空格。cd /返回到根目录。
cat 文件名 查看文件内容
cat >abc.txt 往abc.txt文件中写上内容。
more 文件名 以一页一页的方式显示一个文本文件。
cp 复制文件
mv 移动文件
rm 文件名 删除文件,rm -a 目录名删除目录及子目录
mkdir 目录名 建立目录
rmdir 删除子目录,目录内没有文档。
chmod 设定档案或目录的存取权限
grep 在档案中查找字符串
diff 档案文件比较
find 档案搜寻
date 现在的日期、时间
who 查询目前和你使用同一台机器的人以及Login时间地点
w 查询目前上机者的详细资料
whoami 查看自己的帐号名称
groups 查看某人的Group
passwd 更改密码
history 查看自己下过的命令
ps 显示进程状态
kill 停止某进程
gcc 黑客通常用它来编译C语言写的文件
su 权限转换为指定使用者
D. linux ramdisk 有什么作用
Ram Disk 就是将内存中的一块区域作为物理磁盘来使用的一种技术。对于用户来说,可以把RAM disk与通常的硬盘分区同等对待来使用。
内存盘对于保存加密数据来说很有用,因为我们如果将加密的文件解密到普通磁盘的话,即使我们随后删除了解密文件,数据仍然会留在磁盘上。这样是非常不安全的。而对于 RamDisk 来说,没有这样的问题。
假设有几个文件要频繁的使用,你如果将它们加到内存当中,程序运行速度会大副提高,因为内存的读写速度远高于硬盘。
像Web服务器,需要大量的读取和交换特定的文件的电脑,在Web服务器上建立RamDisk会大大提高网络读取速度。
注意:在2.6版本后,Ramdisk的这一作用开始被tmpfs(Virtual memory file system support)取代。
E. linux 根文件系统 什么时候使用ramdisk
开发环境:Fedora 9
交叉编译工具链:arm-linux-gcc 4.3.2 with EABI
嵌入式Linux内核版本:2.6.29.4-FriendlyARM。昨天写贴子的时候具体记不清了,今天起来启动开发板用uname -r查一下,就是叫做2.6.29.4-FriendlyARM,帖子已经改好了。本文就是友善之臂的2.6.29.4-FriendlyARM的那个版本的内核的基础上改的。其它版本的应该也类似,仅供参考。
开发板:mini2440-128M Nand Flash
Bootloader:u-boot-2009.11
具体步骤如下:
1.解压内核源码树
解压linux-2.6.29-mini2440-20090708.tgz到自己的工作目录,会生成一个友善之臂修改过的并且有几个mini2440默认配置文件的内核源码目录linux-2.6.29。具体步骤参照友善之臂mini2440开发板用户手册,具体不详述了。
2.修改内核配置选项
进入内核源码目录linux-2.6.29目录
#cp config_mini2440_t35 .config
#make menuconfig ARCH=arm
打开配置菜单,修改两个配置项,分别是:
a):General setup-->选择 Initial RAM filesystem and RAM disk...... 项
b):Device Drivers-->Block devices-->选择 RAM block device support 项
并检查Optimize for size是否被选中,如果没有则选中,此项优化内核大小,根据需要进行配置。
修改(8192)Default RAM disk size kbytes选项为(4096)Default RAM disk size kbytes,之所以修改是因为我之后制作的ramdisk是4096KB大小的。当然如果你想制作8192KB大小的ramdisk,这里就要对应为8192了,以此类推。但是最小系统嘛,是不用那么大的ramdisk的。此项的默认配置就是(4096),以前我改过这个配置,所以是(8192)了。如果这个大小和你做的ramdisk不匹配,则启动时仍然会出现kernel panic内核恐慌,提示ramdisk格式不正确,挂载不上ramdisk。
然后特别要注意的一点是,ramdisk是一种内存虚拟磁盘技术,实质上并不是一种文件系统,它使用的文件系统时ext2文件系统。所以一定要在make menuconfig ARCH=arm的时候进入File systems菜单,选上<*> Second extended fs support。以提供内核对ext2文件系统的支持。我以前添加过了ext2文件系统了,所以开始的时候在此没有说明,在此为了说明为什么有的人照着我的方法做了,但是仍然kernel panic,特别把这一步也加上。
然后保存配置退出。
这样就为内核添加好了ramdisk启动功能和ramdisk的驱动支持了。
3.修改内核启动参数
方法有二:
a):修改.config的第310行,修改CONFIG_CMDLINE=""的定义
修改为CONFIG_CMDLINE="initrd=0x31000000,0x200000 root=/dev/ram rw init=/linuxrc console=ttySAC0 mem=64M"
保存。
意思为从ramdisk启动,ramdisk压缩文件起始地址在内存地址0x31000000处,文件大小为0x200000。
此参数也可以在make menuconfig ARCH=arm时进入Boot options菜单,然后在Default kernel command string里修改。效果是一样的。
b):或者不修改.config的的第310行CMDLINE定义,而是用u-boot的bootargs环境变量来传递启动参数。
同样也是修改该环境变量为bootargs=initrd=0x31000000,0x200000 root=/dev/ram rw init=/linuxrc console=ttySAC0 mem=64M
并saveenv保存u-boot环境变量
以上a),b)的效果是一样的。
4.编译内核
#make zImage ARCH=arm CROSS_COMPILE=arm-linux-
然后是二十分钟左右的等待。
编译完成后在当前目录下就出现了zImage内核映像了。
好像友善之臂把内核源码目录里的uImage目标给注释了,以前在论坛里看到过有人说,直接make uImage好像提示没有uImage的目标。所以我就先制作zImage,然后再用u-boot的mkimage工具转化为uImage。其实uImage就是在zImage的开头部分增加了一个64字节的内核映像说明。
5.制作uImage内核映像
由于我使用的Bootloader是u-boot,所以要将zImage转化为uImage,方法如下:
#mkimage -A arm -O linux -T kernel -C none -a 0x30008000 -e 0x30008000 -n "Linux kernel Image" -d zImage uImage-ramdisk
说明:mkimage工具是u-boot格式uImage内核映像制作工具。如果成功编译u-boot之后,它会在u-boot源码树下的tools目录之下。建议将其拷贝到宿主机的/sbin/目录下,以方便使用。mkimage使用时的具体参数不再详述,不清楚的请自己查阅。
6.制作ramdisk根文件系统
该过程是制作ramdisk根文件系统的核心步骤,方法如下:
a)创建根文件系统目录:
#cd转入到你的工作目录。
#mkdir rootfs
#cd rootfs
#mkdir bin dev etc lib proc sbin sys usr mnt tmp var
#mkdir usr/bin usr/lib usr/sbin lib/moles
b)创建最基本的设备文件:
#cd dev
#mknod -m 666 console c 5 1
#mknod -m 666 null c 1 3
#cd ..
c)安装/etc配置文件:
这里可以直接把友善之臂的root_qtopia里的几个基本的配置文件拷贝过来,只拷贝必要的即可,并对其内容进行删减,因为我做的ramdisk并不包含Qtopia等,全拷贝过来也没有用。
我是从网上找的最小系统的etc配置文件直接解压到我制作的根文件系统里了,并做参照友善之臂的root_qtopia添加了一些内容,见最后的说明。
操作如下:
#tar etc.tar.gz -C /xxx/rootfs
xxx表示你要制作的rootfs所在的目录。
d)编译内核模块:
方法是如下:
进入Linux内核源码目录(linux-2.6.29)
#make moles ARCH=arm CROSS_COMPILE=arm-linux-
e)安装内核模块:
#make moles_install ARCH=arm INSTALL_MOD_PATH=/xxx/rootfs
xxx表示你要制作的rootfs所在的目录。
f)配置busybox
进入busybox目录执行#make menuconfig
进入Busybox Settings -> build Options ->选中"Build busybox as a static binary“,即静态链接,免去拷贝大量的库文件。
Installation Options -> 选中"Don't use /usr",以免busybox不慎被安装到宿主机系统的相应目录下,破坏宿主机系统。
Busybox Installation Prefix (/xxx/rootfs),修改该选项表明编译后的busybox将安装到该位置。
g)编译、安装busybox
#make ARCH=arm CROSS_COMPILE=arm-linux-
几分钟编译完成后
#make install
安装到Busybox Installation Prefix (/xxx/rootfs)设定的目录里。当前为我要制作的根文件系统目录(/xxx/rootfs)。
F. 如何创建任意大小的linux内存虚拟硬盘
您讲的内存盘是英译过来的:
即ramdisk,并非虚拟内存
大多数的Linux发行版本中,内存盘默认使用的是/dev/shm 路径,文件系统类型为tmpfs
默认大小是内存实际的大小,这很符合实际的操作习惯,操作这个路径就是对内存的操作。
我们可以重新设置这个内存盘的大小,或者建立新的内存盘,以加速一些特别的应用,例如squid的缓冲,dns的缓冲文件等等。
重设内存盘大小:
例如:
mount -o remount,size=3G /dev/shm
注意size的大小可以的单位是M\k\G
新建内存盘:
例如:
mkdir /usr/local/squid/var/cache
mount -t tmpfs -o size=3G,mode=0755 tmpfs /usr/local/squid/var/cache
注意重新设置内存盘后为了使用下次启用生效必须写到fstab文件中,一般linux是在/etc/fstab中。
G. 一个块设备,linux下怎么读取指定大小及偏移量的数据出来
这个可以用dd命令实现
例如 dd if=/dev/sda1 of=cc.txt bs=1M count=3 seek=3
解释: 从sda1读取,生成文件cc.txt, 块大小为1M,数量为3块(1M*3=3M,所有生成文件大小为3M),seek=3意思是跳过sda1的前三个block(因为bs=1M,所以跳过前3M的内容)
希望能帮助楼主。
H. 如何在Linux系统下制作RamDisk
linux本身就支持ramdisk,根本不用安装.用下面这个命令就可以了#mount-tramfsramfs/mnt/ramdisk
I. 如何还原RAMDISK
RamDisk简介这是一个关于在RedHat 6.0系统上如何建立一个RamDisk的文章。对于其他的发行版本这个过程也应该是相识的。什么是RamDisk? 一个A RamDisk 是你用作一个硬盘分区的一部分内存空间。或者换句话说,你是把内存假设为一个硬盘驱动器,并且你在它的上面存储文件。为什么我们要使用 RamDisk? 好的,如果你知道通常将要使用的文件是被调入内存以提高计算机的性能,因为内存的存储速度要快于硬盘。 这样类似于web服务器上的数据就可以用这个方法提高访问速度。或是有点愚蠢的,假如你有一台PII550计算机并且有1G的内存空间和500M的硬盘,你也可以用这种方法来增加你的你的硬盘空间。 或者,你也可以做一个无盘的机器,,没有比这个更为疯狂的了。以下是一些可以得到帮助的资源。1. http://metalab.unc.e/LDP/HOWTO/Kernel-HOWTO.html2. http://metalab.unc.e/LDP/HOWTO/mini/LILO.html3. /usr/src/linux/Documentation/ramdisk.txt如何使用RamDiskOK,使用ramdisk是一件很简单的事。首先,RedHat6.0的默认安装就支持ramdisk。你所需要做的就是格式化一个ramdisk并且把他家在到一个目录上。列出所有可用的ramdisk用“ls -al /dev/ram*”。这就会列出你现有可用的ramdisk。这些ramdisk并不抢夺内存,除非进行格式化的一类操作。这里有一个使用ramdisk的例子。# create a mount point:mkdir /tmp/ramdisk0# create a filesystem:mke2fs /dev/ram0# mount the ramdisk:mount /dev/ram0 /tmp/ramdisk0这三个命令将为ramdisk创建一个目录,格式化ramdisk(创建文件系统),并且加载这个ramdisk到"/tmp/ramdisk0". 现在你可以将这个目录看成一个虚拟的分区。使用它就象使用其它的目录一样。如果对ramdisk的格式化失败,那就是你的内核不支持ramdisk。其内核配置选项是 CONFIG_BLK_DEV_RAM .ramdisk的默认大小是 4Mb=4096 blocks. 在你进行mke2fs的时候你可以看到你的ramdisk的大小。mke2fs /dev/ram0 将产生类适于以下的信息:mke2fs 1.14, 9-Jan-1999 for EXT2 FS 0.5b, 95/08/09Linux ext2 filesystem formatFilesystem label=1024 inodes, 4096 blocks204 blocks (4.98%) reserved for the super userFirst data block=1Block size=1024 (log=0)Fragment size=1024 (log=0)1 block group8192 blocks per group, 8192 fragments per group1024 inodes per group执行df -k /dev/ram0 你实际用了多少空间:>df -k /dev/ram0Filesystem 1k-blocks Used Available Use% Mounted on/dev/ram0 3963 13 3746 0% /tmp/ramdisk0那么麻烦是什么呢?在系统重新启动的时候,将刷新这个区域。不要将任何没有拷贝的数据放在这个区域。如果你对这个目录进行了修改,并且需要保留这些修改,采取一些办法进行备份。改变 ramdisks 的大小要想使用ramdisk你必须或是得到内核的支持或是以模块的形式将他加载到系统中。其中内核的配置选项是 CONFIG_BLK_DEV_RAM . 把ramdisk编译成一个可加载的模块的好处是你可以在加载是重新确定ramdisk的大小。Okay, 第一个办法。在lilo.conf文件中加入这一行:ramdisk_size=10000 (or ramdisk=10000 for old kernels)这样在你使用lilo命令和重新启动计算机之后,ramdisk的默认大小将会是10M。这是一个/etc/lilo.conf文件的例子:boot=/dev/hdamap=/boot/mapinstall=/boot/boot.bprompttimeout=50image=/boot/vmlinuzlabel=linuxroot=/dev/hda2read-onlyramdisk_size=10000确切的说,我只是使用了9M多的空间,文件系统也将占用一定空间。当你以模块的形式编译ramdisk时,你可以在加载的时候决定ramdisk的大小。这也可以通过修改/etc/conf.moles 的选项设置来做到。options rd rd_size=10000或是在命令行中指定参数给ismod:insmod rd rd_size=10000以下是介绍如何使用这样的模块的例子:1. 卸载ramdisk,umount /tmp/ramdisk0 .2. 卸载模块(再上一节所提到的过程中自动加载), rmmod rd3. 加载ramdisk模块并且把它的大校设为20M,insmod rd rd_size=200004. 创建一个文件系统, mke2fs /dev/ram05. 加载ramdisk, mount /dev/ram0 /tmp/ramdisk0使用 RamDisk 做 webserver例子.Okay, 这是一个用3个ramdisk做webserver的例子。让我们设想你在 RedHat 6.0 上默认安装的 Apache 的cgi-scripts, html, 和 icons都不超过9M。这就是如何实现这一点。首先,利用命令将webserver的跟目录移到另外一个地方。并且加载ramdisk。mv /home/httpd/ /home/httpd_realmkdir /home/httpdmkdir /home/httpd/cgi-binmkdir /home/httpd/htmlmkdir /home/httpd/icons接下来,将这些命令加到启动进程中/etc/rc.d/init.d/httpd.init (或者是系统启动httpd的地方):### Make the ramdisk partitions/sbin/mkfs -t ext2 /dev/ram0/sbin/mkfs -t ext2 /dev/ram1/sbin/mkfs -t ext2 /dev/ram2### Mount the ramdisks to their appropriate placesmount /dev/ram0 /home/httpd/cgi-binmount /dev/ram1 /home/httpd/iconsmount /dev/ram2 /home/httpd/html### Copying real directory to ramdisks (the### data on the ramdisks is lost after a reboot)tar -C /home/httpd_real -c . | tar -C /home/httpd -x### After this you can start the web-server.注释1. 请记住一件事如果你改变了数据备份你的数据。在系统重新启动时,所有的变化将失去。应该设置一个cron进程。使它每十分钟时检查一下文件是否有变动,并且备份这些改动。另一种可能是你对真实的目录进行了改动,所以要拷贝这些变动到ramdisk。这样做也许更安全。2. 一个非常酷的做法是用一个有1G内存的计算机并且将其中的256M作为"/tmp". 如果你有很多的进程使用"/tmp",这样做会提高你的系统速度。同时,/tmp目录中的东西将在系统重新启动的时候被删除,这可是一件好事。3. Linux使用所有没有被程序使用的内存作为一个缓存,但我的经历告诉我ramdisk将会更多的提高速度。
J. 请问下linux RAMDISK机制是怎样的 是不是要先将KERNEL加载到RAMDISK解压后再拷贝到普通的RAM处执行呢
一直对linux启动时挂载根文件系统的过程存在着很多疑问,今天在水木精华区找到了有用的资料,摘录如下: 1。linux启动时,经过一系列初始化之后,需要mount 根文件系统,为最后运行init进程等做准备,mount 根文件系统有这么几种方式