Chinaunix首页 | 论坛 | 博客
  • 博客访问: 655586
  • 博文数量: 77
  • 博客积分: 6055
  • 博客等级: 准将
  • 技术积分: 617
  • 用 户 组: 普通用户
  • 注册时间: 2006-05-17 02:15
个人简介

一句话太少

文章分类

全部博文(77)

文章存档

2018年(1)

2015年(1)

2014年(1)

2013年(6)

2011年(1)

2010年(1)

2009年(4)

2008年(2)

2007年(21)

2006年(39)

我的朋友

分类: 系统运维

2007-01-22 16:27:19

1.1:*.tar.Z 文件的解压
libpcap.tar.Z、j2sdkee-1_3-linux.tar.gz这样的文件是用tar工具来打包并用压缩工具compress(.Z)和gzip(.gz)来压缩的,还有用bzip2压缩的(.bz2)。

它们可能是二进制的软件分发包,这种方式解压也即安装了;也可能只是源代码包,解压后还需要用户自己进行编译和安装,这种方式最具灵活性,因为用户可以根据自己的需要对软件作一些调整,如部分功能的保留与削减等等。

*.tar.gz或*.tgz的解压:tar zxvf *.tar.gz 或 tar zxvf *.tgz

*.tar.bz2的解压:tar jxvf *.tar.bz2

*.tar.Z的解压:uncompress *.tar.Z | tar -xvf

如果是源代码,在解压过程中会见到很多头文件和程序源代码,比如*.h和C/C++的*.c、*.cpp等,在安装这类软件先要进到解压后的目录,接着:
./configure (配置)
make (编译)
make install (安装)
文件的压缩与解压缩
1:压缩文件内容为 .tar
$ tar -cvf filename.tar filename
  向存在的 .tar 文件中增加 文件
  $ tar -rvf filename.tar addfile
 
自动打包简单脚本
datestring=`date "+%y%m%d"`
tar cvf filename_"$datestring".tar    bin;
tar rvf filename_"$datestring".tar    `find include -name *.h`;
tar rvf filename_"$datestring".tar    server/batch;
tar rvf filename_"$datestring".tar    `find server -name "*.ec"`;
tar rvf filename_"$datestring".tar    tools;
tar rvf filename_"$datestring".tar    `find trans/install -name "*config*"`;
gzip -9 filename_"$datestring".tar
mv clannt_"$datestring".tar.gz bak
 
 
压缩工具 文件扩展名 解压工具
gzip .gz gunzip
bzip2 .bz2 bunzip2
zip .zip unzip
 
要使用 bzip2 来压缩文件
bzip2 filename
文件即会被压缩并被保存为 filename.bz2。要扩展压缩的文件,键入以下命令:
bunzip2 filename.bz2
filename.bz2 文件会被删除,而继之以 filename。
使用 bzip2 命令同时处理多个文件和目录
bzip2 filename.bz2 file1 file2 file3 /usr/work/school
把 file1、file2、 file3、以及 /usr/work/school 目录的内容压缩起来,然后放入 filename.bz2 文件中。
 
使用 gzip 来压缩文件
gzip filename
文件即会被压缩,并被保存为 filename.gz。要扩展压缩的文件,键入以下命令:
gunzip filename.gz 或 gzip -d filename.gz
filename.gz 会被删除,而继之以 filename。
同时处理多个文件和目录
gzip -r filename.gz file1 file2 file3 /usr/work/school
 
要使用 zip 来压缩文件
zip -r filename.zip filesdir
-r 选项指定你想递归地(recursively)包括所有包括在 filesdir 目录中的文件。要抽取 zip 文件的内容,键入以下命令:
unzip filename.zip
同时处理多个文件和目录
zip -r filename.zip file1 file2 file3 /usr/work/school
 
tar 使用的选项有:
-c — 创建一个新归档。
-f — 当与 -c 选项一起使用时,创建的 tar 文件使用该选项指定的文件名;当与 -x 选项一起使用时,则解除该选项指定的归档。
-t — 显示包括在 tar 文件中的文件列表。
-v — 显示文件的归档进度。
-x — 从归档中抽取文件。
-z — 使用 gzip 来压缩 tar 文件。
-j — 使用 bzip2 来压缩 tar 文件。
 
要创建一个 tar 文件,键入:
tar -cvf filename.tar directory/file
使用 tar 命令同时处理多个文件和目录
tar -cvf filename.tar /home/mine/work /home/mine/school
要列出 tar 文件的内容,键入:
tar -tvf filename.tar
要抽取 tar 文件的内容,键入:
tar -xvf filename.tar
 
tar 默认不压缩文件。要创建一个使用 tar 和 bzip 来归档压缩的文件,使用 -j 选项:
tar -cjvf filename.tbz file
按照约定俗成,用 bzip2 压缩的 tar 文件具有 .tbz 扩展名。不过,有时用户使用 tar.bz2 扩展名来归档他们的文件。以上命令创建了一个归档文件,然后将其压缩为 filename.tbz 文件。如果你使用 bunzip2 命令为 filename.tbz 文件解压,filename.tbz 文件会被删除,继之以 filename.tar 文件。
还可以用一个命令来扩展并解除归档 bzip tar 文件:
tar -xjvf filename.tbz
 
