*nix. Задай вопрос - получи ответ

Discussion in 'Linux, Freebsd, *nix' started by Xszz, 10 Jan 2008.

  1. MicRO

    MicRO Member

    Joined:
    28 Oct 2004
    Messages:
    274
    Likes Received:
    75
    Reputations:
    49
  2. Tyc00n

    Tyc00n Elder - Старейшина

    Joined:
    13 Jan 2007
    Messages:
    30
    Likes Received:
    25
    Reputations:
    -1
    Как добавить в архив все файлы из папки что бы каждый файл весил 0 или 1 байт,мне надо просто узнать названия файлов и папок...
     
  3. MacTep

    MacTep Elder - Старейшина

    Joined:
    29 May 2006
    Messages:
    317
    Likes Received:
    160
    Reputations:
    35
    find . -size -2c -- поиск файлов менее 2-ух байт размером в данной директории
     
    1 person likes this.
  4. MicRO

    MicRO Member

    Joined:
    28 Oct 2004
    Messages:
    274
    Likes Received:
    75
    Reputations:
    49
    Tyc00n чтобы узнать название папок и файлов как вариант ls -la /home/micro > /home/micro/ls.txt и в архив дальше tar -cjf ls.tar.bz2 /home/micro/ls.txt
    Code:
    ls -la /home/micro > /home/micro/ls.txt && tar -cjf ls.tar.bz2 /home/micro/ls.txt
    ну это как вариант, как я понял что тебе нужно
     
  5. Tyc00n

    Tyc00n Elder - Старейшина

    Joined:
    13 Jan 2007
    Messages:
    30
    Likes Received:
    25
    Reputations:
    -1
    Ты не понял...мне надо не заархивировать все файлы размером 2 байта,а что файл например весящий 15 мб попал в архив только своим названием и не содержал никакой информации..
     
  6. Tyc00n

    Tyc00n Elder - Старейшина

    Joined:
    13 Jan 2007
    Messages:
    30
    Likes Received:
    25
    Reputations:
    -1
    MicRO неа,не то) Видишь в чём проблема,прав на чтение папки нету, следовательно ls -la тут не прокатит,а если архивировать всё... ,например есть папка /home/micro , с правами *D* , туда не зайти и никак это не обойти (насколько я знаю) , а если выполнить архивацию этой папки ,то всё что находится внутри удачно заархивируется,я бы конечно мог всё заархировать,но это получилось бы очень очень много гигов и просто не смог бы скачать,а если архивировать только названия файлов и папок то выйдет не так уж и много...
     
  7. Ky3bMu4

    Ky3bMu4 Elder - Старейшина

    Joined:
    3 Feb 2007
    Messages:
    487
    Likes Received:
    284
    Reputations:
    42
    Лично я не уверен, что такую папку вообще можно заархивировать...
    Как вариант, создать на каждый файл в папке sybol link, далее все эти линки заархивировать.
     
    2 people like this.
  8. MacTep

    MacTep Elder - Старейшина

    Joined:
    29 May 2006
    Messages:
    317
    Likes Received:
    160
    Reputations:
    35
    Code:
    #!/bin/sh
    
    mkdir $1
    ln -s `find . \! -name $1` $1/
    tar -czf $1.tar.gz $1/
    Иллюстрация того, что предложил Ky3bMu4. Хотя, ИМХО, если нет прав на чтение директории, то не прокатит.

    PS Извиняюсь, сначала не совсем понял, что тебе было нужно.
     
    #28 MacTep, 11 Jan 2008
    Last edited: 11 Jan 2008
  9. MicRO

    MicRO Member

    Joined:
    28 Oct 2004
    Messages:
    274
    Likes Received:
    75
    Reputations:
    49
    Tyc00n глупости говоришь, если прав на чтение нет то откуда tar ирархию возьмёт? у него какая то другая система получения файлов? Ж)
     
  10. Tyc00n

    Tyc00n Elder - Старейшина

    Joined:
    13 Jan 2007
    Messages:
    30
    Likes Received:
    25
    Reputations:
    -1
    MicRO , я тут много говорить не буду, но это реально работает, выполение команды в папке и её архивация очень разные вещи..
     
  11. Xszz

    Xszz Elder - Старейшина

    Joined:
    23 Apr 2007
    Messages:
    141
    Likes Received:
    42
    Reputations:
    9
    при попытке вызова интерпретатора Perl получаю ошибку (can't find PerlLib.so)
    переустановка пакета perl не помогла , залил perllib.so в /usr/lib ошибка пропала , появилась другая ...
    RedHat 9 .
    переустанавливал так : rpm -ivh --force /root/perl.rpm
     
  12. MacTep

    MacTep Elder - Старейшина

    Joined:
    29 May 2006
    Messages:
    317
    Likes Received:
    160
    Reputations:
    35
    Копипаст новой ошибки в студию.
     
  13. MicRO

    MicRO Member

    Joined:
    28 Oct 2004
    Messages:
    274
    Likes Received:
    75
    Reputations:
    49
    gk-server:/home/micro# id
    uid=0(root) gid=0(root) группы=0(root)
    gk-server:/home/micro# mkdir test_
    gk-server:/home/micro# touch test\_/123.txt
    gk-server:/home/micro# chmod -R 700 test\_/
    gk-server:/home/micro# chown -R root:root test_
    gk-server:/home/micro# ls test_
    123.txt
    gk-server:/home/micro# exit
    gk-server:~> id
    uid=1002(micro) gid=1003(micro) группы=4(adm),20(dialout),21(fax),26(tape),29(audio),30(dip),46(plugdev),111(scanner),1003(micro)
    gk-server:~> ls test_
    ls: test\_: Permission denied
    gk-server:~> tar cjf test.tar.bz2 test\_
    tar: test_: Невозможно open: Permission denied
    tar: Выход, отложенный по результатам предыдущих ошибок
    gk-server:~> tar -tvf test.tar.bz2
    gk-server:~>
    Нечего доказывать... вот тебе пример на деле
    как продолжение
    gk-server:~> su
    Password:
    gk-server:/home/micro# tar -cjf test.tar.bz2 test\_
    gk-server:/home/micro# tar -tvf test.tar.bz2
    drwx------ root/root 0 2008-01-11 17:27 test_/
    -rwx------ root/root 0 2008-01-11 17:27 test_/123.txt
     
    #33 MicRO, 11 Jan 2008
    Last edited: 11 Jan 2008
    1 person likes this.
  14. Xszz

    Xszz Elder - Старейшина

    Joined:
    23 Apr 2007
    Messages:
    141
    Likes Received:
    42
    Reputations:
    9
    Копи паст новой ошибки :(
    Libperl.so вставлен от Mandrake .

    [​IMG]
     
    #34 Xszz, 11 Jan 2008
    Last edited: 11 Jan 2008
  15. MicRO

    MicRO Member

    Joined:
    28 Oct 2004
    Messages:
    274
    Likes Received:
    75
    Reputations:
    49
    Xszz
    в студию perl -V
    и для примера
    $ perl -e 'print "Hello World\n"'
    Hello World
     
  16. Tyc00n

    Tyc00n Elder - Старейшина

    Joined:
    13 Jan 2007
    Messages:
    30
    Likes Received:
    25
    Reputations:
    -1
    Micro , попробуй tar cvfz file.tgz /path/
     
  17. MicRO

    MicRO Member

    Joined:
    28 Oct 2004
    Messages:
    274
    Likes Received:
    75
    Reputations:
    49
    Сорри я уже дома, но проделано то же что и выше результате мы имеет только в архиве путь до test_ , ещё раз доказывая что это сделать нельзя Ж)
    # ls test\_/
    123.txt
    # exit
    $ tar cvfz file.tgz /usr/home/micro/test_
    tar: Removing leading '/' from member names
    a usr/home/micro/test_
    tar: /usr/home/micro/test_: Couldn't visit directory: Permission denied
    $ tar cvfz file.tgz /usr/home/micro/test\_
    tar: Removing leading '/' from member names
    a usr/home/micro/test_
    tar: /usr/home/micro/test_: Couldn't visit directory: Permission denied
    $ tar tvf /usr/home/micro/file.tgz
    drwx------ 0 root wheel 0 11 янв 19:27 usr/home/micro/test_
     
  18. Xszz

    Xszz Elder - Старейшина

    Joined:
    23 Apr 2007
    Messages:
    141
    Likes Received:
    42
    Reputations:
    9
    2 MicRO


    Вот скрин
    [​IMG]
     
  19. MicRO

    MicRO Member

    Joined:
    28 Oct 2004
    Messages:
    274
    Likes Received:
    75
    Reputations:
    49
    ну можно было текстом Ж)
    так с редхатом дел в принципе имел очень мало, есть чтонить yum yast или онли rpm ?
    без --force непереусталавливалась?
     
  20. Xszz

    Xszz Elder - Старейшина

    Joined:
    23 Apr 2007
    Messages:
    141
    Likes Received:
    42
    Reputations:
    9
    онли Rpm
    щаз попробую ещё раз ...