- Как открыть текстовый файл в Linux
- Просмотр файла в Linux полностью
- Просмотр файла в Linux с прокруткой
- Просмотр только начала или конца файла
- Просмотр содержимого файла с поиском
- Просмотр файлов Linux в сжатом виде
- Редактирование файлов в Linux
- Выводы
- Как монтировать и размонтировать файловые системы в Linux
- Как вывести список подключенных файловых систем
- Монтирование файловой системы
- Монтирование файловой системы с помощью / etc / fstab
- Установка USB-накопителя
- Монтирование файлов ISO
- Монтирование NFS
- Отключение файловой системы
- Ленивое отключение
- Размонтировать принудительно
- Выводы
Как открыть текстовый файл в Linux
В Linux все настройки, все логи, и почти вся информация хранится в обычных текстовых файлах. Важно уметь правильно и эффективно посмотреть содержимое файла linux с помощью терминала. Это еще одна из статей, ориентированных на новичков.
Вот вы скажете, а что их там открывать, открыл и посмотрел или изменил, и все. Да, но не совсем, терминал Linux настолько гибкий инструмент, что даже обычный просмотр файлов можно очень сильно оптимизировать. Просмотр содержимого файлов Linux — это тоже искусство. В этой инструкции мы рассмотрим все команды, с помощью которых можно открыть текстовый файл linux, поговорим о том как ими пользоваться, а также приведем несколько примеров.
Просмотр файла в Linux полностью
Самая простая и в то же время наиболее часто используемая утилита для просмотра содержимого файла в Linux это cat. Выводит все содержимое файла в стандартный вывод. В параметре нужно передать только адрес файла, или нескольких файлов. Идеально подходит для просмотра небольших файлов. Общий синтаксис команды cat такой:
$ cat опции адрес_файла .
Например просмотр содержимого файла linux /etc/passwd:
Также можно посмотреть сразу несколько файлов:
Если файл доступен только для пользователя root, то нужно перед командой написать sudo:
Опция -n включает нумерацию строк:
Для удобства, можно включить отображение в конце каждой строки символа $
А также отображение табуляций, все табуляции будут заменены на символ ^I:
Больше о ней говорить не будем, потому что большинство её опций направлены на форматирование вывода, более подробную информацию вы можете посмотреть в статье: Команда cat в Linux.
Просмотр файла в Linux с прокруткой
Если файл очень длинный и его содержимое не помещается на одном экране, cat использовать не очень удобно. для таких случаев есть less. Синтаксис тот же:
$ less опции файл
Также ее можно комбинировать с cat:
$ cat адрес_файла | less
Например, посмотрим лог Х сервера:
Теперь мы можем листать содержимое файла в Linux с помощью стрелок вверх-вниз. Для того чтобы выйти нажмите q. Также эта утилита поддерживает поиск. Для поиска по файлу нажмите слеш «/». О более правильном способе поиска мы поговорим дальше.
Просмотр только начала или конца файла
Очень часто нам не нужен файл целиком. Например, достаточно посмотреть несколько последних строчек лога, чтобы понять суть ошибки, или нужно увидеть только начало конфигурационного файла. Для таких случаев тоже есть команды. Это head и tail (голова и хвост).
По умолчанию head открывает текстовый файл в Linux и показывает только десять первых строчек переданного в параметре файла:
Можно открыть сразу два текстовых файла в Linux одновременно аналогично cat:
Так можно открыть текстовый файл linux или несколько и вывести по десять первых строчек каждого из них.
Если вам не нужны все 10 строчек, опцией -n и цифрой можно указать количество строк которые нужно вывести. Например, 5:
head -n5 /var/log/apt/history.log
Тот же результат можно получить опустив букву n и просто передав цифру в качестве ключа:
head -5 /var/log/apt/history.log
Также можно задать количество байт, которые нужно вывести с помощью опции -с и числа. Например: 45:
head -c45 /var/log/apt/history.log
Тоже хотите подсчитать действительно ли там 45 символов? Используйте команду wc:
head -c45 /var/log/emerge.log | wc -c
Команда tail наоборот, выводит 10 последних строк из файла:
Утилита tail тоже поддерживает изменение количества строк, с помощью опции -n. Но она обладает еще одной интересной и очень полезной опцией -f. Она позволяет постоянно обновлять содержимое файла и, таким образом, видеть все изменения сразу, а не постоянно закрывать и открывать файл. Очень удобно для просмотра логов linux в реальном времени:
Просмотр содержимого файла с поиском
В большинстве случаев нам нужен не полностью весь файл, а только несколько строк, с интересующей нас информацией. Можно выполнить просмотр файла linux предварительно отсеяв все лишнее с помощью grep. Сначала синтаксис:
$ grep опции шаблон файл
$ cat файл | grep опции шаблон
Например выведем из лога только предупреждения:
cat /var/log/Xorg.0.log | grep WW
Но это еще не все, многие не знают, но у этой утилиты еще несколько полезных опций.
С помощью опции -A можно вывести несколько строк после вхождения:
cat /var/log/Xorg.0.log | grep -A2 WW
С помощью -B — до вхождения:
cat /var/log/Xorg.0.log | grep -B2 WW
А опция -С позволяет вывести нужное количество строк до и после вхождения шаблона:
cat /var/log/Xorg.0.log | grep -C2 WW
Также с помощью grep можно подсчитать количество найденных строк:
cat /var/log/Xorg.0.log | grep -c WW
Шаблоном может быть строка и простые спецсимволы замены. Если вы хотите использовать регулярное выражение укажите опцию -e или используйте egrep. Многие спрашивают, а какая разница между этими утилитами — уже никакой, в большинстве дистрибутивов egrep это ссылка на grep -e. А теперь пример:
cat /var/log/Xorg.0.log | egrep ‘WW|EE’
В примерах этого раздела использовались символы перенаправления ввода, подробнее о них можно почитать в этой статье.
Просмотр файлов Linux в сжатом виде
Иногда можно встретить в системе текстовые файлы в сжатом виде, формате gz. Это, например, конфигурационный файл ядра, или логи некоторых программ. Для того чтобы открыть файл в linux через терминал не распаковывая его есть целый ряд аналогов вышеописанных утилит с приставкой z. Это zcat, zless, zgerp, zegrep.
Например, открываем сжатый файл для просмотра:
Или более практичный пример, распаковываем и копируем конфигурационный ядра в текущую директорию:
Так же можно использовать less, для просмотра сжатых файлов с прокруткой:
А для фильтрации сжатых файлов по шаблону есть zgrep и zegrep. Например, ищем в сжатом логе ошибки:
Редактирование файлов в Linux
Довольно часто, обычного просмотра файла недостаточно и в нём надо что-то поправить. Для решения этой задачи cat уже не подойдёт, надо использовать текстовый редактор. В терминале можно пользоваться nano или vim, а в графическом интерфейсе — gedit. Чтобы открыть файл в терминале выполните:
$ nano /путь/к/файлу
Для большинства файлов в директории /etc/ запись доступна только пользователю root. Поэтому команду надо выполнять от имени суперпользователя с помощью sudo. После нажатия клавиши Enter утилита запросит пароль. Введите его, несмотря на то, что символы пароля не отображаются, это нормально. После внесения изменений сохраните их с помощью сочетания клавиш Ctrl + O.
Аналогично, можно открыть этот же файл в текстовом редакторе:
sudo gedit /etc/default/grub
Открывать подобные файлы из файлового менеджера не надо, вы сможете их открыть для просмотра, но при попытке записать в них что-то получите ошибку, лучше пользоваться терминалом.
Выводы
Вот и все. Разобрал все достаточно подробно. Теперь вы точно знаете как правильно открыть файл в терминале Linux. Если остались еще вопросы, оставляйте комментарии.
Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.
Как монтировать и размонтировать файловые системы в Linux
В операционных системах Linux и UNIX вы можете использовать команду mount для подключения (монтирования) файловых систем и съемных устройств, таких как флэш-накопители USB, в определенной точке монтирования в дереве каталогов.
Команда umount отсоединяет (размонтирует) смонтированную файловую систему от дерева каталогов.
В этом руководстве мы рассмотрим основы подключения и отключения различных файловых систем с помощью команд mount и umount .
Как вывести список подключенных файловых систем
При использовании без аргументов команда mount отобразит все подключенные в данный момент файловые системы:
По умолчанию вывод будет включать все файловые системы, включая виртуальные, такие как cgroup, sysfs и другие. Каждая строка содержит информацию об имени устройства, каталоге, в который оно смонтировано, типе файловой системы и параметрах монтирования в следующей форме:
device_name on directory type filesystem_type (options)
Чтобы отобразить только определенные файловые системы, используйте параметр -t .
Например, чтобы распечатать только разделы ext4, которые вы должны использовать:
Монтирование файловой системы
Чтобы смонтировать файловую систему в указанном месте (точке монтирования), используйте команду mount в следующей форме:
mount [OPTION. ] DEVICE_NAME DIRECTORY
После присоединения файловой системы точка монтирования становится корневым каталогом смонтированной файловой системы.
Например, чтобы смонтировать файловую систему /dev/sdb1 каталог /mnt/media вы должны использовать:
sudo mount /dev/sdb1 /mnt/media
Обычно при монтировании устройства с общей файловой системой, такой как ext4 или xfs команда mount автоматически определяет тип файловой системы. Однако некоторые файловые системы не распознаются и требуют явного указания.
Используйте параметр -t чтобы указать тип файловой системы:
mount -t TYPE DEVICE_NAME DIRECTORY
Чтобы указать дополнительные параметры монтирования , используйте параметр -o :
mount -o OPTIONS DEVICE_NAME DIRECTORY
Несколько вариантов могут быть представлены в виде списка, разделенного запятыми (не вставляйте пробел после запятой).
Вы можете получить список всех вариантов монтирования, набрав в терминале man mount .
Монтирование файловой системы с помощью / etc / fstab
Предоставляя только один параметр (каталог или устройство) команде mount , она будет читать содержимое файла конфигурации /etc/fstab чтобы проверить, указана ли указанная файловая система в списке или нет.
Если /etc/fstab содержит информацию о данной файловой системе, команда mount использует значение другого параметра и параметры монтирования, указанные в fstab .
Файл /etc/fstab содержит список записей в следующем виде:
[File System] [Mount Point] [File System Type] [Options] [Dump] [Pass]
Используйте команду mount в одной из следующих форм, чтобы присоединить файловую систему, указанную в /etc/fstab :
mount [OPTION. ] DIRECTORY mount [OPTION. ] DEVICE_NAME
Установка USB-накопителя
В большинстве современных дистрибутивов Linux, таких как Ubuntu, USB-накопители автоматически монтируются, когда вы их вставляете, но иногда вам может потребоваться вручную смонтировать диск.
Чтобы вручную подключить USB-устройство, выполните следующие действия:
- Создайте точку монтирования:
sudo mount /dev/sdd1 /media/usb
fdisk -l
ls -l /dev/disk/by-id/usb*
dmesg
lsblk
Чтобы смонтировать USB-накопители в формате exFAT, установите бесплатный модуль и инструменты FUSE exFAT .
Монтирование файлов ISO
Вы можете смонтировать файл ISO с помощью устройства loop, которое представляет собой специальное псевдоустройство, которое делает файл доступным как блочное устройство.
- Начните с создания точки монтирования, это может быть любое место, которое вы хотите:
sudo mount /path/to/image.iso /media/iso -o loop
Монтирование NFS
Чтобы смонтировать общий ресурс NFS, в вашей системе должен быть установлен клиентский пакет NFS.
- Установите клиент NFS в Ubuntu и Debian:
sudo apt install nfs-common
sudo yum install nfs-utils
Выполните следующие действия, чтобы смонтировать удаленный каталог NFS в вашей системе:
- Создайте каталог, который будет точкой монтирования для удаленной файловой системы:
Добавьте в файл следующую строку, заменив remote.server:/dir IP-адресом сервера NFS или именем хоста и экспортированным каталогом:
# remote.server:/dir /media/nfs nfs defaults 0 0
Отключение файловой системы
Чтобы отсоединить смонтированную файловую систему, используйте команду umount после которой укажите либо каталог, в котором она была смонтирована (точка монтирования), либо имя устройства:
umount DIRECTORY
umount DEVICE_NAME
Если файловая система используется, команда umount не сможет отсоединить файловую систему. В таких ситуациях вы можете использовать команду fuser чтобы узнать, какие процессы обращаются к файловой системе:
Как только вы определите процессы, вы можете остановить их и размонтировать файловую систему.
Ленивое отключение
Используйте параметр -l ( —lazy ), чтобы отключить занятую файловую систему, как только она больше не будет занята.
Размонтировать принудительно
Используйте параметр -f ( —force ), чтобы принудительно размонтировать. Этот параметр обычно используется для отключения недоступной системы NFS.
Обычно не рекомендуется принудительное отключение, так как это может повредить данные в файловой системе.
Выводы
К настоящему времени вы должны хорошо понимать, как использовать команду mount для присоединения различных файловых систем к вашему дереву каталогов и отсоединения монтирования с помощью команды umount .
Чтобы узнать больше о параметрах команд mount и umount , см. Соответствующие страницы руководства.