标签归档:linux

LINUX解压缩 打包命令的使用

tar命令
[root@ ~]# tar [-cxtzjvfpPN] 文件与目录 ….
参数:
-c :建立一个压缩文件的参数指令(create 的意思);
-x :解开一个压缩文件的参数指令!
-t :查看 tarfile 里面的文件!
特别注意,在参数的下达中, c/x/t 仅能存在一个!不可同时存在!
因为不可能同时压缩与解压缩。
-z :是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩?
-j :是否同时具有 bzip2 的属性?亦即是否需要用 bzip2 压缩?
-v :压缩的过程中显示文件!这个常用,但不建议用在背景执行过程!
-f :使用档名,请留意,在 f 之后要立即接档名喔!不要再加参数!
   例如使用『 tar -zcvfP tfile sfile』就是错误的写法,要写成
   『 tar -zcvPf tfile sfile』才对喔!
-p :使用原文件的原来属性(属性不会依据使用者而变)
-P :可以使用绝对路径来压缩!
-N :比后面接的日期(yyyy/mm/dd)还要新的才会被打包进新建的文件中!
–exclude FILE:在压缩的过程中,不要将 FILE 打包!

范例:

范例一:将整个 /etc 目录下的文件全部打包成为 /tmp/etc.tar
[root@linux ~]# tar -cvf /tmp/etc.tar /etc <==仅打包,不压缩!
[root@linux ~]# tar -zcvf /tmp/etc.tar.gz /etc <==打包后,以 gzip 压缩
[root@linux ~]# tar -jcvf /tmp/etc.tar.bz2 /etc <==打包后,以 bzip2 压缩
# 特别注意,在参数 f 之后的文件档名是自己取的,我们习惯上都用 .tar 来作为辨识。
# 如果加 z 参数,则以 .tar.gz 或 .tgz 来代表 gzip 压缩过的 tar file ~
# 如果加 j 参数,则以 .tar.bz2 来作为附档名啊~
# 上述指令在执行的时候,会显示一个警告讯息:
# 『tar: Removing leading `/' from member names』那是关於绝对路径的特殊设定。

范例二:查阅上述 /tmp/etc.tar.gz 文件内有哪些文件?
[root@linux ~]# tar -ztvf /tmp/etc.tar.gz
# 由於我们使用 gzip 压缩,所以要查阅该 tar file 内的文件时,
# 就得要加上 z 这个参数了!这很重要的!

范例三:将 /tmp/etc.tar.gz 文件解压缩在 /usr/local/src 底下
[root@linux ~]# cd /usr/local/src
[root@linux src]# tar -zxvf /tmp/etc.tar.gz
# 在预设的情况下,我们可以将压缩档在任何地方解开的!以这个范例来说,
# 我先将工作目录变换到 /usr/local/src 底下,并且解开 /tmp/etc.tar.gz ,
# 则解开的目录会在 /usr/local/src/etc 呢!另外,如果您进入 /usr/local/src/etc
# 则会发现,该目录下的文件属性与 /etc/ 可能会有所不同喔!

范例四:在 /tmp 底下,我只想要将 /tmp/etc.tar.gz 内的 etc/passwd 解开而已
[root@linux ~]# cd /tmp
[root@linux tmp]# tar -zxvf /tmp/etc.tar.gz etc/passwd
# 我可以透过 tar -ztvf 来查阅 tarfile 内的文件名称,如果单只要一个文件,
# 就可以透过这个方式来下达!注意到! etc.tar.gz 内的根目录 / 是被拿掉了!

范例五:将 /etc/ 内的所有文件备份下来,并且保存其权限!
[root@linux ~]# tar -zxvpf /tmp/etc.tar.gz /etc
# 这个 -p 的属性是很重要的,尤其是当您要保留原本文件的属性时!

范例六:在 /home 当中,比 2005/06/01 新的文件才备份
[root@linux ~]# tar -N '2005/06/01' -zcvf home.tar.gz /home

范例七:我要备份 /home, /etc ,但不要 /home/dmtsai
[root@linux ~]# tar –exclude /home/dmtsai -zcvf myfile.tar.gz /home/* /etc

范例八:将 /etc/ 打包后直接解开在 /tmp 底下,而不产生文件!
[root@linux ~]# cd /tmp
[root@linux tmp]# tar -cvf – /etc | tar -xvf –
# 这个动作有点像是 cp -r /etc /tmp 啦~依旧是有其有用途的!
# 要注意的地方在於输出档变成 – 而输入档也变成 – ,又有一个 | 存在~
# 这分别代表 standard output, standard input 与管线命令啦!
# 这部分我们会在 Bash shell 时,再次提到这个指令跟大家再解释啰!

