配置 FreeBSD 的工作基本上都需要在 CLI 下执行,如果没有接触过 CLI,可能会有些头大,因此这里还是要给大家先普及些基础知识。

Unix 基础

UNIX / Linux / BSD / macOS 有哪些区别与联系?

看视频吧。

POSIX 标准

Linux 当年能迅速崛起,跟 Linux 在开发阶段就兼容 POSIX 标准有很大的关系,当时移植了大量的 UNIX 应用程序。

现在反而是 Linux 上面的应用更多了。

CLI 与 SHELL

显示当前终端使用的 SHELL

echo $SHELL

基本命令

pwd

显示当前目录。

cd

更改当前目录。

ls

查看当前目录下所有文件和目录。

su

升权,root 账户。

echo

屏显。

cat

显示文本文件内容。

grep

查找文本。

sed

修改文本文件。

管道操作符|

将操作符左边的结果传递给右边的指令,右边的命令必须支持管道输入才可以。

重定向操作符 > / >>

可以把屏显的输出结果重定向到文件(也可重定向到其他地方,这里不展开)。
>为覆盖,>>为追加。

开启 sshd

sysrc sshd_enable="YES"

配置 tcsh

显示中文

# 编辑/etc/login.conf,结尾处(我一般在russian段落后面)添加
chinese|Chinese Users Accounts:\
        :charset=UTF-8:\
        :lang=zh_CN.UTF-8:\
        :setenv=LC_ALL=zh_CN.UTF-8:\
        :tc=default:
# 之后运行
cap_mkdb /etc/login.conf
pw usermod terry -L chinese

.cshrc

# $FreeBSD: releng/12.0/share/skel/dot.cshrc 337497 2018-08-08 19:24:20Z asomers $
#
# .cshrc - csh resource script, read at beginning of execution by each shell
#
# see also csh(1), environ(7).
# more examples available at /usr/share/examples/csh/
#

alias h		history 25
alias j		jobs -l
alias la	ls -aF
alias lf	ls -FA
alias ll	ls -lAF

#terry added
alias q         exit
alias rm        rm -i
alias del       rm -r
alias mv        mv -i
alias cp        cp -i
alias dh        df -haT
alias ds        du -sh
alias ..        cd ..
alias -         cd -
alias v         vi
alias g         git
alias s		su -m
alias minstall  'make install clean'

alias pkg-msg      "pkg info -D"
alias pkg-fresh    'pkg version -vl "<"'

alias port-init    'portsnap fetch extract'
alias port-sync    'portsnap fetch update'
alias port-rebuild 'portmaster -d'
alias port-update  'portmaster -w -D -a'
alias port-clean   'portmaster --clean-distfiles -y'
alias port-notice  '$PAGER /usr/ports/UPDATING'
alias port-dep  "echo '^[[1m^[[32mBuild depends:^[[0m' && make build-depends-list|sort \
                 echo '^[[1m^[[32mRun depends:^[[0m' && make run-depends-list|sort  \
                 echo '^[[1m^[[31mMissing:^[[0m' && make missing|sort"

alias proxy     setenv SOCKS5_PROXY 192.168.3.1:1087
alias unproxy   unsetenv SOCKS5_PROXY
#terry added end

# These are normally set through /etc/login.conf.  You may override them here
# if wanted.
# set path = (/sbin /bin /usr/sbin /usr/bin /usr/local/sbin /usr/local/bin $HOME/bin)
# setenv	BLOCKSIZE	K
# A righteous umask
# umask 22

setenv	EDITOR	vi
setenv	PAGER	less

setenv LSCOLORS HxGxFxdxCxegedabagExEx
setenv CLICOLOR yes

#terry added
setenv GREP_OPTIONS --color=auto

set cr = "%{\e[31m%}"
set cg = "%{\e[32m%}"
set c0 = "%{\e[0m%}"
#terry added

if ($?prompt) then
	# An interactive shell -- set some stuff up
	set prompt = "%N@%m:%~ %# "
	set promptchars = "%#"

#terry added
	if ( "$uid" == "0" ) then
                #set prompt = "%U%n%u@%m [%l] %B%~%b # "
                set prompt = "%U%n%u@%m.$cr%l$c0%b %c2 %B%#%b "
        else
                #set prompt = "%U%n%u@%m [%l] %B%~%b % "
                set prompt = "%U%n%u@%m.$cg%l$c0%b %c2 %B%%%b "
        endif
#terry added end

	set filec
	set history = 1000
	set savehist = (1000 merge)
	set autolist = ambiguous
	# Use history to aid expansion
	set autoexpand
	set autorehash
	set mail = (/var/mail/$USER)
	if ( $?tcsh ) then
		bindkey "^W" backward-delete-word
		bindkey -k up history-search-backward
		bindkey -k down history-search-forward
	endif

endif
#added terry
# completion
if ( -d ~/.tcsh_completion ) then
    foreach tcsh_comp ( ~/.tcsh_completion/*.tcsh )
        source $tcsh_comp
    end
endif
#added terry end

老张说:

支持我们

如果您喜欢这篇文章,您可以分享给您的朋友,分享到您的社交账号比如:

或者 点击这个链接 观看广告支持我【广告内容与我们无关,请不要轻易相信并打开弹出的广告】。
若您经济宽裕,更欢迎通过下面的方式小额赞助以支持我们的创作。