Урок 12. как редактировать файл в терминале linux — редактор nano

Общие сведения о кластерах

Сначала нужно вообще разобраться что же такое кластер. Как правило,
кластер состоит из узлов (отдельных компьютеров) и объединяющей их сети. Для
построения сети обычно используется технология Fast Ethernet (100Mbit/sec), но в
простейшем случае (например, создание кластера в домашних условиях или в
демонстративных целях) подойдет и один сегмент Ethernet на 10Mbit/sec.

Обычно кластеры используются научно-исследовательскими организациями для
моделирования различного рода задач или проведения сложных расчетов. Цена
суперкомпьютеров является недоступной большинства для организаций такого рода,
поэтому появилась идея собрать свой «суперкомпьютер» из «подручного материала» —
рабочих станций на базе процессоров Intel. Производительность процессоров
производства Intel сейчас практически достигла уровня процессоров архитектуры
RISC (процессоры Intel включая Pentium III используют архитектуру CISC, а P4 —
VLIW).

Азы файловой системы Linux

Если нужно прочитать какие-то данные или сохранить информацию в файл из консоли, нужно уметь указывать путь до файла. В файловой система Linux нет такого понятия как буквы дисков. Там используется понятие «корень». Обозначается корень символом

После корня указываются папки (в Linux они называются директориями) и файлы. Одни папки могут быть вложены в другие – точно также как в Windows. Вложенные папки и файлы разделяются символом (точно таким же как корень).

Пример указания пути до файла:

/home/mial/book.txt

Эта запись означает, что файл book.txt находится в папке mial, а папка mial находится в папке home.

Как сделать файлы общедоступными Linux Ubuntu

Если компьютер подключен к локальной сети, может возникнуть потребность в общем пользовании каталогом или файлом. Организация общего доступа в Ubuntu возможна с помощью файлового менеджера.

Необходимо кликнуть правой кнопкой мыши по ярлыку каталога и затем выбрать пункт «Общедоступная папка локальной сети». Если его нет – отсутствует дополнение Nautilus Share, которое легко находится в Ubuntu Software Center. После установки менеджер нужно перезапустить.

Далее в диалоговом окне общего доступа появятся различные опции по настройке разрешения, где применение всех пунктов сделает папку доступной для всех компьютеров локальной сети.

Если нужно организовать доступ по имени пользователя и паролю, устанавливается расширение System Config Samba. Через настройки оно позволяет добавить или удалить пользователя, для которого открывается директория.

Подробные инструкции по настройке Samba описаны в видео:

Управление файлами

Создание файлов

> имя_файла
— создание нового файла. Также очистка файла если он уже существует.

ln

— создание жесткой или символической ссылки для файла.

ln 

ln file1.txt file2.txt
— создание жесткой ссылки file1 на индексный дескриптор file2. Проще говоря, еще одно имя для одного и того же файла.

ln -s file1.txt file2.txt
—  создание символической (мягкой) ссылки (file1 будет ярлыком для file2).

mkfifo

— создание именного канала, к которому могут обратится два различных процесса. Именованные каналы FIFO позволяют обмениваться данными с абсолютно чужим процессом.

mkfifo 

mkfifo pipe; ls > pipe; cat
— создаем канал pipe, передаем результат команды в канал, выводим то, что передали в канал. Чтобы увидеть результат — «ls > pipe» и «cat

mknod

— создание файла символьного/блочного устройства или именованного канала FIFO.

mknod

mknod /dev/ttyS0 c 4 64

touch

— изменение времени редактирования файла (часто используется для создания файлов).

touch 

touch -c report.txt
— изменить время изменения файла на текущее или создать файл если его не существует.

touch index.html about.html
— создание двух html файлов (если их не существует).

touch -ad «Jun 19 1994 12:30:21» report.txt
— изменить время последнего доступа к файлу report.txt.

Перенос, копирование и удаление файлов

mv

— переименование файлов. Перенос файлов в другие каталоги.

mv  [файл/каталог] [файл/каталог]

mv oldname.txt newname.txt
— переименование файла в текущем каталоге.

mv essay.txt ~/docs/univer
— перенос файла в другой каталог.

