Code snippets, ideas and events from IT related projects

by Robert Gawron

10 sztuczek dla programistów linuksowych

  • Mamy shela na odległym hoście i chcemy tam coś zainstalować z paczki ściągniętej z neta. Zamiast ściągać ową paczkę na swój komputer a potem przekopiowywać to na hosta możemy od razu tam ściągnąć wykorzystując wget (o ile jest zainstalowany). Dzięki temu będzie szybciej! Kopiujmy link do paczki/archiwum, czy co tam chcemy sobie wgrać z przeglądarki i w pisujemy w konsolę:
    wget skopiowany_link
  • Gdy często musimy kopiować pliki z/na hosta warto poznać scp, za wikipedią:
    Kopiowanie pliku ze zdalnej lokalizacji na lokalny dysk
    $ scp uzytkownik@serwer.pl:scieżka/plik_serwer plik_lokalny
    Kopiowanie pliku z dysku lokalnego do zdalnej lokalizacji
    $ scp plik_lokalny uzytkownik@serwer.pl:sciezka/plik_serwer
    
    Program ów przydaje sie gdy np coś piszemy u siebie i nagle okazuje się iż warto by to zgrać na jakieś konto shelowe. Przydaję się też, gdy z localhosta logujemy sie na konto A i mamy ściągnąć nań coś z konta B. Ściągając z B na localhosta a z localhosta wgrywając na A podwajamy czas tej operacji.
  • Gdy już coś wysyłamy łatwiej i (ponoć) szybciej gdy jest to jeden plik niż folder z plikami. Folder możemy zawsze spakować przy użyciu tar'a (albo wgryźć się i zacząć go kompresować):
    tar  -cvf file.tar directory
    To, co jest w środku pliku tar'a możemy zobaczyć tak:
    tar tf file.tar
    a rozpakować do poprzedniej formy:
    tar xvf file.tar
  • By szybko zobaczyć rozmiar plików w katalogu:
    ls -lh
    cytat z manuala:
    -h, --human-readable
    with -l, print sizes in human readable format (e.g., 1K 234M 2G)
    
    By zobaczyć jak rozłozone jest zuzycie miejsca na dyskach:
    df
    By zobaczyć ile mamy miejsca na dyskowego:
    quota
  • Gdy szukamy w wielu plikach jakiejś funkcji, zmiennej, miejsc, gdzie są wykorzystywane najszybciej jest użyć grep'a:
    linijki kodu w plikach sql z frazą 'foo'
    grep -n foo *.sql
    Ten myk mi wiele czasu zaoszczędził :)
  • Gdy padnie nam jakiś program nie restartujemy, tylko wpisujemy:
    ps aux | grep nazwa_programu_lub_jej_czesc
    Otrzymamy listę procesów spełniających nasze kryteria, szukamy tego, o który nam chodziło, druga kolumna to jego identyfikator; Wpisujemy:
    kill identyfikator
    Jeżeli powłoka graficzna padła możemy to zrobić z konsoli, naciskamy wtedy ctrl+alt+f1 i logujemy sie na swoje konto. Możemy tak zabijać procesy nie mając praw administratora (bo procesy są nasze).
  • By wyłączyć kompa, gdy mamy otwartą gdzieś konsolkę (z prawami roota a jak nie to wpisujemy 'sudo' przed, czyli uruchomimy to jedno polecenie z prawami administratora (po podaniu hasła)):
    init 0
  • Na localhoscie możemy mieć kilka projektów, które korzystają z apache jako serwera (powinny być więc w sumie w /var/www). Było by miło, gdyby były na szyfrowanej partycji, tak, by nikt nam ich nie wykradł lub nie zmodyfikował. Jak to zrobić? Najprościej utworzyć projekty na szyfrowanej partycji, natomiast w /var/www dodać linki symboliczne wskazujące na odpowiednie katalogi projektów.
  • Czasem może zajść potrzeba przekonwertowania kodowania znaków (np. z utf-8 na iso-8859-2) sporej liczby plików, można na poczekaniu napisać wtedy skrypt, którego główna częścią będzie iconv, proste narzędzie shelowe służące do tego celu.
  • Wielu ludzi przyjmuje iż powinno się zamiast znaku tab'a w kodzie wstawiać cztery spacje, dzięki temu kod jest zwięźlejszy. Jeżeli korzystamy z vi to możemy to uzyskać dodając do ~/.vimrc wiersz:
    expandtab
    set tabstop=4
    Natomiast dodanie poniższego spowoduje numerowanie linii kodu:
    set number

Pingbacks

No pingbacks yet

Comments

avatar
sa , 7.02.2009 12:18, reply

dodam kilka od siebie: a) znając nazwę procesu szybciej zabić go używając pkill b) by wpisać ostatnio używane polecenie [ctrl]+r i początek frazy c) by wyświetlić wszystkie ostatnie polecenia trzeba wpisać history d) by utworzyć strukturę katalogów np: x\
a
b
c
na raz można użyć mkdir -p x/{a,b,c} e) każdy program okienkowy można uruchomić z konsoli, na przykład po wpisaniu firefox odpalimy przeglądarkę a jej błędy będą wypisywane na w konsoli gdzie ją odpaliliśmy

Leave your reply

Let me know what you think

Required. 30 chars of fewer.

Required.

captcha image