Wyszukiwanie w witrynie

10 przydatnych trików z wiersza poleceń systemu Linux dla początkujących — część 2


Pamiętam, że kiedy po raz pierwszy zacząłem używać Linuksa i przyzwyczaiłem się do graficznego interfejsu systemu Windows, naprawdę nienawidziłem terminala Linux. W tamtych czasach trudno było mi zapamiętać polecenia i właściwie używać każdego z nich. Z czasem zdałem sobie sprawę z piękna, elastyczności i użyteczności terminala Linux i szczerze mówiąc, nie ma dnia bez użycia. Dzisiaj chciałbym podzielić się kilkoma przydatnymi trikami i wskazówkami dla nowych użytkowników Linuksa, aby ułatwić im przejście na Linuksa lub po prostu pomóc im nauczyć się czegoś nowego (miejmy nadzieję).

  1. 5 ciekawych porad i wskazówek dotyczących wiersza poleceń w systemie Linux — część 1
  2. 5 przydatnych poleceń do zarządzania typami plików w systemie Linux – część 3

Ten artykuł ma na celu pokazanie kilku przydatnych sztuczek, jak korzystać z terminala Linux jak profesjonalista przy minimalnych umiejętnościach. Wszystko czego potrzebujesz to terminal Linux i trochę wolnego czasu, aby przetestować te polecenia.

1. Znajdź odpowiednie polecenie

Wykonanie właściwego polecenia może mieć kluczowe znaczenie dla Twojego systemu. Jednak w Linuksie istnieje tak wiele różnych wierszy poleceń, że często trudno je zapamiętać. Jak więc znaleźć odpowiednie polecenie, którego potrzebujesz? Odpowiedź brzmi odpowiednio. Wszystko czego potrzebujesz do uruchomienia to:


# apropos <description>

Gdzie należy zmienić „opis” na rzeczywisty opis poszukiwanego polecenia. Oto dobry przykład:


# apropos "list directory"

dir (1) - list directory contents
ls (1) - list directory contents
ntfsls (8) - list directory contents on an NTFS filesystem
vdir (1) - list directory contents

Po lewej stronie znajdują się polecenia, a po prawej ich opis.

2. Wykonaj poprzednie polecenie

Wiele razy będziesz musiał wielokrotnie wykonywać to samo polecenie. Możesz wielokrotnie naciskać klawisz w górę na klawiaturze, ale zamiast tego możesz użyć polecenia historia. To polecenie wyświetli listę wszystkich poleceń wprowadzonych od czasu uruchomienia terminala:


# history

    1  fdisk -l
    2  apt-get install gnome-paint
    3  hostname linux-console.net
    4  hostnamectl linux-console.net
    5  man hostnamectl 
    6  hostnamectl --set-hostname linux-console.net
    7  hostnamectl -set-hostname linux-console.net
    8  hostnamectl set-hostname linux-console.net
    9  mount -t "ntfs" -o
   10  fdisk -l
   11  mount -t ntfs-3g /dev/sda5 /mnt
   12  mount -t rw ntfs-3g /dev/sda5 /mnt
   13  mount -t -rw ntfs-3g /dev/sda5 /mnt
   14  mount -t ntfs-3g /dev/sda5 /mnt
   15  mount man
   16  man mount
   17  mount -t -o ntfs-3g /dev/sda5 /mnt
   18  mount -o ntfs-3g /dev/sda5 /mnt
   19  mount -ro ntfs-3g /dev/sda5 /mnt
   20  cd /mnt
   ...

Jak zobaczysz na podstawie powyższych wyników, otrzymasz listę wszystkich uruchomionych poleceń. W każdym wierszu znajduje się numer wskazujący wiersz, w którym wpisałeś polecenie. Możesz przywołać to polecenie, używając:


!#

Gdzie # należy zastąpić rzeczywistym numerem polecenia. Dla lepszego zrozumienia spójrz na poniższy przykład:


!501

Jest równa:

# history

3. Użyj Dowódcy północy

Jeśli nie jesteś przyzwyczajony do używania poleceń takich jak cd, cp, mv, rm, możesz użyć polecenia cdpolecenie o północy. Jest to łatwa w użyciu powłoka wizualna, w której można także używać myszy:

