freebsd 小紙條
2008年11月1日 星期六 by Anati
1、问:如何让FreeBSD像RedHat那样在ls时显示多种颜色的目录?
答:在/etc/csh.cshrc里面加入:
代码:
setenv LSCOLORS ExGxFxdxCxegedabagExEx
setenv CLICOLOR yes
然后,执行:
sed -i.bak -E s/set prompt/#set prompt/g /root/.cshrc
并重新登录。
2、问:如何让FreeBSD的csh像bash那样按tab列出列出无法补齐的候选文件?
答:标准的方法是按Ctrl+D。但如果一定要用tab的话,在/etc/csh.cshrc中加入:
代码:
set autolist
3、问:如何让FreeBSD的csh显示类似[delphij@spirit] ~这样的提示符?
答:在/etc/csh.cshrc中加入:
代码:
set prompt = '[%B%n@%m%b] %B%~%b%# '
然后,执行:
sed -i.bak -E s/set prompt/#set prompt/g /root/.cshrc
4、问:如何让普通用户也拥有类似root用户那样的命令行编辑能力?
答:在/etc/csh.cshrc中加入:
代码:
bindkey "^W" backward-delete-word
bindkey -k up history-search-backward
bindkey -k down history-search-forward
5、问:使用port来安装软件的理由是什么?
答:ports是FreeBSD推荐的安装方式,它提供了依赖关系检查、自动安全审计(portaudit)、更新等多种功能。此外,还有一些其他理由:
a) 并不是每一个开发人员都了解FreeBSD,但是每一个ports committer都了解。他们可以帮助那些第三方软件的开发者将软件更好地运行在FreeBSD上。
b) 几乎每一个port都符合hier(7)标准。你可以轻易地找到文件。
c) 可以完整地卸载port,但手工安装的不行。
d) port出了问题你可以去邮件列表里抱怨port有问题,手工安装一个人一个办法,没人知道你的问题是什么。
e) FreeBSD的POLA政策保证了绝大多数情况下ports的使用方式的延续性(阅读ports/UPDATING基本上不会遇到大的困难)
6、问:bash, sh, csh哪一个更好?我是否可以把普通用户或root的shell改为bash或者ksh?
答:答案是,习惯哪个哪个就更好。唯一要注意的一点是,尽量不要改变root的shell,特别是要避免使用第三方的shell,因为这会在升级时带来麻烦。
改变shell官方的作法是chsh(1),然而你也可以用vipw或另外一大打工具来完成类似的工作。
7、问:tcsh(csh兼用) 提示符的变量常用的都有哪些?
答:
! 和%h一样
%B 开始粗体模式
%b 结束粗体模式
%c 当前工作目录名称的最后部分
%c2,%c3等等 当前工作目录名称的最后两个、三个(等等)组成部分
%C 跟%c类似,但是使用长形式的目录名称
%d 本周的当天
%D 今天是当月中的第几天
%h 当前命令的历史记录编号
%l shell的当前控制终端
%L 清除从提示符末尾到下一行的所有内容
%m 机器的主机名称
%M 机器的完全符合规范的域名
%n 用户名
%p 用精确格式(包括秒)显示的12小时制时间
%P 用精确格式(包括秒)显示的24小时制时间
%S 开始标准输出格式
%s 结束标准输出格式
%t 以12小时制格式显示时间
%T 以24小时制格式显示时间
%U 开始下划线模式
%u 结束下划线模式
%w 当前月的名称
%W 当前月的序数
%y 以2位格式表示的年
%Y 以4位格式表示的年
%% %字符
%! 跟%h相同
%@ 跟%t相同
$# 扩展到>供常规使用,如果用户正以root身份运行的话,就扩展到#
%/ 当前工作目录的完整名称
%- 以短格式表示的当前工作目录
^C 跟C匹配的控制字符:例如^G代表Ctrl+G
a 使tcsh在任何时候显示提示符时嘟嘟响
e 终止的escape符0x1B
f 终止的换页符
n 在这个位置开始一个新行
r 回车符
t Tab制表符
v 垂直制表符
nnn 由八进制数字nnn所指定的字符
8、问:更新了rc.conf,如何生效?
答:cd /etc && sh rc
9、问:修改更新.cshrc(或者类似文件)之后如何不退出登录立即生效?
答:$ source ~/.cshrc
10、问:我新装了程序在 path (/usr/bin /usr/local/bin etc.,)路径中,如何不重新登录就能直接使用?
答:$ rehash
11、问:csh中如何快速在命令行中移动?
答:移动到行首:^a,行尾:^e,清除:^u
12、问:如何看一个文件而不需要先解压?
答:zcat
13、问:我总是工作到很晚而忘了睡觉的时间怎么办?
答:leave +hhmm(hh小时,mm分钟)
14、C shell如何用快捷键删掉一个词(上一个空格到下一个空格或者行尾之间的部分)?
答:ctrl + w
15、如何用快捷键清屏?
答:ctrl + l
16、如何用快捷键推出shell?
答:ctrl + d
17、如何用快捷键挂起前台进程
答:ctrl + z
18、如何将挂起进程送入后台?
答:bg
19、如何将后台进程或者挂起进程调回前台?
答:fg
20、如何自动补全上次使用的某个命令?
答:敲命令的前几个字母然后按上箭头。
(这个功能是bash所没有的,也是我不爱用bash的主要原因,bash没有旧命令自动补全的能力,你要想找到你上次执行这个命令的所有部分,需要按无数次上箭头,csh能够满足我用bash时的所有常用功能,而反之bash不行,这就是为什么用csh而不是bash的原因)
还有个比较搞笑的快捷键ctrl + t,作用是调换光标之前两个字符的顺序,开始觉得比较BT,仔细想想也有道理,因为我们经常会把ls敲成sl,cd敲成dc....
21、如何在向屏幕回显的同时输出一份到一个文件里去?
答:netstat 1 | tee log
22、freebsd 5.3 and up我修改了rc.conf中的网络设置如何立刻生效?
答:/etc/netstart
23、像apache,mysql等应用是否手动安装会比Ports装更灵活而且快捷?
答:确实灵活而快捷,但是有几个生产系统一个月会升级十七八次?为什么不等ports更新呢?你有没有想过ports更新略晚的原因呢?maintainer是需要时间来测试这个应用更新后是不是会造成意外的问题的。如果你想拥有一个安全而且稳定的apache还是用ports装吧,因为一些潜在的安全问题和不稳定的问题ports里带的补丁会修正,并且将一些在FreeBSD上造成问题的部分移植。我连给这些应用写补丁都用 ports,因为写完了,我可以随时放入ports的补丁目录里,生成新的package。不用Ports就好像明明有艘快艇停在你身旁,你非要游过去一样。
"以至于个别的configure参数无法通过ports传递到原始程序包的编译环境中。"特殊的ports的Makefile不包括的选项,你可以直接写入该ports的Makefile里面,我不觉得这有什么困难的。
24、To run a daemon as non root
A:#su -f -m nobody -c "command args"
25、问:清空文件内容
答:要清空某些文件如日志文件的内容,千万不要使用rm删除文件然后再创建一个新的空文件,因为在两次操作的间隔,系统可能需要访问该文件。下面是清空文件内容的安全方法:
A:$ :>file-to-be-cleared
26、问:分割大文件
A:$ split -b 650m file # 将大文件分块成多个650MB的小文件
$ cat x* >largefile # 将所有小文件合并成一个大文件
27、$lock -p当你使用终端登陆时想暂时离开而又不想logout,那么可以用lock -p.
当你返回时输入密码就可以.
28、双系统中 重装Windows后怎样再进FreeBSD
...1)在能进FreeBSD时先备份好FreeBSD的引导文件
.... #dd bs=512 count=1 if=/dev/ad0s3 of=bootsect.bsd
.... 说明:/dev/ad0s3是你的FreeBSD所在分区,用mount命令可以查看
...2)#cp bootsect.bsd /mnt/c/
.....说明:/mnt/c/是你挂载的Windows所在分区
...3)修改Windows的启动文件boot.ini,在最后一行加入
.....C:bootsect.bsd="FreeBSD"
.....说明:这里假设你的Windows装在C盘
答:在/etc/csh.cshrc里面加入:
代码:
setenv LSCOLORS ExGxFxdxCxegedabagExEx
setenv CLICOLOR yes
然后,执行:
sed -i.bak -E s/set prompt/#set prompt/g /root/.cshrc
并重新登录。
2、问:如何让FreeBSD的csh像bash那样按tab列出列出无法补齐的候选文件?
答:标准的方法是按Ctrl+D。但如果一定要用tab的话,在/etc/csh.cshrc中加入:
代码:
set autolist
3、问:如何让FreeBSD的csh显示类似[delphij@spirit] ~这样的提示符?
答:在/etc/csh.cshrc中加入:
代码:
set prompt = '[%B%n@%m%b] %B%~%b%# '
然后,执行:
sed -i.bak -E s/set prompt/#set prompt/g /root/.cshrc
4、问:如何让普通用户也拥有类似root用户那样的命令行编辑能力?
答:在/etc/csh.cshrc中加入:
代码:
bindkey "^W" backward-delete-word
bindkey -k up history-search-backward
bindkey -k down history-search-forward
5、问:使用port来安装软件的理由是什么?
答:ports是FreeBSD推荐的安装方式,它提供了依赖关系检查、自动安全审计(portaudit)、更新等多种功能。此外,还有一些其他理由:
a) 并不是每一个开发人员都了解FreeBSD,但是每一个ports committer都了解。他们可以帮助那些第三方软件的开发者将软件更好地运行在FreeBSD上。
b) 几乎每一个port都符合hier(7)标准。你可以轻易地找到文件。
c) 可以完整地卸载port,但手工安装的不行。
d) port出了问题你可以去邮件列表里抱怨port有问题,手工安装一个人一个办法,没人知道你的问题是什么。
e) FreeBSD的POLA政策保证了绝大多数情况下ports的使用方式的延续性(阅读ports/UPDATING基本上不会遇到大的困难)
6、问:bash, sh, csh哪一个更好?我是否可以把普通用户或root的shell改为bash或者ksh?
答:答案是,习惯哪个哪个就更好。唯一要注意的一点是,尽量不要改变root的shell,特别是要避免使用第三方的shell,因为这会在升级时带来麻烦。
改变shell官方的作法是chsh(1),然而你也可以用vipw或另外一大打工具来完成类似的工作。
7、问:tcsh(csh兼用) 提示符的变量常用的都有哪些?
答:
! 和%h一样
%B 开始粗体模式
%b 结束粗体模式
%c 当前工作目录名称的最后部分
%c2,%c3等等 当前工作目录名称的最后两个、三个(等等)组成部分
%C 跟%c类似,但是使用长形式的目录名称
%d 本周的当天
%D 今天是当月中的第几天
%h 当前命令的历史记录编号
%l shell的当前控制终端
%L 清除从提示符末尾到下一行的所有内容
%m 机器的主机名称
%M 机器的完全符合规范的域名
%n 用户名
%p 用精确格式(包括秒)显示的12小时制时间
%P 用精确格式(包括秒)显示的24小时制时间
%S 开始标准输出格式
%s 结束标准输出格式
%t 以12小时制格式显示时间
%T 以24小时制格式显示时间
%U 开始下划线模式
%u 结束下划线模式
%w 当前月的名称
%W 当前月的序数
%y 以2位格式表示的年
%Y 以4位格式表示的年
%% %字符
%! 跟%h相同
%@ 跟%t相同
$# 扩展到>供常规使用,如果用户正以root身份运行的话,就扩展到#
%/ 当前工作目录的完整名称
%- 以短格式表示的当前工作目录
^C 跟C匹配的控制字符:例如^G代表Ctrl+G
a 使tcsh在任何时候显示提示符时嘟嘟响
e 终止的escape符0x1B
f 终止的换页符
n 在这个位置开始一个新行
r 回车符
t Tab制表符
v 垂直制表符
nnn 由八进制数字nnn所指定的字符
8、问:更新了rc.conf,如何生效?
答:cd /etc && sh rc
9、问:修改更新.cshrc(或者类似文件)之后如何不退出登录立即生效?
答:$ source ~/.cshrc
10、问:我新装了程序在 path (/usr/bin /usr/local/bin etc.,)路径中,如何不重新登录就能直接使用?
答:$ rehash
11、问:csh中如何快速在命令行中移动?
答:移动到行首:^a,行尾:^e,清除:^u
12、问:如何看一个文件而不需要先解压?
答:zcat
13、问:我总是工作到很晚而忘了睡觉的时间怎么办?
答:leave +hhmm(hh小时,mm分钟)
14、C shell如何用快捷键删掉一个词(上一个空格到下一个空格或者行尾之间的部分)?
答:ctrl + w
15、如何用快捷键清屏?
答:ctrl + l
16、如何用快捷键推出shell?
答:ctrl + d
17、如何用快捷键挂起前台进程
答:ctrl + z
18、如何将挂起进程送入后台?
答:bg
19、如何将后台进程或者挂起进程调回前台?
答:fg
20、如何自动补全上次使用的某个命令?
答:敲命令的前几个字母然后按上箭头。
(这个功能是bash所没有的,也是我不爱用bash的主要原因,bash没有旧命令自动补全的能力,你要想找到你上次执行这个命令的所有部分,需要按无数次上箭头,csh能够满足我用bash时的所有常用功能,而反之bash不行,这就是为什么用csh而不是bash的原因)
还有个比较搞笑的快捷键ctrl + t,作用是调换光标之前两个字符的顺序,开始觉得比较BT,仔细想想也有道理,因为我们经常会把ls敲成sl,cd敲成dc....
21、如何在向屏幕回显的同时输出一份到一个文件里去?
答:netstat 1 | tee log
22、freebsd 5.3 and up我修改了rc.conf中的网络设置如何立刻生效?
答:/etc/netstart
23、像apache,mysql等应用是否手动安装会比Ports装更灵活而且快捷?
答:确实灵活而快捷,但是有几个生产系统一个月会升级十七八次?为什么不等ports更新呢?你有没有想过ports更新略晚的原因呢?maintainer是需要时间来测试这个应用更新后是不是会造成意外的问题的。如果你想拥有一个安全而且稳定的apache还是用ports装吧,因为一些潜在的安全问题和不稳定的问题ports里带的补丁会修正,并且将一些在FreeBSD上造成问题的部分移植。我连给这些应用写补丁都用 ports,因为写完了,我可以随时放入ports的补丁目录里,生成新的package。不用Ports就好像明明有艘快艇停在你身旁,你非要游过去一样。
"以至于个别的configure参数无法通过ports传递到原始程序包的编译环境中。"特殊的ports的Makefile不包括的选项,你可以直接写入该ports的Makefile里面,我不觉得这有什么困难的。
24、To run a daemon as non root
A:#su -f -m nobody -c "command args"
25、问:清空文件内容
答:要清空某些文件如日志文件的内容,千万不要使用rm删除文件然后再创建一个新的空文件,因为在两次操作的间隔,系统可能需要访问该文件。下面是清空文件内容的安全方法:
A:$ :>file-to-be-cleared
26、问:分割大文件
A:$ split -b 650m file # 将大文件分块成多个650MB的小文件
$ cat x* >largefile # 将所有小文件合并成一个大文件
27、$lock -p当你使用终端登陆时想暂时离开而又不想logout,那么可以用lock -p.
当你返回时输入密码就可以.
28、双系统中 重装Windows后怎样再进FreeBSD
...1)在能进FreeBSD时先备份好FreeBSD的引导文件
.... #dd bs=512 count=1 if=/dev/ad0s3 of=bootsect.bsd
.... 说明:/dev/ad0s3是你的FreeBSD所在分区,用mount命令可以查看
...2)#cp bootsect.bsd /mnt/c/
.....说明:/mnt/c/是你挂载的Windows所在分区
...3)修改Windows的启动文件boot.ini,在最后一行加入
.....C:bootsect.bsd="FreeBSD"
.....说明:这里假设你的Windows装在C盘