??xml version="1.0" encoding="utf-8" standalone="yes"?> 我的服务器每天都会有无数的SSHp|试记录Q有些无聊的Z直不停的扫描Q这些h真够无聊的,没事吃饱了撑着Q老找些Y件在那里ID扫描,所以大家第一要记的设|一个好的够复杂的密码? 怎么样防,如果要一条一条将q些IPL昄L不治本,q好有DenyHosts软g来代替我们手搞定他? DenyHosts是Python语言写的一个程序,它会分析sshd的日志文Ӟ当发现重复的d时就会记录IP?etc/hosts.deny文gQ从而达到自动屏IP的功能? DenyHosts官方|站为:http://denyhosts.sourceforge.net 以下是安装记录(以CentOS 4.3, DenyHosts 2.5 ZQ? 安装 默认是安装到/usr/share/denyhosts目录的? 配置 Ҏ自己需要进行相应的配置(解释见下文g的配|文? 讄启动脚本 完了之后执行daemon-contron start可以了? 如果要DenyHosts每次重v后自动启动还需做如下设|: 或者修?etc/rc.local文gQ? 加入下面q条命o DenyHosts配置文gQ? 然后可以启动了Q? 可以看看/etc/hosts.deny内是否有止的テQͼ有的话说明已l成功了? ================整理====================
1、文件系l结?br />
2、文件类?br />
一切都是文Ӟ包括普通文件、设备文件、目录等{?br />
3、运行?br />
Linux?个运行?br />
4、管?br />
5、重定向
6、交换分?br />
7、根目录下各个目录的意义
二、文本编?br />
1、vi的用?br />
三、常用的命o
1、基?br />
包括Qcd clear alias unalias date ls pwd man exit echo
2、文件管?br />
包括Qcat more rm head tail grep cp mv wc find
3、目录管?br />
包括Qmkdir rmdir rm find file du df
4、权限命?br />
如何讑֮我们用户和文件以及系l的权限?br />
包括Qchmod chown chgrp umask
5、系l命?br />
包括Qmount umount uname free env
uptime setup xinetd top kill x命o
5、常用的|络命o
关于|络理以及使用的一些命?br />
四、安装与卸蝲(限于Redhat以及怼pȝ)
1、RPM命o
2、Oracle9i安装卸蝲以及基本理
五、相兛_L命o
1、FTP
2、Telnet
六、常见的pȝ讄
1、运行?br />
2、共?NFS)
3、修改Swap
4、设定系l环境变?JDK安装)
5、系l备?打包、压~以及解压羃)
6、常见的标志(权限:r w x s t 标志Ql b c d)
七、Shell~程
1、Shell变量和参?br />
2、环境变?br />
3、位|参?br />
4、运符
5、常用语?br />
6、函?br />
7、控?br />
8、运行方?br />
八、Linux安装
九、Crontab单应?br />
以前的存,源未?br />
]]>
原脓Qhttp://blog.chinaunix.net/u/17030/showart_315674.html
# wget http://mesh.dl.sourceforge.net/sourceforge/denyhosts/DenyHosts-2.5.tar.gz
# tar -zxvf DenyHosts-2.5.tar.gz
# cd DenyHosts-2.5
# python setup.py install
# cp denyhosts.cfg-dist denyhosts.cfg
# vi denyhosts.cfg
# chown root daemon-control
# chmod 700 daemon-control
# ln -s /usr/share/denyhosts/daemon-control denyhosts
# chkconfig –add denyhosts
# chkconfig –level 2345 denyhosts on
SECURE_LOG = /var/log/secure
#ssh 日志文gQ它是根据这个文件来判断的?br />
HOSTS_DENY = /etc/hosts.deny
#控制用户登陆的文?br />
PURGE_DENY = 5m
#q多久后清除已经止?br />
BLOCK_SERVICE = sshd
#止的服务名
DENY_THRESHOLD_INVALID = 1
#允许无效用户p|的次?br />
DENY_THRESHOLD_VALID = 10
#允许普通用L陆失败的ơ数
DENY_THRESHOLD_ROOT = 5
#允许root登陆p|的次?br />
HOSTNAME_LOOKUP=NO
#是否做域名反?br />
ADMIN_EMAIL = iakuf@163.com
#理员邮件地址,它会l管理员发邮?br />
DAEMON_LOG = /var/log/denyhosts
#自己的日志文?/ccid_code>
=========================================================
原文地址 http://www.taoran.net/tech/denyhosts.html
DenyHosts是用Python2.3写的一个程序,它会分析/var/log/secureQredhatQFedora CoreQ等日志文gQ当发现同一IP在进行多ơSSH?br />
码尝试时׃记录IP?etc/hosts.deny文gQ从而达到自动屏蔽该IP的目的?br />
DenyHosts官方|站为:http://denyhosts.sourceforge.net
一、检查安装条?br />
1、首先判断系l安装的sshd是否支持tcp_wrappersQ默认都支持Q?br />
# ldd /usr/sbin/sshd
libwrap.so.0 => /usr/lib/libwrap.so.0 (0x0046e000)
2、判断默认安装的Python版本
# python -V
Python 2.3.4
二、已安装Python2.3以上版本的情况(以RedHat AS4ZQ?br />
1、安装DenyHosts
# cd /usr/local/src
# wget http://umn.dl.sourceforge.net/sourceforge/denyhosts/DenyHosts-2.6.tar.gz
# tar zxf DenyHosts-2.6.tar.gz
# cd DenyHosts-2.6
# python setup.py install
E序脚本自动安装?usr/share/denyhosts
库文件自动安装到/usr/lib/python2.3/site-packages/DenyHosts
denyhosts.py自动安装?usr/bin
2、设|启动脚?br />
# cd /usr/share/denyhosts/
# cp daemon-control-dist daemon-control
# chown root daemon-control
# chmod 700 daemon-control
# grep -v "^#" denyhosts.cfg-dist > denyhosts.cfg
# vi denyhosts.cfg
Ҏ自己需要进行相应的修改
----------------denyhosts.cfg------------------------
SECURE_LOG = /var/log/secure
#RedHat/Fedora Core分析该日志文?br />
#其它版本linuxҎdenyhosts.cfg-dist内提C选择?br />
PURGE_DENY = 30m
#q多久后清除
DENY_THRESHOLD_INVALID = 1
#允许无效用户Q?etc/passwd未列出)dp|的次?br />
DENY_THRESHOLD_VALID = 5
#允许有效Q普通)用户dp|的次?br />
DENY_THRESHOLD_ROOT = 3
#允许rootdp|的次?br />
HOSTNAME_LOOKUP=NO
#是否做域名反?br />
----------------denyhosts.cfg------------------------
如果需要DenyHosts随系l重启而自动启动,q需做如下设|:
# vi /etc/rc.local
加入下面q条命o
/usr/share/denyhosts/daemon-control start
3、启?br />
# /usr/share/denyhosts/daemon-control start
三、未安装Python2.3以上版本的情况(以RedHat AS3、Python2.2ZQ?br />
1、安装Python最新版本的源码包,不必卸蝲原有低版本Python
# cd /usr/local/src
# wget http://www.python.org/ftp/python/2.5.1/Python-2.5.1.tar.bz2
# tar jxf Python-2.5.1.tar.bz2
# cd Python-2.5.1
# ./configure --prefix=/usr/local/python
# make
# make install
2、安装DenyHosts
# cd /usr/local/src
# wget http://umn.dl.sourceforge.net/sourceforge/denyhosts/DenyHosts-2.6.tar.gz
# tar zxf DenyHosts-2.6.tar.gz
# cd DenyHosts-2.6
# vi setup.py
?/usr/bin/env python"替换?/usr/local/python/bin/python"Q在W一?br />
# vi daemon-control-dist
?/usr/bin/env python"替换?/usr/local/python/bin/python"Q注意有两处
# /usr/local/python/bin/python setup.py install
E序脚本自动安装?usr/share/denyhosts
库文件自动安装到/usr/local/python/lib/python2.5/site-packages/DenyHosts
denyhosts.py自动安装?usr/local/python/bin
# ln -s /usr/local/python/bin/denyhosts.py /usr/bin
]]>
在FC6光盘的ISO镜像中,有tftp-server的rpm安装包?br>Q?Q安?br>#mount -o loop <FC6光盘ISO镜像.iso> /mnt/CD //挂蝲光盘
#rpm -ivh tftp-0.42-3.1.i386.rpm //安装tftp-client
#rpm -ivh tftp-server-0.42-3.1.i386.rpm //安装tftp-server
#umount /mnt/CD //卸蝲光盘
Q?Q修Ҏ?br>在linux 下,不管使用的是哪一Usuper-serverQinetd或者xinetdQ默认情况下TFTP服务是禁用的Q所以要修改文g来开启服务。根据(1Q的安装ҎQ可以修Ҏ?etc/xinetd.d/tftp。主要是讄TFTP服务器的根目录,开启服务。修改后的文件如下:
service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /tftpboot
disable = no
per_source = 11
cps = 100 2
flags = IPv4
}
说明Q?span style="COLOR: red">修改server_args= -s <path> -cQ其?lt;path>处可以改Z的tftp-server的根目录Q参?s指定chroot?br>
(3Q创建tftp根目录,启动tftp-server?br>#mkdir /tftpboot
#chmod o+w /tftpboot
#service xinetd restart
q样Qtftp-server启动了?br>
(4)配置防火?br>TFTP (Trivial File Transfer Protocol)Q中译简单文件传输协议或型文g传输协议. 大家一定记得在2003q??2日全球爆发冲LLQWorm.BlasterQ病毒,q种病毒会监听端?9,模拟Z个TFTP服务器,q启动一个攻M播线E?不断地随机生成攻d址Q进行入c另外tftp被认为是一U不安全的协议而将其关闭,同时也是防火墙打ȝ对象Q这也是有道理的。tftp 在嵌入式linuxq是有用武之地的?br>打开防火墙,允许tftp讉K|络?br>[root@localhost /]# setup
Firewall configuration--> Customize--other port 处:69:udpQ保存就可以了?br>
你可以登陆本机测试以下,命o如下Q?br>#tftp your-ip-address
tftp>get <download file>
tftp>put <upload file>
tftp>q
#
########################################################
安装q程中出现的问题及原?br>现象一Q?br> tftp> get test.log
Transfer timed out.
原因Q?br> tftpd服务没有启动
现象二:
tftp> get test.log
Error code 2: Only absolute filenames allowed
原因Q?br> ?etc/xinetd.d/tftpd中设|的server_args?etc/default/tftpd-hpa
cat /etc/default/tftpd-hpa
#Defaults for tftpd-hpa
RUN_DAEMON="no"
OPTIONS="-s /home/tftpd -c -p -U 077 -u tftpd"
ps:实际Ҏ׃?etc/default/tftpd-hpa文gQ它应该是用在standalone模式下的
现象三:
tftp> put ex070416.log
Error code 1: File not found
原因Q?br> 指定的文件不存在Q或tftpd启动参数中没有指?c选项Q允怸传文?br>
########################################################
其它常用选项如下Q?br>-l 使用standalone模式q行Q此模式下,会忽略-t选项
-a address:port 在standalone模式下服务所在的IP与端口,如果不指定,则在本机所有IPQ?etc/service中指定的port上侦听连?br>-c 允许在服务器上新建文Ӟ否则只允许更新现有的文g。如果未指定-U?p选项Q则允许MZ传文?br>-s directory 服务器端默认的目录,默认?var/lib/tftpdboot
-u username tftpd服务以什么n份运行,默认是nobody,一般可以新Z个tftpd的̎hq行
-U umask 上传的文件的掩码Q如果未指定-p则ؓ000Q如果指定了-pQ则采用指定的umask
-p 对于通过-u指定的用h行的动作Q不做额外的权限?br>
更多权限误man tftpd?/p>
一、用TFTP实现文g传输
环境Q服务器A Qrhas11
客户机BQ?rhas101
首先用rpm –qa | grep tftp看一下tftp有没安装Q没有的话安 装一下?
AQ在服务器端讄
#vi /etc/xinetd.d/tftp
service tftp
{
disable = no
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /test
per_source = 11
cps = 100 2
flags = IPv4
}
或用chkconfig tftp on 也可以打开xinetd代理的tftp?
#mkdir /test
#service xinetd restart 从启xinetd服务Q因为TFTP服务受控与xinetd, xinetd是管服务的服务,它是不开端口的?
验证一下TFTP是否h了:
[root@rhas11 tftp]# netstat -nlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:32768 0.0.0.0:* LISTEN 3122/rpc.statd
tcp 0 0 127.0.0.1:32781 0.0.0.0:* LISTEN 4035/xinetd
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 3103/portmap
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 3324/httpd
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 3255/sshd
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 3213/cupsd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 3295/sendmail: acce
tcp 0 0 127.0.0.1:6010 0.0.0.0:* LISTEN 3415/0
tcp 0 0 0.0.0.0:443 0.0.0.0:* LISTEN 3324/httpd
udp 0 0 0.0.0.0:32768 0.0.0.0:* 3122/rpc.statd
udp 0 0 0.0.0.0:69 0.0.0.0:* 4035/xinetd
udp 0 0 0.0.0.0:69 0.0.0.0:* 4012/in.tftpd
udp 0 0 0.0.0.0:111 0.0.0.0:* 3103/portmap
udp 0 0 0.0.0.0:754 0.0.0.0:* 3122/rpc.statd
udp 0 0 0.0.0.0:631 0.0.0.0:* 3213/cupsd
A:服务器端 新徏一文gfile
#cd /test
[root@rhas11 test]# ls -l
ȝ?4
-rw-r--r-- 1 root root 19 5?15 18:26 file
B客户端:
下蝲Q?
[root@rhas101 tmp]# tftp 172.31.0.11
tftp> get 1
Received 72 bytes in 0.0 seconds
tftp>
上传当前目录下文?#8221;aaa”
[root@rhas101 client]# ls -l
ȝ?4
-rw-r--r-- 1 root root 15 5?20 21:49 aaa
[root@rhas101 client]# tftp 172.31.0.11
tftp> put aaa
Error code 1: File not found
tftp>
奇怪当前目录却是有aaa文gQ?Q让我想一?
哦,原来服务?test目录下没有文件aaa,那就touch一个吧
[root@rhas11 test]# touch aaa
[root@rhas11 test]# ls -l
ȝ?4
-rw-r--r-- 1 root root 0 5?15 18:46 aaa
-rw-r--r-- 1 root root 19 5?15 18:26 file
好了再试一?
[root@rhas101 client]# tftp 172.31.0.11
tftp> put aaa
Error code 1: File not found
tftp> put aaa
Error code 2: Access denied
tftp>
l心的读者一定想到这是权限问?
再到服务器上讄
(===========================================================================
插Ԍ#chown -R nobody.nobody /test
#vi /etc/xinetd.d/tftp
service tftp
{
disable = no
socket_type = dgram
protocol = udp
wait = yes
user = nobody
server = /usr/sbin/in.tftpd
server_args = -u nobody -s /test
per_source = 11
cps = 100 2
flags = IPv4
}
chmod 777 -R /test
===========================================================================
)
#service xinetd restart
)
[root@rhas11 test]# chmod 007 aaa 其实只要有可写的权限p?
[root@rhas11 test]# ls -l
ȝ?4
-------rwx 1 root root 0 5?15 18:46 aaa
-rw-r--r-- 1 root root 19 5?15 18:26 file
[root@rhas101 client]# tftp 172.31.0.11
tftp> put aaa
Error code 1: File not found
tftp> put aaa
Error code 2: Access denied
tftp> put aaa
Sent 16 bytes in 0.0 seconds
tftp>
二?Ҏ应用Q上传和下蝲路由?或交换机)配置文g
配用Linux的tftp功能配置cisco route
在局域网环境中,如果有Cisco 路由器和Linux服务器。也怽需要利用Linux?
TFTP服务M载Cisco router配置文g startup-config,在服务器上编辑后再上?
到\由器Q在实现中有一些特别注意的地方?
所用Y、硬ӞRedhat Linux AS 3.0 QCisco 2611 路由?
BEIJING#copy run tftp
Address or name of remote host []? 172.31.0.11
Destination filename [beijing-confg]? beijing-route
!!
1968 bytes copied in 0.581 secs (3387 bytes/sec)
别忘了在tftp server 上创建beijing-route权限?77
BEIJING#copy tftp flash
Address or name of remote host []? 172.31.0.11
Source filename []? beijing-route
Destination filename [beijing-route]?
Accessing tftp://172.31.0.11/beijing-route...
Erase flash: before copying? [confirm]
Erasing the flash filesystem will remove all files! Continue? [confirm]
Erasing device... eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee ...erased
Erase of flash: complete
Loading beijing-route from 172.31.0.11 (via FastEthernet0/0): !
[OK - 1968 bytes]
Verifying checksum... OK (0x5248)
1968 bytes copied in 0.285 secs (6905 bytes/sec)
BEIJING#
用tftp传输大文件时的带宽显C情?br>
2、cat 列出、合q、创建文?/p>
cat test.txt (列出test.txt)
cat test1.txt test2.txt > test3.txt Q??合ƈ生成3Q?
cat test1.txt >> test2.txt (1合ƈ?中)
cat > myfile.txt (创徏myfile.txt)
3、mv file1 file2 (file1改名为file2,如果file2已经存在Qؓ避免改名时覆盖file2,加上-b参数会生成file2的备份,备䆾有个波浪号后~Q?/p>
4、cp 拯命o
cp file1 file2 覆盖掉file2的内?
cp -i file1 file2 会出现提CZ?
cp -bi file1 file2 会备份file2
cp -r tempdir1 tempdir2 把子目录tempdir1及其中文件拷贝到tempdir2
cp -p tempdir2/tempdir1/temp1file1 tempdir3 把文件连同子目录l构一h贝到tempdir3
5、ln 建立链接和W号链接
ln file1 file2 (链接,file2和file1完全相同Q修改其中Q何一个都会媄响另外一个,删除了file1后,file2仍存?
ln -s file1 file2 (W号链接Qfile2只是一个指向file1的假名,如果删除了file2Q不影响file1,如果删除了file1Qfile2没用了)
ln -s /usr/local/games play (建立一个子目录的硬链接必须用符号链接,建立完符号链接后Q就不用cd /usr/local/games了,只要用cd play)
6、chowd 改变文g权限
chmod 600 file1
chmod ugo-wx file(拥有者-l-其他用户直接增减权限)
7、chown 改变文g所有权
chown :users file1(把所有权分配lusers用户l?
chown lucy:users file1(把存取权限分配给lucy用户)
8、groups 用户?nbsp; Q查看用户名属于哪个l)
9、groupadd l名 Q创建新l)
10、usermod -G/-g l名 用户名(把一个用户加入一个组/把一个用h为属于另一个组Q?/p>
11、userdel 用户?groupdel l名 Q删除用?删除l)
12、scp root@202.198.31.66:/usr/local/file1 /home/ Q远E拷贝)
13、history 3 Q查看历史命令列表,此命令是查看刚才用过?个命令)
14、find / -name http.conf -print Q从根目录开始查找文件ƈ列出属性)
15、grep -c word /file1 (grep查找文g内容Q此命o扑ևfile1中word串出现次敎ͼ
16、修改主机名 vi /etc/sysconfig/networkQ修改HOSTNAME一行ؓ"HOSTNAME=L?Q然后运行命? hostname L?。一般还要修?etc/hosts文g中的L名?/p>
17、修改IP地址和修改网养Igateway选项Q?br>vi /etc/sysconfig/network-scripts/ifcfg-eth0
18、查看机器域名(host IPQ?br>host 202.198.31.62
19、查看CPU
dmesg|grep CPU
20、查看机器配|?br>dmesg|grep hd
原帖地址:http://www.tkk7.com/kelefa/archive/2007/02/02/97528.html
Unixpȝ永远只会来多Q开发h员就没必要特意学习它们的安装、配|和理了,全部交l集成h员吧?br /> 但开发h员行CUnix之间Q依然有四样东西要熟l?/p>
虽然Unix上的文本~辑器已l越来越好用Q但不在Console前面Q网速也不够qXWindows的时候,q是要依赖VI?br /> 回想VI的时代背景,发现VI对开发h员已l周到得谱了,热键多到你双手不键盘就能完成大半编辑工作?br /> 自己制作一张自p为有用,但又l常忘记的命令的sheet--参见附录AQ拿试的力气把它背熟?/p>
开发h员在Unix下干得最多的除了Make和除Bug外,大概是处理日志文g、业务文件的查错和统计了?br /> 只会more和grep是不够的Q开发老手会把awk,sed,grep,sort,uniq,wc,head,tailq些文本处理命oQ通过道玩具式的拆卸DQ最后完成一件原本以为非~写大段代码不可的工作。周到的参数讑֮Q让人再一ơ感叚w个简单的q代Q这样复杂到极致的设?......怪不得《Unix ~程艺术》的作者有那么骄傲的自觉?br />
比如车东的每月访问TOP10 l计脚本Q?/p>
以上命o的具体用?-参见附录BQ文本处理命令小l,大概说明如下Q?/p>
补充Q这些命令几乎都支持正则表达式,学正则比较好的书是OReilly的《Mastering.Regular.Expressions.3rd 2006》 ?/p>
上面的纯_命令管道拼装完成不了所有的事情Q有旉要用Shell~程来配合调度。 ?br />
~程是开发h员的天赋本能Q不Z么语aQ看看参考手册应该就能上手?/p>
?a _fcksavedurl="http://xiaowang.net/bgb-cn/index.html">《Bash新手指南中文版?/font> Q一份快速的Bash Shell~程指南?br />
更进一步,可以学习perl?br />
用过Java的Ant后,惌vMakep得很烦,很厌倦。dq是会的Q见《GNU Make 3.8.0 中文手册?/font>
不过即make已经_N到变态,每个人写出来的MakeFileq是千奇百怪,再看看开源项目们个个都是automake+autoconf了,我们自己也长q一点吧。手工编写MakeFile.amQ让auotomake变成MakeFile.inQ再让用?/configure 生成最l的MakeFile?br />
autotools既能跨越q_Q又是标准的写法Q最重要的是Q编写MakeFile.am的工作量比MakeFile多了,只要单的定义目标文gQ先要处理的子目录,需要的源文Ӟ头文件与库文件就可以了?br />
入门文章
使用AutoMakeL生成Makefile
IBM DW:例解 autoconf ?automake 生成 Makefile 文g
上面两文只作入门了解Q实际的操作步骤--参见附录CQ我的automake1.9步骤结?br />
完整的免费电子书Q?br /> 《GNU Autoconf, Automake and Libtool?/font>
另外QACE里还贡献了一个更厉害?a _fcksavedurl="http://www.ociweb.com/products/mpc">MPC(Makefile, Project, and Workspace Creator )Q 自动的生成MakeFile.am或者VC的项目文件?br />
上下左右Q?/strong>
ctrl+u/d 上下半屏Qctrl+f/b,上下一?br /> H/G屏幕?文章?Q?/$ 行首行末
增删改:
yy/dd 复制/删除 一行,p/PQ将yy/dd的内容paste出来
I/A 在行?末添加, o/O 开新行Qd0/d$ 删除到行首,行末
u:undo
查:
? 向前查找Q?n/N 重复上一ơ查?/p>
awkQ?/strong>处理l构化的文本(每行以固定符号分成若q列)Q提取打印某些字D,如: grepQ?/strong>qoQ大家用得最多的命oQ支持正则表辑ּ。参数有Q?br /> -i忽略大小写,-n昄line numberQ?c l计在每个文件的出现ơ数Q?l只显C符合的文g的名字?/p> sedQ?/strong>编辑器Q主要用于替换,如: uniqQ?/strong>去除重复行?br /> 除了正常用法外,q有-cl计重复ơ数Q和-u Q唯一Q和 -d Q重复)两个参数,只显C唯一的和重复的行?/p> wcQ?/strong> l计?br /> -l ?-m 字符,-w 单词
ls -l|awk '{print $1}' --ls-ll果的第一列打印出?br /> awk -F":" '{print $1" "$6}' /etc/passwd Q将?分割?etc/passwd文g的第1Q?列打印出来,中间以空格分开
详见IBM DW中国的AWK实例(?? ?Bash新手指南中文版第6?/font>?/p>
sed -e '1,10s/foo/bar/g' myfile2.txt ??0行的文本中的foo 替换成bar,s代表替换,g代表全局替换
支持正则的替换字W串Q可以只替换某个范围内的内容?br /> 用法不算?详见IBM DW中国的Sed实例(???Bash新手指南中文版第5?/font>?br />
sortQ?/strong>排序Q参数有Q?br /> -r逆序, -n 数字比较 , -M 日历比较 Feb,Dec, -f 忽略大小?br /> 同样支持l构化文Ӟ?br /> sort -t : -k 1,1 /etc/passwdQ以: 分割,只按W?列排?br /> sort -t : -k 1,1 -k2.2,3.4 /etc/passwd Q以:分割,先按W?列排?再按W?列的W二个字W到W?列的W?个字W排序?/p>附录C: 我的automake1.9步骤结
加入AM_INIT_AUTOMAKE([1.9 foreign]) (其中1.9是automake的版本号)
加入AC_PROG_LIBTOOL (如果用libtool的话)
查AC_CONFIG_FILESQ如果之前没有先写齐所有MakeFile.amQautoscan׃会帮你加入,需要自己手工补充?
大家需要编写的文g从Makefile转ؓ了Makefile.am 和configure.in, ACE的Examples是很好的参考?br />
]]>