Линукс удалить из текущего каталога все файлы имя которых длиннее 5 символов

Обновлено: 06.07.2024

-a - (all) вывести оглавление каталога, показывать и специальные (скрытые) файлы, имена которых начинаются с точки.

Примеры:

!! Обратите внимание, что имена файлов могут быть длиннее 8 символов и содержать точку на любой позиции. Можно даже использовать несколько точек в одном имени.

ls - вывести оглавление текущего каталога

ls / - просмотреть корневой каталог

ls /bin /home - просмотреть оглавление каталогов/bin и /home

ls -F / - вывести оглавление корневого каталога, указывая принадлежность объектов.

ls -l /bin - вывести в длинный формате оглавление каталога /bin

ls -R /etc - вывести и дерево подкаталогов с их содержимым.

(Для пролистывания страниц используйте Shift+PgUp, Shift+PgDn).

ls -a -F /home - вывести оглавление домашнего каталога, показывать и специальные (скрытые) файлы, имена которых начинается с точки.

!! Обратите внимание на названия . и .. , которые присутствуют в каждом каталоге.

.. - Обозначение родительского каталога

. - Обозначение самого каталога

При написании команд эти обозначения часто используются.

2. Узнать текущий каталог: pwd

3. Сменить текущий каталог : cd имя_каталога

(change directory)

(выполните команды, перейдя к другому каталогу, посмотрите его оглавление, используя команду ls).

- переход в домашний каталог пользователя

cd.. - переход в надкаталог

cd / - переход в корневой каталог

cd /mnt - переход в каталог /mnt

4. Создание нового каталога: mkdir путь/имя_каталога

- переход в домашний каталог пользователя

mkdir dir1 - создать каталог dir1 в домашнем каталоге (текущем)

mkdir dir1/dir2 - создать каталог dir2 в каталоге dir1

mkdir dir3 - создать dir3 в текущем каталоге (домашнем)

С помощью команды ls -R проверьте дерево подкаталогов домашнего каталога.

5. Удаление пустого каталога: rmdir путь/имя_каталога

(remove directory)

. Удаляемый каталог должен быть пуст (т.е. из него должны быть удалены все файлы - команда rm и подкаталоги - команда rmdir).

rmdir dir3 - удалить каталог dir3 из текущего каталога (домашнего).

rmdir dir1/dir2 - удалить каталог dir2 из каталога dir1.

С помощью команды ls -R проверьте, что каталоги действительно удалены.

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

Использование шаблонов имен файлов

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

В шаблонах используют символы * и ?.

* - заменяет любое количество любых символов.

* - файлы с любым именем (т.е. все файлы).

*s* - все файлы, в имени которых содержится s

x* - все файлы с именем, начинающимся на х

? - заменяет один любой символ.

. - все файлы, длина имени которых 5 символов.

??d* - все файлы, в имени которых третий символ d.

Можно в шаблонах использовать диапазоны.

[набор] - любой один символ из заданного набора

[^набор] - любой один символ, не заданный в наборе

*[a-c s] - все файлы, имя которых заканчивается на одну из букв: a, b, c, s.

[^a-d]*- все файлы, имя которых не начинается на одну из букв: a, b, c, d.

6. Узнать тип файла: file путь/имя_файла

