• Към основното навигационно
  • Прескочи на основното съдържание
  • Към долния колонтитул
TechLila

TechLila

Bleeding Edge, винаги

  • Начало
  • Информация
  • Контакти
  • Сделки и оферти
Техлила
Сподели
Tweet
Сподели
щифт
5 Акции
Защитни стени на Linux
Следва

Топ 5 на най-добрите защитни стени на Linux за 2022 г

Изтрийте файлове, по-стари от 'x' дни в Linux

TechLila компютър Linux

Изтрийте файлове, по-стари от 'x' дни в Linux

Аватар за Раджеш Намасе Раджеш Намасе
Последна актуализация на: Ноември 30, 2020

Днес ще ви покажем начин, по който можете изтрийте файлове, които са по-стари от „X“ дни. Да предположим, че искате да изтриете файлове, по-стари от 7 дни, тогава тази статия ще ви помогне да направите това. Помощната програма find ви позволява да предадете няколко интересни аргумента, включително един за изпълнение на друга команда за всеки файл. За да разберем кои файлове са по-стари от определен брой дни, ще използваме това намерете полезност и след това използвайте rm команда да ги изтриете. Синтаксисът на командата е както следва:

намери /пътя/до/файлове* -mtime +5 -exec rm {} \;

Ние не носим отговорност за загуба на данни, която може да възникне. Препоръчахме ви на избройте файловете и проверете преди да ги изтриете, като изпълните следната команда:

намери /пътя/до/файлове* -mtime +5 -exec ls {} \;

Забележка: Има интервали между rm, {} и \;

Изтрийте файлове, по-стари от 5 дни
Вижте също
Как да създадете хранилище в Linux

Обяснение на командата:

Първият аргумент в горната команда е път към файловете. Вторият аргумент е -Mtime се използва за определяне на колко дни е стар файлът. Ако въведете +5, той ще намери файлове, по-стари от пет дни. Последният аргумент е -Exec ви позволява да подадете команда като rm. В {} \; в края се изисква за прекратяване на командата.

Това трябва да работи на почти всички версии на Linux като Ubuntu, Fedora, Red Hat, Suse и др. Ако се сблъскате с някакъв проблем, който изглежда доста невъзможен тук, уведомете ни в коментарите по-долу.

Сподели
Tweet
Сподели
щифт
5 Акции

Разкриване на информация Нашето съдържание се поддържа за четене.

Споделянето е загриженост

Сподели
Tweet
Сподели
щифт
5 Акции
Аватар за Раджеш Намасе

Раджеш Намасе

Раджеш Намасе е професионален блогър и основател на блога TechLila. Освен това той е страстен предприемач, интернет маркетинг и фитнес изрод.

категория

  • Linux

Маркирания

Linux команди, Уроци за Linux

Reader Взаимодействия

