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

Команды Linux для работы с файлами

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

В этой статье мы рассмотрим самые часто используемые команды Linux для работы с файлами и каталогами, после их освоения терминал больше не будет казаться таким непонятным и объемлемым. Вот какие команды будут нас сегодня интересовать:

  • ls — список файлов в директории;
  • cd — переход между директориями;
  • rm — удалить файл;
  • rmdir — удалить папку;
  • mv — переместить файл;
  • cp — скопировать файл;
  • mkdir — создать папку;
  • ln — создать ссылку;
  • chmod — изменить права файла;
  • touch — создать пустой файл.

А теперь перейдем к подробному рассмотрению всех этих команд.

1. ls — просмотр содержимого папки

Команда ls позволяет вывести список файлов заданной папки, по умолчанию, будет выведен список файлов текущей папки:

Вы можете вывести список файлов из всех подкаталогов рекурсивно, для этого используйте опцию -R:

Чтобы вывести список файлов нужной папки, вы можете передать ее адрес утилите, например, /home:

Чтобы получить больше информации и вывести все имена файлов в виде списка используйте опцию -l:

2. cd — изменить папку

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

Вы также можете указать полный путь к папке:

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

Вы также можете вернуться в предыдущую рабочую папку:

3. rm — удалить файлы

Команда rm позволяет удалить файл. Будьте очень осторожны с ней, она не будет спрашивать подтверждения:

Например, rm file удалит файл с именем file, который находится в текущей папке. Как и в предыдущих вариантах, вы можете указать полный путь к файлу linux. Например:

Если вы хотите удалить папку, то нужно использовать опцию -r. Она включает рекурсивное удаление всех файлов и папок на всех уровнях вложенности:

rm -r /home/user/photo/

Будьте осторожны, потому что эта команда удаляет файлы безвозвратно.

4. rmdir — удалить папку

Команда rmdir позволяет удалить пустую папку. Например, команда rmdir directory удалит папку directory, которая находится в текущей папке:

Если вам нужно удалить папку с файлами, то нужно использовать утилиту rm вместе с опцией -r.

Читайте также:  Ethereum classic wallet windows

5. mv — перемещение файлов

Команда mv перемещает файл в новое место. Она также может использоваться для переименования файлов. Например, mv file newfile переименует файл file в newfile:

mv file newfile

Чтобы переместить файл в другую папку нужно указать путь к ней, например, переместим файл file в папку /home/user/tmp/

mv file /home/user/tmp/

6. cp — копирование файлов

Эта cp и mv — это похожие команды linux для работы с файлами. Они работают аналогичным образом, только исходный файл остается на своем месте.

cp file newfile

Вы также можете рекурсивно скопировать всю папку с помощью команды cp -r. Эта команда скопирует всю папку вместе со всеми файлами и вложенными папками в новое место. Например, скопируем папку /etc/:

cp -r /etc /etc_back

7. mkdir — создать папку

Команда mkdir позволяет создать новую папку mkdir test создаст папку в текущем каталоге:

Если нужно создать папку в другом каталоге, укажите полный путь к нему:

8. ln — создание ссылок

Утилита ln позволяет создавать жесткие и символические ссылки на файлы или папки. Для создания символической ссылки используется опция -s. Например, вы создадим ссылку на папку с загрузками:

ln -s /home/user/Downloads/ /home/user/test/

Для создания жесткой ссылки никаких опций задавать не нужно:

ln /home/user/Downloads/ /home/user/test/

9. chmod — изменить права

chmod позволяет изменить права доступа к файлам. Например, chmod +x script.sh добавляет флаг исполняемости к файлу script.sh:

chmod +x script.sh

Чтобы убрать флаг исполняемый используйте опцию -x:

chmod -x script.sh

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

10. touch — создать файл

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

Для создания файлов через терминал существует еще несколько команд, они рассмотрены в статье как создать файл в linux.

11. mc

