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

26.08.2020 Система 688 Просмотров

Подробный обзор

Терминал Linux. Создание, удаление, копирование, перемещение, переименование файлов и директорий

C навигацией разобрались, теперь научимся создавать, удалять, копировать, перемещать файлы и директории (каталоги) в терминале Linux.

Комментирование приветствуется.

Терминал Linux. Создание, удаление, копирование, перемещение, переименование файлов и директорий

Создание файлов и директорий в терминале Linux

Текстовый файл в терминале Linux можно создать тремя способами.

1. С помощью команды touch:

Вводим команду touch, затем путь и название нового файла.

Терминал Linux. Создание, удаление, копирование, перемещение, переименование файлов и директорий

touch /путь/к/файлу/название_файла

Например, создадим текстовый файл в текущей директории с именем :

2. С помощью перенаправления стандартного потока вывода любой команды

Терминал Linux. Создание, удаление, копирование, перемещение, переименование файлов и директорий
  • О перенаправлении стандартных потоках вывода в файл более подробно будет рассказано в одной из следующих статей о терминале Linux.
  • Создать файл можно также перенаправлением вывода любой команды в файл.
  • В общем виде команда будет следующей:

какая_нибудь_команда > /путь/к/файлу/наименование_файла

  1. То есть, команда с выводом, затем галочка вправо >, означающая перенаправление вывода команды в файл и путь к файлу.
  2. Например, перенаправим вывод справки команды ls в файл, который будет создан (а если такой файл есть, то он будет полностью перезаписан):
  3. Но это мы создали не пустой файл, а если хотим создать пустой, то воспользуемся командой echo c переданной ей пустой строкой (две одинарных ковычки) и перенаправим это в файл:

3. С помощью любого текстового редактора, консольного или с графическим интерфейсом

Терминал Linux. Создание, удаление, копирование, перемещение, переименование файлов и директорий
  • Передаем команду запуска любого текстового редактора и путь к файлу.
  • Самый простой консольный текстовый редактор это nano:
  • Или с помощью текстового редактора с графическим интерфейсом, который установлен в Gnome по умолчанию:
  • Про манипуляции с текстом более подробно в одной из следующих статей о терминале Linux.

Создание директорий (каталогов) в терминале Linux

  1. Создание каталогов выполняется командой «mkdir» (от англ. make directory):
  2. Создать директорию с именем «dir1»:
  3. Создать две директории одновременно:
  4. Создать дерево директорий:

Удаление файлов и директорий в терминале Linux

Терминал Linux. Создание, удаление, копирование, перемещение, переименование файлов и директорий

Для удаления директорий используется команда «rmdir» (от англ. remove directory):

Удаляются директории аналогично, как и создаются. Такие же команды.

Читайте также:  Linux копирование файлов и папок через консоль

Удаление файлов в терминале Linux

Терминал Linux. Создание, удаление, копирование, перемещение, переименование файлов и директорий

Для удаления файлов используется команда «rm» (от англ. remove).

  • Работает очень просто, пишете команду rm и путь к файлу, который хотите удалить:
  • Удалить файл с именем «file1»:

Но команда «rm» позволяет удалять не только файлы, но и директории (каталоги) вместе с их содержимым.

  1. Удалить директорию с именем «dir1» и рекурсивно всё её содержимое:
  2. Удалить две директории и рекурсивно их содержимое:
  3. Также можно добавить параметр -f, который означает, что при удалении не будет запрашиваться подтверждение на удаление. Команды будут выглядеть так:
Терминал Linux. Создание, удаление, копирование, перемещение, переименование файлов и директорий

Перемещение и переименование файлов и директорий в терминале Linux

Для перемещения и переименовывания файлов и директорий (каталогов) используется команда «mv» (от англ. move).

Всё очень просто. Чтобы переименовать файл, выполняем команду:

mv название_файла новое_название

Терминал Linux. Создание, удаление, копирование, перемещение, переименование файлов и директорий
  • Чтобы переместить файл:

Копирование файлов и директорий в терминале Linux

Для копирования используется команда «cp» (от англ. copy).

  1. Скопировать файл file1 и назвать его file2:
  2. Копировать директорию dir1 в директорию dir2:
  3. Копировать файл с именем file1 в директорию c именем dir1:
Терминал Linux. Создание, удаление, копирование, перемещение, переименование файлов и директорий

Справка о командах

  • У каждой команды присутствует множество параметров, чтобы узнать их, просто наберите команду и параметр —help:
  • Например:

Раздел под домашнюю папку не нужен!

Монтировать домашнюю папку на отдельном разделе рекомендуют для того, чтобы можно было переустанавливать систему без потери личных данных. Но в моём случае у меня уже есть раздел с данными, который решает проблему сохранности нужных мне файлов. Поэтому при установке новой системы я не указываю отдельного раздела для домашней папки. Она создается в корневом разделе системы. То есть при установке системы я указываю ей только один раздел для установки — корневой.

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

Используйте CD для изменения каталога

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