mv -n cat.png ~/pictures/cats
— если файл с именем cat.png уже существует в каталоге ~/pictures/cats, то не перезаписывать его новым файлом.

mv essay.doc /univer/essay_done.doc
— переименование файла с перемещением.

mv *.jpg ~/pictures/photos
— перенести все изображения формата jpg, имена которых начинаются с цифры в каталог ~/pictures/photos.

cp

— копирование файла (с переименованием).

cp  [файл/каталог] [файл/каталог]

cp index.html /var/www/site.ru/www/
— скопировать файл в другой каталог.

cp cat.jpg ~/pictures/kitty.jpg
— копирование файла с его переименованием.

rename

— переименование файлов с использованием масок.

rename  

rename .htm .html *.htm
— изменить расширение .htm на .html для всех файлов с расширением .htm.

rename accepted declined *
— если файл содержит строку accepted, то заменить ее на declined для всех файлов.

rm

— удаление файлов и каталогов.

rm  [файл/каталог]

rm -d ~/pictures/cats
— удаление пустой директории (аналог ).

rm cat.jpg dog.png
— удаление нескольких файлов.

rm -r ~/music/kpop
— удаление непустого каталога вместе с файлами (рекурсивное удаление).

rm -rf *
— удалить все файлы и каталоги в текущей директории.