Работа с файлами Linux через терминал может выполняться не только с помощью обычных консольных команд, каждая из которых выполняет только определенное действие. Вы можете использовать полнофункциональный файловый менеджер с псевдографическим интерфейсом на основе ncurses. Midnight Commander — это файловый менеджер, который можно использовать прямо в терминале. Для установки mc в Ubuntu выполните:

sudo apt install mc

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

Используйте клавиши со стрелками для перемещения по файлах, Tab для перехода на другую панель, Alt+1 для просмотра справки и Alt+2 для вывода меню:

Если терминальное окружение поддерживает мышь, то вы можете ее использовать в Midnight Commander.

Выводы

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

Источник

Пройтись по всем директориям и выполнить команду.

Сап, лор. Есть у меня скрипт, который перегоняет весь .flac в .mp3 через ffmpeg. Работает это так:

Пройти по всем директориям, в которых есть flac-файлы, и вызвать в каждой скрипт convertFlacToMp3 .

Добавлю уточнение, по всем начиная с той, откуда скрипт был вызван. Например если я выполню его из ./Music — он пойдет только по дирректориям, которые внутри, и не затронет, например ../Backup/Music.
Как в данном случае поведет себя ваш скрипт?

/Music -type d -execdir convertFlacToMp3

Читайте также:  Mac os start terminal

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

Спасибо! Пойду тестировать.

Отработало только с одной поддиректорией, т.е. /Music/Adept/track.flac сработало, а например /Music/Hollywood\ Undead/2008/track.flac пропустил.

-execdir — ключевое слово.

Гм, у меня локально всё работает.

execdir не подойдёт, поскольку

Like -exec, but the specified command is run from the subdirectory containing the matched file

Так, тут похоже я накосячил. У меня convertFlacToMp3 — это алиас в bashrc, который ссылается на /opt/userScripts/convertFlacToMp3.sh.
Так вот, если взять твой вариант скрипта, он почему-то ругается на line 5: convertFlacToMp3 command not found
Если заменить в скрипте это на полный путь до .sh — работает, но останавливается после первой дирректории, хотя в выхлопе пишет все дирректории и все правильно.

Источник

Как заставить команду выполняться ко всем вложенным файлам в папках?

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

Как заставить функции выполняться по порядку?
function first()< setTimeout(function()< console.log('1'); >, 1000); > function.

Как заставить функцию выполняться в потоке
По примерам написал код создания потока: #include using namespace std; #include.

Как заставить процедуру выполняться под админом?
Ситуация такая: Есть 2 базы данных, и при создании документа в одной из них, должны вноситься.

