- Удаление Папки и Файлов в Linux
- Команда rmdir
- Удаление Папки в Linux с Помощью Команды rmdir
- Команда rm
- Как Удалить Файл в Linux с Помощью Команды rm
- Итоги
- Команды для работы с SSH
- Команды для работы с файлами
- ls — просмотр содержимого каталога
- pwd — показать полный путь до директории
- cd — переход по директориям
- mkdir — создание папки
- touch — создание файла
- rm — удаление папок и файлов
- cp — копирование файлов/папок
- mv — перемещение или переименование файлов и папок
- wget — получение файлов со сторонних сайтов
- scp — передача файлов с компьютера
- du — получение информации о занятом дисковом пространстве
- find — поиск файлов/папок
- Примеры
- Количество файлов
- grep — поиск файлов по их содержимому
- stat — подробная информация о файле
- ln — создание ссылки на файл
- сhmod — изменение прав доступа
- Пример
- mc — Midnight Commander
- Работа с базами данных
- mysql — подключение к базе данных
- Импорт дампа базы данных
- mysqldump — экспорт дампа БД
- Работа с архивами
- Особенности
- crontab — планировщик Cron
- idn — преобразование домена в Punycode
- Горячие клавиши
Удаление Папки и Файлов в Linux
Работать с командной строкой должен уметь каждый будущий системный администратор и опытный пользователь Linux. Сегодня мы рассмотрим ещё одну базовую функцию — удаление папки и файлов в Linux с помощью командной строки.
Прокачайте ваш Linux сервер, воспользовавшись скидками на VPS-хостинг в Hostinger! Большой выбор планов, как для учебных, так и для крупных коммерческих проектов.
Команда rmdir
Команда, используемая, чтобы удалить пустую папку в Linux через командную строку — это rmdir.
Основной синтаксис этой команды довольно простой. Вот пример:
- rmdir — это команда
- [опция] — опциональный модификатор, который изменяет поведение команды
- НазваниеПапки — каталог, который вы хотите удалить
Если опция не указана, rmdir просто удаляет каталог, имя которого указано в качестве места назначения. Перед использованием этой команды вам нужно будет войти на сервер VPS через SSH. Вот статья, которая поможет вам это сделать.
Удаление Папки в Linux с Помощью Команды rmdir
Перед использованием команды rmdir мы рекомендуем вам проверить список файлов в каталоге с помощью команды ls. В нашем случае у нас есть каталог с названием Dir1.
Эта команда удалит пустой каталог с именем Dir1. Довольно просто, правда?
Вы также можете удалить несколько каталогов, разделив их имена пробелами. Например:
После выполнения этой команды каталоги с именами Dir1, Dir2 и Dir3 будут удалены.
Допустим, у нас есть папка Dir3. Dir3 содержит подкаталоги и файлы. Теперь, если мы используем команду:
То получим ошибку:
Как вы уже могли догадаться, rmdir работает только с пустыми каталогами.
Rmdir — умная утилита, которая позволяет удалять только пустые папки. Таким образом, она защищает данные от случайной потери. Помните, что удалённые данные в любом дистрибутиве Linux практически невозможно восстановить.
Опция -p позволяет удалить папку через командную строку, а также её родительские каталоги.
Эта команда удалит Dir3 и его родительские каталоги Dir2 и Dir1.
Опция -v выводит диагностический текст для каждого обработанного каталога. Использование этой опции выведет подтверждение со списком всех каталогов, которые были удалены.
Команда rm
Команда rmdir отлично подходит для безопасного удаления неиспользуемых и пустых каталогов. Если вы хотите удалить файл или каталог, содержащий файлы, вам придётся использовать команду rm.
Синтаксис этой команды похож на rmdir:
Как Удалить Файл в Linux с Помощью Команды rm
Давайте используем команду rm, чтобы удалить файл с именем article.txt:
Допустим, у нас есть каталог с именем Dir1, содержащий подкаталоги и файлы, чтобы удалить его, нам понадобится модификатор -r. Команда будет выглядеть так:
Опция -r рекурсивно удаляет каталоги и их содержимое.
Ещё одна полезная опция -i. Она попросит вас подтвердить удаление каждого отдельного файла, благодаря чему вы сможете избежать любых неприятных ошибок.
Вы также можете удалить пустые каталоги, используя опцию -d. Следующая команда удалит пустую папку с именем Dir1:
Вы можете использовать подстановочный знак (*) и обычные расширения для сопоставления нескольких файлов. Например, следующая команда удалит все файлы PDF в текущем каталоге.
Вы можете использовать вариации всех перечисленных выше команд для удаления файлов с другими расширениями, такими как .txt, .doc, .odt и другими.
Опция -f позволяет принудительно удалить всё, что находится в каталоге. Команда будет выглядеть так:
Приведённая выше команда рекурсивно и принудительно удалит всё, что находится в каталоге Dir1, не запрашивая подтверждения в терминале.
Вы также можете удалить несколько папок за раз. Следующая команда удалит три каталога Dir1, Dir2 и Dir3.
Поздравляем, вы успешно освоили основные функции команд rm и rmdir, позволяющие удалить файл или папку в Linux!
Итоги
Случайное удаление папки или даже одного файла в Linux может привести к серьёзным проблемам. Вот почему важно освоить две основные команды для удаления файлов и каталогов — rm и rmdir. В этой статье мы рассмотрели эти две команды и различные опции, которые позволяют их модифицировать.
Надеемся, что эта статья была полезной! И помните, что после удаления файла или каталога из Linux вы не сможете их восстановить, поэтому будьте предельно осторожны! Удачи.
Ольга уже около пяти лет работает менеджером в сфере IT. Написание технических заданий и инструкций — одна из её главных обязанностей. Её хобби — узнавать что-то новое и создавать интересные и полезные статьи о современных технологиях, веб-разработке, языках программирования и многом другом.
Источник
Команды для работы с SSH
SSH позволяет управлять аккаунтом напрямую на сервере. С его помощью можно собрать полную информацию о занятом дисковом пространстве и количестве файлов, а также, например, импортировать объемный дамп базы данных, работать с системой контроля версий git и проектами на Node.JS или Python.
После подключения вы увидите приглашение командной строки: [username@server
- username — логин вашего аккаунта на хостинге;
- server — имя сервера, на котором он размещен.
Для работы требуется знание команд. Они выглядят так: command -key argument
- command — название команды;
- -key — дополнительные опции (ключи);
- argument — значение, с которым будет работать команда (путь до папки, фраза, которую нужно найти и т.д.).
Рекомендуем прочитать справочную информацию для команды, которую вы планируете использовать, введя в консоли man. Обратите внимание, справочник англоязычный.
Например, откроем руководство для ls: [username@server domains]$ man ls Чтобы выйти из режима справки, нажмите «q».
Команды для работы с файлами
ls — просмотр содержимого каталога
Команда выводит перечень видимых файлов и папок: [username@server domains]$ ls
domain.ru site.ru
Чтобы получить полную информацию о содержимом каталога, пригодятся ключи:
- -l — вывести подробную информацию о файле;
- -a — отобразить скрытые файлы;
- -h — отобразить размер файла в удобном формате (по умолчанию выводится в байтах).
[username@server domains]$ ls -lah
итого 16K
drwxr-xr-x. 4 username username 4,0K янв 23 12:11 .
drwx—x—. 4 username service 4,0K дек 25 18:45 ..
drwxr-xr-x. 3 username username 4,0K дек 3 07:01 domain.ru
drwxrwxr-x. 3 username username 4,0K янв 23 12:12 site.ru
pwd — показать полный путь до директории
Команда выводит полный путь до каталога, в котором вы находитесь: [username@server domains]$ pwd
/home/username/domains
cd — переход по директориям
Для перехода между каталогами используйте команду cd. В качестве аргумента укажите путь до папки, куда нужно переместиться: [username@server
]$ cd domains/domain.ru/public_html/ // Переходим в каталог domains/domain.ru/public_html/ .
// Проверяем:
[username@server public_html]$ pwd // Выводим путь до текущего каталога.
/home/username/domains/domain.ru/public_html // Готово. Переход осуществлен.
Чтобы перейти на уровень вверх относительно текущего каталога, введите cd ..: [username@server public_html]$ cd ..
[username@server domain.ru]$ pwd // Выводим путь до текущего каталога.
/home/username/domains/domain.ru // Мы перешли на уровень выше.
cd — — шаг назад (вернуться к предыдущему каталогу): [username@server domain.ru]$ cd —
/home/username/domains/domain.ru/public_html // Перешли к каталогу public_html, где были ранее.
cd (без параметров) — перейти в домашний каталог: [username@server public_html]$ cd
[username@server
]$ pwd // Выводим путь до текущего каталога.
/home/username // Вернулись в домашний каталог пользователя username.
mkdir — создание папки
Команда имеет вид: mkdir путь_до_каталога, где «путь_до_каталога» — путь к создаваемой папке, в конце указывается ее имя.
]$ mkdir domains/site.ru/example // Создаем каталог example по пути domains/site.ru/.
Если вы создаете каталог в том же месте, где находитесь, полный путь указывать не нужно: [username@server
]$ cd domains/site.ru/ // Переходим в каталог site.ru.
[username@server site.ru]$ mkdir example2 // Создаем каталог example2 в текущем каталоге.
// Проверяем:
[username@server site.ru]$ ls // Выводим список файлов.
example2 public_html // Каталог example2 создан.
touch — создание файла
touch создаёт пустой файл с именем и расширением, которое вы укажете, или обновляет дату модификации существующего файла: [username@server domains]$ touch example.txt // Создаем файл example.txt в текущем каталоге.
// Проверяем:
[username@server domains]$ ls // Выводим список файлов.
example.txt // Файл example.txt создан.
rm — удаление папок и файлов
Для удаления файла достаточно указать путь до него: [username@server public_html]$ rm example.txt
Чтобы удалить директорию, используйте ключи -r (рекурсивно) и -f (без подтверждения): [username@server public_html]$ rm -rf example1
Очистить текущий каталог от всех файлов и папок можно с помощью команды: [username@server public_html]$ rm -rf *
cp — копирование файлов/папок
В качестве аргументов для команды укажите сначала полный путь до файла, который нужно скопировать, и через пробел полный путь до каталога, куда будет произведено копирование.
Чтобы скопировать папку со всем ее содержимым, укажите ключ -r (рекурсивно): [username@server]$ cp -r /home/username/domains/site.ru/public_html/example /home/username/domains/domain.ru // Копируем папку example из domains/site.ru/public_html в domains/domain.ru.
Если вы находитесь в том же каталоге, где и объект, который нужно скопировать, полный путь до него указывать не нужно: [username@server public_html]$ cp -r example2 /home/username/domains/domain.ru // Копируем папку example2 из domains/site.ru/public_html в domains/domain.ru.
// Проверяем:
[username@server public_html]$ cd /home/username/domains/domain.ru // Переходим в каталог domains/domain.ru.
[username@server domain.ru]$ ls // Выводим список файлов.
example2 public_html // Папка скопирована.
mv — перемещение или переименование файлов и папок
Синтаксис команды mv такой же как, и у cp (копирование). Укажите сначала полный путь до файла, который нужно перенести, а затем путь до каталога, куда будут перемещены данные.
Пример: [username@server domain.ru]$ mv primer.txt /home/username/domains/site.ru/public_html // Переносим файл primer.txt из domains/domain.ru/ в domains/site.ru.
//Проверяем:
[username@server domain.ru]$ ls // Выводим список файлов в каталоге domain.ru.
example2 public_html // Проверяем, что в списке нет файла primer.txt.
[username@server domain.ru]$ cd /home/username/domains/site.ru/public_html // Переходим в каталог domains/site.ru/public_html.
[username@server public_html]$ ls // Выводим список файлов.
primer.txt // Файл перенесен.
Чтобы переименовать файл, введите сначала текущее имя, а затем — новое: [username@server public_html]$ ls // Выводим список файлов в текущем каталоге.
example.txt
[username@server public_html]$ mv example.txt primer.txt // Изменяем имя example.txt на primer.txt.
// Проверяем:
[username@server public_html]$ ls // Выводим список файлов.
primer.txt // Файл переименован.
wget — получение файлов со сторонних сайтов
Скачивайте файлы на ваш аккаунт хостинга со сторонних ресурсов с помощью утилиты wget.
Wget работает с протоколами HTTP, HTTPS и FTP. С ее помощью удобно скачивать архивы, установочные пакеты в нужную директорию на дисковом пространстве аккаунта. Чтобы начать процесс закачки, выполните команду: [username@server
scp — передача файлов с компьютера
Команда scp поможет передать файлы с вашего устройства на unix на аккаунт. Заранее устаналивать соединение по SSH для использования этой утилиты не нужно. Выполните команду: [user@mycomputer
] $ scp /home/user/desktop/file.txt username@domain.ru:domains/domain.ru/public_html Здесь /home/user/desktop/file.txt — путь до файла на копьютере, username@domain.ru — логин аккаунта на хостинге и доменное имя или IP-адрес сервера, domains/domain.ru/public_html — путь до директории, куда нужно загрузить файл.
Чтобы передать каталог, используйте ключ -r (рекурсивно):
] $ scp -r /home/user/desktop/folder username@domain.ru:domains/domain.ru/public_html
du — получение информации о занятом дисковом пространстве
По умолчанию команда выводит информацию о весе каждого каталога и подкаталога в байтах и пути до них: [username@server domains]$ du
4 ./site.ru/example
4 ./site.ru/public_html
12 ./site.ru
20 ./domain.ru
36 .
Чтобы читать результат работы команды было проще, добавьте ключи:
- -s — вывести общий объем каталога;
- -h — отобразить размер файла в удобном формате (Кб, Мб или Гб).
В качестве аргумента укажите символ «*»: команда посчитает размер каждого каталога и файла в директории: [username@server
]$ du -sh *
70M domains
4,0K example2
4,0K tmp
12K username_wor00.sql.bz2.gz
16K username_wor1.sql
find — поиск файлов/папок
Команда имеет вид: find путь_до_каталога -ключи , где «путь_до_каталога» — папка, с которой начинается поиск.
Рекомендуем ознакомиться с руководством (man) для find, так как она обладает обширным набором ключей. Мы рассмотрим основные:
- -name — поиск файлов, имена которых соответствуют заданному шаблону;
- -type — поиск файлов определенного типа:
- f — обычный файл;
- d — каталог;
- l — символическая ссылка.
Примеры
Найти все файлы с расширением .php в текущем каталоге (обозначается символом «.») и подкаталогах: [username@server
Найти все файлы с расширением .php, а также файлы, имена которых начинаются с точки в каталоге public_html: [username@server
]$ find ./public_html -name «*.php» -o -name «.*»
Найти все каталоги, имена которых начинаются с «w» в текущей папке: [username@server
]$ find . -name «w*» -type d
Количество файлов
С помощью find можно посчитать количество файлов на аккаунте. Выполните команду: [username@server
grep — поиск файлов по их содержимому
Команда имеет вид: grep «текст» путь_до_файла, где «текст» — информация, которую нужно найти, «путь_до_файла» — путь к файлу, по которому производится поиск.
Узнаем с помощью grep, какая база данных используется сайтом: [username@server domain.ru]$ grep «username_» -R // username_ — начало имени базы данных. Замените «username» на логин вашего аккаунта, -R — рекурсивный поиск.
public_html/example.php:define(‘DB_NAME’, ‘username_wor00’);
public_html/example.php:define(‘DB_USER’, ‘username_wor00’);
stat — подробная информация о файле
Выполните команду stat, чтобы узнать, когда файл был создан и изменялся: [username@server public_html]$ stat example.php
Файл: «example.php»
Размер: 3317 // Размер в байтах.
Inode: 57804829 // Уникальный индексный дескриптор.
Доступ: (0644/-rw-r—r—) // Права доступа.
Uid: ( 3645/username) // ID и имя владельца.
Gid: ( 3646/username) // ID и имя группы владельца.
Доступ: 2018-01-23 12:03:21.829402333 +0300 // Дата последнего обращения.
Модифицирован: 2017-12-20 13:34:11.831201546 +0300 // Дата внесения последних изменений в содержимое файла.
Изменён: 2018-01-23 12:03:41.231474591 +0300 // Дата последнего изменения имени файла или прав доступа.
ln — создание ссылки на файл
Чаще всего применяется для создания символических ссылок (ярлыков). Используйте их, если необходимо, например, изменить путь до корневой директории сайта.
Команда имеет вид: ln -s исходный_файл целевой_файл, где «целевой_файл» будет ссылкой на «исходный_файл». Всегда указывайте полный путь к исходному файлу: [username@server domains]$ ln -s /home/username/domains/domain.ru/public_html/example1 /home/username/domains/site.ru/public_html/example2
// Проверяем:
[username@server domains]$ ls -la site.ru/public_html/example2 // Выводим полную информацию о каталоге example2.
1 username username 53 янв 23 12:14 example1 -> /home/username/domains/domain.ru/public_html/example1
Для удаления символической ссылки перейдите в каталог, где сохранен «целевой_файл» и удалите созданный ярлык: [username@server public_html]$ cd /home/username/domains/domain.ru/public_html/ // Переходим в каталог, где расположена папка example1.
[username@server public_html]$ ls -la // Проверяем наличие символической ссылки: выводим полную информацию о каталоге.
drwxrwxr-x. 2 username username 4096 янв 23 12:08 example1
lrwxrwxrwx. 1 username username 53 янв 23 12:09 example2 -> /home/username/domains/domain.ru/public_html/example1
[username@server public_html]$ rm example2 // Удаляем ярлык.
[username@server public_html]$ ls -la // Еще раз выводим список файлов и проверяем, удалена ли символическая ссылка.
drwxrwxr-x. 2 username username 4096 янв 23 12:08 example1
сhmod — изменение прав доступа
Изменить права на файл или папку можно с помощью команды chmod xxx путь_до_файла , где xxx — права, «путь_до_файла» — путь до папки или файла. Чтобы изменить права и на папку, и на ее содержимое, добавьте ключ -R (рекурсивно).
Пример
[username@server domains]$ chmod -R 777 /home/username/example2 // Устанавливаем права 777 для папки example2 и ее содержимого.
]$ stat example2 // Смотрим статус.
Файл: «example2»
Доступ: (0777/drwxrwxrwx) // Права для каталога example2 изменены на 777.
[username@server
]$ cd example2/ // Переходим в example2.
[username@server example2]$ ls // Выводим содержимое каталога.
copytest.txt example1
[username@server example2]$ stat copytest.txt // Смотрим статус файла copytest.txt.
Файл: «copytest.txt»
Доступ: (0777/-rwxrwxrwx) // Права доступа к файлу изменены на 777.
mc — Midnight Commander
Midnight Commander — файловый менеджер с текстовым интерфейсом, встроенный в консоль. Для запуска введите в команду mc.
Работа с базами данных
mysql — подключение к базе данных
Процесс подключения к базе данных с помощью команды mysql мы описали в статье.
Импорт дампа базы данных
mysql позволяет импортировать дамп базы данных, загруженный на дисковое пространство аккаунта. Выполните команду: [username@server domains]$ mysql -u db_username -p db_name где
- db_username — имя пользователя базы данных;
- db_name — название базы;
- dump_name.sql — имя дампа.
mysqldump — экспорт дампа БД
Чтобы выгрузить дамп на дисковое пространство аккаунта выполните команду: [username@server domains]$ mysqldump -u db_username -p db_name > dump_name.sql Он будет помещен в каталог, из которого выполнялось действие.
Работа с архивами
Выбор команды для распаковки архива зависит от формата, в котором он создан: [username@server domains]$ unzip archive.zip
[username@server domains]$ unrar x archive.rar
[username@server domains]$ tar xf archive.tar
[username@server domains]$ tar xfz archive.tar.gz
[username@server domains]$ gunzip archive.gz
[username@server domains]$ 7za x archive.7z
Особенности
Для команды rar обязательно укажите параметр «x», чтобы сохранить структуру.
gunzip распаковывает файлы, после чего удаляет архив. Если нужно его сохранить, создайте копию на дисковом пространстве аккаунта.
Создать архив можно в формате .zip или .tar: [username@server domains]$ tar cf archive.tar directory/ // Помещаем каталог directory в архив archive.tar.
[username@server domains]$ zip -r archive directory // Помещаем каталог directory в архив archive.zip. Он будет сохранен в каталоге, где выполнялась команда. // Проверяем:
[username@server domains]$ ls // Выводим список файлов.
archive.tar archive.zip directory domain.ru example.txt site.ru // Архивы archive.zip и archive.tar созданы.
crontab — планировщик Cron
Настройте выполнение скриптов по расписанию с помощью планировщика Cron. Чтобы добавить новое задание, выполните: [username@server
Откроется окно текстового редактора vim, нажмите клавишу «i», чтобы внести изменения. Добавьте команду в конец документа. Она состоит из времени выполнения (минута, час, число, месяц, день недели), пути до утилиты и пути до выполняемого скрипта, например: 15 12 * * * /usr/local/bin/wget http://domain.ru/script.php // Скрипт script.php будет выполняться каждый день в 12:15
Выбор интерпретатора зависит от скрипта, который нужно выполнить. Для php-скриптов подойдет php, curl или wget, для Python или Node.js — python или node соответственно.
Чтобы узнать путь до нужного интерпретатора, выполните команду: [username@server
Сохраните изменения в редакторе vim. Нажмите Esc и введите «:q!»
Вместо php укажите имя интерпретатора.
idn — преобразование домена в Punycode
Чтобы перевести IDN-домен в Punycode, выполните команду: [username@server
Горячие клавиши
Для удобства работы в консоли используйте горячие клавиши.
- clear — очистить окно;
- history — посмотреть список выполненных команд;
- Ctrl+C — остановить выполнение команды;
- Ctrl+D — выйти из системы;
- !! — повторить последнюю команду;
- Tab — автодополнение. Начните вводить имя папки или файла и нажмите Tab — название будет дописано автоматически.
Источник