gzip, zcat 命令
[root@linux ~]# gzip [-cdt#] 档名
[root@linux ~]# zcat 档名.gz
参数:
-c :将压缩的资料输出到萤幕上,可透过资料流重导向来处理;
-d :解压缩的参数;
-t :可以用来检验一个压缩档的一致性~看看文件有无错误;
-# :压缩等级,-1 最快,但是压缩比最差、-9 最慢,但是压缩比最好!预设是 -6 ~

范例:

范例一:将 /etc/man.config 複制到 /tmp ,并且以 gzip 压缩
[root@linux ~]# cd /tmp
[root@linux tmp]# cp /etc/man.config .
[root@linux tmp]# gzip man.config
# 此时 man.config 会变成 man.config.gz !

范例二:将范例一的文件内容读出来!
[root@linux tmp]# zcat man.config.gz
# 此时萤幕上会显示 man.config.gz 解压缩之后的文件内容!!

范例三:将范例一的文件解压缩
[root@linux tmp]# gzip -d man.config.gz

范例四:将范例三解开的 man.config 用最佳的压缩比压缩,并保留原本的文件
[root@linux tmp]# gzip -9 -c man.config > man.config.gz

bzip2, bzcat 命令

[root@linux ~]# bzip2 [-cdz] 档名
[root@linux ~]# bzcat 档名.bz2
参数:
-c :将压缩的过程产生的资料输出到萤幕上!
-d :解压缩的参数
-z :压缩的参数
-# :与 gzip 同样的,都是在计算压缩比的参数, -9 最佳, -1 最快!

范例:
范例一:将刚刚的 /tmp/man.config 以 bzip2 压缩
[root@linux tmp]# bzip2 -z man.config
# 此时 man.config 会变成 man.config.bz2 !

范例二:将范例一的文件内容读出来!
[root@linux tmp]# bzcat man.config.bz2
# 此时萤幕上会显示 man.config.bz2 解压缩之后的文件内容!!

范例三:将范例一的文件解压缩
[root@linux tmp]# bzip2 -d man.config.bz2

范例四:将范例三解开的 man.config 用最佳的压缩比压缩,并保留原本的文件
[root@linux tmp]# bzip2 -9 -c man.config > man.config.bz2

 

compress 命令

[root@linux ~]# compress [-dcr] 文件或目录
参数:
-d :用来解压缩的参数
-r :可以连同目录下的文件也同时给予压缩呢!
-c :将压缩资料输出成为 standard output (输出到萤幕)

范例:

范例一:将 /etc/man.config 複制到 /tmp ,并加以压缩
[root@linux ~]# cd /tmp
[root@linux tmp]# cp /etc/man.config .
[root@linux tmp]# compress man.config
[root@linux tmp]# ls -l
-rw-r–r– 1 root root 2605 Jul 27 11:43 man.config.Z

范例二:将刚刚的压缩档解开
[root@linux tmp]# compress -d man.config.Z

范例三:将 man.config 压缩成另外一个文件来备份
[root@linux tmp]# compress -c man.config > man.config.back.Z
[root@linux tmp]# ll man.config*
-rw-r–r– 1 root root 4506 Jul 27 11:43 man.config
-rw-r–r– 1 root root 2605 Jul 27 11:46 man.config.back.Z
# 这个 -c 的

QQ LINUX 版本终于出来了

   以前有一个人家开发的QQlinux版本,现在腾讯官方终于也出LINUX 版本了。看来LINUX 也是一种趋势了,在国外早已经流行,国内估计也会慢慢的流行开来了,只要等支持的软件多了,我想LINUX 用的人也会比较多,他的桌面也相当的丰富漂亮,而且各发行版本基本都是免费的,也没有使用什么盗版不盗版之类。估计以后在国内也会流行开来。

版本下载地址

http://im.qq.com/qq/linux/download.shtml

QQ for Linux的系统需求
CPU:500MHZ处理器或更高;
内存:128MB RAM;
硬盘:不少于30MB硬盘空间;
互联网连接 (至少必须满足一种网络连接:56Kbps modem,Cable,xDSL,等等) 。

LINUX最受欢迎的版本,各版本排行

下面已经非常全了,这个排行应该是对于桌面版本来说的。

