Kompresowanie folderów za pomocą hasła za pomocą wiersza polecenia


59

Chciałbym wiedzieć, czy można wykonać następujące czynności za pośrednictwem interfejsu CLI.

Mam folder, Fktóry zawiera kilka podfolderów i niektóre pliki. Chcę skompresować folder Fdo .zippliku za pomocą „wyciągu tylko z hasła”.



1
Googlersi ... → proszę zatrzymać oddanie żadnego zaufania hasłem zip „ochrony” - patrz odpowiedź poniżej
Frank Nocke

Odpowiedzi:


67

Przejdź do odpowiedniego folderu za pomocą następującego cdpolecenia:

cd /path/to/folder/

(Jeśli twój folder Fznajduje się w folderze domowym, możesz to zrobić cd ~.)

Następnie wpisz swój terminal:

zip -er F.zip F

Spowoduje to monit o podanie hasła. Daj go, a utworzy chroniony hasłem plik zip z tego folderu.

  • -ewłącza szyfrowanie pliku zip. Właśnie dlatego prosi o hasło.
  • -r sprawia, że ​​polecenie jest rekurencyjne, co oznacza, że ​​wszystkie pliki w folderze zostaną dodane do pliku zip.
  • F.zip to nazwa pliku wyjściowego.
  • F to folder, który chcesz skompresować.

Istnieje opcja o nazwie -P, która pozwala przekazać hasło w samym poleceniu, ale to nie jest dobre, ponieważ zawsze istnieje zagrożenie zerknięcia przez ramię . Również inni użytkownicy mogą zobaczyć hasło za pomocą ps -efpolecenia, jeśli używasz -Pprzełącznika. Z tym -Pprzełącznikiem polecenie będzie wyglądać następująco:

zip -P password -r F.zip F
  • Odwiedź, man zipaby uzyskać więcej informacji.

-e oznacza szyfrowanie
dedunumax

Hej, właśnie edytowałem twoje pytanie, aby uwzględnić trochę kontekstu. Ale czy możesz go edytować, aby dołączyć -e means encryptkomentarz, a także znaczenie -ropcji. Dzięki!
Alaa Ali,

Tx Dedunu za twoje wejście. Wystarczy jeszcze jedno wyjaśnienie. Co jeśli muszę zautomatyzować to ... Mam na myśli to, że zamiast pytać o hasło, czy mogę ustawić hasło w samym poleceniu?
UnderDog

Dodałem to również.
dedunumax

1
Ale korzystanie z niego jest wysoce niezalecane, ponieważ twoja historia zostanie zapisana. w przeciwnym razie inni użytkownicy mogą zobaczyć twoje hasło za pomocą „ps aux”
dedunumax

40

Szyfrowanie plików zip jest słabe i można je bardzo łatwo złamać. Zamiast tego użyj 7zip.

7z a -p Fdirectory.7z /path/to/F
  • a polecenie mówi 7zip, aby dodało pliki.
  • -p Możesz albo pozostawić to pole puste, aby pytało Cię interaktywnie, albo wpisać tutaj hasło.
  • Fdirectory.7z to nazwa tworzonego archiwum.
  • /path/to/Fjest ścieżką do twojego katalogu. Może to być ścieżka względna lub pełna.

Zaleca się, aby nie wpisywać hasła w powłoce, ponieważ jest widoczne dla każdego, kto ma dostęp do /prockatalogu.


3
Wygląda na to, że jeśli podasz -ptylko 7zhasło i je pominiesz, poprosi o to interaktywnie - nawet po raz drugi o potwierdzenie.
ssc

@ssc jest to najbardziej przydatna opcja, ale nie ma jej na stronach podręcznika.
Braiam

Próbowałem powyższego polecenia, aby skompresować folder z kilkoma plikami o łącznej wielkości ~ 19kB. A jednak zajmuje to około 2 minut! Dlaczego to trwa tak długo?
BringBackCommodore64

2
@ BringBackCommodore64 Nie używaj flagi -r do ponownego wystąpienia. 7z będzie przeszukanie katalogu źródłowego bez tej flagi. -rzamiast tego doda wszystkie pliki i podkatalogi bieżącego katalogu roboczego . Strona podręcznika 7z wyraźnie ostrzega przed tym i mówi, że flagi tej należy unikać. linux.die.net/man/1/7z
Håken Lid

1
@ rubo77 każdy format może być brutalny, ale 7zip algo nie daje się łatwo złamać, co pokazuje sama odpowiedź, w której hasło> 12 znaków może być niemożliwe.
Braiam
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.