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ę).
- 5 ciekawych porad i wskazówek dotyczących wiersza poleceń w systemie Linux — część 1
- 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.