Какво казват хората

  1. Аватар за Сурадж СалунхеСурадж Салунхе

    Използвах този трик! Страхотен трик! Благодаря, че сподели такъв добър трик :)

    Отговор
  2. Аватар за Амрута ПатилАмрута Патил

    Да, използвах тази команда по време на тренировъчната сесия на RHCE.

    Отговор
  3. Аватар за БенБен

    find ./* -mtime +5 -exec ls {} \; >> ./5DaysOld

    alias 5DayLs="find ./* -mtime +5 -exec ls {} \; >> ./5DaysOld"

    Събрах нещо заедно от вашето предложение тук. Метод за създаване на обикновен текстов списък с файлове на пет дни. По-лесно е да поддържате запис за преглед, преди да премахнете файлове. След това потребителите могат да използват cat, vi, vim, gedit, emacs, за да видят какво могат да изхвърлят.

    find ./* -mtime +5 -exec ls {} \; >> ./5DaysOld

    Разбиването му ./ е текущата директория. Намерете използването на текуща директория често по-безопасно от използването на / cannon. >> добавя към файл, ако не съществува, той се създава.

    Дори смятах, че може да е полезен като псевдоним. Вероятно първо може/трябва да го пренесе в скрипт на обвивка. Въпреки това, че съм мързелив, закъснявам тук.

    Отговор
  4. Аватар за Бен ПайпърБен Пайпър

    Благодаря! Използвах този синтаксис в cron работа.

    Отговор
  5. Аватар за ВивианВивиан

    Добрият съвет за изтриване на файлове, по-стари от определени дни. Въпреки това, ако списъкът ви с аргументи е дълъг (мисля, че максимумът е 65535 или нещо подобно), това няма да работи.

    Имам персонализиран скрипт, който върши работата:


    #!/bin/bash

    cd /directory-to-be-checked
    allfiles=`ls`
    NOW=`date +%s`
    for filename in $allfiles
    do
    OLD=`stat -c %Z $filename`
    if [ "$2" == "" ]
    then
    DELAY=86400
    else
    let "DELAY=$2 * 86400"
    fi
    AGE=`expr $NOW - $OLD`
    #echo "Delay is $DELAY and Age is $AGE"
    #exit 0
    if [ $AGE -gt $DELAY ]
    then
    #echo "File $filename is $AGE"
    fstamp=`ls -l $filename`
    if [ "$1" == "DEL" ]
    then
    echo "Deleting file $filename"
    `rm -f $filename`
    else
    echo "$fstamp"
    fi
    fi

    Дари.

    Отговор
    • Аватар за Раджеш НамасеРаджеш Намасе

      Благодаря за скрипта.

      Отговор
      • Аватар за ВивианВивиан

        Добре дошъл, Намасе.

        Извикайте скрипта така:

        ./scriptname.sh DEL numDays

        Ако numDays не е посочено, той ще използва минимума от 1, така че не забравяйте да посочите numDays. Не нося отговорност за това как използвате този скрипт и за всяка загуба на данни, която може да възникне.

        Отговор
  6. Аватар за PawanPawan

    ако искам изтриване на директории и файлове от 30 дни на моята отдалечена машина и едно нещо, с изключение на 1 и 2 или 3 директории и така как мога да направя това ..?? Моля, споделете вашите мисли.

    Отговор
  7. Аватар за АлиАли

    Използвам тази техника, тя е много полезна за изтриване на trc файл в oracle

    Отговор
  8. Аватар за ИтънИтън

    Благодаря, че споделихте тази полезна команда за всички потребители. Можем лесно да изтрием по-стари файлове в Linux. Аз също го търся и най-накрая намерих решението тук.

    Отговор
  9. Аватар за ГрегГрег

    Това получава ли файлове и в поддиректории? Ако е така, как да го направя, за да не стане?

    find /home/greg/logs -type f -mtime +5 -exec rm {};

    Отговор
  10. Аватар за Сурадж СалунхеСурадж Салунхе

    Търсих такава команда. Наистина полезно. И благодаря за споделянето на сценария, Вивиан.

    Отговор

Добавете Вашия коментар Отказване на отговора

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани *

Лого на фона Лого на текста в долния колонтитул

Footer

Информация

Здравейте и добре дошли в TechLila, известният технологичен блог, където можете да намерите находчиви статии за овладяване на основите и извън него.

В TechLila нашата основна цел е да предоставим уникална информация, като съвети и трикове за качество, уроци, ръководства с практически инструкции за Windows, Macintosh, Linux, Android, iPhone, сигурност и няколко различни подтеми, като рецензии.

Връзки

  • Информация
  • Контакти
  • Отказ от отговорност
  • Политика за Поверителност
  • условия

Следвай ни

Персонализирана тема с помощта на Genesis Framework

Облачен хостинг от Cloudways

език

en English
bg Българскиzh-CN 简体中文nl Nederlandsen Englishtl Filipinofr Françaisde Deutschid Bahasa Indonesiait Italianoja 日本語pl Polskipt Portuguêsro Românăru Русскийsr Српски језикes Españolsv Svenskatr Türkçeuk Українськаvi Tiếng Việt

© Авторско право 2012–2022 TechLila. Всички права запазени.