crm -rf ~/pictures/*.png
— удалить все png файлы без подтверждения удаления.

rm — Frank Sinatra — Let it snow.mp3
— удаление файла с многословным именем, а также файлов с именем, которое имеет знак «-» (имя указывать после ).

scp

— копирование файлов через зашифрованное сетевое соединение между двумя хостами. 

scp 

scp report.txt jane@192.168.0.250:report.txt
— копирование файла на удаленный хост в домашнюю директорию пользователя jane (потребуется ввести пароль для пользователя jane).

scp jane@192.168.0.250:/home/jane/* .
— скопировать все файлы в текущий каталог из домашней директории пользователя jane на удаленном хосте (потребуется ввести пароль для пользователя jane).

scp -r jane@meliorem.ru:/home/jane/music ~/janes_music
— рекурсивное копирование всех файлов и подкаталогов из домашней директории пользователя jane на удаленном хосте (потребуется ввести пароль для пользователя jane).

scp jane@firshost.ru:pricelist.txt john@secondhost.ru:/home/john/docs
— копирование файла с удаленного хоста пользователя jane на удаленный хост пользователя john.

Названия файлов и папок

Я уже упоминал, что в Linux все имена файлов являются регистрозависимыми, то есть вы спокойно можете создать в одном каталоге два файла с одинаковыми именами, но записанными в различных регистрах, например, Ubuntu.txt и ubuntu.txt.

Кроме того, я так же говорил, что вы можете использовать в именах файлов абсолютно любые символы, которые пожелаете, кроме прямого слеша , однако в силу некоторых причин я бы не рекомендовал использовать следующие символы: , а также символы переноса строки и табуляции. Вы можете подписывать свои файлы китайскими иероглифами, рунами, греческими буквами и вообще чем угодно, если вам конечно будет удобно использовать такие имена.

Ну и напоследок ещё раз напомню, что разделителем каталогов в пути к файлу в Linux всегда является символ , в отличие от Windows, в которой используется .

Настраиваем Primary/Secondary — Отказоустойчивый

Основной конфигурационный файл это /etc/drbd.conf который выглядит приблизительно вот так:

По умолчанию,  глобальные и общие секции конфигурации DRBD configuration, в то время как содержат один ресурс в каждой секции.

В нашем примере мы делаем минимальную установку для репликации на два узла. На каждом узле вносим изменения:

Для начала отредактируем  строки заданные по умолчанию в 

Теперь создадим файл /etc/drbd.d/r0.res для наших ресурсов. Создаем один и тот же файл на всех узлах и вносим туда информацию о ресурсах: Что мы сделали и получили:

  • С помощью параметра usage-count мы будем получать статистику использования DRBD.
  • Ресурсы настроены на использование полной синхронизации репликации с Protocol Cunless если явно не указано другое.
  • Наш кластер состоит из двух узлов: mysql1 и mysql2.
  • У нас есть ресурс названный  который использует как низкоуровневое устройство, и настроен на внутренние метаданные.
  • Ресурс использует порт TCP 7789 для своего сетевого подключения, и закреплен за адресами 192.168.152.100 и 192.168.152.110 соответственно.

На всех узлах инициализируем метаданные: Вы увидите что-то вроде:

Далее запустим ресурс и инициализируем выполнение первой репликации, только на первом узле: Для проверки — что у нас все хорошо — посмотрите файл /proc/drbd на обоих узлах. Вы должны увидеть что-то вроде:

Mysql1

Mysql2 

Во время сборки вы можете увидеть уведомление UpToDate/Inconsistent. Все нормально. Вы же делаете первую синхронизацию.

После синхронизации должно измениться UpToDate/UpToDate в логах:

Теперь у нас есть блочное устройство, по имени /dev/drbd1 которое мы можем отформатировать в любую предпочитаемую нами файловую систему. Например мы хотим отформатировать его в ext4 и смонтировать в /var/www:

Теперь монтируем нашу файловую систему:

Как результат — директория /var/www directory смонтирована на drbd системе.

В нашем сценарии настройки Primary/Secondary, мы внедрили систему аварийного восстановления.

В этом случае, если вы попробуете смонтировать файловую систему на втором узле — вы получите ошибку:

root@mysql2:~# mount /dev/drbd1 /var/www/ mount: /dev/drbd1 is write-protected, mounting read-only mount: mount /dev/drbd1 on /var/www failed: Wrong type of media

Это нормально и ожидаемо из-за нашей конфигурации

Теперь симулируем падение узла mysql1, например отключим узел командой отключения питания.

На mysql2 мы увидим что случилось:

Oct 5 13:52:14 mysql2 kernel: drbd r0: PingAck did not arrive in time. Oct 5 13:52:14 mysql2 kernel: drbd r0: peer( Primary -> Unknown ) conn( Connected -> NetworkFailure ) pdsk( UpToDate -> DUnknown ) Oct 5 13:52:14 mysql2 kernel: drbd r0: asender terminated Oct 5 13:52:14 mysql2 kernel: drbd r0: Terminating drbd_a_r0 Oct 5 13:52:14 mysql2 kernel: drbd r0: Connection closed Oct 5 13:52:14 mysql2 kernel: drbd r0: conn( NetworkFailure -> Unconnected ) Oct 5 13:52:14 mysql2 kernel: drbd r0: receiver terminated Oct 5 13:52:14 mysql2 kernel: drbd r0: Restarting receiver thread Oct 5 13:52:14 mysql2 kernel: drbd r0: receiver (re)started Oct 5 13:52:14 mysql2 kernel: drbd r0: conn( Unconnected -> WFConnection )

Узел mysql2 обнаружил что mysql1 мертв и если мы проверим /proc/drbd:

Мы увидим что изменился статус с Secondary/primary на Secondary/unknown. Теперь сделаем трюк, и представим mysql2 как главного. На mysql2 выполняем:

Теперь снова проверим /proc/drbd и увидим магию…

Как видите, наш узел теперь главный и мы можем монтировать всё как обычно.

Теперь предположим что мы решили использовать mysql1 снова, если мы начнем сразу мы получим splitbrain. На самом деле. Посмотрите на логи и ошибки:

Это потому что у нас теперь два главных узла что невозможно в конфигурации Primary/Secondar. Предполагая что на mysql2 уже более свежие данные, мы понизим mysql1 до Secondary.

На mysql1 выполняем:

На mysql2 который выживает со splitbrain  выполняем:

Теперь можете проверить что все пересобралось и работает правильно, но теперь mysql1 — secondary, а mysql2 — primary.

root@mysql1:~# cat /proc/drbd version: 8.4.3 (api:1/proto:86-101) srcversion: 1A9F77B1CA5FF92235C2213 1: cs:SyncTarget ro:Secondary/Primary ds:Inconsistent/UpToDate C r—— ns:0 nr:28224 dw:28224 dr:0 al:0 bm:1 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:229628 sync’ed: 11.2% (229628/257852)K finish: 0:01:04 speed: 3,528 (3,528) want: 6,600 K/sec

Получение информации о системе

df

— отчет об использовании пространства дисковых накопителей.

df 

df -h
— вывод отчета в удобном виде.

du

— отображение дискового пространства, занятого файлами и каталогами.

du 

du -ah /home/janedoe
— отображение размера файлов и каталогов.

du -sh /home/janedoe
— отображение общего размера всех файлов и каталогов.

du -h -d0 *.txt /home/janedoe
— отображение размера только текстовых файлов без заглядывания в подкаталоги (-d0).

du —time -h /home/janedoe
— дополнить вывод временем последнего изменения файла.

free

— отображение занятого пространства оперативной памяти.

free 

free -mt
— занятая оперативная память в мегабайтах со строкой Total.

free -th -s1
— отображение результата каждую секунду.

watch free
— отображение занятой оперативной памяти в реальном времени.

hostname
— имя текущего хоста.

iostat

— статистика использования CPU и операций ввода/вывода.

iostat 

iostat -m
— выводить статистику в мегабайтах.

iostat -N
— вывод имен устройств в статистике.

iostat -p sda
— вывод статистики для группы блочных устройств.

iostat -x
— вывод расширенной статистики.

screenfetch
— информация о системе (не везде предустановлена).

uptime
— время прошедшее после запуска системы.

uname

— информация об ОС.

uname 

uname -a
— полная информация об ОС.

vmstat

— информация об использовании виртуальной памяти.

vmstat 

vmstat 2
— обновление данных каждые 2 секунды.

vmstat -d
— статистика использования дисков.

Разработка определенной конфигурации кластеров высокой надежности (доступности)

Кластеры высокой надежности (КВН) в основном предназначены для защиты ОС от каких-либо сбоев

Следовательно, на первоначальном этапе разработки такого кластера важно найти одиночные точки отказа (single points of failure, SPOFs). Если архитектура ОС предполагает некоторые единичные элементы, отказ которых и приводит к нежелательному отказу всего кластера, – это и есть та самая одиночная точка отказа

Средством от одиночных точек отказа является избыточность. Существует даже некое правило высокой надежности и готовности – «трех «И»: избыточность, избыточность и избыточность!

Ещё несколько полезных сочетаний клавиш для командной строки Linux

  • Ctrl+l для очистки экрана
  • Ctrl+a для перехода в начало введённой команды
  • Ctrl+e для перехода в конец введённой команды
  • Ctrl+u для удаления всего, что стоит до курсора
  • Ctrl+k для удаления всего, что стоит после курсора
  • Ctrl+d для завершения текущего сеанса, закрытия консоли  

Одна из самых часто используемых:

Ctrl+R: Поиск по ранее запущенным командам, начните писать искомую и вам будут предлагаться самые подходящие варианты. Для запуска нажмите ENTER.

Имеется функционал копи-пастинга:

  • Ctrl+W: Вырезать слово перед курсором, добавить его в буфер обмена.
  • Ctrl+K: Вырезать часть строки после курсора, добавить её в буфер обмена.
  • Ctrl+U: Вырезать часть строки перед курсором, добавить её в буфер обмена.
  • Ctrl+Y: Вставить из буфера обмена последнее, что вы вырезали.

Продолжение: «Азы работы в командной строке Linux (часть 2)».

Команда touch

Если вам нужно создать пустой файл в Linux через терминал, то для этого проще всего использовать команду «touch». Команда «touch» является стандартной командой, которая используется в операционной системе Linux для создания и изменения временных меток файла.

Также с ее помощью можно создавать новые файлы. Для этого достаточно просто ввести команду «touch» и через пробел указать название файла, который необходимо создать. Если такого файла не существует, то команда создаст новый, если же файл уже есть, то команда «touch» обновит его временные метки.

При необходимости с помощью «touch» можно создать сразу несколько документов. В этом случае через пробел нужно ввести несколько имен. В терминале Linux это выглядит это примерно так:

touch file.txt

touch file1.txt file2.txt

В дальнейшем, созданный документ можно отредактировать в любом текстовом редакторе. Например, можно использовать редактор Nano или Vim.

Нужно отметить, что у команды «touch» есть много дополнительных параметров для управления временными метками. Например, параметр «-c» позволяет отменить обновление временных меток, если файл уже существует. Чтобы узнать больше введите в терминал команду «man touch».

Шаг 11. Разбить диск на разделы

Последним экраном процесса установки (см. рисунок 12) будет экран разбиения диска на разделы. Можно разбить диск автоматически, либо вручную. Если вы предпочтете автоматическое разбиение, процедура установки разобъет диск следующим образом:

Раздел                            Размер
/                                 16 Гб
/var                              4 Гб
swap                              Сколько ОЗУ на главном узле
/export (aka /state/partition1)   Весь оставшийся диск

Если на вашем главном узле несколько дисков, и вы хотите переразбить диск по-другому, выбирайте Manual Partitioning. Откроется стандартный (Red Hat) экран разбиения диска, где вы сможете разбить диск как вам захочется (но как минимум потребуется 16 Гб на корневой раздел /, а также нужно создать раздел /export). Когда нажмете здесь Next, начнется автоматическая часть установки (см. рисунки 13-15). По завершении установки главный узел перезагружается, и система встречает вас приветственным экраном (см. рисунок 16).



Рисунок 12. Разбиение диска



Рисунок 13. Установка Rocks, момент 1



Рисунок 14. Установка Rocks, момент 2



Рисунок 15. Установка Rocks, момент 3



Рисунок 16. Вход в систему

Исполняемые файлы в Linux

В вопросах исполняемых файлов, то есть, когда по простому, обычных программ, Ubuntu кардинально отличается от Windows. В Windows исполняемые компданные имеют расширение exe (в основном), а внутри представляют из себя нечитаемый набор байтов. А в Ubuntu выполняемым может быть даже текстовый файл. Сразу скажу, что exe — это программы для Windows и в Ubuntu они не трудятся без Wine (приложения для запуска исполняемых файлов Windows в Linux), но вообще говоря и в Wine они трудятся далеко не всегда.

Итак, что же такое исполняемый файл с точки зрения Ubuntu? Практически это любой файл, который помечен, как исполняемый и который Ubuntu сможет запустить на исполнение. Означает это вот что: у каждого файла есть специальное свойство-переключатель, никак не зависящее ни от имени, ни от охватываемого, отвечающее за исполняемость. Если файл помечен, как исполняемый, то вообще говоря он таковым и представляется, а если не помечен — то это обычный файл с данными и напрямую запустить его на выполнение нельзя. Иное дело, что не любой файл, помеченный как исполняемый, Ubuntu сможет выполнить, хотя в запасе Ubuntu есть масса методов запуска файлов с совершенно различным содержимым.

Работа с историей команд

history
— вывод истории команд (хранится в файле )

!!

— повтор предыдущей команды

sudo !!
— повтор предыдущей команды с правами root.

!число

— повтор команды под определенным номером. Номер можно узнать командой .

!1005
— повтор команды под номером 1005.

!строка

— повтор последней команды, которая начинается с слов указанных в строке.

!he
 => help script

!r
 => rm -rf .* (будьте осторожны применяя эту команду!)

!?строка

— повтор последней команды, которая содержит слова указанные в строке.

!?dir
 => mkdir books

!?dir
 => rmdir songs (будьте осторожны применяя эту команду!)

script

— запись сессии терминала в файл. Для остановки записи введите —

script 

script session_record.txt
— запись сессии терминала в файл session_record.txt.

script -c «mkdir pictures» session_record.txt
— запись одной команды в файл.

Команда less.

В общем виде команда less выглядит следующим образом:

Откроем текстовый файл для просмотра:

Кнопки для управления просмотра текста:

стрелка_вверх Переместиться на одну строку вверх
стрелка_вниз Переместиться на одну строку вниз
PageUp Переместиться на одну страницу вверх
PageDown Переместиться на одну страницу вниз
SPACE Переместиться на одну страницу вниз
ENTER Переместиться на одну строку вниз
d Переместиться на полстраницы вниз
b Переместиться на одну страницу вверх
h Помощь
q Выход

Удобно искать слова в тексте.

Поиск текста вниз.

Просто набираем слеш / и вводим любой текст для поиска. Клавиша n – переход к следующему найденному тексту. Клавиша N – переход к предыдущему найденному тексту.

Обратный поиск.

Просто набираем ? (знак вопроса) и вводим любой текст для поиска. Клавиша n – переход к следующему найденному тексту. Клавиша N – переход к предыдущему найденному тексту.

Для перехода в начало документа используется клавиша g, для перехода в конец документа — G. Кроме того, мы можем перейти на определенную строку введя число и g, к примеру, 50g переведет нас на 50 строку.

Для того, чтобы открыть в редакторе просматриваемый файл, то нужно нажать клавишу v.

Для того, чтобы отобразить номера строк в файле, можно указать опцию -N или ввести её прямо во время просмотра:

Кроме того, команды less и more можно использовать для просмотра стандартных потоков вывода (подробнее о них в 3-ей статье). Для этого нужно указать в конце команды: | less или | more.

К примеру, хотим просмотреть список установленных приложений постранично:

При просмотре стандартного потока вывода, как в команде выше, если нажать s, то можно сохранить этот просматриваемый поток вывода в файл.

Ну и последнее, что хочется упомянуть, что если нажать F, то курсор будет переведён в конец файла и будет ожидание добавления новых строк (аналогично команде tail -f).

Команды head и tail.

Как не трудно догадаться по названиям (легко запомнить), то команда head отображает «голову» текстового файла, а tail — его «хвост». Они очень простые в использовании, давайте рассмотрим их более подробнее.

Текстовые файлы

Текстовые файлы в Ubuntu повсюду. Все настройки хранятся в виде текстовых файлов, исходные коды всех программ представляют из себя текстовые файлы, многие программы в Ubuntu являются на самом деле скриптами, то есть тоже текстовыми файлами. И естественно Ubuntu умеет работать с текстовыми файлами как угодно. И этой темы даже не пришлось бы касаться, если бы не одна проблема операционных систем Windows. Дело в том, что в Windows до сих пор кое-где ещё используется устаревший в 90-х прошлого столетия способ сохранения обычного текста, в частности, в текстовых файлах.

На самом деле большинство файлов откроется в стандартном текстовом редакторе Ubuntu без проблем, но всё же иногда попадаются файлы, которые отображаются «кракозябрами». В этом случае необходимо немного помочь Gedit и указать кодировку файла вручную

Для этого закройте в редакторе вкладку с нечитаемым файлом, затем выберите в меню программы пункт «Открыть», найдите свой файл и обратите внимание на поле «Кодировка символов», находящееся внизу диалогового окна открытия. В этом поле необходимо указать нужную кодировку, после чего файл откроется уже в пригодном для чтения виде

Кстати, рекомендую такие файлы сразу сохранять в , дабы в дальнейшем не возникало с ними проблем.

Существуют и более лёгкие способы работы с кодировками, например, плагин для Gedit, позволяющий менять кодировку у открытых файлов без необходимости их переоткрывания. Кроме того, существуют утилиты для автоматического перекодирования файлов в , например, . Можно также управлять механизмом автоопределения кодировки в Gedit, это делается через редактор конфигурации, про который я немного расскажу в одной из последних статей.

Напоследок хочется сказать, что очень рекомендуется так или иначе перевести всю текстовую информацию на использование , поскольку фактически только эта кодировка нормально распознаётся везде и всегда, а в будущем скорее всего только она и будет использоваться.

Права на папку Ubuntu

После создания каталога в Linux для нее задают права доступа по умолчанию, разрешающие выполнять с ней различные операции.

Средства Linux позволяют наложить ограничения на пользование папкой. Для просмотра установленных разрешений применяют команду ls-lt. Результатом ее выполнения является подобная запись:

Здесь d инициализирует namedir как директорию, а каждый последующий символ подразумевает соответствующее действие:

  • r – чтение;
  • w – запись в папку;
  • x – выполнение.

Запись можно разделить на три части. Первые 3 символа устанавливают разрешения для создателя директории, следующие – задают групповые права для файла, указанного в имени группы. Последний набор символов – разрешения для всех остальных пользователей. По приведенному выше примеру ясно, что владелец может выполнять с папкой любые действия, в то время как для групп и посторонних закрыта возможность записи.

Для редактирования разрешений доступа к папке или файлу используют команду chmod. Она оперирует тремя цифровыми значениями:

  • 4 – открывает доступ к чтению;
  • 2 – позволяет осуществлять запись;
  • 1 – разрешает выполнение.

Для одновременного открытия нескольких прав цифры суммируются

Важно помнить, что права делятся на три категории: владелец, группа, остальные пользователи. Чтобы позволить только группе читать папку и записывать в нее информацию, в терминале задается следующая команда:

Изменение управляющей папкой группы реализуется командой chgrp. Сначала следующим образом создается учетная запись группы:

Теперь можно передать группе управление папкой:

Основные команды Ubuntu

Основные операции в любой операционной системе связаны с файлами.

Создать файл в Ubuntu

Самый простой способ – с помощью редактора Nano. Следует ввести запись: nano файл.txt.

Более сложный редактор – программа vim. Выражение аналогично: vi файл.txt. Однако следует знать, что есть разные режимы ввода выражения: вставка и командный. С помощью кнопки Esc можно переключаться из одного режима в другой. Для выхода из второго варианта следует нажать :q, а для сохранения этого документа – :w.

Еще более простой вариант создания файла – способ его введения с помощью оператора перераспределения: > файл. Дальше можно вводить любые знаки. Для сохранения нужно нажать клавиши Ctrl, D.

Как открыть файл через терминал Ubuntu

Для открытия документов есть 2 утилиты: cat и tac. Одна выводит данные в прямом порядке запроса, а другая – в обратном. В этом их существенная разница. Язык же выражений у этих утилит одинаков. В целом запрос запишется так: утилита – опции –адрес_файла.

Редактирование файла в терминале Ubuntu

Есть в линукс для этого 2 программы: nano и vim. Первая для новичков, вторая для профессионалов. Их отличия:

  1. Nano. Перемещение по исследуемому объекту осуществляется с помощью стрелок. Для сохранения документа следует нажать кнопки Ctrl, O, а для выхода – Ctrl,X.
  2. Vim. Это более гибкая система. Здесь есть 2 режима: вставки и командный. Они дают множество различных привилегий для работы с такими документами.

Выше описаны пути входа в эти редакторы.

Как скопировать файл через терминал Linux

Для перемещения документа из одного каталога в другой достаточно ввести запись: mv ~/test1.txt ~/Documents/test1.txt.

Для простого копирования нужно просто заменить mv на cp.

Как удалить файл через терминал Ubuntu

Следует понимать, что в системе Линукс удаляются объекты окончательно.

Есть 2 выражения для этого процесса: с помощью rm, rmdir. Первая удаляет конкретный документ, а вторая папку (только в том случае, если она полностью пустая).

Команда перезагрузки в Ubuntu

В этом случае следует открыть терминал, ввести соответствующую запись. Ввести пароль и нажать Enter.

Еще один способ перезагрузки – нажать кнопку на панели и выбрать соответствующий пункт.

Выключение через консоль Ubuntu

Самый простой случай – использование сочетаний клавиш SysRq.

Еще можно использовать выражение shutdown. В общем виде запись будет представлена так: $ shutdown .

Перемещение и переименование

В Bash-оболочке Linux для перемещения и переименования используется одна и та же команда – mv (от «move» – перемещать). Переименование можно рассматривать как частный случай перемещения, ведь по-сути изменяется полный адрес файла, что равносильно перемещению, даже если файл остается в том же каталоге.

Также как в случае cp, для mv необходимо указать пару аргументов. Выбор между перемещением и переименованием зависит от того, что это за аргументы. При перемещении файл меняет свой адрес, следовательно, если в первом и втором аргументах указаны разные адреса, то произойдет перемещение. Если адреса одинаковые, а различаются только имена, происходит переименование. Кроме того, перемещение может быть совмещено с переименованием.

В случае перемещения без переименования во втором аргументе указывается только каталог места назначения.

Здесь в первом случае файл document.txt перемещается в каталог Work. Во-втором случае одновременно происходит перемещение файла и его переименование: файл document.txt перемещается в директорию Work и получает новое имя doc23.txt.

При использовании команды mv для переименования в качестве второго аргумента указывается новое имя:

Каталоги перемещаются и переименовываются по тому же принципу, что и файлы. Групповое перемещение файлов работает также, как с командой cp.

Ссылка на основную публикацию