排名 发行版 关注度
1 Ubuntu 2613
2 PCLinuxOS 2467
3 openSUSE 1472
4 Fedora 1329
5 Sabayon 1161
6 Debian 1024
7 Mint 985
8 MEPIS 938
9 Mandriva 779
10 Damn Small 672
11 Slackware 597
12 CentOS 549
13 Gentoo 529
14 KNOPPIX 490
15 Zenwalk 477
16 Kubuntu 462
17 Puppy 430
18 Dreamlinux 400
19 Arch 397
20 Vector 391
21 Freespire 381
22 FreeBSD 362
23 sidux 304
24 Elive 284
25 Xubuntu 277
26 SLAX 272
27 Red Hat 272
28 Ubuntu CE 253
29 Ubuntu Studio 243
30 Foresight 217
31 DesktopBSD 214
32 Xandros 209
33 PC-BSD 205
34 SAM 203
35 Nexenta 191
36 64 Studio 177
37 BackTrack 170
38 Frugalware 167
39 Yoper 162
40 Pioneer 156
41 GeeXboX 153
42 Yellow Dog 143
43 Solaris 143
44 Absolute 139
45 Pardus 137
46 Scientific 134
47 GParted 133
48 Fluxbuntu 133
49 OpenBSD 128
50 Wolvix 123
51 Musix 119
52 -gamers 119
53 Ark 114
54 KANOTIX 112
55 Linspire 111
56 DragonFly 111
57 KateOS 108
58 SaxenOS 105
59 Novell SLE 105
60 SystemRescue 99
61 Parsix 97
62 IPCop 95
63 Berry 92
64 Linux XP 91
65 VideoLinux 89
66 SmoothWall 87
67 MCNLive 86
68 GoblinX 85
69 ClarkConnect 85
70 Devil 81
71 DeLi 81
72 dyne:bolic 80
73 AUSTRUMI 80
74 Feather 78
75 SME Server 77
76 m0n0wall 76
77 Lunar 76
78 ArtistX 76
79 BLAG 74
80 EnGarde 72
81 Bluewhite64 69
82 Helix 68
83 FreeNAS 68
84 CRUX 68
85 BeleniX 68
86 Edubuntu 67
87 Turbolinux 66
88 Symphony OS 66
89 NetBSD 66
90 FoX Desktop 66
91 Grafpup 65
92 Gentoox 65
93 LiveCD Router 64
94 aLinux 64
95 Pentoo 63
96 Skolelinux 62
97 Granular 62
98 Vine 61
99 Ulteo 61
100 StartCom 59

