iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 3
0

繼昨天的系統設定們,今天還要繼續設定歐。今天的設定檔名稱叫做.cshrc
不過有個好消息是今天只有一個設定檔而且幾乎不需要理解歐!
那就話不多說我們直接進入正題~

shell是甚麼

首先來說說甚麼是shell
shell就是貝殼,包在核心外面,負責接收使用者的指令然後跟核心溝通,讓核心去操作硬體。
關係如下(內 -> 外):
硬體(hardware) -> 核心(kernal) -> 使用者介面(shell等) -> 你(使用者)
所以你在打指令的地方其實就是shell喔!
至於想要看你的shell是甚麼的話,就打這個指令echo $SHELL
然後他就會告訴你你現在用的shell目前的位置,拿我的舉例,他會出現/bin/tcsh,這樣我就知道我用的是tcsh

shell的設定檔

這個設定檔的名字會叫做 .[sh]rc(有一個點喔,然後中括號裡可能是sh, csh等等,端看你用什麼shell而定),它會在每個使用者的家目錄下(它會在~/.shrc),也就是說,每個使用者對shell可以有不一樣的設定。
而我是用tcsh,所以我的設定檔是 .cshrc,以下的語法都是.cshrc的喔(其他shrc的格式、語法的差距應該也不大,可以去網路上搜尋看看有沒有喜歡的)。
這邊就廢話不多說先把我用的.cshrc丟出來

alias h         history 25
alias j         jobs -l
alias la        ls -lG
alias ls        ls -G
alias .         ls
alias ..        cd ../
alias man       env LC_ALL=C man
alias s         screen -U
alias v         vim
alias c         clear

set     autolist

setenv  LSCOLORS "ExFxcxdxbxegedabagacad"

setenv  TERMCAP 'xterm|xterm-color:Co#256:AB=\E[48;5;%dm:AF=\E[38;5;%dm:tc=xterm-xfree86:'

setenv  LANG zh_TW.UTF-8
setenv  LC_CTYPE zh_TW.UTF-8
setenv  LC_COLLATE zh_TW.UTF-8
setenv  LC_TIME zh_TW.UTF-8
setenv  LC_NUMERIC zh_TW.UTF-8
setenv  LC_MONETARY zh_TW.UTF-8
setenv  LC_MESSAGES zh_TW.UTF-8
setenv  LC_ALL zh_TW.UTF-8

umask   22

set path = (/sbin /bin /usr/sbin /usr/bin /usr/games /usr/local/sbin /usr/local/bin /usr/X11R6/bin $HOME/bin)

if (-x /usr/local/bin/vim) then
        setenv  EDITOR  vim
        alias vi        vim
else
        setenv  EDITOR  vi
endif
setenv  PAGER   less
setenv  BLOCKSIZE       K

if ($?prompt) then
        if ($USER == root) then
            set prompt = "%B[%{\033[31m%}%n%{\033[37m%}@%m %~]%# "
        else
            set prompt = "%B[%{\033[36m%}%n%{\033[37m%}@%m %~]%# "
        endif
        set filec
        set history = 5000
        set savehist = 5000
        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

這種東西在網路上應該是找的到類似的,因為我這份也不知道是從哪裡找的(汗)。
好那接下來就來稍微說明一下這個設定檔,我必須說我會的不多,基本上可以說只會一個而已(汗again),因為我平常只會改到他。好那就讓我們開始吧!

一開始看這個檔案的時候你會看到有
alias [] []
alias顯然是別稱之類的意思,它是用來幫指令(甚至是一長串的,如第7行之類的)取別名的,例如說昨天提到的figlet:
alias fig figlet
(特別注意:"fig"跟"figlet"之間是一個tab喔)
它的效果就是以後只要打fig,它就會代替figlet,但是原先的figlet還是可以用
改完之後呢就可以退出了。
但是你並不會看到任何改變,因為一切都還沒結束。接下來你要下source .cshrc
接下來你就會看到你的shell變得十分的美麗,理論上會長這個樣子
https://ithelp.ithome.com.tw/upload/images/20190916/20120263aiQwqFt0qW.png

今日小結

這個東西就像昨天的motd一樣,不做不會怎樣,只是做了會讓你做事比較順手、輕鬆而已。
到這邊就是完成了系統環境設定的部分。話說今天就只是複製貼上呢,真是快樂!


上一篇
【Day2】來設定環境吧(1)!
下一篇
【Day4】基本指令們(1)
系列文
30天學會用FreeBSD & Apache架網站30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言