У цій статті я пояснюю, як використовувати команди Термінала, щоб надати інформацію про деякі команди та про те, що вони роблять.
Я також наводжу приклади для ілюстрації процесу.
Інструмент командного рядка є потужним. Існують інструменти, які вимагають виснажливої роботи в графічному інтерфейсі користувача (UI) і перетворюють її на завдання, яке займає кілька секунд. Видалення останніх чотирьох рядків у кожному рядку великого файлу було б тривалим процесом у програмі інтерфейсу користувача. Однак він може стати автоматизованим у командному рядку.
Найпоширенішими способами відкриття вікна терміналу в Ubuntu Linux є:
Існує багато команд, які пов'язані з оболонкою терміналу в Ubuntu Linux. У статті нижче перераховані найбільш часто використовувані, під групами, на які вони впливають.
Існує три основні команди, які використовуються для надання всієї інформації, необхідної для використання різних команд терміналу.
У команді man відображається посібник для будь-якої команди, яка використовується в Терміналі.
Більшість команд оболонки приймають різні параметри. Щоб отримати деякі відомості про команду та список доступних параметрів, скористайтеся командою man
- скорочення від manual command . Вкажіть ім'я команди, про яку ви хочете дізнатися більше, як її аргумент. Саме це і є командою man
команда працює на.
Приклад: Якщо ви введете команду man who
, відображається наступний вихід.
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
Багато посібників мають довжину в кілька екранів. Скористайтеся курсором або ARROW
або клавіші «Page Up» і «Page Down » для навігації по тексту. Клавіша пробілу показує наступний рядок тексту. Натискання клавіші q закриває інструкцію та повертається до оболонки.
На сторінці довідника (man) ми можемо бачити, що ми можемо використовувати метод -a
опція для відображення додаткової інформації про активні сесії користувача.
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]$
Він також читає файли довідки для програм, man
Команда також може надавати інформацію про оболонки, функції та бібліотеки.
Якщо ви не впевнені, як використовувати певну команду, запустіть команду за допомогою кнопки -h
або –help
Перемикачі. Ви побачите інформацію про використання та список параметрів, які можна використовувати за допомогою цієї команди.
Приклад: Якщо ви хочете знати, як користуватися wget
команда, введіть wget –help
або 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:
При цьому на термінал часто виводиться багато інформації. Прокручування може бути громіздким для прокручування. Щоб легше читати виведені дані, ви можете pipe
це за допомогою команди less . Що дозволяє прокручувати його за допомогою курсору або клавіш зі стрілками на клавіатурі.
Приклад: 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.
:
Натисніть q , щоб закрити утиліту less, коли ви закінчите.
Щоб знайти конкретний варіант, ви можете pipe
Вихід через grep
команда. (Наприклад: За допомогою наведеної нижче команди знайдіть варіанти, які містять це слово 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:~$
Деякі команди також задокументовані всередині файлу info
система. Наведена тут інформація доповнює те, що man
відображає команди.
Приклад: Вводимо команду info ls,
Відображається наступний вихід.
[support@support]$" info ls
Тепер ви можете переглянути посібник з важливою інформацією про 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.
Ви можете прокручувати сторінку вниз, натискаючи клавішу пробілу або використовуючи курсор.ARROW
Ключі.
help
, натисніть Hquit
, натисніть Q
У терміналі ви можете робити майже все, що ви б також робили з інтерфейсу користувача.
Як було сказано раніше, багато команд були розроблені спочатку для роботи в терміналі, а потім зверху був поставлений призначений для користувача інтерфейс. Ось чому деякі графічні інтерфейси можуть здатися незграбними - спочатку вони були запізнілою думкою, оскільки більшість збірок Linux Server не турбуються про них.
За замовчуванням ваш термінал, який відкривається з меню, знаходиться у вашій домашній папці. Відомий як ~
Ви можете знайти свій поточний каталог за допомогою .
Оператор. Більшість команд чутливі до регістру, коли вони діють на поточний вибір папки, оперують командами, розташуваннями та файлами. /home
не є тим самим, що /HOME
або /Home
.
Використовуйте клавішу TAB для заповнення імен файлів, якщо у вас довгий заголовок драйвера. driver-128947232jaseu.sh
Наприклад, наберіть dri
І вона входить в інші. За умови, що у вас немає двох імен, що починаються з dri
І якщо ви це зробите, додайте ще одного персонажа, щоб зробити це driv
і повторити спробу. Переконайтеся, що авто повністю відповідає тому, що ви хочете бачити.
Майже про будь-яку команду можна прочитати повністю за допомогою man
або набравши текст -h
або --help
після написання початкової команди. Цей синтаксис має такий вигляд: man command_name
, command_name -h
або command_name --help
.
Щоб отримати ще більше інформації, ви можете використовувати info. Команду можна знайти за допомогою команди info command_name
. Для більшості цих команд, які є частиною пакета coreutils. Ви можете знайти info
а також за допомогою info coreutils command_name
виклик там, де команда, яку шукали замінює command_name
.
Практично будь-яка команда може показати, що саме відбувається, крок за кроком. Зазвичай це -v
або --verbose
.
Ви можете вказати кілька прапорців команд для команди одночасно, щоб отримати більше інформації. Дивись ls -al
Приклад нижче.
Назви команд не завжди очевидні - через обмеження простору в старі часи UNIX вони були скорочені і ці домовленості прижилися.
cd
- Переселяє вас назад до вашого дому, так само, як cd ~
cd..
- Повертає вас на одну директорію назад. Починаючи з /home/user/Desktop
, cd..
змушує вас занурюватися в /home/user
. Це можна розширити до cd ../../
що переміщує вас на два каталоги назад до /home
.
cd foldername/
- Перемістіть вас вперед до вказаної папки у вашій поточній папці.
/
, це важливе упущення. Якщо я перебуваю в /home/user
і я хочу дістатися до Desktop
. Я мушу друкувати cd Desktop/
без /
Перед Desktop
. Набравши /
перед цим поміщає нас у корінь файлової системи, що б не працювало.
cd /some/other/path
- Переведе вас за вказаним шляхом до папки. Якщо ви правильно обрали шлях. Не забувайте, що ви можете використовувати TAB
для автозаповнення.
ls
- Відображає всі ваші файли в поточній папці.
ls -l
- Надає довший список, включаючи власників, дозволи, розмір і дату зміни.
ls -a
- Відображає приховані файли та папки, а також звичайний список.
ls -al
- Поєднує в собі два варіанти відображення як прихованих файлів, так і папок і робить це в довгому форматі.
ls -h
- Показує розміри файлів у зручному для читання форматі KB, MB, GB,
розміри файлів замість байтів. Найчастіше він використовується з -l
прапор.
Ви можете переглядати файли в каталогах, в яких ви навіть не перебуваєте. Якщо я перебуваю в /home/user/Desktop
і я хочу переглянути файл у /home/user
, я можу зробити ls ../
який перелічує файли на один каталог назад.
cp file /path/to/folder
- Копіює вказаний файл за вказаним шляхом.
cp -r folder /path/to/folder
- Багаторазове копіювання вмісту папки в іншу папку.
cp *.extension /path/to/folder
- Копіює файли, що відповідають заданому розширенню, в нову папку. Щоб скопіювати всі .doc файли, стає cp *.doc /path/to/folder
і папка повинна існувати.
cp name* /path/to/folder
- Копіює всі файли, що починаються з name
до вказаної папки. Щоб скопіювати всі файли, що починаються з example
, він стає cp example* /path/to/folder
І папка вже повинна існувати.
Синтаксис mv
аналогічно до наведеного вище прикладу з cp
звільнений, наприклад, #2. mv
не приймає -r
оскільки переміщення папки також переміщує її вміст. Синтаксис не є точним у всіх випадках, але працює з наведеними вище прикладами. Зверніться до ваших сторінок підручника для отримання більш детальної інформації.
Видалення файлів за допомогою rm
є постійним. Він не використовує відро для сміття. Використовуйте це з обережністю та переконайтеся, що ви видаляєте саме те, що вам потрібно, перш ніж натиснути кнопку Enter
ключ. Якщо ви занадто ускладните свої команди видалення, це ніколи не закінчиться добре.
rm file
- Видаліть цей конкретний файл із комп'ютера.
rm -r folder
- Видаліть цю конкретну папку з комп'ютера.
rm -rf folder
- Примусово видаляє цю конкретну папку з комп'ютера. Ця команда може зіпсувати вашу конфігурацію, якщо її використовувати неправильно.
Ви можете редагувати файли за допомогою nano
у терміналі для виконання швидких і грубих файлів аж до повних конфігурацій. Він може бути корисним, але обробляє звичайні текстові файли та файли програмування, тому такі речі, як документи Microsoft Word, не відкриваються належним чином.
Якщо файл належить руту, звичайний користувач не може його редагувати. nano
має бути з префіксом sudo
; для того, щоб зберегти зміни. В іншому випадку він відкривається в режимі лише для читання.
nano newfile.whatever
вказаного імені та відкриває його для редагування.
nano existing_file
- відкриває існуючий файл для редагування.
Зсередини nano
Збережіть файл, натиснувши кнопку CTRL+O
і або змініть назву, або натисніть кнопку Enter
, щоб зберегти ту саму назву. Це збереже файл.
Вийти nano
за допомогою методу CTRL+X
ключі разом. Якщо у вас є незбережені зміни, він запитає, чи хочете ви їх зберегти.
mkdir folder_name
- Створює папку з вказаним ім'ям
mkdir -p /path/to/folder/name
- Створює кожну папку в міру необхідності. Створення папки /home/user/1stfolder/2ndfolder
, і тільки /home/user
існує, використовуючи mkdir -p
робить обидва каталоги 1stfolder,
і 2ndfolder
.
ps aux
- Докладно перераховуються всі процеси, запущені на комп'ютері. Це включає користувача, ідентифікатор процесу PID,
та найменування процесу. Використовуючи це, ви можете переглянути список процесів, і при необхідності ви можете знищити непотрібні або зупинені процеси.
kill PID
- PID – це число, що позначає процес правопорушення. Ви повинні отримати PID за допомогою команди, подібної до ps aux
. Якщо процес відмовляється вмирати, ви також можете вказати kill -9 PID
які повинні будь-якими способами припинити процес.
killall program
- Killall
Вбиває by name
Всі екземпляри listed program
. Якщо, наприклад, відкрито 3 сеанси інтернет-браузера Firefox, killall Firefox
робить саме це, вбиває всі сеанси Firefox. kill
візьме вказаний PID процесу-порушника Firefox, який ви хочете вбити, і вб'є лише цей.
xkill
— це спосіб інтерфейсу користувача для натискання та завершення роботи Windows. Введення тексту xkill
має викликати піктограму у вигляді черепа та схрещених кісток, і наступне вікно, на яке ви натиснете, буде припинено.
Pipes
відображаються у вигляді straight bar,
інакше відомий як |
ключ.
Це рідко використовувана клавіша в Windows, але вона часто зустрічається на клавіші зворотної косої риски.
Вони використовуються для зв'язування команд між собою. Pipes
Візьміть вихідні дані однієї команди та спрямуйте їх для використання як вхідних даних для другої команди, коли вони з'єднані разом.
Зверніться до онлайн-ресурсів для отримання додаткової інформації про pipes
і їх використання, так як є томи, які на них написані.
>
звик до overwrite
вміст існуючих файлів шляхом заміни їх виводом з нової команди.
>>
звик до append
інформацію до існуючих файлів. Це корисно для ведення журналу дій.
Example:
ps aux > processes.log
надсилає вихідні дані ps aux
до файлу processes.log
для перегляду команда виводиться в текстовий редактор і перезаписує поточний вміст файлу.
tee
використовується разом з |
для того, щоб взяти вихідну команду і відправити її кудись ще. Це корисно, якщо є помилки, які ви пропустили. Таким чином, все, що відбувається на екрані, також записується у файл.
Приклад: dmesg
| tee boot.txt
виконає команду dmesg
який показує початкову інформацію про завантаження. Об'єкт |
надсилає вихідні дані dmesg
до tee
, який потім виконує свою роботу, відправляючи його в термінал і в файл журналу boot.txt
.
Ви хочете запустити файл у поточному каталозі після того, як він позначений як виконуваний? Об'єкт ./
Оператор може запустити файл від імені звичайного користувача за умови, що вам не потрібні root-права. ./
У буквальному перекладі означає in the current directory
тому він не працює з файлами за межами поточного каталогу.
Якщо ви хочете запустити файл не в поточному каталозі, то ви повинні передати шлях до відповідної запущеної програми. Якщо це програма на Python, то це python /path/to/file
а якщо це файл оболонки, то це sh /path/to/file
Як приклад. Є й інші програми, але ці найпоширеніші.
Якщо ви хочете запустити файл з root-правами, тому що ви отримали operation not permitted?
. Перед командою має бути написано префікс sudo
. Як і в наведеному вище прикладі, sudo python /path/to/file
запускає скрипт з root-правами.
Якщо ви хочете запустити програму з інтерфейсу користувача з терміналу, то наберіть ім'я програми - case sensitive!
І він запускається. Це робить поточну клему непридатною для використання. Закриття терміналу, коли програма відкрита, також припиняє роботу програми. Кращим способом є фоновий фон програми, використовуючи program_name
а потім надрукувавши слово exit
на терміналі, щоб закрити його та продовжити процес.
Якщо ви хочете запустити програму з інтерфейсом користувача з root-правами з терміналу, то додайте до неї префікс gksudo
або gksu
а не sudo
. Використання sudo
Запуск додатків з інтерфейсом користувача є поганою звичкою, і її слід уникати.
Робити not
використання sudo
Тільки тому, що щось підводить Operation not permitted.
Майте на увазі, що ви можете destroy
комп'ютерів, запустивши команди в недозволеному місці з root-правами. Переконайтеся, що ваші файли надходять із надійних джерел.
Загубилися в каталозі? Тип pwd
для друку робочої директорії.
Хочете розрахувати місце на диску? df -h
може дати вам швидку фігуру.
Хочете розрахувати розмір папки або файлу? du -cksh target_name
робить саме це. Хочете розрахувати розмір поточної папки? du -cksh
.
Потрібно позначити виконуваний файл? chmod +x filename
робить це.
Вам потрібно монтувати iso? Linux має вбудовану цю функцію. Створіть десь каталог, скажімо, /home/user/isomount
і віддати команду mount -o loop /path/to/myisofile.iso /home/user/isomount
і вміст монтується всередині цієї папки.
Виконавши команду, ви повинні запустити її заново, але ви не можете згадати, як саме вона пройшла? Тип history
у терміналі, і він роздрукує історію ваших команд. Хочете очистити свою історію? history -c
стирає інформацію.