Linux下的解压缩命令一堆

2011年3月10日 Yarkee 没有评论

按格式来,Linux下常用的解压缩命令有这样一些。

 

.tar

解压:  tar xvf TarFile.tar

压缩:  tar cvf TarFile.tar SourceFile

实际上,tar只是打文件给打包,而并没有实施压缩。x选项代表压缩,c选项代表解压。f选项必不可少,无论是解压还是压缩,f代表需要tar文档文件名作用命令的参数。

 

.gz

解压:  gzip -d GzipFile.gz

压缩:  gzip SourceFile

 

.tar.gz

解压:  tar zxvf TarFile.tar.gz

压缩:  tar zcvf  TarFIle.tar.gz SourceDir

为什么有了.gz,还要有.tar.gz呢?因为用来解压缩.gz文件的gzip命令不方便对多个文件进行操作,如果有一个文件夹SourceDir需要压缩,就可以先打包成.tar,然后再压缩,把打包和压缩的过程用一条命令表示,就是上面这条命令了。

 

.bz2

解压:  bzip2 -d Bzip2File.bz2

压缩:  bzip2 Bzip2FIle.bz2 SourceFile

 

.tar.bz2

解压:  tar jxvf Bzip2File.tar.bz2

压缩:  tar jcvf Bzip2File.tar.bz2 SourceDir

.tar.bz2存在的意义与.tar.gz相同

 

阅读全文…

分类: Linux 标签: , , , ,

用Python计算最大公约数GCD

2011年1月23日 Yarkee 1 条评论

Python语言,辗转相除法求多个数的最大公约数,可以是2个,3个,……XX个数的公约数,这些数全部扔到T这个元组里面就行了。

这个例子,求256,4096,8192的最大公约数,结果当然是256了。

Python也太简洁了吧……

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#! /usr/bin/env python
 
def gcd(argv):
    L=list(argv)
    while len(L)>1:
        a=L[len(L)-2]
        b=L[len(L)-1]
        L=L[:len(L)-2]
        while b:
            a,b=b,a%b
        L.append(a)
    return a
 
T=(256,4096,8192)
print gcd(T)



分类: 编程 标签: ,

笔试题,输出一句”Hello world!”

2010年11月3日 Yarkee 2 条评论

题目是这样的:请在下面的*号处填写一段代码,使输出”Hello world!”.

#include “stdio.h”
void print () {
*
}
void main()
{
}

在论坛上看到此题,不是如何下手。主函数是空的,一切工作都在在print函数中进行。

不过,很快我就看到了一个另辟蹊径的妙解。先思考下,然后见此文底部



阅读全文…

分类: 编程 标签:

UNIX环境高级编程中的apue.h错误

2010年9月29日 Yarkee 5 条评论

最近在读 Richard Stevens 的大作《UNIX环境高级编程》,相信很多初读此书的人都会与我一样遇到这个问题,编译书中的程序实例时会出现问题,提示 “错误:apue.h:没有那个文件或目录”。

apue.h 是作者自定义的一个头文件,并不是Unix/Linux系统自带的,此头文件包括了Unix程序所需的常用头文件及作者Richard自己写的出错处理函数。所以在默认情况下,gcc在编译时是读不到这个头文件的。

先在这个网站 http://www.apuebook.com/ 下载tar.gz格式的源码包,然后解压至某个目录,比如说/home/yarkee/下,然后进入目录apue.2e,把文件Make.defines.linux 中的 WKDIR=/home/xxx/apue.2e 修改为 WKDIR=/home/yarkee/apue.2e ,然后再进入apue.2e目录下的std目录,打开linux.mk,将里面的nawk全部替换为awk,如果是用的vi/vim编辑器,可以使用这个命令  :1.$s/nawk/awk/g (注意前面有冒号)
然后在此目录下运行make命令,即回到 /home/yarkee/apue.2e 目录在终端中输入 “./make” (不含引号)

然后把 /home/yarkee/apue.2e/inlcude 目录下的 apue.h 文件和位于 /home/yarkee/apue.2e/lib 目录下的 error.c 文件都复制到 /usr/include 目录下,注意复制这两个文件你需要有root权限。之所以要这样做,是因为gcc在链接头文件时会到 /usr/include 这个目录下寻找需要的头文件,若找不到则报错。

最终还要编辑一下复制过来的 apue.h 文件
在最后一行 #endif 前面添加一行 #include “error.c”

这样就不会报错了。

linux下小巧实用的截图工具scrot

2010年9月24日 Yarkee 没有评论


scrot是linux下小巧而实用的截图工具,它采用基于命令行的工作方式。使用起来很方便。以ubuntu为例介绍scrot的使用方法

安装:    sudo apt-get install scrot

1.抓取整个桌面:    scrot pic1.jpg    #此命令将抓取整个桌面,并且生成名字为pic1.jpg的截图保存在当前目录下

2.抓取窗口:    scrot -bs pic2.jpg    #此命令将抓取一个窗口,选项b使得抓取窗口时一并抓取其边框,选项s使得用户可以用鼠标选定抓取的是哪个窗口(在想抓取的窗口上用鼠标点一下)

3.区域截图:    scrot -s pic3.jpg    #此命令用于矩形区域截图,用鼠标选定想截图的矩形区域

4.定时截图:    scrot -cd 10 pic4.jpg    #此命令用于定时截图,选项d后接数字10,代表定时为10秒钟,选项c显示倒计时

5.生成缩略图:    scrot -t 70% pic5.jpg    #此命令除了生成pic5.jpg外,还会生成名字为pic5-thumb.jpg缩略百分比为70%的缩略图

6.更改截图品质:    scrot -q 80 pic6.jpg    #此命令选项q用于决定截图的品质,数值介于1-100之间,数值越大,品质越好,占用的空间也越大。默认为75.


分类: Linux 标签: ,

WP SlimStat