Тот же эффект достигается в командной строке с помощью cd. Например:

cd Documents

… Изменит каталог на подкаталог Documents. Однако, если вы предпочитаете, вы можете указать полный путь к файлу, чтобы открывать каталоги в другом месте на диске.

cd /etc/fonts

Читайте также:  Команда echo Linux - синтаксис и примеры | все про линукс

Между тем, вы можете перейти в каталог — например, из Документов обратно в Дом — используя:

cd ..

Также убедитесь, что вы знаете о cd / — эта команда отправит вас обратно в домашний каталог по умолчанию из любого другого.

Команда echo

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

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

Немного чёрной магии

Помните, я говорил, что права задаются тремя числами? Для владельца, для группы и для остальных? Это не вся правда. Есть ещё одно число, которое творит настоящую чертовщину в мозгу неопытных пользователей. По умолчанию этот блок не затрагивается (как будто там стоит 0), но если указать явно, то вот что значит тот самый блок:

SUID (4000, “u+s”) – если этот бит назначен на исполняемом файле, то файл запустится от имени владельца файла (а не того пользователя, кто этот файл запустил).

Допустим, у нас есть скрипт, добавляющий новое правило в файрволл. Само-собой, операция требует повышенных прав (root) и обычный пользователь запустив такой скрипт получит отказ в доступе. Но если назначить скрипту SUID-бит и владелец скрипта будет root, то пользователь сможет его запускать от имени root соответственно. Это круто, но в то же время может быть опасно.

Если SUID назначен на каталог – то файл запустится от имени владельца каталога.

SGID (2000, “g+s”) – практически то же самое, только вместо владельца – берётся группа владельца.

Немного чёрной магии

Sticky (1000, “t”) – вот тут начинается самая жесть. Если у нас есть каталог, на котором установлен t-бит, то удалить из этого каталога файлы может только владелец, несмотря на то, что на каталоге может стоять право 777.

Поясню. Допустим, у нас есть каталог /tmp. В него может писать кто угодно. Сделаем там права 777 – т.е. полная помойка. Но вам бы не хотелось, чтобы я мог удалять ваши файлы? А мне бы не хотелось, чтобы вы удаляли мои. Поэтому на каталог вешаем бит “t” и всё. Сохранять в каталог могут все, а удалять – только своё.

Установка Sticky-бита на файл не имеет смысла сейчас, современные версии ОС его игнорируют. Раньше он использовался для запрета выгрузки файла из памяти.

Читайте также:  10 правил выбора компании-аутсорсера бухгалтерских услуг

Вам так же понравится: Владение файлами на FreeBSD Квесты админа: #2. Права пользователей в Linux Как расшарить папку в Linux? Файлы с настройками сети в Red Hat Linux Сетевая файловая система NFS в Linux Прокачиваем наш SVN-сервер

Презентации

Те пользователи, которым важна возможность создавать и редактировать презентации, будут в восторге от Impress. Приложение содержит полный набор функций, которых с избытком хватит для создания качественного презентационного проекта.

Презентации

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

Я слышал, что в файловой системе Extневозможно восстановить удаленный из Корзины файл. Что делать, если случайно удалил важные файлы?

Как и в Windows, где используется файловая система NTFS, в Linux с файловой системой Ext4, а таковая используется в большинстве дистрибутивов, при очистке Корзины файлы не удаляются сразу, а остаются на диске до тех пор, пока не будут перезаписаны другими файлами. Следовательно, их можно восстановить, но на практике не всё так просто. Дело в том, что при удалении файла из каталога запись о нём удаляется также из inode — особой области физической памяти, в которой хранится информация о записанных блоках. При этом очищенный inode невозможно отличить от тех inode, которые ранее никогда не использовались.

То есть удаляется информация о месторасположении файла, поэтому указать, где раньше находился удаленный файл не может ни одна утилита. Вы точно можете восстановить данные файла вручную, но для этого нужно знать, с какими именно данными вы имеете дело. Для восстановления в Linux также можно пробовать использовать сканирующие программы типа TestDisk, которые пытаются определить тип данных, начало и конец последовательности их байтов, но без полной гарантии положительного результата. Поэтому, если файл имеет для вас ценность, лучше создайте его резервную копию на носителе с файловой системой NTFS.

Я слышал, что в файловой системе Extневозможно восстановить удаленный из Корзины файл. Что делать, если случайно удалил важные файлы?

Краткий итог

Итак, Linux вовсе не является системой для гиков или сисадминов, как до сих пор думают некоторые пользователи. Если речь идет о решении базовых задач, популярные дистрибутивы Linux в этом отношении столь же удобны, как и последние версии Windows. Да, в новой системе поначалу будете ощущать себя неловко, к некоторым вещам придется привыкнуть, некоторым — обучиться с нуля, но разве вы не испытывали затруднения, впервые сев за компьютер под управлением Windows? Опыт приходит со временем и никак иначе. К тому же переход на Linux не означает полный отказ от Windows, ведь обе эти системы прекрасно могут сосуществовать на одном компьютере.