/* - узнать тип файлов, хранящихся в домашнем каталоге.

file /bin/* - определить тип файлов, хранящихся в каталоге bin.

7. Запуск исполняемых файлов:

sh путь/имя_файла или путь/имя_файла

Просмотрите каталог /usr/bin (с ключом -F) или используйте команду file, чтобы определить тип файлов в этом каталоге. В этом каталоге содержатся исполняемые файлы - утилиты. Запустите, например, файл cal, который отобразит на экране календарь.

Многие команды, которые мы используем, не являются встроенными в командный процессор, а представляют собой исполняемые файлы. Большинство таких полезных файлов - утилит находятся в каталогах /bin и /usr/bin.

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

8. Создание текстового файла: cat > путь/имя_файла

Значение символа > подробно будет рассмотрено ниже (см. ввод и вывод).

/dir1/mytext.txt - создание текстового файла в каталоге dir1, находящегося в домашнем каталоге.

После ввода команды наберите текст файла.

Окончание набора и закрытие файла - ctrl + D , enter.

Создайте еще несколько текстовых файлов в каталоге dir1.

9. Копирование файлов (copy):

cp путь/имя_файла(ов) путь/имя_каталога

(откуда и что копировать) (куда копировать)

Можно при копировании одновременно переименовывать файлы. Для этого нужно указать новое имя файла в качестве второго аргумента (куда копировать).

cp /bin/.

/dir1 - копировать файлы, длина имени которых 3 символа из каталога bin, расположенного в корневом каталоге, в dir1, находящегося в домашнем каталоге.

- копировать все файлы из каталога dir1 в домашний каталог.

Используя команду ls, просмотрите содержимое домашнего каталога и проверьте правильность копирования.

cd /sbin - сделать текущим каталог sbin

/dir1 - копировать все файлы, начинающиеся на mk из текущего каталога (sbin) в каталог dir1

/dir1 - сделать текущим каталог dir1

cp /bin/vi . - копировать файл vi из каталога bin в текущий каталог (dir1). Для обращения к текущему каталогу используется . (точка).

10. Просмотр текстового файла:

less путь/имя_файла (постраничный просмотр)

Просмотрите созданный файл cat

Чем отличается просмотр файла с помощью разных команд.

cat /usr/share/doc/HTML/index.html

less /usr/share/doc/HTML/index.html

Выход из режима просмотра less - Ctrl+z

11. Переименование файла (каталога) (move):

mv стар_имя_файла нов_имя_файла

Перемещение файла(ов): mv путь/имя_файла путь

Переименуйте созданный текстовый файл в studdoc.txt

C помощью команды ls проверьте переименование файла.

Переместите studdoc.txt в свой домашний каталог

12. Удаление файлов: rm путь/имя_файла(ов)

rm -r имя_каталога - позволяет удалять каталог вместе со всем содержимым.

Для подтверждения удаления файла нажмите клавишу Y, для отмены N.

/dir1/* - удалить все файлы из каталога dir1.

Просмотрите каталог dir1 и проверьте удаление файлов.

13. Поиск файла: find каталог_поиска -ключи

Каталог_поиска - каталог, включая дерево всех подкаталогов, в которых будет производиться поиск.

-name - позволяет задать имя искомого файла или каталога

-type - определяет тип файла: f - файл, d- каталог, l - символьная ссылка.

-xdev - ограничить поиск одной файловой системой, не выходить за границы устройства хранения.

find /home -name dir1 искать dir1во всех подкаталогах каталога /home

-type d - искать все каталоги и подкаталоги, расположенные в домашнем каталоге

find /usr/bin -name k* - искатьфайлы, имена которых начинаются на k во всех подкаталогах /usr/bin.

ПЗ 3. Создание командных файлов (скриптов)

Командный файл (скрипт или сценарий) - это текстовый файл, состоящий из команд интерпретатора. При запуске этого файла последовательно выполняются все команды, содержащиеся в нем.

Как файл его можно создать командой cat или использовать текстовый редактор, например, vi. Для тех, кто привык работать с текстовым редактором, встроенным в файловый менеджер Midnight Commander (MC - запуск), в котором имеется встроенный текстовый редактор с более привычным интерфейсом.

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

Cоздадим файл с именем cmd (в домашнем каталоге), в который запишем следующие команды:

echo How do you do! (вывод строки на экран, приветствие)

date (вывести текущую дату)

pwd (вывести текущий каталог)

ls (вывести оглавление текущего каталога)

Примечание: Здесь и далее в скобках содержится комментарий команды, включать его в командный файл не нужно!

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

т.е. в правах доступа к файлу для всех пользователей разрешить выполнение этого файла ( +х). В файловом менеджере эту операцию можно сделать, используя команду Файл - Права доступа, отметить Запуск и поиск для владельца.

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

Примечание: Если вы работаете в графической оболочке, то запустить командный файл можно также при помощи команды Пуск - Выполнить.

Для создания командного файла:

Запустите текстовый редактор.

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

Сохраните этот файл, сделайте его исполняемым, применив команду:

сhmod +x имя_файла.

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

А) Создайте в домашнем каталоге командный файл creatе, который выполняет следующие операции:

В домашнем каталоге создает каталоги katalog1 и katalog2.

В каталог katalog1 копирует все файлы, длина имени которых 5 символов из каталога /bin.

В каталоге katalog2 создает текстовый файл user.txt, в котором будет храниться имя пользователя.

Б) Создайте в домашнем каталоге командный файл delcreatе, который удаляет все файлы и каталоги, созданные скриптом creatе.

ПЗ 4. Примерные контрольные задания

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

Cоздайте в домашнем каталоге каталог Dr1. В этом каталоге создайте два подкаталога Dr2 и Dr3. В каталоге Dr2 создайте подкаталог Dr4.

В каталоге Dr1 создайте текстовый файл FIO, в который запишите свое имя и фамилию.

В этом же каталоге создайте текстовый файл GR, в который запишите курс и номер группы.

Скопируйте файлы, содержащие в имени одну из букв a-c, из каталога /bin в каталог Dr4.

Файлы из Dr4, имеющие длину имени не более 4 символов, скопируйте в Dr3.

Переместите эти файлы из Dr3 в каталог Dr2.

Создайте второй командный файл, который будет удалять созданные каталоги вместе со всем содержимым.

Тут вы можете оставить комментарий к выбранному абзацу или сообщить об ошибке.


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

Эта статья поможет вам удалить как нескрытые файлы, файлы с определенными расширениями, скрытые файлы внутри каталога.

1. Чтобы удалить все не скрытые файлы из каталога, введите:

2. Чтобы удалить из каталога все файлы с расширением .txt, введите:

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

4. Чтобы удалить все скрытые файлы и каталоги из папки, введите:

5. Чтобы удалить все файлы из папки, но не удалять ее подкаталоги:

6. Чтобы удалить папку, в названии которой есть пробел, всегда используйте кавычки, например:

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

Например: Чтобы удалить каталог с именем «Good Morning», введите:

7. Вы можете увидеть, что происходит при удалении всех файлов в каталоге, передав параметр -v команде rm:

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

Примечание: вместо «* .sh» просто укажите «*», чтобы удалить все файлы.

Общие сведения о параметрах команды rm

  • -f: игнорировать несуществующие файлы и аргументы, никогда не запрашивать
  • -r: рекурсивно удалять каталоги и их содержимое
  • -v: посмотреть, что происходит

Добавить комментарий Отменить ответ


Существует множество вариантов лучших тем для Ubuntu. Но тестирование всех тем и выбор лучшей из них отнимает много времени и сил. Да и предустановленная тема может вам не понравиться. Поэтому мы отобрали 10 лучших тем Ubuntu для вашего рабочего стола Linux. Итак, как превратить рабочий стол в красивую и элегантную среду? С помощью нескольких простых.

Краткий обзор того, как работают гипервизоры и в чем разница между двумя их типами. Прежде чем вы увидите разницу между гипервизором типа 1 и типа 2 и узнаете, какой из них лучше (если это вообще возможно), давайте сначала рассмотрим, что такое гипервизор. Что такое гипервизор? Гипервизор – это системное программное обеспечение, которое выступает в качестве.

Итак, вы установили свой сервер Linux и установили все необходимые пакеты. Теперь вы собираетесь установить другой сервер с аналогичными пакетами. Вы можете сохранить команды установки первого сервера и запустить их на второй машине. Как быть, если вы делали это в течение нескольких недель и забыли некоторые детали, но вам нужно быстро запустить другой сервер. ssh.

Команда Linux top широко используется системными администраторами Linux в режиме реального времени для проверки использования системных ресурсов, таких как процессор, дисковый ввод/вывод, средняя загрузка системы, запущенные процессы и использование памяти. Я обычно использую Oracle OSWatcher Black Box (OSWbb) для сбора различных системных данных для диагностики проблем производительности в течение определенного периода времени. Но если вы.

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

В качестве shell-оболочки рассмотрим bash, как самую используемую. А в качестве операции над файлами рассмотрим удаление, как самую деструктивную.

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

В названии файла есть служебный символ bash

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


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

С полным списком служебных символов и механизмом экранирования в bash можно ознакомиться в man bash. Раздел QUOTING.

Имя файла начинается с дефиса

Удалить файл, начинающийся с дефиса простым экранированием не получится, и команда rm будет воспринимать дефис, как начало своего аргумента. Решить проблему довольно просто:

Удаляем по wildcard

Если удаление файлов попадает под wildcard-маску, то можно удалить всю группу файлов:

Файлы с управляющим символом в названии

В названии файла может встречаться управляющий ASCII-символ, такой как перевод строки (\n), табуляция (\t), backspace (\b). Это символы с ASCII-кодами менее 0x20, а также символы DELETE и ESC. Для удаления таких файлов подходит конструкция:


Другим способом удаления таких файлов являяется ввод управляющего символа с клавиатуры. Для этого нужно воспользоваться комбинацией клавиш, которая экранирует следующий введенный символ, тем самым запрещая системе обрабатывать его. Как правило, эта комбинация CTRL+V. Точно убедиться в этом можно с помощью команды stty -a, посмотрев на параметр lnext. Удалим файл, содержащий символ ESC:

Удаление файлов с символами utf8

Если имя файла содержит символ в кодировке utf8, который мы не можем набрать на клавиатуре, то удалить такой файл можно выделением его мышкой, копированием в буфер обмена и последующей вставкой на ввод команды rm. Главное условие состоит в том, что наш терминал должен работать в кодировке utf8. Кодировка выставляется в настройках терминала. Будь то xterm, putty или брутальный linux tty.

Перекодировка имени файла

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


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

Также можно воспользоваться сторонними программами, которые попытаются распознать кодировку автоматически. Например, онлайн-декодер Лебедева.

Если вы встретили такие символы в примонтированном media-носителе или смонтированном разделе Windows, не спешите ничего перекодировать. Возможно, вы просто указали неправильные опции монтирования.

Автокомплит

В случае, если в директории название требуемого файла начинается уникально, и это название можно однозначно сформировать автокомплитом, то это довольно простой способ удалить файл:

Удаляем файл через меню выбора

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

Удаление по номеру inode

Удалить файл можно по его номеру inode. Номер inode уникально идентифицирует файл в файловой системе. Узнать номер inode можно с помощью команды ls, а удалить – с помощью find. Недостаток этого способа, такой же, как у предыдущего. Неудобно, в случае большого числа файлов.

Удаление по hex-коду

И нельзя не упомянуть один суровый метод. Удаление по hex-кодам. Суть такова: мы узнаем hex-коды всех байтов в имени файла, а затем удаляем файл, указывая вместо имени hex-коды.

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

Удаление через rm

Для удаления файла, необходимо ввести команду rm и название документа.

Очищение документа

Данная команда удалит dokument, с некоторыми особенностями:

  • Интерпретатор запросит подтверждение на операцию.
  • В примере предполагается, что dokument находится в домашнем каталоге как и пользователь (/root/).

Удалим файл "newfile" из каталога /usr/games.

delete file

Удалить все файлы в папке.

Ключ "-f" даст возможность не выводить запрос на подтверждение операции. Однако, команда выше очистит только все файлы из каталога "games" не трогая директории.

Если нужно очистить систему от всех файлов, которые заканчиваются «.doc», следует приписать в самом конце команды символ «*», без пробела.

rm -f /usr/games/*.doc

Утилита Remove (rm) требует особой осторожности в работе. При халатном отношении к делу пользователь может навсегда стереть важные файлы.

Чтобы подобный казус не случился, рекомендуется совершать удаление файлов при помощи стандартной программы rm с добавлением опции -i. Она станет некой перестраховкой в данном вопросе – система начнет запрашивать подтверждение пользователя перед удалением файлов из каталога. Как это выглядит на практике:

Если пользователю не нужен запрос на подтверждение, и он на 100% уверен в правильности своих дальнейших действий, можно вписать в команду опцию с противоположным воздействием на процесс (-f).

rm -i /usr/games/*.doc

Удаление через find

Для реализации задуманного можно воспользоваться еще одной альтернативной программой find. Кроме того, она пригодится даже там, где rm не осилит поставленную задачу. Её синтаксис выглядит следующим образом:

$ find папка критерий действие

К примеру, пользователю нужно очистить текущий каталог от всех файлов с названием «file». Их можно найти и уничтожить следующим способом:

find . -type f -name «file» -delete

Чтобы удалить устаревшие логи (то есть, файлы старше конкретного срока), используйте специальную команду в виде:

$ find /path/to/files* -mtime +5 –exec rm <> \;

Исходя из заданной команды, можно понять, что Линукс удалит из текущего каталога все файлы, «возраст» которых превышает 5 дней. Вот видите, как легко управлять устройством посредством терминала!

Иногда в Linux наличествуют файлы, восстановление которых не имеет ни малейшей актуальности посте чистки ПК. То есть, от них нужно избавиться раз и навсегда. Если использовать ранее упомянутую программу rm, то ничего не получится, поскольку она удаляет лишь ссылку на файл, сохраняя при этом его содержимое в памяти устройства. Он все еще будет поддаваться восстановлению, ровно до того момента, пока Линукс не перезапишет его иной информацией.

Через shred

Чтобы очистить систему от документа без возможности его дальнейшего восстановления, нужно использовать специальную команду под названием «shred». Как только срабатывает команда, файл удаляется, и система неоднократно перезаписывает его место на диске. Как это выглядит на практике:

Что происходит далее? Система перезаписывает место на диске 3 раза (по умолчанию), но это количество поддается коррективам. Используйте опцию -n, если нужно что-то поменять. Добавление опции -z также повлияет на итоговый результат. С ней система запишет место на диске нулями, чтобы никто не мог догадаться о том, что определенный файл был уничтожен пользователем.

Читайте также: