ИТ База знаний
Полезно
— Онлайн генератор устойчивых паролей
— Онлайн калькулятор подсетей
— Руководство администратора FreePBX на русском языке
— Руководство администратора Cisco UCM/CME на русском языке
— Руководство администратора по Linux/Unix
Навигация
Серверные решения
Телефония
FreePBX и Asterisk
Настройка программных телефонов
Корпоративные сети
Протоколы и стандарты
Linux: команды для работы с файлами и директориями
Во многих наших статьях проскакивают различные команды, связанные с файловыми манипуляциями – создание директорий, файлов, установка пакетов и т.д. В данной статье мы решили начать повествование последовательно.
Онлайн курс по Linux
Мы собрали концентрат самых востребованных знаний, которые позволят тебе начать карьеру администратора Linux, расширить текущие знания и сделать уверенный шаг к DevOps
Основы
Итак, в Linux в отличие от Windows существует понятие полного и относительного пути. Разница между ними в том, что полный путь всегда начинается с корневого каталога (корневой каталог обозначается как /), и далее также через слеш происходит перечисление всех названий каталогов на пути к искомому файлу или директории, а в случае относительного пути – в начале слеш не указывается. То есть без слеша путь указывается относительно нынешнего местоположения, а со слешем – относительно корневого каталога. Примеры:
Ниже вы встретите часто используемые команды для работы с файлами, архивами и установкой программ.
Команды для работы с файлами и директориями
Команд довольно много, я перечислю самые, на мой взгляд, часто используемые:
В примере выше, команда tail вывела только последние 11 строк.
Работа с архивами
Работа с .tar архивами – очень часто встречающаяся задача, поэтому хотим привести несколько полезных команд, чтобы не пришлось лишний раз пользоваться поисковиком 
Про жёсткие диски

