全局配置文件/etc/csh.cshrc个人配置文件~/.cshrc或~/.tcshrc
为了方便,建议修改全局性的配置文件,这样每个账号都可以享受便利。
bindkey'\e[1~'beginning-of-line#Homebindkey'\e[3~'delete-char#Deletebindkey'\e[4~'end-of-line#Endbindkey"^W"backward-delete-word#Deletebindkey-kuphistory-search-backward#PageUpbindkey-kdownhistory-search-forward#PageDown提示符设置一个漂亮使用的的提示符可以让工作变得更愉快高效。以下是一个合理的配置方案:
if($prompt)then#如果$prompt变量尚未设置,则做如下设置if("$uid"=="0")then#判断用户的uidsetprompt="%U%n%u@%m[%l]%B%~%b#"#对于root,我们显示“#”号elsesetprompt="%U%n%u@%m[%l]%B%~%b%"#对于普通用户,显示“%”号。endifendif一种彩色的配置方案如下:
颜色代码:1forbrightercolors4forunderlinedtext5forflashingtext30forblackforeground31forredforeground32forgreenforeground33foryellow(orbrown)foreground34forblueforeground35forpurpleforeground36forcyanforeground37forwhite(orgray)foreground40forblackbackground41forredbackground42forgreenbackground43foryellow(orbrown)background44forbluebackground45forpurplebackground46forcyanbackground47forwhite(orgray)background
查看更多参数,及其作用:
mantcsh#查看man手册/%/#搜索到“%/”开始的地方环境变量等你在抱怨FreeBSD下的ls没有显示颜色,grep出来的东西没有高亮吗?那么你需要如下的配置:
#让ls鲜艳些setenvLSCOLORSExGxFxdxCxegedabagExExsetenvCLICOLORyes#让grep匹配到的字符高亮setenvGREP_OPTIONS--color=auto对于在KDE下使用fcitx的人,需要如下三行设置,其实就是fcitx安装完后所提示的内容,如果你够细心的话。
setenvXMODIFIERS@im=fcitxsetenvQT_IM_MODULEximsetenvGTK_IM_MODULExim嗯,ls有颜色了,但是等等,为何tab不能补全?你需要如下配置:
setautolist如果命令输错了,让csh/tcsh为你纠正:
setcorrect=cmd为了在命令行启动某个游戏,或者kde程序,例如dolphin、kcalc,你需要加两个路径到$path中去:/usr/games/usr/local/kde4/bin/
setpath=(/sbin/bin/usr/sbin/usr/local/bin/usr/games/usr/local/sbin/usr/bin$HOME/bin/usr/local/kde4/bin/)黑魔法防御术重定向防御重定向很强大,我们有时候会运行诸如“dateb.txt”,“ls-l>files.txt”等命令。然而如果一不小心,把“”输成“>”会造成什么后果呢?为此,tcsh提供了noclobber这个选项:
setnoclobber有了它,悲剧就不会发生。如果“>”的目标文件已存在,tcsh会拒绝重定向。
是否遇到过“mvab”,从而把有用的b文件覆盖掉了?为此,我们要让mv和cp的行为更谨慎:
aliasmv'mv-i'aliascp'cp-i'如果目标文件已存在,mv和cp会拒绝操作,除非使用参数“-f”。
rm这个命令自从诞生起,就一直是个危险的操作。我们可以让rm更温和:
aliasrm'rm-i'这样rm之前,会要求再次确认。
前面,我们在黑魔法防御术中已经初步见识了alias。alias不仅可以避免危险操作,还可以简化命令,自创命令。除非极短,否则良好的alias命名,应当以某个统一的单词或字母开头,例如下面即将展示的reload/edit系列、update系列、show系列等。
先展示最基本的alias,并逐条解释。
aliasfind-c'find.-name"*.h"-o-name"*.c"'aliasfind-x'find.-name"*.h"-o-name"*.hpp"-o-name"*.cpp"-o-name"*.cxx"'aliasfind-py'find.-name".py"'aliaswc-c'find.-name"*.h"-o-name"*.c"|xargswc|sort-k4'aliaswc-x'find.-name"*.h"-o-name"*.hpp"-o-name"*.cpp"-o-name"*.cxx"|xargswc|sort-k4'aliaswc-py'find.-name".py"|xargswc|sort-k4'reload/edit系列。实现快速修改,载入配置文件。
aliasreload-rc.conf'sh/etc/rc'aliasreload-cshrc'unalias*&&source/etc/csh.cshrc'aliasedit-xorg.conf'vim/etc/xorg.conf'aliasedit-csh.cshrc'vim/etc/csh.cshrc'aliasedit-make.conf'vim/etc/make.conf'aliasedit-kern.conf'vim/etc/kernconf/thinkpad'aliasedit-rc.conf'vim/etc/rc.conf'aliasedit-vimrc'vim/usr/local/share/vim/vimrc'set系列。快速设置locale。
aliassetlocale-zhcn'setenvLC_ALLzh_CN.UTF-8&&setenvLANGzh_CN.UTF-8'aliassetlocale-c'setenvLC_ALLC'startx专用。保持命令行下为英文locale(避免date等命令出现乱码),而让x环境为中文,适合手动startx而不是kdm的人。
aliassx'setenvLC_ALLzh_CN.UTF-8&&setenvLANGzh_CN.UTF-8&&startx&&setenvLC_ALLC'make系列。快速编译kernel/world。
aliasmake-world'cd/usr/src&&makebuildworld&&cd-'aliasmake-kernel'cd/usr/src&&makekernelKERNCONF=thinkpad&&cd-'aliasmake-installworld'cd/usr/src&&makeinstallworld&&makedelete-old&&cd-'show系列。查看状态或某些信息。
aliasshow-ifstat'systat-ifstat'#查看网络接口的数据流量aliasshow-geom'gstat'#查看I/O状态aliasshow-thermal'sysctldev.acpi_ibm.0.thermal'#查看ThinkPad笔记本的各部分温度aliasshow-cpufreq'sysctldev.cpu.0.freq'#查看当前cpu频率aliasshow-cpulevels'sysctldev.cpu.0.freq_levels'#查看可用的cpu频率aliasshow-battery'sysctlhw.acpi.battery.life&&sysctlhw.acpi.battery.time'#查看电力aliasshow-smartctl'smartctl-a/dev/ad4'#需要安装smartmontools,查看磁盘smart参数aliasshow-alldep'makeall-depends-list'#需要在ports的安装目录下执行,显示所有依赖aliasshow-dep'portmaster--show-work./|sort'#同上,且需要安装portmaster,只显示尚未安装的依赖aliasshow-ver'pkg_version-v'#查看是否有软件可更新update系列。顾名思义,更新嘛。
aliasupdate-locatedb'/usr/libexec/locate.updatedb'#更新locate数据库aliasupdate-kernsrc'csup-L2/etc/supfiles/stable-supfile'#同步kerneltreealiasupdate-ports'portsnapfetchupdate'#同步portstreealiasupdate-apps'portmaster-a--force-config'#需要安装portmaster,更新所有软件,提示配置选项