Użytkownik:Borzole/.bashrc

Z Fedora Wiki
Skocz do: nawigacji, wyszukiwania

Co po instalacji?

Jeśli przeczytałeś już poradnik to możesz opcjonalnie ustawić kilka drobiazgów na swoim koncie. Ci, którzy dotychczas mieli Ubuntu na pewno będą chcieli ustawić sudo. Powinieneś również skonfigurować usługi systemowe.

Sztuczki, które można dodać do .bashrc aby uprościć sobie życie

+

dotfiles / pliki z kropką / ustawienia użytkownika

Znak zachęty

Możliwe kody

\a - bash będzie wysyłał sygnał dźwiękowy gdy zostanie wyświetlany wiersz poleceń
\d - data
\e - Znak ESC
\h - (hostname) nazwa naszego serwera
\H - Nazwa serwera oraz nazwa domeny
\n - nowa linia
\s - nazwa powłoki
\t - czas (24-godzinny) w formacie godziny:minuty:sekundy
\T - czas (12-godzinny) w formacie godzin:minuty:sekundy
\u - (username) nazwa użytkownika
\v - (version) wersja bash'a
\w - bieżący katalog roboczy

Do użytku mamy także standardowe kody ASCII umożliwiające kolorowanie tekstu, pozycjonowanie na konsoli, zmianę sposobu wyświetlania oraz wiele innych...

Przykładowy kolorowy znak zachęty

Czasem dobrze jest odróżniać na którym jest się koncie po kolorze. Wystarczy wpisać dla użytkownika do pliku /home/użytkownik/.bashrc

PS1='[\[\033[34m\]\u@\h \[\033[32m\]\W\[\033[0m\]]\$ '

otrzymujemy:

[użytkownik@fedora Pulpit]$

dla root'a do pliku /root/.bashrc

PS1='[\[\033[31m\]\u@\h \[\033[33m\]\W\[\033[0m\]]\$  '

otrzymujemy:

[root@fedora Pulpit]$

alias, czyli skrócone nazwy

  • yum

Fedora domyślnie nie ma skonfigurowanego sudo. W aliasach dla wersji root'a usuń słówko sudo.

alias yum='sudo yum'
alias yi='sudo yum install'
alias yl='sudo yum localinstall --nogpgcheck'
alias yr='sudo yum -C remove'
alias ys='sudo yum -C search'
alias yc='sudo yum clean all'
alias yu='sudo yum update'
alias yp='package-cleanup --problems'
alias yz='package-cleanup --leaves'
  • mc

Zawsze wyświetlaj w jednym panelu bieżący katalog

alias mc='mc $PWD'

Możesz łatwo wyróżnić czy pracujesz na koncie użytkownika czy root

wersja dla użytkownika
alias mcroot="sudo mc --colors selected=white,red $PWD /root"
wersja dla root
alias mc="mc --colors selected=white,red $PWD /root"

Ciekawostka, jak zrobić przezroczysty mc.

alias mci="mc --colors directory=,default:executable=,default:link=,default:device=,default:special=,default:normal=,default:selected=white,blue:marked=,default:markselect=,blue:core=,default $PWD"
  • Chcesz pokazać komuś coś na swoim komputerze przez sieć? Nie kopiuj i nie ładuj gdzieś tam. Po prostu uruchom "webshare" i bieżący katalog i wszystko poniżej będzie dostępne przez serwer WWW na porcie 8000. Kiedy Twój kumpel już skończy wciśnij Ctrl-C
alias webshare='python -c "import SimpleHTTPServer;SimpleHTTPServer.test()"'

serwer będzie widoczny pod adresem http://localhost:8000/

  • kodowanie znaków
alias iso2utf='iconv -f iso-8859-2 -t utf-8'
alias utf2iso='iconv -f utf-8 -t iso-8859-2'
alias win2utf='iconv -f cp1250 -t utf-8'
alias win3utf='recode cp1250..utf-8'

Przydatne funkcje

Zapisanie bieżącej sesji

function zapis(){
	# wykonuje zapis sesji terminala
	echo -e "Sesja zostanie zapisana do pliku ~/.zapis-sesji-data"
	script ~/.zapis-sesji-$(date +%Y.%m.%d-%H.%M.%S.%N)
}

Szybkie rozpakowywanie jednym poleceniem

function rozpakuj() {
	if [ -f $1 ] ; then
		case $1 in
			*.tar.bz2)   tar xvjf $1        ;;
			*.tar.gz)    tar xvzf $1     ;;
			*.bz2)       bunzip2 $1       ;;
			*.rar)       unrar x $1     ;;
			*.gz)        gunzip $1     ;;
			*.tar)       tar xvf $1        ;;
			*.tbz2)      tar xvjf $1      ;;
			*.tgz)       tar xvzf $1       ;;
			*.zip)       unzip $1     ;;
			*.Z)         uncompress $1  ;;
			*.7z)        7z x $1    ;;
			*)           echo "'$1' nie mogę rozpakować tym poleceniem >extract<" ;;
		esac
	else
		echo "'$1' to nie jest archiwum"
	fi
}

Kopiowanie drzewa katalogów bez kopiowania plików

function tree-duplicate(){
	# koiuje drzewo katalogow bez plików (w tym bez linków symbolicznych)
	# tree-duplicate  DrzewoDoSkopiowania  MiejsceDocelowe
	find $1 -type d -printf "$2/%P\n" | xargs -i mkdir -p '{}'
	}

Masowa zmiana rozszerzeń plików w katalogu

rename_ext(){
	# use it like: 
	# $ rename_ext php html
	# to rename all .php files to .html in the current directory.
	local filename
	for filename in *."$1"; do
		mv "$filename" "${filename%.*}"."$2"
	done
}
Osobiste
Przestrzenie nazw

Warianty
Działania
Wiki
Nawigacja
Inne
Narzędzia