创建一个用 tar 和 gzip 归档并压缩的文件,使用 -z 选项:
tar -czvf filename.tgz file
按照约定俗成,使用 gzip 来压缩的 tar 文件具有 .tgz 扩展名。这个命令创建归档文件 filename.tar,然后把它压缩为 filename.tgz 文件(文件 filename.tar 不被保留)。如果你使用 gunzip 命令来给 filename.tgz 文件解压,filename.tgz 文件会被删除,并被替换为 filename.tar。
 
可以用单个命令来扩展 gzip tar 文件:
tar -xzvf filename.tgz
 
 
 
 
1.2 nohup 设置程序后台执行 守护进程
Unix/Linux下一般比如想让某个程序在后台运行,很多都是使用 & 在程序结尾来让程序自动运行。比如我们要运行mysql在后台:
/usr/local/mysql/bin/mysqld_safe --user=mysql &
但是加入我们很多程序并不象mysqld一样做成守护进程,可能我们的程序只是普通程序而已,一般这种程序使用 & 结尾,但是如果终端关闭,那么程序也会被关闭。但是为了能够后台运行,那么我们就可以使用nohup这个命令,比如我们有个test.php需要在后台运行,并且希望在后台能够定期运行,那么就使用nohup:
nohup /root/test.php &
提示:
[1] 54470
[~]$ appending output to nohup.out
嗯,证明运行成功,同时把程序运行的输出信息放到当前目录的 nohup.out 文件中去。
 
1.3 history 重复命令的设置查看
 
可以按Esc+k 或 #history 命令查看 重复命令。
 
命令记录.bash_history

  Bash shell在“~/.bash_history”(“~/”表示用户目录)文件中保存了500条使用过的命令,这样可以使你输入使用过的长命令变得容易。每个在系统中拥有账号的用户在他的目录下都有一个“.bash_history”文件。

  bash shell应该保存少量的命令,并且在每次用户注销时都把这些历史命令删除。

第一步:

  “/etc/profile”文件中的“HISTFILESIZE”和“HISTSIZE”行确定所有用户的“.bash_history”文件中可以保存的旧命令条数。强烈建议把把“/etc/profile”文件中的“HISTFILESIZE”和“HISTSIZE”行的值设为一个较小的数,比如 30。编辑profile文件(vi /etc/profile),把下面这行改为:

CODE:
HISTFILESIZE=30
HISTSIZE=30

  这表示每个用户的“.bash_history”文件只可以保存30条旧命令。

第二步:

  网管还应该在"/etc/skel/.bash_logout" 文件中添加下面这行"rm -f $HOME/.bash_history" 。这样,当用户每次注销时,“.bash_history”文件都会被删除.
 
 
1.4 文件内容的排序
sort命令
sort命令的功能是对文件中的各行进行排序。sort命令有许多非常实用的选项,这些选项最初是用来对数据库格式的文件内容进行各种排序操作的。实际上,sort命令可以被认为是一个非常强大的数据管理工具,用来管理内容类似数据库记录的文件。
Sort命令将逐行对文件中的内容进行排序,如果两行的首字符相同,该命令将继续比较这两行的下一字符,如果还相同,将继续进行比较。
语法:
sort [选项] 文件
说明:sort命令对指定文件中所有的行进行排序,并将结果显示在标准输出上。如不指定输入文件或使用“- ”,则表示排序内容来自标准输入。
sort排序是根据从输入行抽取的一个或多个关键字进行比较来完成的。排序关键字定义了用来排序的最小的字符序列。缺省情况下以整行为关键字按ASCII字符顺序进行排序。
改变缺省设置的选项主要有:
- m 若给定文件已排好序,合并文件。
- c 检查给定文件是否已排好序,如果它们没有都排好序,则打印一个出错信息,并以状态值1退出。
- u 对排序后认为相同的行只留其中一行。
- o 输出文件 将排序输出写到输出文件中而不是标准输出,如果输出文件是输入文件之一,sort先将该文件的内容写入一个临时文件,然后再排序和写输出结果。
改变缺省排序规则的选项主要有:
- d 按字典顺序排序,比较时仅字母、数字、空格和制表符有意义。
- f 将小写字母与大写字母同等对待。
- I 忽略非打印字符。
- M 作为月份比较:“JAN”<“FEB”
- r 按逆序输出排序结果。
+posl - pos2 指定一个或几个字段作为排序关键字,字段位置从posl开始,到pos2为止(包括posl,不包括pos2)。如不指定pos2,则关键字为从posl到行尾。字段和字符的位置从0开始。
- b 在每行中寻找排序关键字时忽略前导的空白(空格和制表符)。
- t separator 指定字符separator作为字段分隔符。

