W tym artykule wyjaśniono, w jaki sposób korzystać z poleceń terminalu w celu dostarczenia informacji na temat niektórych poleceń i ich funkcji.
Zawiera on także przykłady ilustrujące proces.
Narzędzie wiersza poleceń jest potężne. Istnieją narzędzia służące do wykonywania żmudnych zadań w graficznym interfejsie użytkownika (UI) i przekształcania ich w zadanie trwające kilka sekund. Usunięcie ostatnich czterech wierszy w każdym rzędzie dużego pliku może być długotrwałym procesem w aplikacji interfejsu użytkownika. Można go jednak zautomatyzować w wierszu polecenia.
Najczęstsze sposoby otwierania okna terminala w systemie Ubuntu Linux to:
W systemie Ubuntu Linux jest wiele poleceń powiązanych z powłoką Terminal Shell. W poniższym artykule zestawiono najczęściej używane w grupach, na które mają wpływ.
Dostępne są trzy główne polecenia, za pomocą których można zapewnić wszystkie informacje wymagane do korzystania z poszczególnych poleceń terminalu.
Polecenie man wyświetla instrukcję dla każdego polecenia używanego w programie Terminal.
Większość poleceń powłoki akceptuje różne opcje. Aby uzyskać więcej informacji o poleceniu i listę dostępnych opcji, wybierz man
— skrót polecenia instrukcji. Podaj nazwę polecenia, o którym chcesz wiedzieć więcej, jako argument. Czyli które polecenie man
polecenie przy którym działa.
Przykład: Jeśli wprowadzisz polecenie man who
, zostanie wyświetlony następujący komunikat.
WHO(1) User Commands WHO(1)
NAME
who - show who is logged on
SYNOPSIS
who [OPTION}... [ FILE | ARG1 ARG2 ]
DESCRIPTION
-a, --all
same as -b -d --login -p -r -t -T -u
-b, --boot
time of last system boot
-d, --dead
print dead processes
-H, --heading
print line of column headings
-i, --idle
add idle time as HOURS:MINUTES, . or old (deprecated, use -u)
-l, --login
print system login processes
--lookup
attempt to canonicalize hostnames via DNS
-m, only hostname and user associated with stdin
Manual page who(1) line 1
Wiele instrukcji ma długość kilku ekranów. Użyj kursora lub ARROW
klawiszy bądź klawiszy Page Up i Page Down, aby poruszać się po tekście. Klawisz spacji pokazuje następny wiersz tekstu. Naciśnięcie klawisza q powoduje zamknięcie instrukcji i powrót do powłoki.
Na stronie instrukcji widać, że możemy użyć -a
opcji, aby wyświetlić więcej informacji o aktywnych sesjach użytkowników.
user@3[user]$ who -a
|
|
|
|
Nov 14 13:47 |
|
10 |
id=si |
term=0 |
exit=0 |
|
|
|
system boot |
Nov 14 13:47 |
|
|
|
|
|
|
|
|
run-level 5 |
Nov 14 13:47 |
|
|
Last=S |
|
|
|
|
|
|
Nov 14 13:47 |
|
835 |
id=15 |
term=0 |
exit=0 |
LOGIN |
|
|
tty1 |
Nov 14 13:47 |
|
958 |
id=1 |
|
|
root |
|
- |
tty2 |
Nov 14 19:15 |
00:19 |
959 |
|
|
|
user |
|
- |
tty3 |
Nov 14 19:28 |
00:06 |
960 |
|
|
|
LOGIN |
|
|
tty4 |
Nov 14 13:47 |
|
961 |
id=4 |
|
|
LOGIN |
|
|
tty5 |
Nov 14 13:47 |
|
962 |
id=5 |
|
|
LOGIN |
|
|
tty6 |
Nov 14 13:47 |
|
963 |
id=6 |
|
|
user |
|
? |
:0 |
Nov 14 13:47 |
? |
965 |
|
|
|
|
|
|
pts/3 |
Nov 14 16:29 |
|
1746 |
id=/3 |
term=0 |
exit=0 |
user@3[user]$
Zapewnia to również odczyt plików pomocy dla programów, man
polecenie może też zawierać informacje o powłokach, funkcjach i bibliotekach.
Jeśli nie masz pewności, w jaki sposób użyć określonego polecenia, uruchom polecenie za pomocą -h
lub –help
przełączników. Zostaną wyświetlone informacje o użyciu oraz lista opcji, których można użyć razem z poleceniem.
Przykład: Przykład: aby dowiedzieć się, jak korzystać z wget
polecenia, wpisz wget –help
lub wget -h
.
User@Ubuntu@#$ wget --help
GNU Wget 1.12, a non-interactive network retriever.
Usage: wget [OPTION]... [URL]...
Mandatory arguments to long options are mandatory for short options t
oo.
Startup:
-V, --version display the version of Wget and exit.
-h, --help print this help.
-b, --background go to background after startup.
-e, --execute=COMMAND execute a '.wgetrc' -style command.
Logging and input file:
Często drukuje dużo informacji do terminalu. Przewijanie może być uciążliwe. Aby łatwiej odczytać dane wyjściowe, możesz pipe
za pomocą polecenia mniej. Umożliwia to przewijanie za pomocą kursora/klawiszy STRZAŁKI na klawiaturze.
Przykład: wget -help | less
GNU Wget 1.12, a non-interactive network retriever.
Usage: wget [OPTION]... [URL]...
Mandatory arguments to long options are mandatory for short options t
oo.
Startup:
-V, --version display the version of Wget and exit.
-h, --help print this help.
-b, --background go to background after startup.
-e, --execute=COMMAND execute a '.wgetrc' -style command.
Logging and input file:
-o, --output-file=FILE log messages to FILE.
:
Naciśnij klawisz q, aby zamknąć narzędzie less po zakończeniu pracy.
Aby znaleźć konkretną opcję, możesz pipe
wyświetlić za pośrednictwem grep
. (Na przykład: użyj następującego polecenia, aby wyszukać opcje zawierające wyraz proxy.
)
wget -help | grep proxy
User@ubuntu:~$ wget --help | grep proxy
--no-proxy explicitly turn off proxy.
--proxy-user=USER set USER as proxy username.
--proxy-password=PASS set PASS as proxy password.
User@Ubuntu:~$
Niektóre polecenia są również udokumentowane w info
systemie. Zawarte tu informacje uzupełniają to, co man
wyświetla polecenie.
Przykład: Wprowadź polecenie info ls,
wyświetlony zostanie następujący komunikat.
[support@support]$" info ls
Teraz można wyświetlić instrukcję z ważnymi informacjami na temat ls
.
File: coreutils.info, Node: ls invocation, Next: dir invocation, Up: Directory listing
'ls': List directory contents
=============================
The 'ls' program lists information about files (of any type,
including directories). Options and file arguments can be intermixed
arbitrarily, as usual.
For non-option command-line arguments that are directories, by
default 'ls' lists the contents of directories, not recursively, and
omitting files with name beginning with '.'. For other non-option
arguments, be default 'ls' lists just the file name. If no non-option
argument is specified, 'ls' operates on the current directory, acting
as if it had been invoked with a single argument of '.'.
By default, the output is sorted alphabetically, according to the
locale settings in effect. (1) If standard output is a terminal, the
output is in columns (sorted vertically) and control characters are
output as question marks; otherwise, the output is listed one per line
and control characters are output as-is.
--zz-Info: (coreutils.info.gz)ls invocation, 48 lines --Top------------------
Welcome to info version 4.3 Type C-h for help, m for menu item.
Aby przewijać stronę, należy nacisnąć klawisz spacji lub użyć kursora/ARROW
klawiszy.
help
, naciśnij Hquit
, naciśnij Q
W terminalu można wykonać niemal wszystkie czynności z interfejsu użytkownika.
Zgodnie z powyższym wiele poleceń było najpierw opracowanych do użycia w terminalu, a następnie umieszczono interfejs użytkownika na górze. Dlatego niektóre graficzne interfejsy użytkownika mogą wydawać się nieporęczne — na początku były uzupełnieniem, ponieważ większość kompilacji serwera Linux z nich nie korzysta.
Domyślna lokalizacja terminalu, który ma być otwierany z menu, jest w folderze głównym. Nazywane ~
Bieżący katalog można znaleźć za pomocą .
operatora. W większości poleceń wielkość liter ma znaczenie, kiedy działają w wyborze bieżącego folderu oraz na poleceniach, lokalizacjach i plikach. /home
to nie to samo co /HOME
lub /Home
.
Użyj klawisza TAB, aby uzupełnić nazwy plików, jeśli jest długi tytuł sterownika. driver-128947232jaseu.sh
na przykład wpisz dri
i nastąpi przejście do pozostałych. Pod warunkiem, że nie masz dwóch nazw zaczynających się od dri
a jeśli tak, dodaj inny znak, aby to zrobić driv
i spróbuj ponownie. Upewnij się, że automatyczne uzupełnienie jest zgodne z oczekiwaniami.
Prawie każde polecenie można przeczytać w całości za pomocą man
strony lub wpisując -h
lub --help
po wpisaniu początkowego polecenia. Ta składnia to man command_name
, command_name -h
lub command_name --help
.
Aby uzyskać więcej informacji, można skorzystać z polecenia info. Polecenie można wyszukać za pomocą info command_name
. W przypadku większości poleceń stanowiących część pakietu coreutils Możesz znaleźć info
również za pomocą info coreutils command_name
wywołanie, w którym szukane polecenie zastępuje command_name
.
Niemal każde polecenie może pokazywać co się dzieje, krok po kroku. Zazwyczaj jest to -v
lub --verbose
.
Aby uzyskać więcej informacji, można określić wiele flag poleceń naraz. Zapoznaj się z ls -al
przykładem poniżej.
Nazwy poleceń nie zawsze są oczywiste — z powodu ograniczeń dotyczących ilości miejsca w przeszłości systemu UNIX zostały one skrócone i takie konwencje pozostały do dziś.
cd
– Przenosi użytkownika do strony głównej, a także cd ~
cd..
– Powoduje powrót do poprzedniego katalogu. Rozpoczęcie w /home/user/Desktop
, cd..
powoduje przejście do /home/user
. Można to rozszerzyć do cd ../../
co powoduje przeniesienie dwóch katalogów z powrotem do /home
.
cd foldername/
– Przenosi do określonego folderu w bieżącym folderze.
/
, jest to istotne przeoczenie. Jeśli jestem w /home/user
i chcę dostać się do Desktop
. Muszę wpisać cd Desktop/
bez /
przed Desktop
. Wpisanie /
przed spowoduje przeniesienie do katalogu głównego systemu plików, który nie zadziała.
cd /some/other/path
– Przenosi do ścieżki określonego folderu. Jeśli masz właściwą ścieżkę. Pamiętaj, że możesz użyć TAB
klawisza do autouzupełnienia.
ls
– Wyświetla listy wszystkich plików znajdujących się w bieżącym folderze.
ls -l
– Zapewnia dłuższą listę zawierającą właścicieli, uprawnienia, rozmiar i datę modyfikacji.
ls -a
– Wyświetla ukryte pliki i foldery oraz zwykłą listę.
ls -al
– Łączy dwie opcje, aby wyświetlić zarówno ukryte pliki, jak i foldery, i wykonać to w długim formacie.
ls -h
- Pokazuje rozmiary plików w formacie czytelnym dla człowieka KB, MB, GB,
rozmiary plików zamiast bajtów. Najczęściej stosuje się z -l
flagą.
Można przeglądać pliki w katalogach, w których nawet nie jesteś. Jeśli jestem w /home/user/Desktop
i chcę wyświetlić plik w /home/user
, mogę to zrobić ls ../
który wyświetla listę plików o jeden katalog wstecz.
cp file /path/to/folder
– Kopiuje określony plik do danej ścieżki.
cp -r folder /path/to/folder
– Kopiuje wielokrotnie zawartość folderu do innego folderu.
cp *.extension /path/to/folder
– Kopiuje pliki zgodne z podanym rozszerzeniem do nowego folderu. Aby skopiować wszystkie pliki .doc, zmienia się na cp *.doc /path/to/folder
i folder musi istnieć.
cp name* /path/to/folder
– Kopiuje wszystkie pliki zaczynające się od name
do danego folderu. Aby skopiować wszystkie pliki zaczynające się od example
, zmienia się na cp example* /path/to/folder
i folder musi już istnieć.
Składnia mv
jest podobna do powyższego przykładu przy cp
zwolnieniu na przykład #2. mv
nie bierze -r
flagi, ponieważ przeniesienie folderu powoduje również przeniesienie jego zawartości. Składnia nie jest dokładna we wszystkich sytuacjach, ale działa z powyższymi przykładami. Aby uzyskać więcej informacji, zapoznaj się ze stronami instrukcji.
Usuwanie plików za pomocą rm
jest trwałe. Nie korzysta z kosza. Zachowaj ostrożność i upewnij się, że usuwane są tylko żądane elementy, zanim zostanie naciśnięty Enter
. Zbytnie skomplikowanie poleceń usuwania nigdy nie kończy się dobrze.
rm file
– Usuń określony plik z komputera.
rm -r folder
– Usuń określony folder z komputera.
rm -rf folder
– Wymusza usunięcie określonego folderu z komputera. To polecenie może zepsuć konfigurację, jeśli będzie używane nieprawidłowo.
Pliki można edytować za pomocą nano
w terminalu w celu szybkiego i pobieżnego pełnego skonfigurowania plików. Może być to przydatne, ale obsługuje zwykłe pliki tekstowe i pliki programujące, więc takie pliki jak dokument programu Microsoft Word, nie będą się poprawnie otwierały.
Jeśli root jest właścicielem pliku, zwykły użytkownik nie może go edytować. nano
musi być poprzedzony prefiksem sudo
; w celu zapisania zmian. W przeciwnym razie otworzy się w trybie tylko do odczytu.
nano newfile.whatever
o określonej nazwie i otworzy go do edycji.
nano existing_file
— służy do otwierania istniejącego pliku w celu edycji.
Od środka nano
Zapisz plik, naciskając klawisze CTRL+O
razem i zmień nazwę lub naciśnij klawisz Enter
, aby zachować tę samą nazwę. Spowoduje to zapisanie pliku.
Exit nano
za pomocą klawiszy CTRL+X
razem. W przypadku niezapisanych zmian pojawi się pytanie, czy chcesz je zapisać.
mkdir folder_name
– Tworzy folder o określonej nazwie
mkdir -p /path/to/folder/name
– Tworzy każdy folder w razie potrzeby. Aby utworzyć folder /home/user/1stfolder/2ndfolder
i tylko /home/user
istnieje, używając mkdir -p
sprawia, że oba katalogi 1stfolder,
i 2ndfolder
.
ps aux
– Powoduje wyświetlenie szczegółowej listy wszystkich procesów wykonywanych w komputerze. Obejmuje to użytkownika, identyfikator procesu PID,
i nazwę procesu. Za jego pomocą można wyświetlić listę procesów, a w razie potrzeby można zatrzymać niepotrzebne lub wstrzymane procesy.
kill PID
– PID to liczba odwołująca się do procesu powodującego problem. Numer PID uzyskuje się z polecenia ps aux
. Jeśli proces nie chce się zakończyć, można również określić kill -9 PID
co powinno zakończyć proces w jakikolwiek sposób.
killall program
- Killall
kończy działanie by name
wszystkich instancji listed program
. Jeśli na przykład otwarte są 3 sesje przeglądarki internetowej Firefox, killall Firefox
robi dokładnie to, kończy wszystkie sesje Firefox. kill
pobierze określony numer PID tylko z powodującego problem procesu Firefox, który chcesz zakończyć.
xkill
to sposób interfejsu użytkownika na zamknięcie okien kliknięciem. Wpisanie xkill
spowoduje wyświetlenie ikony czaszki, po czym kliknięte okno zostanie zamknięte.
Pipes
są wyświetlane jako straight bar,
Inaczej znany jako klawisz |
.
Jest to rzadko używany klawisz w systemie Windows, ale często znajduje się na klawiszu lewego ukośnika.
Służą do łączenia poleceń. Pipes
weź dane wyjściowe jednego polecenia i poprowadź je, aby były użyte jako dane wejściowe dla drugiego polecenia, jeśli są powiązane z sobą.
Zapoznaj się z zasobami online, aby uzyskać więcej informacji na temat pipes
i ich użycia, ponieważ są na nich zapisane woluminy.
>
i >>
a znaki przekierowujące są używane do wysyłania danych wyjściowych do pliku zamiast terminalu
>
używa się overwrite
do nadpisywania zawartości istniejących plików poprzez zastąpienie ich danymi wyjściowymi z nowego polecenia.
>>
używa się append
informacji o istniejących plikach. Przydatne przy rejestrowaniu akcji.
Example:
ps aux > processes.log
wysyła dane wyjściowe ps aux
do pliku processes.log
w celu wyświetlenia danych wyjściowych polecenia w edytorze tekstu i nadpisuje bieżącą zawartość pliku.
tee
używa się razem z |
w celu przesłania danych wyjściowych polecenia w inne miejsce. Przydatne, jeśli wystąpiły błędy, których użytkownik nie zauważył. W ten sposób wszystkie dane wyświetlane na ekranie są również przechwytywane do pliku.
Przykład: dmesg
| tee boot.txt
uruchomi polecenie dmesg
co wyświetli początkowe informacje o rozruchu. Polecenie |
wysyła dane wyjściowe dmesg
na tee
, który wykonuje swoje zadanie, wysyłając je do terminalu i do pliku dziennika boot.txt
.
Czy chcesz uruchomić plik w bieżącym katalogu po tym, jak został on oznaczony jako wykonywalny? Polecenie ./
Operator może uruchomić plik jako normalny użytkownik, pod warunkiem, że nie są potrzebne uprawnienia konta root. ./
dosłownie oznacza in the current directory
więc nie działa on na plikach poza obecnym katalogiem.
Jeśli konieczne jest uruchomienie pliku, który nie znajduje się w bieżącym katalogu, należy wprowadzić ścieżkę do odpowiedniego programu działającego. Jeśli jest to program w języku Python, to jest python /path/to/file
a jeśli jest to plik powłoki, to jest sh /path/to/file
jako przykład. Istnieją inne programy, ale te są najpopularniejsze.
Jeśli użytkownik chce uruchomić plik z uprawnieniami konta root, ponieważ wyświetla się operation not permitted?
. Należy poprzedzić to polecenie prefiksem sudo
. Podobnie jak w powyższym przykładzie, sudo python /path/to/file
uruchamia skrypt z uprawnieniami root.
Jeśli chcesz uruchomić program interfejsu użytkownika z terminala, wpisz nazwę programu — case sensitive!
i uruchomi się. Uniemożliwia to korzystanie z bieżącego terminalu. Zamknięcie terminala, gdy program jest otwarty, również kończy działanie programu. Lepszym sposobem jest uruchomienie programu w tle z użyciem program_name
a następnie za pomocą słowa exit
na terminalu, aby go zamknąć i kontynuować proces.
Aby uruchomić program interfejsu użytkownika z uprawnieniami root z terminalu, należy go poprzedzić prefiksem gksudo
lub gksu
a nie sudo
. Korzystanie z sudo
do uruchamiania aplikacji interfejsu użytkownika to zły nawyk, którego należy unikać.
not
użyj sudo
tylko dlatego, że coś się pojawia Operation not permitted.
Pamiętaj, że możesz destroy
komputery, uruchamiając polecenia w niewłaściwym miejscu z uprawnieniami root. Upewnij się, że pliki pochodzą z wiarygodnych źródeł.
Zgubiłeś się w katalogu? Wpisz pwd
aby wydrukować katalog roboczy.
Chcesz obliczyć ilość miejsca na dysku? df -h
może szybko podać liczbę.
Czy chcesz obliczyć rozmiar folderu lub pliku? du -cksh target_name
robi dokładnie to. Chcesz obliczyć rozmiar bieżącego folderu? du -cksh
.
Chcesz oznaczyć plik jako wykonywalny? chmod +x filename
robi to.
Musisz zamontować iso? Linux ma wbudowaną tę funkcję. Utwórz gdzieś katalog, powiedzmy /home/user/isomount
i wydaj polecenie mount -o loop /path/to/myisofile.iso /home/user/isomount
a zawartość zostanie zamontowana w tym folderze.
Po uruchomieniu polecenia musisz ponownie je uruchomić, ale czy pamiętasz jak? Wpisz history
w terminalu, co spowoduje wydrukowanie historii poleceń. Chcesz wyczyścić historię? history -c
powoduje usunięcie informacji.