Wyszukiwanie w witrynie

4 przydatne wskazówki dotyczące poleceń mkdir, tar i kill w systemie Linux


Kontynuujemy wykonywanie zadania w sposób konwencjonalny, dopóki nie przekonamy się, że można to zrobić znacznie lepiej w inny sposób. Kontynuując naszą serię porad i trików dotyczących Linuksa, przedstawiam cztery poniższe wskazówki, które pomogą Ci na wiele sposobów. No to ruszamy!

1. Powinieneś utworzyć długie/złożone drzewo katalogów podobne do podanego poniżej. Jaki jest najskuteczniejszy sposób, aby to osiągnąć?

Struktura drzewa katalogów do osiągnięcia zgodnie z sugestią poniżej.

cd /home/$USER/Desktop
mkdir tecmint
mkdir tecmint/etc
mkdir tecmint/lib
mkdir tecmint/usr
mkdir tecmint/bin
mkdir tecmint/tmp
mkdir tecmint/opt
mkdir tecmint/var
mkdir tecmint/etc/x1
mkdir tecmint/usr/x2
mkdir tecmint/usr/x3
mkdir tecmint/tmp/Y1
mkdir tecmint/tmp/Y2
mkdir tecmint/tmp/Y3
mkdir tecmint/tmp/Y3/z

Powyższy scenariusz można po prostu osiągnąć, uruchamiając poniższe polecenie 1-liniowe.

mkdir -p /home/$USER/Desktop/tecmint/{etc/x1,lib,usr/{x2,x3},bin,tmp/{Y1,Y2,Y3/z},opt,var}

Aby to sprawdzić, możesz użyć polecenia drzewo. Jeśli nie jest zainstalowany, możesz apt lub mniam pakiet „drzewo”.

tree tecmint

W powyższy sposób możemy stworzyć strukturę drzewa katalogów o dowolnej złożoności. Zauważ, że nie jest to nic innego jak zwykłe polecenie, ale używa {} do utworzenia hierarchii katalogów. Może to okazać się bardzo pomocne, jeśli zostanie użyte z poziomu skryptu powłoki, jeśli jest to wymagane i ogólnie.

2. Utwórz plik (powiedzmy test) na swoim pulpicie (/home/$USER/Desktop) i wypełnij go poniższą zawartością.
ABC
DEF
GHI
JKL
MNO
PQR
STU
VWX
Y
Z

Co w takiej sytuacji zrobiłby zwykły użytkownik?

a. Najpierw utworzy plik, najlepiej za pomocą polecenia dotykowego, ponieważ:

touch /home/$USER/Desktop/test

b. Do otwarcia pliku użyje edytora tekstu, którym może być nano, vim lub dowolny inny edytor.

nano /home/$USER/Desktop/test

c. Następnie umieści powyższy tekst w tym pliku, zapisze i wyjdzie.

Zatem niezależnie od czasu, jaki mu zajmie, potrzebuje co najmniej 3 kroków, aby zrealizować powyższy scenariusz.

Co zrobi mądry, doświadczony użytkownik Linuksa? Po prostu wpisze poniższy tekst za jednym razem na terminalu i wszystko gotowe. Nie musi wykonywać każdej czynności osobno.

cat << EOF > /home/$USER/Desktop/test
ABC
DEF
GHI
JKL
MNO
PQR
STU
VWX
Y
Z
EOF

Możesz użyć polecenia „cat”, aby sprawdzić, czy plik i jego zawartość zostały utworzone pomyślnie, czy nie.

cat /home/avi/Desktop/test

3. W systemie Linux bardzo często mamy do czynienia z archiwami (szczególnie kulkami TAR). W wielu przypadkach musimy użyć tej kulki TAR w innej lokalizacji niż folder Pobrane. Co robimy w tym scenariuszu?

Zwykle w tym scenariuszu robimy dwie rzeczy.

a. Skopiuj/Przenieś kulkę tar i wyodrębnij ją w miejscu docelowym, jako:

cp firefox-37.0.2.tar.bz2 /opt/
or
mv firefox-37.0.2.tar.bz2 /opt/

