Prosíme přihlašte se nebo zaregistrujte.

Přihlašte se svým uživatelským jménem a heslem.
Vaše pomoc je stále potřeba!

Autor Téma: rm a ls rekurzivne  (Přečteno 4778 krát)

Peterx

  • Aktivní člen
  • *
  • Příspěvků: 403
rm a ls rekurzivne
« kdy: 28 Prosince 2007, 11:58:49 »
Vie mi niekto poradit ak chcem dat vymazat subori napriklad z koncovkov gz z adresara /var/log
preco mi nefunguje rm -r /var/log/*.gz
Ani ls -R /var/log/*.gz mi nejde, ale ls -R /var/log/ funguje spravne.

Martin - ViPEr*CZ*

Re: rm a ls rekurzivne
« Odpověď #1 kdy: 28 Prosince 2007, 12:25:04 »
Co to hází za chybu?
Open source is gold way... Mint 17.2, Debian 8.1 Jessie| Ubuntu Wiki (návody) | Google vyhledávač | Qt4 návody

Peterx

  • Aktivní člen
  • *
  • Příspěvků: 403
Re: rm a ls rekurzivne
« Odpověď #2 kdy: 29 Prosince 2007, 22:46:25 »
Ziadna chyba.
ls -R /var/log/*.gz - vypise vsetko co ma koncovku gz ale nie v podadresaroch.
ls -R /var/log - vypise vsetko aj v podadresaroch.
Tak isto sa chova prikaz rm.
Nechapem preco...

Duffy

  • Aktivní člen
  • *
  • Příspěvků: 436
Re: rm a ls rekurzivne
« Odpověď #3 kdy: 29 Prosince 2007, 23:24:15 »
Je to logické, pokud zadáte ls -R /var/log/*.gz, nemůže vám to zobrazit /var/log/cokoliv/*.gz . Neodpovídá to té první cestě. Pokud byste aplikoval tuto logiku i na jiné příkazy tak třebas editováním /var/log/list.gz byste editoval i /var/log/kernel/list.gz, což nemusíte vždycky chtít. Zkusil jsem napsat nějaký skript který by vešel do každé složky v /var/log a vymazal z ní všechny soubory s příponou *.gz ale nepovedlo se mi to, bohužel toto skriptování příliš neovládám.
Notebook Fujitsu Siemens Amilo Xa 1526 s Ubuntu 8.04. Po dlouhém zkoušení jsem zůstal u Ubuntu a GNOME.

Peterx

  • Aktivní člen
  • *
  • Příspěvků: 403
Re: rm a ls rekurzivne
« Odpověď #4 kdy: 30 Prosince 2007, 09:13:43 »
No da sa to spravit cez find, ale mna by zaujimalo preco rekurzivne vlastne v urcitych pripadoch rekurzivne nie je?

Duffy

  • Aktivní člen
  • *
  • Příspěvků: 436
Re: rm a ls rekurzivne
« Odpověď #5 kdy: 30 Prosince 2007, 12:39:36 »
No je to rekurzivny, proctete si pozorne co jsem vám již napsal, /var/log/cokoliv/hist.gz, nenajdete když rekurzivně vypisujete /var/log/*.gz jelikož ta cesta je prostě jiná, *.gz by nikdy neměl bejt adresář. Příkazem ls -R /var/log hledáte vlastně všechny výskyty /var/log/*. A příkazem ls -R /var/log/*.gz hledáte vlastně /var/log/*.gz/*. Jenom v tom druhém případě nic nenajde, jelikož *.gz bude soubor a nikoliv adresář.
Notebook Fujitsu Siemens Amilo Xa 1526 s Ubuntu 8.04. Po dlouhém zkoušení jsem zůstal u Ubuntu a GNOME.

Pavelp

  • Host
Re: rm a ls rekurzivne
« Odpověď #6 kdy: 30 Prosince 2007, 18:38:31 »
Je to logické, pokud zadáte ls -R /var/log/*.gz, nemůže vám to zobrazit /var/log/cokoliv/*.gz . Neodpovídá to té první cestě. Pokud byste aplikoval tuto logiku i na jiné příkazy tak třebas editováním /var/log/list.gz byste editoval i /var/log/kernel/list.gz, což nemusíte vždycky chtít. Zkusil jsem napsat nějaký skript který by vešel do každé složky v /var/log a vymazal z ní všechny soubory s příponou *.gz ale nepovedlo se mi to, bohužel toto skriptování příliš neovládám.

A takhle nejak to neslo ?
ls -d $TOPDIR* >> $SEZNAM ;          # cely diry do work seznamu
for I in `cat $SEZNAM`; do udelat_neco_se $I ; done

Peterx

  • Aktivní člen
  • *
  • Příspěvků: 403
Re: rm a ls rekurzivne
« Odpověď #7 kdy: 30 Prosince 2007, 21:12:17 »
"A příkazem ls -R /var/log/*.gz hledáte vlastně /var/log/*.gz/*"
Takto to asi nebude, lebo po zadani prikazu mi to vypise vsetky subori vo /var/log/ s koncovkov gz, cize nehladam /var/log/*.gz/*. Ak by mi to nic nenaslo suhlasil by som, ale tak to nie je. Proste vypise tie subori gz ale nie v podadresaroch, ale len v tom hlavnom..
To mazanie ide  napriklad takto: find /var/log/ -name *.gz | xargs rm -f
Mne ide o to skor pochopit preco sa ls -R chova tak ako chova.

pooh

  • Návštěvník
  • Příspěvků: 17
Re: rm a ls rekurzivne
« Odpověď #8 kdy: 30 Prosince 2007, 21:20:48 »
a spuštění ve /var/log bz nepomohlo?
Notebook 12,1" MSI S271X-Orange, 2GB RAM, AMD Sempron 3400+ (1,8 GHz), 100GB; Ubuntu GG

Duffy

  • Aktivní člen
  • *
  • Příspěvků: 436
Re: rm a ls rekurzivne
« Odpověď #9 kdy: 30 Prosince 2007, 22:20:24 »
"A příkazem ls -R /var/log/*.gz hledáte vlastně /var/log/*.gz/*"
Takto to asi nebude, lebo po zadani prikazu mi to vypise vsetky subori vo /var/log/ s koncovkov gz, cize nehladam /var/log/*.gz/*. Ak by mi to nic nenaslo suhlasil by som, ale tak to nie je. Proste vypise tie subori gz ale nie v podadresaroch, ale len v tom hlavnom..
To mazanie ide  napriklad takto: find /var/log/ -name *.gz | xargs rm -f
Mne ide o to skor pochopit preco sa ls -R chova tak ako chova.

Chlape ty bys měl jít do politiky :D. Uplně nevědomky vytrháváš věty z kontextu tak že pomalu přestávaj dávat smysl :D, přečti si ty ostatní věty v příspěvku, zvláště tu následující ;).

Rekurzivní hledání v tomto případě funguje tak že hledá v podsložkách. ls -R /var/log je tedy teoreticky to stejné jako všechny výpisy ls /var/log/* (až na to že ten druhý příkaz vypíše jen abecedně první adresář a žádné soubory). Příkaz ls -R /var/log/*.gz tedy hledá v adresáři /var/log/, kde najde všechny výskyty *.gz, poté ale hledá v adresáři /var/log/*.gz, ale okamžitě zjistí že to není adresář tím pádem hledání ukončí.

Pokud zadát ls -R /var/log/*.gz nemůže najít /var/log/něco/*.gz. Pokud by se takto choval tak by při ls -R /var/log vypsal i třeba /var/cache/log (stejná logika, opět je pozměněna zadaná cesta dalším adresářem.
Notebook Fujitsu Siemens Amilo Xa 1526 s Ubuntu 8.04. Po dlouhém zkoušení jsem zůstal u Ubuntu a GNOME.

Peterx

  • Aktivní člen
  • *
  • Příspěvků: 403
Re: rm a ls rekurzivne
« Odpověď #10 kdy: 31 Prosince 2007, 08:19:48 »
Uz chapem, ale myslim ze je to cudne chovanie. Ved je jasny rozdiel medzi /*.gz a /.gz/

Krtko

  • Stálý člen
  • **
  • Příspěvků: 540
Re: rm a ls rekurzivne
« Odpověď #11 kdy: 31 Prosince 2007, 10:39:20 »
no podla mna je to uplne logicke chovanie. ale zase rucne mazanie .gz suborov vo /var/log je hlupost. precitaj si manual k programu logrotate a porzri si jeho nastavenia.

Peterx

  • Aktivní člen
  • *
  • Příspěvků: 403
Re: rm a ls rekurzivne
« Odpověď #12 kdy: 31 Prosince 2007, 10:59:53 »
No az taka hlupost to nie je. Viem ze sa daju rotovat, ale mne to z urciteho dovodu nevyhovuje.

 

Provoz zaštiťuje spolek OpenAlt.