فایل ~/.bashrc
در پوشه home هر یوزری وجود داره و کارش اینه که وقتی ترمینال رو باز میکنیم یک سری تنظیماتی رو اعمال کنه. مثلا رنگ نوشته ها، دستورهای مخفف، تعیین برخی پیشفرض ها و...
البته این فایل در /etc/skel/.bashrc
به صورت پیش فرض وجود داره و هر وقت یک یوزر بسازید در دایرکتوری home اون یوزر کپی میشه.
من اینجا فایل bashrc خودم رو قرار میدم. اگر شما هم چیز جالبی داشتید در کامنتها ذکر کنید
#
# ~/.bashrc
#
# If not running interactively, don't do anything
[[ $- != *i* ]] && return
PS1='[\u@\h \W]\$ '
#increase command history to unlimmited
HISTSIZE=
HISTFILESIZE=
export HISTFILE=~/.bash_eternal_history
export PROMPT_COMMAND='history -a'
#change default editor to nano
export EDITOR=/usr/bin/nano
# ignore case, long prompt, exit if it fits on one screen, allow colors for ls and grep colors
export LESS="-iMFXR"
# must press ctrl-D 2+1 times to exit shell
export IGNOREEOF="2"
#extract easy
extract () {
if [ -f $1 ] ; then
case $1 in
*.tar.bz2) tar xjf $1 ;;
*.tar.gz) tar xzf $1 ;;
*.bz2) bunzip2 $1 ;;
*.rar) rar x $1 ;;
*.gz) gunzip $1 ;;
*.tar) tar xf $1 ;;
*.tbz2) tar xjf $1 ;;
*.tgz) tar xzf $1 ;;
*.zip) unzip $1 ;;
*.Z) uncompress $1 ;;
*.7z) 7z x $1 ;;
*) echo "'$1' cannot be extracted via extract()" ;;
esac
else
echo "'$1' is not a valid file"
fi
}
alias ls="ls -lhAF --color=always | sed -re 's/.{13}//'"
alias grep="grep --color=auto"
alias cp="advcp -gR"
alias mv="advmv -g"
alias rmdir="rm -rvI"
alias rm="rm -rvI"
alias mkdir="mkdir -p"
alias clear="reset"
alias bashrc="gnome-text-editor ~/.bashrc &"
alias reload="source ~/.bashrc"
alias ..="cd .."
alias ...="cd ../.."
alias ....="cd ../../.."
alias .....="cd ../../../.."
alias diskspace="du -S | sort -n -r |more"
alias ping="ping -c 4"
alias logs="find /var/log -type f -exec file {} \; | grep 'text' | cut -d' ' -f1 | sed -e's/:$//g' | grep -v '[0-9]$' | xargs tail -f"
alias nm-restart="systemctl restart NetworkManager"
alias ipi="hostname -i"
alias ipp="curl icanhazip.com"
alias gedit="/usr/bin/gnome-text-editor"
alias sedit="sudo /usr/bin/gnome-text-editor"
alias snano="sudo nano"
alias gplay="canberra-gtk-play --file"
هیستوری bash محدوده. ما کاری کردیم که نامحدود بشه.
با دستور bashrc
که بصورت یک alias
تعریف شده، فایل ~/.bashrc
با ادیتور مورد نظر باز میشه و میتونید تغییرات دلخواه رو انجام بدید.
با دستور reload
که به صورت alias
تعریف شده، فایل ~/.bashrc
بازخوانی میشه تا لازم نباشه ترمینال رو ببندید و باز کنید.
ویرایشگر پیشفرض ترمینال vi
هست که من نتونستم باهاش ارتباط برقرار کنم. نمیخواستم هم vim
نصب کنم. بنابراین ویرایشگر پیشفرض ترمینال رو به nano
تغییر دادم.
دو دستور advcp
و advmv
مربوط به بسته advcpmv
است که میتونید از AUR نصب کنید. میزان پیشرفت عملیات کپی و انتقال رو نشون میده بهمون.
به روش زیر میتونین به راحتی یک alias جدید اضافه کنین. مثلا
echo "alias mn=\"man\"" >> ~/.bashrc
یا
echo "alias mn='man'" >> ~/.bashrc
حاصل سر و کله زدن های من با لینوکس