Онлайн курс по Linux
Мы собрали концентрат самых востребованных знаний, которые позволят тебе начать карьеру администратора Linux, расширить текущие знания и сделать уверенный шаг к DevOps
Работа с файлами и каталогами в Linux
Введение
В этом руководстве для начинающих пользователей мы ознакомимся с основными командами для работы с файлами и каталогами (иногда их еще называют директориями) в Linux-системах.
Требования
Cервер с Ubuntu 20.04
Все команды, описанные ниже, будут работать и в других дистрибутивах Linux.
Расположение каталогов в файловой системе
При входе на сервер, вы, как правило, попадаете в домашний каталог вашей учетной записи, отведенный для хранения файлов и создания директорий.
Для того чтобы узнать, где располагается каталог, в котором мы сейчас находимся, используется команда:
Результат выполнения команды выглядит следующим образом:
Домашний каталог располагается после имени учетной записи пользователя, в приведенном примере он называется /demo. Этот каталог находится в каталоге с именем /home и в каталоге верхнего уровня, который называется root или корневой каталог, поэтому представлен одной косой чертой /.
Просмотр содержимого каталогов
Для просмотра содержимого каталога используется команда ls. Название этой команды является сокращением слов list files.
Просмотреть содержимое любой директории можно следующими способами:
Либо введя команду:
В результате выполнения команды отображаются файлы и каталоги, находящиеся внутри данного каталога:
К команде ls можно добавлять дополнительные флаги, например, чтобы показать детализированное представление (права, список владельцев файлов или папок, размер, дату последнего модифицирования) файлов и директорий в текущей директории, можно использовать флаг -l:
Результат выполнения команды:
Для просмотра списка всех файлов, включая скрытые файлы и каталоги, вы можете добавить флаг -a:
Результат выполнения команды:
Отобразить содержимое текущей директории с добавлением к именам символов, характеризующих тип, можно с помощью команды:
Результат выполнения команды:
Перемещение между каталогами
Для перехода в домашний каталог используется команда cd. Название этой команды является сокращением слов change directory.
Для перехода в домашний каталог пользователя user используется команда:
Для перехода в предыдущую директорию, в которой мы находились до перехода в текущую директорию также используется команда cd.
В Linux-системах каждый файл и каталог находятся в самой верхней директории, которая называется «корневой» и обозначается одним символом слэш /.
Абсолютный путь указывает на расположение каталога по отношению к этой директории верхнего уровня. Это позволяет обращаться к справочникам однозначным образом из любого места в файловой системе.
Каждый абсолютный путь должен начинаться с косой черты — символа слэш /.
Для перехода в директорию уровнем выше используется команда:
Для перехода в директорию двумя уровнями выше:
Операции с файлами и каталогами
У каждой команды имеется множество параметров, чтобы узнать их, наберите команду и параметр —help, например:
Далее приведен список основных команд навигации в консоли Linux.
Создание
Создание файлов производится с помощью команды:
Создание каталогов выполняется с помощью команды вида:
Название этой команды является сокращением слов make directory.
Создание двух каталогов одновременно выполняется с помощью команды:
Для создания дерева каталогов используется команда следующего вида:
Удаление
Для удаления директорий используется команда rmdir имя_директории. Название этой команды является сокращением слов remove directory.
Для удаления файлов используется команда rm. Например, для удаления файла с именем file1 используется команда:
Команда rm также позволяет удалять не только файлы, но и каталоги.
Можно удалить одновременно две директории со всем их содержимым:
Команда для удаления файла будет выглядеть так:
Команда для удаления каталога:
Перемещение
Для перемещения и переименования файлов и каталогов используется команда mv. Название этой команды является сокращением слова move.
Переименовать файл можно с помощью команды:
Для того чтобы переместить файл, используется команда:
Копирование
Для копирования используется команда cp. Название этой команды является сокращением слова copy.
Чтобы скопировать файл file1 и назвать его file2, используется команда:
Для того чтобы копировать директорию dir1 в директорию dir2, используется команда:
Скопировать файл с именем file1 в директорию с именем dir1, можно с помощью команды:
Редактирование файлов
Мы ознакомились с основными командами для работы с каталогами и файлами.
Далее мы изучим, как редактировать файлы и добавлять в них содержание.
Команда nano позволяет работать в одном из самых простых текстовых редакторов командной строки Linux, который занимает весь терминал в течение всего срока его использования.
В результате ввода в терминал команды nano будет открыт чистый файл.
Интерфейс выглядит следующим образом:
В верхней части открывшегося редактора отображается имя приложения и имя файла, который мы редактируем.
В середине должно располагаться содержимое файла, в настоящее время оно пустое.
В нижней части интерфейса расположен ряд комбинаций клавиш, которые указывают с основными элементами управления текстового редактора. Для каждого из них символ ^ означает клавишу CTRL.
Для того чтобы открыть справку используйте сочетание клавиш CTRL-G.
Закрывается справка с помощью сочетания клавиш CTRL-X. После закрытия справки мы возвращаемся к редактированию.
Вводить и редактировать можно любой текст, например, можно ввести: “Hello World!”
Для сохранения внесенных изменений следует нажать сочетание клавиш CTRL-O. Внимание! Это буква О, а не ноль.
Далее система попросит вас ввести либо подтвердить имя файла, который вы хотите сохранить:
Как вы можете видеть, параметры в нижней части окна редактирования также изменились. Они являются контекстными, то есть будут меняться в зависимости от того, что вы пытаетесь сделать.
После ввода имени файла нажмите клавишу ENTER.
Для того чтобы выйти из тестового редактора нажмите сочетание клавиш CTRL-X.
Если вы внесли изменения и не сохранили файл, вам будет предложено сохранить сделанные вами изменения:
Вы можете нажать клавишу Y, чтобы сохранить изменения, клавишу N для отмены изменений и выхода, или сочетание клавиш CTRL-C, чтобы отменить операцию выхода из режима редактирования файла.
Если вы решили сохранить изменения, вам будет предложено сохранить их в том же файле, который был отредактирован.
Нажмите клавишу ENTER, чтобы сохранить файл и выйти из редактора.
Заключение
Мы ознакомились с возможностями просмотра доступных файлов и каталогов, с основными командами для работы с файлами, которые позволяют просматривать, копировать, перемещать и удалять файлы, а также с основами редактирования в текстовом редакторе nano.
Команды Linux для работы с файлами
В этой статье мы рассмотрим самые часто используемые команды Linux для работы с файлами и каталогами, после их освоения терминал больше не будет казаться таким непонятным и объемлемым. Вот какие команды будут нас сегодня интересовать:
А теперь перейдем к подробному рассмотрению всех этих команд.
Команда ls позволяет вывести список файлов заданной папки, по умолчанию, будет выведен список файлов текущей папки:
Чтобы вывести список файлов нужной папки, вы можете передать ее адрес утилите, например, /home:
Команда cd позволяет изменить текущую папку на другую. По умолчанию, текущей считается домашняя папка, например, cd Desktop меняет папку на рабочий стол, если вы выполните ее из домашнего каталога:
Вы также можете указать полный путь к папке:
Вы также можете вернуться в предыдущую рабочую папку:
Команда rm позволяет удалить файл. Будьте очень осторожны с ней, она не будет спрашивать подтверждения:
Например, rm file удалит файл с именем file, который находится в текущей папке. Как и в предыдущих вариантах, вы можете указать полный путь к файлу linux. Например:
Будьте осторожны, потому что эта команда удаляет файлы безвозвратно.
Команда rmdir позволяет удалить пустую папку. Например, команда rmdir directory удалит папку directory, которая находится в текущей папке:
Команда mv перемещает файл в новое место. Она также может использоваться для переименования файлов. Например, mv file newfile переименует файл file в newfile:
Чтобы переместить файл в другую папку нужно указать путь к ней, например, переместим файл file в папку /home/user/tmp/
mv file /home/user/tmp/
Команда mkdir позволяет создать новую папку mkdir test создаст папку в текущем каталоге:
Если нужно создать папку в другом каталоге, укажите полный путь к нему:
Для создания жесткой ссылки никаких опций задавать не нужно:
ln /home/user/Downloads/ /home/user/test/
chmod позволяет изменить права доступа к файлам. Например, chmod +x script.sh добавляет флаг исполняемости к файлу script.sh:
Подробнее о том, как работают разрешения для файлов смотрите в статье права доступа к файлам в Linux.
Команда touch создает пустой файл. Например, touch file создаст пустой файл в текущей папке с именем file:
Для создания файлов через терминал существует еще несколько команд, они рассмотрены в статье как создать файл в linux.
11. mc
sudo apt install mc
После завершения установки достаточно выполнить команду mc:
Используйте клавиши со стрелками для перемещения по файлах, Tab для перехода на другую панель, Alt+1 для просмотра справки и Alt+2 для вывода меню:
Если терминальное окружение поддерживает мышь, то вы можете ее использовать в Midnight Commander.
Выводы
В этой статье мы рассмотрели как выполняется работа с файлами и каталогами в linux, с помощью терминала. Когда вы освоите все эти команды, вы сможете сделать большинство основных действий в терминале. А как часто вы пользуетесь терминалом? Используете его для работы с файлами? Напишите в комментариях!
Основы Linux. Работа с файлами и каталогами
Многие пользователи Windows, по разным причинам, задумываются о переходе на Linux. Почему это так, рассуждать не будем, потому что философствовать на эту тему можно до бесконечности. Точно также как и не будем обсуждать что лучше — Windows или Linux, эта тема тоже философская. Одно можно сказать с полной уверенностью, многих людей останавливает стереотип, что Linux это очень сложно и надо быть крутым хацкером. На самом деле это полный бред, ничего сверхъестественного в этой операционной системе нет, и через какое-то время использования ты будешь себя чувствовать не менее комфортно чем в Windows.
И для тех кто всё-таки принял волевое решение, небольшой гайд по основам работы с файлами и каталогами.
Начнём с файловой системы, здесь нет привычных, пользователям Windows, дисков C, D и так далее, файловая система Linux имеет древовидную структуру и в основе её лежит корневой каталог, который обозначается символом «/», а за ним находятся остальные папки.
Конечно же в Linux есть набор стандартных каталогов которые унифицированы согласно стандарту FHS (Filesystem Hierarchy Standard), и среднестатистическому пользователю Windows разобраться где здесь чего, может быть сложновато, поэтому для большего понимания, давай ознакомимся с основными:
Теперь перейдём непосредственно к работе с каталогами и файлами и конечно, же работать с ними мы будем из терминала, потому в Linux без терминала никак, прими это за аксиому, в терминале работать быстро, надёжно и удобно (когда разберёшься). Поэтому давай разберём наиболее часто используемые команды.
И начнем мы с обновления системы. Есть несколько способов, в том числе это можно делать из пункта меню «Центра приложений», но проще это сделать командами:
| sudo apt update | синхронизирует информацию из репозитория с локальным кэшем, эту команду необходимо выполнять перед установкой любых пакетов |
| sudo apt full-upgrade | обновит все пакеты, для которых вышли новые версии, в том числе установит необходимые зависимости и удалит мешающие пакеты, а также обновится ядро системы, если вышла новая версия |
В предыдущем примере, для обновления системы, мы использовали менеджер пакетов — apt, как понятно из названия, он используется для установки, обновления и удаления программных пакетов в системе:
| apt-get install program | установить/обновить program |
| apt-get remove program | удалить program, сохранив файлы конфигурации |
| apt-get purge program | удалить program и файлы конфигурации |
| apt-get check | проверить зависимости |
| apt-get autoclean | удалить старые архивные файлы пакетов |
Одна из команд которую ты будешь применять очень часто это cd. Это команда изменения каталога, она позволяет перемещаться между каталогами:
Следующая очень полезная команда: ls. Просмотр содержимого каталога:
Иногда возникает необходимость увидеть полный путь к каталогу в котором ты работаешь, для этого используется команда: pwd
Что бы создать новый каталог, нужно воспользоваться командой mkdir и указать название нового каталога (не забывай, что ты можешь создавать новые каталоги только внутри папки в которой у тебя есть права на запись (о правах доступа будет чуть ниже)):
Рассмотрим команды копирования:
Команды удаления:
Команды переименования/перемещения:
| mv file1 newname | переименовать файл (каталог) file1 в newname |
| mv file1 folder1 | переместить файл file1 в каталог folder2 |
| mv folder1 folder2 | переместить каталог folder1 в каталог folder2 |
Просмотр содержимого файлов:
| cat file1 | показать содержимое файла file1 в терминале |
| tac file1 | показать содержимое файла file1 в терминале начиная с конца |
| less file1 | показать содержимое файла file1 в терминале, постранично, с возможно листать страницы |
Права доступа к файлам и каталогам
Чтобы изменить права доступа необходимо воспользоваться командой chmod, она имеет такой синтаксис:
| chmod кому-какие-права-предоставить имя_файла |
Права доступа к файлам:
r — право на чтение данных;
w — право на изменение содержимого (но не удаление);
x — право на исполнение файла;
Права доступа к каталогам:
r — право на чтение каталога (можно прочитать содержимое, т.е. получить список объектов, находящихся в каталоге)
w — право на изменение содержимого каталога (можно создавать и удалять объекты)
x — позволяет войти в каталог
Существует три типа пользователей, каждому права задаются отдельно:
u — пользователь, который владеет этим файлом;
g — пользователи из группы, владеющей данным файлом;
o — все остальные пользователей
Для того чтобы упростить процесс изменения прав проще использовать такие, наиболее распространённые комбинации;
| 400 (-r——–) | Владелец имеет право чтения; никто другой не имеет права выполнять никакие действия |
| 644 (-rw-r–r–) | Все пользователи имеют право чтения; владелец может редактировать |
| 660 (-rw-rw—-) | Владелец и группа могут читать и редактировать; остальные не имеют права выполнять никаких действий |
| 664 (-rw-rw-r–) | Все пользователи имеют право чтения; владелец и группа могут редактировать |
| 666 (-rw-rw-rw-) | Все пользователи могут читать и редактировать |
| 700 (-rwx——) | Владелец может читать, записывать и запускать на выполнение; никто другой не имеет права выполнять никакие действия |
| 744 (-rwxr–r–) | Все пользователи могут читать, владелец имеет право редактировать и запускать на выполнение |
| 755 (-rwxr-xr-x) | Все пользователи имеет право читать и запускать на выполнение; владелец может редактировать |
| 777 (-rwxrwxrwx) | Все пользователи могут читать, редактировать и запускать на выполнение |
| 1555 (-r-xr-xr-t) | Все пользователи имеют право читать и запускать на выполнение; удалить файл может только владелец этого файла |
| 2555 (-r-xr-sr-x) | Все пользователи имеют право читать и запускать на выполнение с правами группы(user group) владельца файла |
| 4555 (-r-sr-xr-x) | Все пользователи имеют право читать и запускать на выполнение с правами владельца файла |
| chmod 777 file1 | все пользователи могут читать, редактировать и запускать файл file1 |
Для первого раза, пожалуй, хватит. Перечисленных мною команд, как мне кажется, будет достаточно среднестатистическому пользователю для работы с файлами и каталогами в Linux. А в следующих уроках разберемся как работать с дисками, сетью, процессами и т.д., поэтому не забывай возвращаться к нам.
Команды работы с файлами и каталогами в Linux
Команды управления файлами в Linux
После установки Linux необходимо разобраться с файловой системой, которая отличается от расположения папок и файлов в Windows.
Здесь мы не встретим дисков (C:, D:, E:) в замен этому мы увидим следующее:
# ls
backup/ dev/ initrd/ lost+found/ proc/ sys/ vmlinuz
bin/ etc/ initrd.img@ media/ root/ tmp/
boot/ getlocals lib/ mnt/ sbin/ usr/
cdrom@ home/ locales/ opt/ srv/ var/
Полный путь к файлу будет выглядеть:
/home/aroma/pppoe-server.log
В Windows так:
C:\WINDOWS\system32\drivers\etc
Здесь сразу можно заметить, что «/» =Linux, а «\» = Windows.
Выполнив команду
# mount
Мы увидим следующее
/dev/hda1 on / type ext3 (rw,errors=remount-ro ), что означает:
Жесткий диск под именем hda1 (единственный) является основным и к нему примонтированы все данные вверху файлы и каталоги.
Если у нас 2 жестких диска то, можно видеть следующее:
dev/hda1 on / type ext3
dev/sda1 on /home type ext3
Это означает, что домашний каталог /home физически расположен на втором жестком диске, a все остальное на hda1
Дальше приведем список команд для работы с файлами и каталогами в Linux
# tail в основном она применяется для просмотра в реальном времени за лог файлами
Количество просмотров: 7733
Комментарии к статье:
Автор комментария: hacker58yearsold
Дата: 2015-07-18
Кому нужны все эти команды, когда кушать нечего?






















