Zarejestruj się na BitBay.net

Linux FAQ

Kwiecień 29th, 2011 Zostaw komentarz Idź do komentarzy

Linux FAQ

Jak przekonwertować pliki tekstowe pisane w DOSie na Unixowe i vice versa?

W niektórych dystrybucjach są do tego gotowe programy: unixtodos (ew. unix2dos) i dostounix (dos2unix). Jednak samodzielne napisanie takich skryptów nie jest trudne: konwersji dos->unix dokonuje się za pomocą jednolinijkowego polecenia:

cat plik_dosowy | tr -d '\r' > plik_unixowy

A to polecenie zmieniające pliki unixa na format dosa (przykład dla basha):

cat plik_unixowy | sed 's/$/'`echo -ne \\\r`'/' > plik_dosowy

Powyższy przykd (unix2dos) pochodzi z pliku "HANDY ONE-LINERS FOR SED", autorstwa (skompilowane przez) Erica Pementa. Plik można znaleźć

Was this post helpfull?

Permalink.

W jaki sposób zamienić wszystkie duże litery w nazwach plików na małe?

Wystarczy użyć skryptu takiego jak poniżej:

#!/bin/sh
find $1 -depth -type d -exec \
sh -c 'cd "{}"; for i in *; do mv "$i" "`echo $i | tr [:upper:] [:lower:]`";\
done' \;

Uruchomiony z parametrem – nazwą katalogu – zmieni nazwy wszystkich plików we wszystkich podkatalogach danego katalogu na pisane małymi literami. Można go (skrypt) zapisać do pliku i nazwać np. „tolower”. Aby plik był wykonywalny trzeba nadać mu odpowiednie prawa chmod +x nazwa_pliku

Lub:

Z wielkich liter na małe:

for stary in *.HTM ; do
nowy="$(echo $stary | tr '[:upper:]' '[:lower:]')"
mv "$stary" "$nowy"
done

Z małych na wielkie:

for stary in *.HTM ; do
nowy="$(echo $stary | tr '[:lower:]' '[:upper:]')"
mv "$stary" "$nowy"
done
Was this post helpfull?

Permalink.

Jak utworzyć konto pocztowe bez shella?

Jako shell daj użytkownikowi /usr/bin/passwd i dopisz /usr/bin/passwd do pliku /etc/shells. Dzięki temu będzie on mógł się zalogować aby zmienić hasło.
A jeżeli chcesz go i tej możliwości pozbawić to zamiast passwd daj mu jako shell program false.

Was this post helpfull?

Permalink.

Jak wysłać maila z załącznikiem z linii poleceń?

Wysyłanie maila z lini poleceń:

echo "jakaś treść" | mail -s "temat wiadomości" adres@gdzies.pl 

Wysyłanie maila z załącznikiem z linii poleceń:

uuencode plik.txt plik.txt | mail -s "temat wiadomości" adres@gdzies.pl 
Was this post helpfull?

Permalink.

Jak stworzyć konto z prawami roota ?

  useradd -o -u 0 -g 0 nazwa_usera 
Was this post helpfull?

Permalink.

Jak zrobić aby pewna grupa userów miała dostęp do pewnej ścieżski?

Chcialbym aby pewna grupa userow miala dostep do pewnej sciezski dostepu do ktorej nie maja inne grupy jak to ustawic w sposob globalny?

W /etc/profile 
if [ `id -g` -eq ]; then 
PATH='ścieżka dla konkretnej grupy' 
else 
PATH='ścieżka dla reszty' 
fi 
export PATH
Was this post helpfull?

Permalink.

Jak wylistować wszystkich userów utworzonych w systemie ?

ls /home 

lub

 awk 'BEGIN{FS=":"} $3>499{print$1}' /etc/passwd 

lub

 cat /etc/passwd
Was this post helpfull?

Permalink.

Jak wywalić zalogowanego usera?

Można zabić mu powłokę:

kill -9 pid_np_basha_usera 