uniq命令
文件经过处理后在它的输出文件中可能会出现重复的行。例如,使用cat命令将两个文件合并后,再使用sort命令进行排序,就可能出现重复行。这时可以使用uniq命令将这些重复行从输出文件中删除,只留下每条记录的唯一样本。
语法:
uniq [选项] 文件
说明:这个命令读取输入文件,并比较相邻的行。在正常情况下,第二个及以后更多个重复行将被删去,行比较是根据所用字符集的排序序列进行的。该命令加工后的结果写到输出文件中。输入文件和输出文件必须不同。如果输入文件用“- ”表示,则从标准输入读取。
该命令各选项含义如下:
- c 显示输出中,在每行行首加上本行在文件中出现的次数。它可取代- u和- d选项。
- d 只显示重复行。
- u 只显示文件中不重复的各行。
- n 前n个字段与每个字段前的空白一起被忽略。一个字段是一个非空格、非制表符的字符串,彼此由制表符和空格隔开(字段从0开始编号)。
+n 前n个字符被忽略,之前的字符被跳过(字符从0开始编号)。
- f n 与- n相同,这里n是字段数。
- s n 与+n相同,这里n是字符数。
 
1.5 设置默认编辑器
exprot EDITOR=vi
 
vi 设置默认显示行号
unix 下
echo "set nu" >> ~/.exrc
linux 下
echo "set nu">>~/.vimrc
/etc/.exrc 系统全局使用vi 都显示行号。
 
1.6.1 命令补全功能
在.profile 中执行 set -o vi 设置 Esc 命令补全功能
SunOS 服务器环境,输入bash 命令后可以达到命令补全功能。
AIX :set -o emacs
 
1.6.2 命令别名alias
alias 的基本使用方法为:alias 新的命令='原命令 -选项/参数'。举例说明,alias l=‘ls -lsh' 将重新定义 ls 命令,现在只需输入 l 就可以列目录了。
删除别名: 要删除一个别名,可以使用 unalias 命令,如 unalias l。
alias pcsearch='find . -name "*.pc" 2>/dev/null | xargs grep -n'
alias hsearch='find . -name "*.h" 2>/dev/null | xargs grep -n'
alias pcs=pcsearch
 
1.6.3 命令行提示当前全路径名
命令行显示当前目录全路径。
PS1='$PWD>' export PS1
PS1='$LOGNAME'@`hostname`:'$PWD>'
 
1.6.4 删除查询到的文件
删除ls 查到的内容
$ ls printlog.*4 |xargs rm -f
 
$vgdisplay -v vgprt|grep lv|awk '{print "lvremove -f " $3}'|sh
$ls |awk '{print "rm "$1}'
 
 
1.7 unix 环境 Ctrl+c 不能停止退出正在运行的程序
可以在stty命令中使用-a查看当前注册终端的设置情况
$ stty -a
speed 9600 baud; line = 0;
rows = 41; columns = 132
min = 4; time = 0;
intr = DEL; quit = ^\; erase = ^H; kill = @
eof = ^D; eol = ^@; eol2 ; swtch
stop = ^S; start = ^Q; susp ; dsusp
werase ; lnext
parenb -parodd cs7 -cstopb hupcl -cread -clocal -loblk -crts
-ignbrk brkint ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl -iuclc
ixon -ixany -ixoff -imaxbel -rtsxoff -ctsxon -ienqak
isig icanon -iexten -xcase echo -echoe -echok -echonl -noflsh
-echoctl -echoprt -echoke -flusho -pendin
opost -olcuc onlcr -ocrnl -onocr -onlret -ofill -ofdel -tostop tab3
 
修改intr = DEL 为intr = ^C
修改命令 stty intr ^C
stty 命令见 《stty 命令说明及使用讲解》

 
2:INFORMIX Client-SDK setNet32 客户端联接设置
进入 /informix/etc 目录
打开 sqlhosts 文件 参照其内容设置 informix setnet32 信息。
 
2.2: EC 程序中输出数据库操作错误
printf("[ 数据库错误,错误号=%-ld,错误信息=%-s,ISAM错误代码=%-ld ]",
 sqlca.sqlcode,sqlca.sqlerrm,sqlca.sqlerrd[1]);
 
 
3.1 Tuxedo非正常状态下的关闭

1) 执行tmshutdown -y,如果shutdown不成功,转入下一步(此时一般来说,TUXEDO的状态已经处于不正常了)。
2 )执行tmipcrm -y,如果shutdown不成功,转入下一步。
3)要用到AWK,所以要求在Unix下,或者在WINDOWS下装了Cygwin。
3 )执行ipcrm `ipcs|grep $USER|awk '{print " -"$1" "$2}'`。
执行了3)肯定就可以关闭掉了。
一般情况下,我也懒得那么麻烦,在非生产机上经常来一个killall -9,将该用户所有的进程都杀掉。
 
 
4.1 测试端口是否开通
 
前台
输入格式: telnet ip 端口号
如果端口开通会出现“遗失对主机的连接。”
否则“正在连接到。。。无法打开到主机的连接 在端口 。。 : 连接失败”
 
后台
命令:netstat -af inet|grep 5556
 
 
阅读(2348) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~