Ubuntu для чайников
В этой статье кратко изложу небольшой набор полезных навыков, который будет регулярно пригождаться для работы с нодами, да и с убунту-сервером в целом.
Комбинации клавиш
Ctrl+L
— очистить экран, аналог команды clean
.
Ctrl+C
— прервать (убить) текущий процесс, запущенный в терминале на переднем плане.
Ctrl+Z
— приостановить текущий процесс, отправив его в фоновый режим (для возобновления его работы служит команда fg
).
Ctrl+S
— остановить вывод на экран (например вывод лога).
Ctrl+Q
— возобновить вывод на экран.
Tab
— автоматически дописать название вводимого файла, директории, команды или переменной.
Файловая система
cd - переход между директориями
cd [имя директории]
cd ../
pwd - отображение пути к текущей директории
ls - показывает список файлов и папок в директории
ls [опции] [путь к директории]
find - ищет файлы и директории на основе условий.
find путь_к_директории опции
-name
— поиск по имени с учётом регистра;-iname
— поиск по имени без учёта регистра;-type
— тип искомого объекта:-size
— поиск по размеру объекта;-maxdepth
— максимальная глубина поиска;-depth
— начать поиск из самой глубокой директории;-user
— поиск по владельцу;-group
— поиск по группе.
⠀Можно использовать логические операторы:
find . -name "file"
# Подходящие варианты file
find $HOME -name "file*"
# Подходящие варианты file file.txt file32434324324.txt
find $HOME -iname "file*" find $HOME -iname "FiLe*"
# Подходящие варианты file FILE.txt FiLe32434324324.txt
find / -size 20M
# Подходящие варианты Файлы размером ровно 20 Мб
find $HOME -size +20M
# Подходящие варианты Файлы размером 20+ Мб
find $HOME -size +20M -size -30M
# Подходящие варианты Файлы размером 20-30 Мб
find $HOME -iname "file*" -a -iname "*.txt"
# Подходящие варианты File.txt filE_1.txt fiLe32434324324.txt
find $HOME -iname "scr*" -o -iname "*.sh"
# Подходящие варианты scr script script.sh install.sh Launcher.sh
find $HOME ! -iname "*.txt"
# Подходящие варианты Все файлы не имеющие расширение .txt
Работа с пакетами
Пакет — это какое-либо программное обеспечение, готовое к установке на компьютер с Linux. Он содержит собранную программу, информацию о том, какие требуется совершить действия для её установки, информацию о зависимостях, а также другие данные.
sudo apt [команда] [пакет] [опция]
часто используемая опция при работе с нодами -q
— выводить минимум информации при выполнении действий.
update
⠀Обновляет информацию о пакетах (например версию), проходясь по спискам репозиториев, хранящимся в:
sudo apt update
upgrade
⠀Обновляет пакеты до последней версии, полученной при выполнении команды sudo apt update
.
sudo apt upgrade
install
sudo apt install curl -y sudo apt install curl jq bc -y # Определённая версия sudo apt install jq=1.6-1 -y
remove
sudo apt remove curl -y sudo apt remove curl jq bc -y
purge
⠀Удаляет пакеты вместе с настройками или настройки удалённых пакетов.
sudo apt purge curl -y sudo apt purge curl jq bc -y
autoremove
⠀Удаляет неиспользуемые зависимости (дополнительные пакеты для устанавливаемого пакета)
sudo apt autoremove
Интернет в командной строке
При работе в терминале Linux с интернет-ресурсами применяйте следующие команды:
curl [опции] [URL]
#curl -O http://www.gutenberg.org/files/4300/4300-0.txt
wget [опции] [URL]
#wget http://www.gutenberg.org/files/4300/4300-0.txt
Их мы также подтягиваем через apt install:
sudo apt install curl -y
sudo apt install wget -y
Удаление файла
rm - удаляет файлы (в т. ч. ссылки) и директории. Без опций удаляются только файлы.
rm [опции] [путь_1] [путь_2] [...]
rm file rm file script.sh rm -rf file script.sh $HOME/dir
Текст
nano
sudo apt install nano -y
nano [опции] [путь_к_файлу]
-m
— включить поддержку мыши (в MobaXterm становится проблематично копировать и перестаёт работать вставка на ПКМ);-P
— запоминать и восстанавливать позицию курсора во время последнего редактирования;-B
— создать резервную копию файла при сохранении (резервная копия имеет названиеимя_файла~
).
⠀Для удобства управления, помимо поддержки мыши, присутствуют горячие клавиши.
Alt+U
— отменить изменения;Alt+E
— повторить изменения;Ctrl+K
— удалить строку, на которой находится курсор;Ctrl+C
— показать (снизу по центру редактора) на какой строке и символе находится курсор;Ctrl+W
— найти в файле:- Ввести текст;
- Нажать
Enter
; Alt+W
— перейти к следующему совпадению найденного текста;Ctrl+C
— прекратить поиск.Ctrl+\
— поиск и замена текста:Ctrl+S
— сохранить изменения;Ctrl+O
— сохранить как (необходимо ввести название);Ctrl+X
— сохранить как (пропускается, если уже сохранено) и выйти.
# Открытие файла без поддержки мыши nano -P $HOME/text.txt # Открытие файла с поддержкой мыши nano -mP $HOME/text.txt # При сохранении сделать резервную копию файла nano -mBP $HOME/text.txt
Потоки ввода-вывода терминала и переадресация
В терминале Linux работа осуществляется через три потока ввода-вывода: вход (stdin
), выход (stdout
) и ошибка (stderr
).
Данные потоки представлены файловыми дескрипторами. Их также принято считать идентификаторами: 0 для stdin
, 1 для stdout
, 2 для stderr
.
Использование угловых скобок применяется для перенаправления (переадресации) команд и файлов в них и из них:
>
для отправления в поток;<
для получения из потока;>>
для добавления в поток;<<
для непосредственного присоединения потока (используется в «heredoc»);<<<
используется в «herestring» (на сегодняшний день не особо распространенная команда);&
используется для записи в поток, например&1
для записи вstdout
.