Archiwa tagu: bash

linux – chmod -x /user/bin/chmod

ostatnio ktoś zapytał co zrobić jak wykonałem „chcący” coś takiego:

>chmod -x /user/bin/chmod

Pierwsze co mi przyszło do głowy to wymusić to w bash, jednak skompilowane aplikacje muszą mieć bit wykonywalności aby się wykonały. Można oczywiście wykorzystać inne języki skryptowe aby nadać ten bity wykonywalności np w perl to by było:
Czytaj dalej

Wysłanie pliku poprzez e-mail z konsoli

Ostatnio musiałem zrobić automat który będzie pobierał dane z bazy do plik i wysyłał ten plik jako załącznik. Wysyłanie e-maili nie było dla mnie trudności, ale jak dodać plik jako załącznik, dodatkowo mając tylko do dyspozycji konsolę. Poszukałem i znalazłem że  uuencode może pomóc mi w moim problemie.
Czytaj dalej

Programowanie w BASH – pierwszy skrypt

Aby stworzyć pierwszy skrypt, musimy najpierw utworzyć plik skryptplik.sh w którym będzie znajdował się kod a następnie nadać uprawnienia do wykonywania pliku. W systemie Linux rozszerzenie pliku nie ma znaczenia, ale przyjęło się używanie rozszerzenia sh dla skryptów Bash.

# touch start.sh
# chmod +x start.sh

Czytaj dalej

history w linux

Jakiś czas temu zacząłem dostrzegać dobrodziejstwo korzystania z history w linux.

Dodatkowo pobawiłem się trochę konfiguracją aby było lepiej można zarządzać i tak:

HISTFILESIZE - ilość przechowywanych wpisów
HISTTIMEFORMAT - zmiana wyświetlania, przechowywania danych np. HISTTIMEFORMAT="[%d/%m/%y %T] "
HISTCONTROL - zarządzanie historią. Może przybierać wartości:
HISTCONTROL=ignoredups - eliminacja duplikatów
HISTCONTROL=erasedups - usuwanie duplikatów z historii
HISTCONTROL=ignorespace - nie zapisywanie w historii poleceń zaczynających się od spacji
HISTIGNORE="pwd:ls:ls -ltr:" - ignorowanie poleceń zapisanych w parametrze

Skróty

!! - uruchomione zostanie poprzednio wydane polecenie
!-1 - uruchomione zostanie poprzednio wydane polecenie
[Ctrl] + P - wyświetli się poprzednio wydane polecenie
!512 - uruchomione zostanie 512 polecenie
!ps - uruchomione zostanie polecenie zaczynające się od ps

Aby odczytać wartość należy wydać polecenie (np. dla HISTFILESIZE)

#echo $HISTFILESIZE

Aby zmienić wartość należy wydać polecenie (np dla HISTTIMEFORMAT)

#export HISTTIMEFORMAT="[%d/%m/%y %T] "

Aby zapisać dane które będą aktywne zaraz po zalogowaniu należy w pliku ~/.bashrc dopisać regułkę (np dla HISTTIMEFORMAT) export HISTTIMEFORMAT=”[%d/%m/%y %T] ”

Wiadomo także że niepowołana osoba przeglądając historię może zobaczyć co robiliśmy zatem aby wyczyścić historię należy wydać polecenie history -c.