经常会用到的Linux命令

  一: Linux下的mysql数据库常用操作

    1.登入登出

    mysql -uroot -p123456;
    mysql <./HostCache.sql -uroot -p123456;
    mysql <E:sqlHostCache.sql -uroot -p123456;
    show databases;
    use HostCache;
    show tables;
    desc HostCache;
    exit;

    2.数据操作

    alter table voucherwinner modify cpuid varchar(36);
    alter table installerreport add skypeid varchar(32);
    update operator set agentid='00000124' where username='00000124';
    select * from HostCache order by TimeStamp;
    select * from voucherwinner where skypeid not like '#%';
    select ExternalIP, InternalIP from HostCache order by TimeStamp;
    delete from HostCache where ISPType = 4;
    delete from HostCache;

    3.数据导入导出

    把数据库skypeuser中的表voucherwinner中的数据导入到voucherwinner文件中。

    该命令会把创建表的操作以及插入数据记录以脚本的形式存入文件

    mysqldump -h172.24.172.47 -uskypeuser -ptomskype47 skypeuser voucherwinner > voucherwinner

    带where条件的数据表导出

    mysqldump -h61.135.158.241 -uroot -p –w "time >= '2007-05-03 00:00:00' and time <= '2007-05-03 23:59:59'" skypeuser

    installerreport > installerreport20070503

    把记录导入到新库中

    mysql -uroot -p skypeuser <voucherwinner;

    mysql -h61.135.158.241 -uroot -p skypeuser <installerreport20070503

    4.权限分配

    在数据库服务器端运行下面命令:

    mysql> grant all on *.* to username@IP identified by 'password';

    比如:

    mysql> grant all on *.* to root@192.168.15.96 identified by '123456';

    则可以如此访问:

    mysql -h192.168.15.96 -uroot -p123456;

    修改最大连接数

    mysql默认的最大连接数是100,该值存放在mysql的ini文件中,比如:my.ini,找到对应值修改就可以了

    二: Linux常用普通操作

    1.常见文件操作

    cd ../home/tcast/NATServer; 进入到一个目录

    cd ${ACE_ROOT}

    tail -f 2005-10-28.log 查看正在被其它进程修改的文件

    ps -A 显示当前进程列表

    ps -ef | grep natserver 查询名字包含natserver的进程是否存在

    killall -9 p2pserver    kill进程

    kill -9 6499 结束ID为6499的进程

    df 查看磁盘使用比例

    2.设置定时任务

    一个 cron 作业是一个命令,其运行是由 cron 守护程序在规则的调度间隔执行的。

    crontab -e 编辑用户的 crontab 文件的副本,或者,如果一个有效的 UserName 的 crontab 文件不存在则创建一个空的文件进行编辑。当编

    辑完成后,文件被到 crontab 目录作为用户的 crontab 文件。

    例如:增加一条每天9点16执行一次的任务,则添加如下文字:

    16      9       *       *       *       echo "hello" > /root/hello.txt

    crontab -l 列出用户的 crontab 文件。

    3.显示或修改系统时间

    date

    date -s 'Sat Apr 21 09:55:11 CST 2007'

    4.远程登录

    ssh 61.135.234.140 从一台Linux系统登录到另一台Linux系统

    exit 从那台Linux系统中退出

    三: 环境变量相关

    locale 查看本地化设置(locale的东东在/usr/lib/locale下)

    export LANG=zh_CN 设置本地化的变量

    export LANG= 设置这个变量为空

    uname -a 查看操作系统,CPU的信息

    top   查看进程使用CPU,内存的情况

    env 查看环境变量

    /etc/profile 环境变量的文件,可以设置

    export path添加环境变量路径

    export CPPFLAGS="-I/data/TOMSKYPEIVR/asterisk/include"

    export LD_LIBRARY_PATH=/data/TOMSKYPEIVR/cpprad/lib

    echo $CPPFLAGS

    ${ACE_ROOT}

    su -root

    四: C/C++编译和调试

    1.常用操作

    vi makefile 编辑makefile文件
    make 编译当前目录下的源码
    ./kill.sh 运行结束程序的脚本
    ctrl + c 结束控制台下正在运行的程序
    chmod a+x tcastchanroot 修改文件属性使其可以运行
    ./runnewtcast.sh & 后台运行脚本
    nohup ./tcastchanroot >runlog 不挂起执行程序, 输出定向到文件runlog

    2.gdb调试相关

    gdb ./reportserver 开始调试reportserver程序
    b main 在main()处设置断点
    b CReportServer::svc 在CReportServer:svc()处设置断点
    b 100 在当前文件的第100行放置断点
    d 删除所有断点
    start 开始以调试状态运行程序
    t 显示当前线程情况
    p argc 显示变量情况
    s 进入函数内执行
    n 跳到下一行执行
    c 跳到下一个断点执行
    quit 退出调试

    ulimit -c unlimited 设置运行时产生调试信息
    gdb tcastchanroot core.6200 调入调试信息查看
    where 模块结构

    五: 文本操作命令

    1.常见操作
    tail -f 2005-10-31.log :查看日志
    cat /proc/cpuinfo 只读的形式打开文本文件

    grep MyKeyword statistics.2006102700.log
    grep MyKeyword statistics.2006102800.log | wc
    grep MyKeyword statistics.2006102800.log | awk '{print$1}' | sort -u | wc
    在日志statistics.2006102800.log的每行中出现过MyKeyword的行中,打印他们的第1列内容不重复的行数

    cat testsetuplog2006-10-28 | awk '{print$3}' | sort -u | wc
    cat testsetuplog2006-10-30 | awk '{print $6}' | grep 0 | wc
    cat testsetuplog2006-11-15 | awk '($5$6==62) {print $4}' | sort -u | wc
    在日志testsetuplog2006-11-15的每行中,第5列等于6,第5列等于2的行中,打印他们的第4列内容不重复的行数

    cat ExportMac2005.txt > mac.txt   把ExportMac2005.txt的内容拷贝到另外一个文件mac.txt
    cat
ExportMac2006-01-01.txt >> mac.txt  把ExportMac2006-01-01.txt的内容追加到文件mac.txt
    wc mac.txt     对mac.txt中的内容条数进行统计
    cat mac.txt | sort -u | wc   对mac.txt中的不重复内容条数进行统计
    cat mac.txt | sort -u > macunique.txt  把mac.txt中的不重复内容条数拷贝到macunique.txt

    grep 'Radius' *  在当前文件夹下的所有文件中搜索出现Radius的地方
    find -name  Main.cpp    搜索文件名为Main.cpp的文件所在路径

    2. vi命令
    i从命令模式到插入模式
    ESC从插入模式到命令模式
    命令模式滚屏:ctrl+f
    yy复制当前行
    p粘贴
    dd删除当前行
    /xx 在文档中查找xx字符串, n查找下一个
    :wq

    将文本中的installerreport替换成为installerreport20070503
    :g/installerreport/s/installerreport/installerreport20070503/g

