FreeBSD tips(不断更新) 转

FreeBSD tips(不断更新)
来自 http://www.freebsdchina.org/forum/viewtopic.php?t=13704&postdays=0&postorder=asc&start=0&sid=49b6426bdc6912257e9dcadbdb9a8a08
更新地址: http://bsd.yarshure.com/viewtopic.php?id=420

一系统篇

1 环境变量:文件/etc/profile,
BLOCKSIZE=K; export BLOCKSIZE(通用)
文件~.cshrc BLOCKSIZE K
setenv
my cshrc
代理服务器的使用
HTTP 的代理: #setenv HTTP_PROXY http://proxyip:port/
FTP 的代理: #setenv FTP_PROXY http://proxyip:port/
2 下载文件
$fetch url
$wget url(下载文件缺省放在当前目录)
$wget -t0 -c -nH -np -b -m WRL -o wget.log (镜像)
多线程下载
cd /usr/ports/ftp/prozilla;make;make install
proz -k=10 -r url
配合~/.netrc可以实现自动验证
machine 192.168.0.1 login test password test
3 进入单用户修改系统
boot -s
#mount -u /
#moutn -a
4 tar的使用
$tar zcvf temp.tar.gz temp/(创建备份文件)
$tar zxvf temp.tar.gz (解压备份文件)
$tar jcvf temp.tar.bz2 temp/(bz2压缩格式备份)
$tar jxvf temp.tar.bz2
5 grep的使用
$grep device temp 在temp文件中查找device,并打印所在行
$grep device * 在多个文件中查找device
$grep -R device 当前目录,包括子目录递归查找device
6 ftp上传二进制文件
ftp>bin (切记,否则你的文件可能面目全非)
7 mount cdrom
#mount /cdrom
主要标准系统中/etc/fstab已经包含cdrom文件系统的设置,请不要用其他命令,例如:#mount -t cd9660 /dev/acd0 /mnt/cdrom
8 $sed -e '/^#/' GENERIC>tmp
$mv tmp GEERNIC
在内核配置文件中去掉所有#开始的行。
9 #ps -waux|grep httpd|awk '{print "kill -9 " $2}'
生成kill httpd的命令。
10 httpd.conf配置,关于mod_rewrite的笔记
LoadModule rewrite_module libexec/mod_rewrite.so
AddModule mod_rewrite.c
RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} ^Microsoft.* 禁止浏览器为"Microsoft * "的使用者等访问
RewriteRule ^/.+ - [F] F表示禁止访问
11 关于PATH rehash命令可以在下一次login对当前更改的环境变量生效。
对于~.cshrc更改后,使用source ~.cshrc,使更改立即生效
12 tcsh中关闭beep
#set nobeep
13 快速汇到$HOME
$cd
回到上一个pwd
$cd -
14 锁定终端
$ lock -p
15 关于FreeBSD的目录结构
$ man hier
16 /usr/games/grdc
在终端上显示当前时间(图形方式)
17 修改当前系统时间
#date 0408100926
Tue Aug 10 09:26:00 CST 2004
18 命令行提示符
add set prompt = '%n@%m:%/%# ' to ~.cshrc or
$set prompt ='%n@%m:%/%# '
yarshure@www:/home/yarshure>
19ln -s /usr/local/www/data /usr/www
注意, /usr/www 之前必须不存在。
该操作除非你 rm 了, 否则,一直存在,重启动没有任何影响。
20无法进入系统,快速恢复大法。
boot -s
#fsck -y /
#mount -u /
#mount -a
#passwd root  or vi /etc/rc.conf or reedit kernel.conf and rebulid kernkel
22 freebsd fortune
add
[ -x /usr/games/fortune ] && /usr/games/fortune freebsd-tips
to ~/.login
22 mount nfts
但是在mount的时候和5.2.1等以前的5.x有点不同。
5.2.1等以前的5.x可以用
#mount_ntfs -C zh_CN.eucCN /dev/* /*来mount相应的ntfs分区。
但是在5.3中需要这样来才行。
#mount_ntfs -C eucCN /dev/* /*
需要去掉zh_CN.才可以正常mount,编辑fstab,加入
/dev/ad0s2 /ntfs1 ntfs ro,noauto,-C=eucCN 0 0
注意NTFS格式只读
mount iso:
在FreeBSD4.x下的方法:
%vnconfig /dev/vn0c ./IMAGE.ISO
%mount -t cd9660 /dev/vn0c MOUNT_DIR
%umount MOUNT_DIR
%vnconfig -u /dev/vn0c
在5.x以下则完全不同了:
%mdconfig -a -t vnode -f abc.iso -u 1
%mount -t cd9660 /dev/md1 MOUNT_DIR
%umount MOUNT_DIR
23awk 生成kill 命令
ps -ef(wuax) |grep -i httpd|awk '{print "kill -9 " $2}'
24 5.3升级,不能make installworld问题
由于5.3加入pf支持,需要proxy user and authpf group
#pw useradd proxy
#pw groupadd authpf
25 在编译时用 -g 选项打开调试选项.
基本 gdb 命令.
命 令 描 述
file 装入想要调试的可执行文件.
kill 终止正在调试的程序.
list 列出产生执行文件的源代码的一部分.
next 执行一行源代码但不进入函数内部.
step 执行一行源代码而且进入函数内部.
run 执行当前被调试的程序
quit 终止 gdb
watch 使你能监视一个变量的值而不管它何时被改变.
break 在代码里设置断点, 这将使程序执行到这里时被挂起.
make 使你能不退出 gdb 就可以重新产生可执行文件.
shell 使你能不离开 gdb 就执行 UNIX shell 命令.
26FreeBSD history please /usr/share/misc/bsd-family-tree
27BSD_daemon
please enter /usr/share/examples/BSD_daemon
28ftp自动登陆
1powerbook$vi .netrc 编辑文件
machine http://ftp.freebsd.org.cn/ login yarshure password passwd
powerbook$chomd 700 .netrc 这个是必须的,否则会失败
powerbook$ftp http://ftp.freebsd.org.cn/ 这个时候会自动登陆
以上在FreeBSD 5.3 and Darwin 7.6上测试通过
2自动上传脚本
#!/bin/sh
ftp <<eof>>4stable.tar.gz
30 BitTorrent在终端下面的使用,主要此软件需要python支持,使用是确认已经安装python
1install
$cvs -z3 -d:pserver:[email protected]:/cvsroot/bittorrent co -P BitTorrent
$btdownloadheadless.py --responsefile Mac.torrent --request_backlog 20 --saveas /data/www/software/Mac.pdf
$btdownloadheadless.py --url url of torrent --saveas /data/www/tiger.iso --request_backlog 20
第一个使用本地torrent文件进行下载,第二个使用url参数中的torrent信息文件下载,都是使用20个后台线程.
31cvs import
cvs import -d -m"河南广播小灵通升级" -W repository hngbcngp vendor-tag service4media release-tags $1
32 vi的使用 shift+v shift+g = 美化程序缩进
33 startx 如何启动kde and gnome
% echo "exec startkde" > ~/.xinitrc
% echo 'exec gnome-session'>~/.xinitrc
34为什么我的程序不能正常启动,哪里出错了?
ktrace apachectl start(ktrace跟踪系统调用)
kdump 翻译ktrace输出
二网络篇

