发表于:2010-7-16 浏览:118 作者: 来源:互联网
关键字:Freebsd,系统操作
描述:1.如何让FreeBSD像RedHat那样在ls时显示多种颜色的目录? 在/etc/csh.cshrc里面加入: setenv LSCOLORS ExGxFxdxCxegedabagExEx setenv CLICOLOR yes然后,执行: s
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)、更新等多种功能。此外,还有一些其他理由:
并不是每一个开发人员都了解FreeBSD,但是每一个ports committer都了解。他们可以帮助那些第三方软件的开发者将软件更好地运行在FreeBSD上几乎每一个port都符合hier(7)标准。你可以轻易地找到文件可以完整地卸载port,但手工安装的不行port出了问题你可以去邮件列表里抱怨port有问题,手工安装一个人一个办法,没人知道你的问题是什么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.在 console 下操作时,由于屏幕显示有限,如何查看前面显示的资料?
按一下 Pause or Scroll Lock键后,则可利用 PageUp PageDown Up Down Home End 等键来看前后显示的资料再按一下 Pause or Scroll Lock则可回复等待输入画面
9.加速按键速度和改善cusror 的位置有些时不太明显
在 /etc/rc.conf 中加入:
keyrate="fast"
cursor="blink或destructive"
10.一些 console 下使用的快速键
以下按键皆适用于 tcsh 及 bash
快速移动光标
ctrl+a -> 到最前面
ctrl+e -> 到最后面
编辑方面
ctrl+d -> 删除光标所在字符
ctrl+w -> 删除光标所在字前面的字符
ctrl+u -> bash:将光标前所有的字及字符删掉,tcsh:删除所有字
ctrl+k -> 将光标后所有字符删掉
ctrl+b -> 下个字符
ctrl+f -> 前一个字符
ctrl+m -> 和按下 enter 的结果一样
ctrl+h -> 和按下 del 或 backspace 键一样
del 或 backspace -> 删除前一个字符
如果对按键有研究兴趣者,不妨参考 /usr/share/syscons/keymaps/ 这个目录,其中 us.iso.kbd 是一般我们使用的按键
11.如何快速切换目录?
在 FreeBSD 中常常需要切换目录,有时目录名称较长、或是有大小写、或是只记得前面几个字,怎么办?
其实只要输入部份字再加上 * 这个符号就可以了.
如我们要切换到 /usr/local/ 这个目录,只需输入 cd /usr/lo* 就可以了.
如果输入 cd /usr/l* 会如何呢?则会进到 /usr/lib/ 这个目录,这是因为 shell 找到第一个符合的条件便停止了.
12.如何清空档案内容?
如我们要将 /var/log/httpd-access.log 清空,则使用以下指令
# cd /var/log/
# true > httpd-access.log
13.显示目录及档案[tree]
有时需显示某个目录下所有的目录及档案,虽使用 ls 可达到部份功能,但并不是很方便.
以下我们就透过 ports 来安装 tree
#cd /usr/ports/sysutils ; make install clean
如此会将 tree 这个指令安装在 /usr/local/bin/ 这个目录下.
使用例子:
显示 /usr/ 下的目录及档案
#tree /usr
只显示 /usr 下的目录
#tree -d /usr
详细用法请参考:
#man tree
PS:可透过管道 | 及 more 来显示
#tree /usr | more
14.重复使用先前使用过的指令
你可以使用以下的方法来重复使用先前使用过的指令:
例如,我们先用 history 显示先前输入的指令:
# history
.
..
...
10 clear
11 cd /usr/local
12 ls
13 ls etc
14 cd ~
15 clear
用 up down 可用上下一个指令,或是 ctrl+p ctrl+n 亦然配合 ! 的用法,例如以下(ps: 在<...>内代表要输入的东东)
!!
# !! => 重复执行上个一个指令
!<编号>
# !11 => 执行 cd /usr/local
!<指令> 可输入部份字,但前面部份需符合
# !cl => 执行 15 clear 指令
!<?指令?> 输入部份字符,部份吻合
# !?etc? =>执行 13 ls etc
以上指令在 tcsh 及 bash 下皆可使用,如此是不是可帮你省下许多时间.
15.如何将 man 的档案印出来?
man 是大家学习 FreeBSD 的最佳资料参考来源,但在显示器上看到底不是很方便,有没有方法转成一般的文件档案呢?
使用 col 这个指令吧.
例我们要将 ssh2 转成 ssh2.txt,则使用以下语法:
# man ssh2 | col -b > ssh2.txt
16.为何查不到正确的 ports 资料
在 /usr/ports/ 下有着几千个 ports 的安装资料,有时我们可使用以下方式来查相关的 ports.
以下都是在 /usr/ports/ 这个目录下执行.
先将 ports 资料转换成一个文字文件,如 index.txt
# make print-index > index.txt
使用 make search key="...." 来查
将 ports 内容转换成 README.html
# make readmes
用以上方法,可很容易的查到相关的 ports 资料,但很奇怪的是,为何我更新一个 ports 的资料后(或 ports tree),为何会查不到,查到的仍然是旧的资料.
原来,在 /usr/ports/ 中有一个 INDEX 檔,以上的查询方式都是在这个 INDEX 档中查询,当你更新 ports 资料时,这个 INDEX 档并不会随之更新.
所以为了查询方便,我们需以手动的方式来做.
# make index
做完后,再更新 index.txt 及 README.html.
17.如何在 FreeBSD 同一片网硌卡加一个 ip 地址
有的时候,需要在同一片网络卡上加 ip 以达到一些特殊的要求.
在 FreeBSD 这是非常简单的,假设原先网络卡的 ip 是 211.211.211.211,想加一个 211.211.211.212,使用的是 rl0 这片网络卡,则做法如下.
在 /etc/rc.conf 加上这一行
ifconfig_rl0_alias0="inet 211.211.211.212 netmask 255.255.255.255"
其中的 alias0 就是加装的第一个 ip,如要设定多个可在此修正,如 alias1、alias2.. aliasN
重新激活网络卡,执行 /etc/netstart
# /etc/netstart
18.更新了rc.conf,如何生效?
#cd /etc && sh rc
19.修改更新.cshrc(或者类似文件)之后如何不退出登录立即生效?
# source ~/.cshrc
20.我新装了程序在 path (/usr/bin /usr/local/bin etc.,)路径中,如何不重新登录就能直接使用?
#rehash
21.csh中如何快速在命令行中移动?
移动到行首:a,行尾:e,清除:^u
22.如何看一个文件而不需要先解压?
#zcat
23.我总是工作到很晚而忘了睡觉的时间怎么办?
#leave +hhmm(hh小时,mm分钟)
24.如何清屏?
#clear
25.分割和合并文件
$ split -b 650m file # 将大文件分块成多个650MB的小文件
$ cat x* >largefile # 将所有小文件合并成一个大文
26.为什么改了.xinitrc但是当我使用xdm/gdm/kdm时没有效果
应该改.xprofile,或者直接在.xprofile中source .xinitrc
27.如何锁定终端登陆?
$lock -p
当你使用终端登陆时想暂时离开而又不想logout,那么可以用lock -p. 当你返回时输入密码就可以.
28.双系统中 重装Windows后怎样再进FreeBSD
在能进FreeBSD时先备份好FreeBSD的引导文件
#dd bs=512 count=1 if=/dev/ad0s3 of=bootsect.bsd ##说明:/dev/ad0s3是你的FreeBSD所在分区,用mount命令可以查看
拷贝文件
#cp bootsect.bsd /mnt/c/ ##说明:/mnt/c/是你挂载的Windows所在分区
修改Windows的启动文件boot.ini,在最后一行加入"C:\bootsect.bsd="FreeBSD" " 说明:这里假设你的Windows装在C盘
29.在终端(命令行)下怎么使用鼠标进行复制,粘贴?
按住左键拖动进行复制,在光标所在的地方点击鼠标中键(也就是鼠标滚轮,假如有)进行粘贴,X下也同样适用