Do wylogowywania kogoś jest

 skill -KILL -v pts/* 

gdzie gwiazdka to numer konsoli

Zabijanie wszystkich procesów usera:

skill -9 nazwa_usera
Was this post helpfull?

Permalink.

Jak sprawdzić, kiedy użytkownik ostatni raz zmienił hasło?

chage -l uzytkownik
Was this post helpfull?

Permalink.

Jak stworzyć użytkownika który nie będzie musiał używać Hasla ?

Tworzymy usera a następnie:

 passwd -d
Was this post helpfull?

Permalink.

Jak zrobić chmoda na katalogach stron www?

Chciałbym żeby rekursywnie zrobić:
– pliki na „rw-r–r–”
– katalogi na „rwxr-xr-x”

find www_root_dir -type d -exec chmod 755 {} \; -o -type f -exec chmod 644 {} \; 
Was this post helpfull?

Permalink.

Jakim poleceniem usunąć użytkownika wraz z katalogiem domowym?

userdel -r uzytkownik
Was this post helpfull?

Permalink.

Czy można zmienić nazwę istniejącego już usera? Jak?

usermod -l
Was this post helpfull?

Permalink.

W jaki sposob dodac tekst, ktory pojawialby sie na ekranie po zalogowaniu

Zawartość /etc/motd jest wypisywana po zalogowaniu.
Zawartość /etc/issue i /etc/issue.net przed loginem.

Was this post helpfull?

Permalink.

Zapobieganie przed przypadkowym skasowaniem plików.

W celu zapobieżenia przypadkowego skasowania plików /etc/passwd, /etc/shadow, /etc/group oraz /etc/gshadow należy dla tych plików ustawić tzw. „immutable bit”. Robimy to wywołując komendę:

chattr +i plik 
Was this post helpfull?

Permalink.

Jak instalować moduły perla ?

Sposób 1

Najprościej (jeśli mamy dostęp do sieci) wydajemy polecenie:

perl -MCPAN -e shell 

system zada nam kilka pytan o lokazlizację wielkość katalogu cache itd., nasępnie gdy pojawi się znak zachęty: cpan> instalujemy moduły wydając polecenie:

install Date::Calc 

gdzie Date::Calc to nazwa instalowanego modułu.

Sposób 2

1. Ściągamy Perl module z http://www.cpan.org/ lub innej strony.
2. Rozpakowujemy i wydajemy polecenia:

perl Makefile.PL 
make 
make test 
make install 
Was this post helpfull?

Permalink.

Jak ustawić dostęp do ftp tylko dla userów z sieci lokalnej?

Można wyciąć resztę na firewallu:

iptables -A INPUT -p tcp -s 192.168.0.0/16 --dport 21 -j ACCEPT 
iptables -A INPUT -p tcp -s 0/0 --dport 21 -j DROP 
Was this post helpfull?

Permalink.

Jak automatycznie wyłączyć linuxa po określonym czasie?

Wydajemy polecenie:

sleep 6h 30m; halt -p 

gdzie: 6h 30m to 6 godzin 30 minut.

Was this post helpfull?

Permalink.

Skrypta ktory zamienia w pliku textowym jeden string na inny

sed -e s/tekst/innyteks/ plik> plik.tmp; mv -f plik.tmp plik 

lub np. za pomocą perla:

perl -pi -e "s/tekst/innytekst/" plik 
sed -e s/tekst/innyteks/g plik> plik.tmp; mv -f plik.tmp plik 

(powtorzenia wyrazu w jednej linijce tez zmieni)

Was this post helpfull?

Permalink.

Jak zamienić spacje w nazwach plików na podkreślenia?

Chcemy zamienić spacje w nazwach plików na podkreślenia, czyli zamienić nazwy: „nazwa pliku przed zmianą.txt” na „nazwa_pliku_po_zmianie.txt”.

find ./ -type f -exec rename 's/ /_/g' {} \; 

lub:

for i in *\ * ; do mv "$i" "${i//\ /_}" ; done 

lub:

find . -name "* *" | while read; do 
mv "$REPLY" "${REPLY// /_}" 
done 
Was this post helpfull?

Permalink.

Zmiana nazwy rozszerzenia z htm na html w wielu plikach

Chcemy zamienić htm na html w nazwach wielu plików, czyli zamienić nazwy: „nazwa_pliku_przed_zmianą.htm” na „nazwa_pliku_po_zmianie.html”.

Rozwiązanie 1:

for i in `find katalog_z_plikami_htm -name '*.htm'`; do mv "$i" "${i}l"; done 

Uwagi: Zamiast katalog_z_plikami_htm może być też oczywiście np. kropka „.”.

Rozwiązanie 2:

for a in *.htm; do mv $a `basename $a .htm`.html; done 

Rozwiązanie 3:

mmv \*.htm #1.html 

Uwagi: Program mmv ma większe możliwości niż pokazany trywialny przykład.

Was this post helpfull?

Permalink.

Liczenie ilości plików w wielu katalogach rekurencyjnie

find . -type f -maxdepth 10 | wc -l

Uwagi: parametr f pozwala na nie branie pod uwagę dowiązań symbolicznych i katalogów; maxdepth określa jaka głębokość poziomu katalogów jest uwzględniana, wartość maxdepth 0 oznacza by testy i akcje stosować tylko do argumentów wiersza poleceń.

Was this post helpfull?

Permalink.

Liczenie ilości wierszy w pliku

wc -l plik 
Was this post helpfull?

Permalink.

Liczenie ilości katalogów w danym katalogu lub rekurencyjnie

Chcemy policzyć ile podkatalogów mamy w danym katalogu lub rekurencyjnie ile mamy katalogów w wielu podkatalogach danego katalogu.

Rozwiązanie 1:

ls -l| grep ^d| wc -l 

Uwagi: Nie są uwzględniane w liczeniu dowiązania i katalogi ukryte; dodaj opcje -a po ls, żeby policzyć również katalogi ukryte w danym katalogu (niestety wraz z katalogami „.” oraz „..”; jeśli nie chcesz ich liczyć patrz rozwiązanie 2 lub 3) oraz -R, jeśli chcesz liczyć rekurencyjnie.

Rozwiązanie 2:

ls -lAR| grep ^d| wc -l 

Uwagi: Skrypt działa tak samo jak w „rozwiązaniu 1” dla opcji -laR do ls, ale nie liczy katalogów „.” oraz „..”.

Rozwiązanie 3:

ls -laR | grep ^d | awk '{print $9}' | egrep -v '^\.{1,2}$' | wc -l 

Uwagi: Skrypt działa tak samo jak w „rozwiązaniu 1” dla opcji -laR do ls, ale nie liczy katalogów „.” oraz „..”.

Rozwiązanie 4:

find . -type d | wc -l 

Uwagi: bez parametru -maxdepth liczy bez ograniczeń wgłąb struktury katalogów rekurencyjnie, ponadto uwzględnia zawsze katalogi ukryte oraz katalog „.”.

Rozwiązanie 5:

find . -type d | egrep -v '^\.{1,2}$' | wc -l 

Uwagi: Skrypt działa tak samo jak w „rozwiązaniu 4”, ale nie liczy katalogu „.”. Ponadto jeśli zamiast katalogu startowego (powyżej : . ) poda się pełną ścieżkę (np. /etc) skrypt zawsze da wynik o 1 większy, ponieważ liczy wtedy także katalog z którego zaczyna (gdy jest ‚.’, to jest to wychwytywane przez egrep).

Was this post helpfull?

Permalink.

W jaki sposób z pliku html wydobyć automatycznie adresy e-mail ?

W jaki sposób z pliku html wydobyć automatycznie adresy e-mail będące w tym pliku i umieścić je w jednej kolumnie w pliku tekstowym?

grep 'mailto:' plik |sed -e 's/^.*mailto://' |sed -e 's/">.*$//' > plik.txt 

Uwagi: Zamiast plik podstawiamy nazwę przeszukiwanego pliku, można też oczywiście *

Was this post helpfull?

Permalink.

Kompresja / dekompresja

Narzędzia i sposoby do pakowania i rozpakowywania archiwów:

Rozpakowanie plików *.tar.gz:

tar -xvzf nazwa_pliku.tar.gz
  • x – extract,
  • v – verbose (wypisywanie nazw wszystkich plików),
  • z – archiwum skompresowane programem gzip,
  • f – plik.

 

Rozpakowywanie plików typu *.bz2:

tar -xvjf nazwa_pliku*tar.bz2
tar -xvf nazwa_pliku*tar.bz2
  • j – oznacza archiwum bz2.

 

Rozpakowywanie plików *.zip

unzip nazwa_pliku.zip

 

Rozpakowywanie plików typu *.tar:

tar xvf plik.tar

 

Pakowanie ogólnie wygląda tak:

tar -czf backup.tar.gz /katalog/do/spakowania,
tar -cjf backup.tar.bz2 /katalog/do/spakowania.
zip -r backup.zip /katalog/do/spakowania.
Was this post helpfull?

Permalink.

Montowanie obrazu ISO

Sprawdzanie sumy kontrolnej MD5SUM:

md5sum plik.iso 

Montowanie:

mount -o loop -t iso9660 plik.iso /mnt/iso 
Was this post helpfull?

Permalink.

Jak sprawdzić jakie porty są otwarte ?

Skanujemy sami siebie:

nmap -sT -sU localhost 

lsof:

lsof -i -P 

netstat:

netstat -tpn
Was this post helpfull?

Permalink.

Was this post helpfull?
  1. Brak komentarzy
  1. Brak jeszcze trackbacków

*