Dzięki klawiszom F1 – F12 możesz łatwo wykonywać różne zadania. Wystarczy sprawdzić legendę na dole. Aby wybrać plik lub folder, kliknij przycisk „Wstaw”.

W skrócie polecenie o północy nazywa się „mc”. Aby zainstalować mc w swoim systemie, po prostu uruchom:


$ sudo apt-get install mc        [On Debian based systems]

# yum install mc                 [On Fedora based systems]

Oto prosty przykład użycia programu Midnight Commander. Otwórz mc, po prostu wpisując:


# mc

Teraz użyj przycisku TAB, aby przełączać się między oknami – lewym i prawym. Mam plik LibreOffice, który przeniosę do folderu „Software”:

Aby przenieść plik do nowego katalogu naciśnij przycisk F6 na klawiaturze. MC poprosi Cię teraz o potwierdzenie:

Po potwierdzeniu plik zostanie przeniesiony do nowego katalogu docelowego.

Przeczytaj więcej: Jak używać menedżera plików Midnight Commander w systemie Linux

4. Wyłącz komputer o określonej godzinie

Czasami będziesz musiał wyłączyć komputer kilka godzin po zakończeniu godzin pracy. Możesz skonfigurować komputer tak, aby wyłączał się o określonej godzinie, korzystając z:


$ sudo shutdown 21:00

Spowoduje to wyłączenie komputera o określonej godzinie. Możesz także nakazać systemowi zamknięcie po określonej liczbie minut:


$ sudo shutdown +15

W ten sposób system wyłączy się za 15 minut.

5. Pokaż informacje o znanych użytkownikach

Możesz użyć prostego polecenia, aby wyświetlić listę użytkowników systemu Linux i podstawowe informacje o nich. Po prostu użyj:


# lslogins

Powinno to dać następujące dane wyjściowe:


UID USER PWD-LOCK PWD-DENY LAST-LOGIN GECOS
0 root 0 0 Apr29/11:35 root
1 bin 0 1 bin
2 daemon 0 1 daemon
3 adm 0 1 adm
4 lp 0 1 lp
5 sync 0 1 sync
6 shutdown 0 1 Jul19/10:04 shutdown
7 halt 0 1 halt
8 mail 0 1 mail
10 uucp 0 1 uucp
11 operator 0 1 operator
12 games 0 1 games
13 gopher 0 1 gopher
14 ftp 0 1 FTP User
23 squid 0 1
25 named 0 1 Named
27 mysql 0 1 MySQL Server
47 mailnull 0 1
48 apache 0 1 Apache
...

6. Wyszukaj pliki

Wyszukiwanie plików może czasami nie być tak proste, jak myślisz. Dobrym przykładem wyszukiwania plików jest:


# find /home/user -type f

To polecenie wyszuka wszystkie pliki znajdujące się w /home/user. Polecenie znajdź ma ogromne możliwości i możesz przekazać mu więcej opcji, aby wyszukiwanie było jeszcze bardziej szczegółowe. Jeżeli chcesz wyszukać pliki większe niż podany rozmiar możesz skorzystać z:


# find . -type f -size 10M

Powyższe polecenie wyszuka w bieżącym katalogu wszystkie pliki większe niż 10 MB. Upewnij się, że nie uruchamiasz polecenia z katalogu głównego systemu Linux, ponieważ może to spowodować dużą liczbę operacji we/wy na komputerze.

Jedną z najczęściej używanych kombinacji, z którymi używam find, jest opcja „exec”, która w zasadzie pozwala na wykonanie pewnych działań na wynikach polecenia find.

Załóżmy na przykład, że chcemy znaleźć wszystkie pliki w katalogu i zmienić ich uprawnienia. Można to łatwo zrobić za pomocą:


# find /home/user/files/ -type f -exec chmod 644 {} \;

Powyższe polecenie przeszuka rekurencyjnie wszystkie pliki w określonym katalogu i wykona polecenie chmod na znalezionych plikach. Jestem pewien, że w przyszłości znajdziesz o wiele więcej zastosowań tego polecenia, na razie przeczytaj 35 przykładów poleceń i użycia polecenia „znajdź” w systemie Linux.