Решение

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Как в домене заставить выполняться bat-файл?
Сервер 2008R2 Есть простой bat-файл c одной строчкой, который меняет часовой пояс (tzutil.exe /s.

Как заставить скрипт выполняться дальше после ошибки?
Вообщем в структуре кода есть некотрый случайный элемент который может вызвать ошибку а может её и.

Как заставить функцию из content выполняться по запросу background?
Всем доброго времени суток! Прошу вашей помощи! Есть расширение для Chrome, в нем Background.js.

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

Источник

Джентльменский набор команд Linux Часть 1

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

Джентльменский набор команд Linux Часть 1:

1. alias

Команда alias создает «ярлык» другой команды или последовательности команд Linux.

Синтаксис команды alias:

alias позволяет:

Исправлять частые опечатки.

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

С помощью команды alias можно исправить данную проблему:

Использования команды alias для последовательности команд:

В данном алиасе команда ps используется для вывода списка запущенных процессов, в котором grep ищет процессы, соответствующие параметру $1.

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

/.bashrc (в случае использования bash в качестве командной оболочки).

2. cat

Команда cat выводит содержание файлов в окне терминала.

cat позволяет:

Синтаксис команды cat:

Чтобы посмотреть содержимое файла .bash_log_out через терминал нужно ввести:

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

Читайте также:  Windows не удалось запуститься

Основные опции cat:

cd изменяет текущий каталог, переводя в другое место файловой системы.

Синтаксис команды cd:

Чтобы перейти в подкаталог домашней папки нужно просто указать после команды название директории (img для примера):

Если нужно попасть в другой каталог нужно указать путь:

Чтобы быстро попасть в домашний каталог нужно указать вместо имени

Вернуться в предыдущую папку:

Перейти в родительский каталог:

Перемещение в родительский каталог текущего родительского каталога

4. chmod

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

chmod позволяет:

Синтаксис команды chmod:

Если вывести список папок и файлов командой ls с параметром –l, то можно увидеть нечто подобное:

Первый символ означает:

Остальная часть строки в 9 символов разбивается на три группы по 3 символа в каждой:

  • Первые 3 символа – права доступа к файлам владельца (-rwx——).
  • Вторые 3 символа – права доступа к файлам группы (—-rwx—).
  • Последние 3 символа – разрешения для других (——-rwx).

Если какой-то из символов отсутствует и вместо него указан «-», тогда нет доступа к данному действию.

Также задать права доступа можно с помощью цифр:

  • 0 – нет прав (-);
  • 1 – только выполнение (—x);
  • 2 – только запись (-w-);
  • 3 – запись и выполнение (w-x);
  • 4 – только чтение (r—);
  • 5 – чтение и выполнение (r-x);
  • 6 – чтение и запись (rw-);
  • 7 – чтение, запись и выполнение (rwx).

Например, у файла «ex.txt» указаны все права:

Нужно изменить их на:

  • Пользователь – все права (7 или rwx).
  • Группа – чтение и запись (6 или rw-).
  • Другим – чтение и выполнение (5 или r-x).

Тогда вводим следующую команду:

5. chown

Команда chown (change owner) позволяет менять владельца и группу владельца:

Синтаксис команды chown:

Если в поле пользователя указать группу через двоеточие (пользователь: группа), тогда изменится еще и группа.

Основные опции команды chown:

Изменить владельца папки ex1 на user:

Изменить на владельца user и группу users:

Чтобы изменения применялись не только к данному каталогу, но и всем подкаталогам внутри, необходимо добавить опцию -R:

6. curl

Утилита curl извлекает информацию и файлы с url-страниц.

Будет полезна тем, кто часто загружает:

С помощью команды curl это можно делать не через браузер, а прямо из терминала, что дает возможность автоматизировать процесс.

На самом деле curl является не просто утилитой, а целым набором библиотек, способными реализовать все основные возможности по работе c передачей файлов и url-страницами.

Curl поддерживает работу с протоколами:

Синтаксис утилиты:

curl опции ссылка

Загрузка файлов с помощью curl

Самая распространенная задача для утилиты curl – это загрузка файлов. Чтобы скачать файл достаточно передать утилите имя файла или адрес страницы, например:

Таким образом содержимое файла будет отправлено на стандартный вывод. Для записи его в файл (для примера ex.txt) нужно ввести:

Чтобы скачанный файл назывался так же, как и на сервере необходимо использовать опцию -O:

Стоит отметить, что не во всех дистрибутивах Linux утилита предустановлена по умолчанию.

Команда df позволяет выводить:

  • Список подключенных устройств
  • Информацию о занятом месте
  • Точку монтирования

Синтаксис команды df:

Основные опции df:

Например, необходимо получить информацию в читаемом виде для раздела /dev/sdb7, тогда вводим:

Чтобы игнорировать псевдо-файловые системы squashfs, создаваемые при установке приложения с помощью команды snap, вводим:

Лучший способ освоить новые команды – больше практиковаться, а лучше всего это делать на серверах компании AlexHost, где:

  • Оперативная поддержка 24/7 круглый год
  • Собственные дата-центры
  • Полная анонимность
  • Качественный VPS всего от 70 рублей в месяц

Источник

Оцените статью