1 修改网卡ip (切记不到需要不要reboot)
#ifconfig fxp0 192.168.0.1 netmask 255.255.255.0
注意,此时一般需要添加缺省路由(route add default 192.168.0.9这个为网关)
2ifconfig 获得本机ip(编写脚本时常用)
ifconfig iprb0 |grep inet |grep -v 127.0.0.1 |awk '{print $2}'
3tcpdump,注意需要root权限
#tcpdump -i(网卡) fxp0 src 192.168.0.99 ||port 22
三应用篇 1 mod_php4 with appache2
修改/usr/ports/lang/php4/scripts下的php4_options
加入without_apache2=true
然后make install
2 pure-ftp 更改pure-ftpd.conf startup
#/usr/local/sbin/pure-config.pl /usr/local/etc/pure-ftpd.conf
3 FreeBSD 5.x的应用
由于FreeBSD使用GEOM框架,可以支持大于1T的盘阵,这在海量存储上的到很大应用。
4 FreeBSD下mysql 使用linuxthread
#cd /usr/ports/databases/mysql40-server
#make WITH_LINUXTHREADS=yes (此过程需要源码)
#make install
5备份mysql表结构(-d为只备份表结构,否则备份表结构和数据)
mysqldump -d -h 61.129.xx.xx -uadmin -ppasswd --database
6mysql 操作多个表
mysql>insert send_smc (ss_service_code,ss_mobile,ss_date,ss_provider,ss_fee_code,ss_submit_time,ss_num,ss_state,ss_fee_name ,ss_send)
select smc.service_code,smc.mobile,now(),0,smc.fee_code,smc.date,0,'success','','0' from smc ;
2005-06-16 17:57 @218.80.194.83 Crawl by Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; SV1; .NET CLR 1.1.4322)[/url]
_________________

你可能感兴趣的:(#Freebsd)