让DH空间支持采集,编译开启采集

可以直接用 CMD 登陆帐户。 telnet 你的域名

在用FTP帐户密码登陆,不要忘记了,找好到DH面板开启SSH登陆,不然没法进

以下开启方法,整理来自落伍

1.在你空间放置(就是你的domain.com目录下)目录建立cgi-bin文件夹
   用SSH登陆后直接输入命令:

mkdir ~/[your website directory]/cgi-bin/

PS:[your website directory] 即 你的domain.com文件夹名字或者你自定义的文件夹名字!

3.建立 php-update.sh 文件(现在SSH还是在根目录)

建立php-update.sh

vim php-update.sh

写入内容按下"i"键插入.
此时看你的php版本

php4

代码:

#!/bin/sh
CGIFILE="$HOME/[your website directory]/cgi-bin/php.cgi"
INIFILE="$HOME/[your website directory]/cgi-bin/php.ini"
cp /dh/cgi-system/php.cgi "$CGIFILE"
cp /etc/php/cgi/php.ini "$INIFILE"

perl -p -i -e '
s/.*allow_url_fopen.*/allow_url_fopen = On/;
' "$INIFILE"


php5

代码:

#!/bin/sh
CGIFILE="$HOME/[your website directory]/cgi-bin/php.cgi"
INIFILE="$HOME/[your website directory]/cgi-bin/php.ini"
cp /dh/cgi-system/php5.cgi "$CGIFILE"
cp /etc/php5/cgi/php.ini "$INIFILE"

perl -p -i -e '
s/.*allow_url_fopen.*/allow_url_fopen = On/;
' "$INIFILE"

把[your website directory] 改成你自己的.
此代码既是开启 fopen 如果你还想开启其他的自己编辑以上代码即可.
直接复制然后在putty里按右键就可以复制进去!然后按下键盘的'ESC'然后输入":wq",既可以退出.(不包括" "

4运行 php-update.sh

chmod +x php-update.sh
./php-update.sh

5.设置cron使系统每个礼拜检查php
在putty里键入

crontab -e
@weekly /home/myusername/php-update.sh

编辑保存按Ctrl+X退出.
myusername改成你自己的ftp用户名.

6.在网站目录下建立.htaccess,让php按照我们的设置来运行.

键入

cd domain.com

转入网站目录下.

然后建立.htaccess文件

vim .htaccess
Options +ExecCGI
AddHandler php-cgi .php
Action php-cgi /cgi-bin/php.cgi

按"ESC"后输入":wq"既完成.(不包括" "

其实一个简单的方法不用输那么多代码,只要将需要的代码本地建个文本文档,复制进去,传到相应的文件夹下,再运行就可以了。上面的步骤我成功开启了。PHP的 FOPEN 函数,就可以采集了。。哈哈

让linux/unix 支持 asp.net

 今天刚刚找了这个东西,如果找点找的话 我自己还可以试试,也不用将服务器系统换为 WINDOWS 了,吃亏了。。。

上次还这么麻烦去换系统。。。不过在我想来虽然能支持,但是肯定支持状况不会很好。下面是下载地址:

http://www.mono-project.com/Downloads

Mono installguide

安装步骤
mono
rpm -ivh *.rpm

gtk-sharp-2.0
rpm -ivh *.rpm

xsp(webserver)
rpm -ivh *.rpm

apache配置

Alias /aspnet "/usr/share/doc/xsp/test"       MonoApplications "/aspnet:/usr/share/doc/xsp/test"       <Directory /usr/share/doc/xsp/test>               SetHandler mono       </Directory>

Instant ASP Developer Edition 2.1.1(让LINUX支持ASP)

   Instant ASP产品是微软ASP 环境的代替和功能扩展,它解决了ASP平台的局限问题,从而使ASP能够跨平台运行。该产品的口号是:“ASP Anytime, Anywhere”。它能够在Unix/、Windows9x/NT workstation/NT Server、Novell Netware上运行,支持的 WEB SERVER 包括:Apache (Windows & UNIX)、 MS Internet Information Server (IIS)、Sun Web Server、Java Web Server、 Netscape FastTrack、Netscape Enterprise Server、IBM WebSphere、Zeus。 使用IASP 的前提是您的系统上必须已经安装了JDK 1.1以上版本。这个版本适用于全部的UNIX系统。

以前我自己也找了很多东西想让APACHE支持ASP,但是没有找到。今天突然百度了一下,竟然有这方面的资料,所以下载了 转到了 我的博客里来了。
具体运行效果怎么样就不清除了。。大家可以试试哦

本地下载地址:http://www.maqie.com/download/iASP2.1.01.tar.gz