7. Buduj drzewa katalogów za pomocą jednego polecenia

Prawdopodobnie wiesz, że możesz tworzyć nowe katalogi za pomocą polecenia mkdir. Jeśli więc chcesz utworzyć nowy folder, uruchomisz coś takiego:


# mkdir new_folder

Ale co, jeśli chcesz utworzyć 5 podfolderów w tym folderze? Uruchamianie mkdir 5 razy z rzędu nie jest dobrym rozwiązaniem. Zamiast tego możesz użyć opcji -p w ten sposób:


# mkdir -p new_folder/{folder_1,folder_2,folder_3,folder_4,folder_5}

Ostatecznie powinieneś mieć 5 folderów zlokalizowanych w nowym_folderze:


# ls new_folder/

folder_1 folder_2 folder_3 folder_4 folder_5

8. Skopiuj plik do wielu katalogów

Kopiowanie plików zwykle odbywa się za pomocą polecenia cp. Kopiowanie pliku zwykle wygląda następująco:


# cp /path-to-file/my_file.txt /path-to-new-directory/

Teraz wyobraź sobie, że musisz skopiować ten plik do wielu katalogów:


# cp /home/user/my_file.txt /home/user/1
# cp /home/user/my_file.txt /home/user/2
# cp /home/user/my_file.txt /home/user/3

To jest trochę absurdalne. Zamiast tego możesz rozwiązać problem za pomocą prostego polecenia w jednym wierszu:


# echo /home/user/1/ /home/user/2/ /home/user/3/ | xargs -n 1  cp /home/user/my_file.txt

9. Usuwanie większych plików

Czasami pliki mogą stać się bardzo duże. Widziałem przypadki, w których rozmiar pojedynczego pliku dziennika przekraczał 250 GB z powodu słabych umiejętności administracyjnych. Usunięcie pliku za pomocą narzędzia rm może w takich przypadkach nie wystarczyć, gdyż do usunięcia jest bardzo duża ilość danych. Operacja będzie „ciężka” i należy jej unikać. Zamiast tego możesz zastosować naprawdę proste rozwiązanie:


# > /path-to-file/huge_file.log

Gdzie oczywiście będziesz musiał zmienić ścieżkę i nazwy plików na dokładnie takie, które pasują do Twojego przypadku. Powyższe polecenie po prostu zapisze puste dane wyjściowe do pliku. Mówiąc prościej, opróżni plik bez powodowania dużej liczby operacji we/wy w systemie.

10. Uruchom to samo polecenie na wielu serwerach Linux

Niedawno jeden z naszych czytelników zapytał na naszym forum LinuxSay, jak wykonać pojedyncze polecenie na wielu urządzeniach z systemem Linux jednocześnie za pomocą protokołu SSH. Adresy IP jego maszyn wyglądały tak:


10.0.0.1
10.0.0.2
10.0.0.3
10.0.0.4
10.0.0.5

Oto proste rozwiązanie tego problemu. Zbierz adresy IP serwerów w jednym pliku o nazwie list.txt, jeden pod drugim, tak jak pokazano powyżej. Następnie możesz uruchomić:


# for in $i(cat list.txt); do ssh user@$i 'bash command'; done

W powyższym przykładzie będziesz musiał zamienić „użytkownik” na rzeczywistego użytkownika, z którym będziesz się logować, a „polecenie bash” na rzeczywiste polecenie bash, które chcesz wykonać . Ta metoda działa lepiej, gdy używasz uwierzytelniania bez hasła za pomocą klucza SSH na swoich komputerach, ponieważ w ten sposób nie będziesz musiał ciągle wpisywać hasła dla swojego użytkownika.

Pamiętaj, że może być konieczne przekazanie dodatkowych parametrów do polecenia SSH, w zależności od konfiguracji systemu Linux.

Wniosek

Powyższe przykłady są naprawdę proste i mam nadzieję, że pomogły ci odkryć piękno Linuksa i pokazać, jak łatwo wykonywać różne operacje, które w innych systemach operacyjnych mogą zająć znacznie więcej czasu.