b. cd do katalogu /opt/.

cd /opt/

c. Wyodrębnij plik tarball.

tar -jxvf firefox-37.0.2.tar.bz2 

Możemy to zrobić w drugą stronę.

Wypakujemy archiwum tar tam, gdzie się ono znajduje i skopiujemy/przeniesiemy rozpakowane archiwum do wymaganego miejsca docelowego jako:

tar -jxvf firefox-37.0.2.tar.bz2 
cp -R firefox/  /opt/
or
mv firefox/ /opt/

W obu przypadkach ukończenie pracy zajmuje dwa kroki. Profesjonalista może wykonać to zadanie w jednym kroku, jako:

tar -jxvf firefox-37.0.2.tar.bz2 -C /opt/

Opcja -C powoduje rozpakowanie archiwum tarem w określonym folderze (tutaj /opt/).

Nie, tu nie chodzi o opcję (-C), ale o nawyki. Wyrób sobie nawyk używania opcji -C z tar. Ułatwi Ci to życie. Od tej chwili nie przenoś archiwum ani nie kopiuj/przenoś wypakowanego pliku, po prostu zostaw kulkę TAR w folderze Pobrane i rozpakuj go gdziekolwiek chcesz.

4. Jak w tradycyjny sposób zabijamy proces?

Najprościej mówiąc, najpierw wylistujemy cały proces za pomocą polecenia ps -A i potokujemy go za pomocą grep, aby znaleźć proces/usługę (powiedzmy Apache2 ), po prostu jako:

ps -A | grep -i apache2
Przykładowe wyjście
1006 ?        00:00:00 apache2
 2702 ?        00:00:00 apache2
 2703 ?        00:00:00 apache2
 2704 ?        00:00:00 apache2
 2705 ?        00:00:00 apache2
 2706 ?        00:00:00 apache2
 2707 ?        00:00:00 apache2

Powyższe dane wyjściowe pokazują wszystkie aktualnie uruchomione procesy Apache2 z ich PID. Możesz następnie użyć tych PID, aby zabić Apache2 za pomocą następującego polecenia.

kill 1006 2702 2703 2704 2705 2706 2707

a następnie sprawdź, czy jakikolwiek proces/usługa o nazwie „Apache2” działa, czy nie, ponieważ:

ps -A | grep -i apache2

Możemy to jednak zrobić w bardziej zrozumiałym formacie, używając narzędzi takich jak pgrep i pkill. Odpowiednie informacje o procesie możesz znaleźć po prostu używając pgrep. Załóżmy, że musisz znaleźć informacje o procesie dla Apache2, możesz po prostu:

pgrep apache2
Przykładowe wyjście
15396
15400
15401
15402
15403
15404
15405

Możesz także ustawić nazwę procesu na podstawie pid, uruchamiając.

pgrep -l apache2
Przykładowe wyjście
15396 apache2
15400 apache2
15401 apache2
15402 apache2
15403 apache2
15404 apache2
15405 apache2

Zabicie procesu za pomocą pkill jest bardzo proste. Po prostu wpisz nazwę zasobu do zabicia i gotowe. Napisałem post na temat pkill, do którego możesz się odnieść tutaj: https://linux-console.net/how-to-kill-a-process-in-linux/.

Aby zabić proces (powiedzmy Apache2) za pomocą pkill, wystarczy:

pkill apache2

Możesz sprawdzić, czy Apache2 został zabity, czy nie, uruchamiając poniższe polecenie.

pgrep -l apache2

Zwraca monit i nic nie wyświetla, co oznacza, że o nazwie Apache2 nie jest uruchomiony żaden proces.

To wszystko na teraz, ode mnie. Wszystkie powyższe punkty nie wystarczą, ale z pewnością pomogą. Naszym celem jest nie tylko tworzenie samouczków, dzięki którym za każdym razem nauczysz się czegoś nowego, ale także chcemy pokazać, „Jak zwiększyć produktywność w tym samym czasie”. Przekaż nam swoje cenne uwagi w komentarzach poniżej. Pozostań w kontakcie. Komentuj dalej.