W tym artykule wyjaśniono, jak korzystać z wbudowanych poleceń terminala, aby uzyskać informacje na temat niektórych poleceń i ich funkcji.
Podam przykłady ilustrujące proces.
Narzędzie wiersza poleceń jest wydajne. Istnieją narzędzia służące do wykonywania żmudnych zadań w graficznym interfejsie użytkownika (GUI) 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 GUI. 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. Poniższy artykuł zawiera listę najczęściej używanych grup, na które mają wpływ.
Istnieją trzy główne polecenia, których używamy do zapewnienia wszystkich informacji potrzebnych do korzystania z różnych poleceń terminala.
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ć informacje o poleceniu i listę dostępnych opcji, użyj skrótu man
– do polecenia ręcznego . Podaj nazwę polecenia, które chcesz znaleźć jako argument. To jest polecenie, na man
którym działa polecenie.
Przykład: Po wprowadzeniu polecenia man who
wyświetlane są następujące dane wyjściowe.
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/ARROW
klawiszy lub klawiszy Page Up/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 man można zobaczyć, że można użyć tej -a
opcji, aby wyświetlić więcej informacji na temat aktywnych sesji 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]$
Odczytuje również pliki pomocy dla programów. man
Polecenie może również zawierać informacje o powłokach, funkcjach i bibliotekach.
Jeśli nie masz pewności, jak użyć określonego polecenia, uruchom polecenie z -h
przełącznikami lub –help
przełącznikami. Zobaczysz informacje o użytkowaniu i listę opcji, których można użyć z poleceniem.
Przykład: Jeśli chcesz wiedzieć, 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 odczytywać dane wyjściowe, można pipe
to zrobić za pomocą polecenia Less . Umożliwia przewijanie za pomocą kursora/klawiszy ARROW 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źć określoną opcję, można pipe
wyświetlić dane wyjściowe za grep
pomocą polecenia. (Na przykład: Użyj następującego polecenia, aby wyszukać opcje zawierające słowo 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 systemie info
. Informacje te stanowią uzupełnienie tego, co man
wyświetla polecenie.
Przykład: Wprowadź polecenie info ls,
, aby wyświetlić następujące dane wyjściowe.
[support@support]$" info ls
Teraz można wyświetlić instrukcję z ważnymi informacjami na ls
temat polecenia.
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.
Strony można przewijać, naciskając klawisz spacji lub używając kursora/ARROW
klawiszy.
help
, naciśnij klawisz Hquit
, naciśnij klawisz Q
W terminalu można wykonać niemal wszystko, co należy wykonać w graficznym interfejsie użytkownika.
Jak wspomniano wcześniej, wiele poleceń zostało zaprojektowanych najpierw do pracy w terminalu, a następnie umieszczono graficzny 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źć u .
operatora. Większość poleceń, działając w wyborze bieżącego folderu, działa na poleceniach i lokalizacjach, a wielkość liter w plikach ma znaczenie. /home
nie jest taka sama jak /HOME
lub/Home
.
Użyj klawisza TAB , aby uzupełnić nazwy plików, jeśli masz długi tytuł sterownika. driver-128947232jaseu.sh
na przykład wpisz dri
i wprowadzi resztę. Pod warunkiem, że nie masz dwóch nazw zaczynających się dri
od, a jeśli tak, dodaj kolejny znak, aby go driv
utworzyć i spróbuj ponownie. Upewnij się, że automatyczne uzupełnienie jest zgodne z Twoimi oczekiwaniami.
Prawie każde polecenie można przeczytać w całości za pomocą man
strony, pisania -h
lub --help
po zapisaniu początkowego polecenia. Składnia jest albo 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ą polecenia info command_name
. W przypadku większości poleceń stanowiących część pakietu coreutils Można również info coreutils command_name
użyć info
wywołania, w którym polecenie wyszukało command_name
miejsce.
Niemal każde polecenie może pokazywać co się dzieje, krok po kroku. Zazwyczaj jest -v
to opcja lub --verbose
.
Aby uzyskać więcej informacji, można określić wiele flag poleceń naraz. Zapoznaj się z poniższym ls -al
przykładem.
Nazwy poleceń nie zawsze są oczywiste — ze względu na ograniczenia przestrzeni w starych czasach systemu UNIX, zostały one skrócone i konwencje te zawieszają się.
cd
– Przenosi użytkownika do strony głównej, a także cd ~
cd..
– Powoduje powrót do poprzedniego katalogu. Począwszy /home/user/Desktop
od nas, cd..
możesz zacząć /home/user
. Można go rozwinąć, do cd ../../
którego zostaną przywrócone dwa katalogi./home
cd foldername/
– Przenosi do określonego folderu w bieżącym folderze.
/
, jest to istotne pominięcie. Jeśli jestem /home/user
i chcę się do tego dostać Desktop
. Muszę pisać cd Desktop/
bez wcześniej /
Desktop
. Wpisanie /
zanim spowoduje umieszczenie nas w katalogu głównym systemu plików, który nie działa.
cd /some/other/path
– Przenosi do ścieżki określonego folderu. Jeśli ścieżka jest prawidłowa. Pamiętaj, że klawisz można użyć do automatycznego TAB
kompletu.
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
- Wyświetla rozmiar plików w formacie czytelnym KB, MB, GB,
dla człowieka zamiast bajtów. Najczęściej jest on używany z flagą -l
.
Pliki można wyświetlić w katalogach, w których się nie znajdują. Jeśli jestem i /home/user/Desktop
chcę wyświetlić plik, /home/user
mogę to zrobić ls ../
, aby wyświetlić pliki z powrotem w jednym katalogu.
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, staje się cp *.doc /path/to/folder
on i folder musi istnieć.
cp name* /path/to/folder
– Kopiuje wszystkie pliki zaczynające się name
od danego folderu. Aby skopiować wszystkie pliki rozpoczynające example
się od tej wersji, staje się cp example* /path/to/folder
on i folder musi już istnieć.
Składnia jest podobna do powyższego mv
przykładu z wyłączeniem cp
na przykład nr 2. mv
nie zajmuje flagi, -r
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 przy użyciu rm
jest trwałe. Nie korzysta z kosza. Należy zachować ostrożność i upewnić się, że usuwasz dokładnie to, co chcesz, przed naciśnięciem klawisza Enter
. Nadmierne 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.
W terminalu można edytować pliki nano
, aby wykonywać szybkie i nierówne pliki aż do pełnej konfiguracji. Może to być przydatne, ale obsługuje zwykłe pliki tekstowe i pliki programujące, więc takie rzeczy jak dokumenty programu Microsoft Word nie otwierają się prawidłowo.
Jeśli root jest właścicielem pliku, zwykły użytkownik nie może go edytować. nano
muszą być poprzedzone sudo
; w celu zapisania zmian. W przeciwnym razie otwiera 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 CTRL+O
jednocześnie klawisze i zmień nazwę lub naciśnij klawisz, Enter
aby zachować tę samą nazwę. Spowoduje to zapisanie pliku.
Wyjdź nano
, używając wspólnych CTRL+X
klawiszy. W przypadku niezapisanych zmian zostanie wyświetlone 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żyj mkdir -p
obu katalogów 1stfolder,
i 2ndfolder
.
ps aux
– Wyświetla szczegółowe informacje o wszystkich procesach uruchomionych na komputerze. Obejmuje to użytkownika, identyfikator PID,
procesu i nazwę procesu. Za pomocą tego polecenia 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 należy uzyskać za pomocą polecenia takiego jak ps aux
. Jeśli proces nie chce zostać przerwany, można również określić kill -9 PID
, który z nich powinien zakończyć proces w jakikolwiek sposób.
killall program
- Killall
umożliwia by name
zabicie wszystkich instancji listed program
. Jeśli na przykład są otwarte 3 sesje przeglądarki internetowej Firefox, killall Firefox
należy dokładnie to zrobić i wszystkie sesje Firefox. kill
pobranie określonego numeru PID procesu powodującego problemy z przeglądarką Firefox, który chcesz usunąć i usunąć tylko ten jeden.
xkill
to sposób graficznego interfejsu użytkownika na zabicie okien kliknięciem. Wpisanie xkill
powinno wywołać ikonę strzałki i krzyżówki, a następne kliknięcie okna zostanie zabicie.
Pipes
są wyświetlane jako straight bar,
inne, znane jako |
klawisze.
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 wykorzystania, ponieważ są na nich zapisane woluminy.
>
jest używany do overwrite
zawartości istniejących plików poprzez zastąpienie ich wynikami z nowego polecenia.
>>
służy do append
uzyskiwania 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 zastępuje bieżącą zawartość pliku.
tee
jest używany wraz z poleceniem |
w celu wykonania polecenia wyjściowego i wysłania go 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
, które wyświetli początkowe informacje o rozruchu. Wysyła |
dane wyjściowe dmesg
do tee
, które następnie wykonuje swoje zadanie, wysyłając je do terminalu i do pliku boot.txt
dziennika.
Czy chcesz uruchomić plik w bieżącym katalogu po oznaczeniu go jako wykonywalny? Operator ./
może uruchomić plik jako normalny użytkownik, pod warunkiem, że nie są potrzebne uprawnienia użytkownika root. ./
dosłownie oznacza, że in the current directory
nie działa on na plikach poza obecnym katalogiem.
Jeśli chcesz uruchomić plik nie w bieżącym katalogu, należy przekazać ścieżkę do właściwego uruchomionego programu. Jeśli jest to program Python, jest python /path/to/file
i jeśli jest to plik powłoki, jest sh /path/to/file
to przykład. Istnieją inne programy, ale są one najczęściej spotykane.
Jeśli chcesz uruchomić plik z uprawnieniami root, ponieważ został odebrany operation not permitted?
. Polecenie należy poprzedować poleceniem sudo
. Podobnie jak w powyższym przykładzie, sudo python /path/to/file
uruchamia skrypt z uprawnieniami root.
Jeśli chcesz uruchomić program GUI z terminalu, wpisz nazwę case sensitive!
programu i uruchamia go. Spowoduje to, że bieżący terminal będzie niedostępny. Zamknięcie terminala, gdy program jest otwarty, powoduje również zamknięcie programu. Lepszym sposobem jest wyjęcie w tle programu, użycie program_name
, a następnie wpisanie słowa exit
w terminalu w celu jego zamknięcia i utrzymania procesu.
Jeśli chcesz uruchomić program GUI z uprawnieniami root z terminalu, prefiksuj go gksudo
lub gksu
nie sudo
. Używanie sudo
do uruchamiania aplikacji GUI jest zły nawyk i należy unikać.
Użyj not
tylko sudo
dlatego, że pojawia się Operation not permitted.
jakiś problem Należy pamiętać, że komputery można uruchamiać destroy
polecenia w niewłaściwym miejscu z uprawnieniami użytkownika root. Upewnij się, że pliki pochodzą z wiarygodnego źródła.
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
dokładnie to robi. Chcesz obliczyć rozmiar bieżącego folderu? du -cksh
.
Chcesz oznaczyć plik jako wykonywalny? chmod +x filename
czy to robi.
Musisz zamontować obraz ISO? System Linux ma wbudowaną funkcję. Utwórz katalog w miejscu, powiedz /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 należy uruchomić je ponownie, ale nie pamiętasz dokładnie, jak poszło? Wpisz history
w terminalu, aby wydrukować historię poleceń. Chcesz wyczyścić historię? history -c
wyczyszczenia informacji.