Kopiowanie plików
- EN: This page is not translated to English.
Do kopiowania plików używa się komendy cp:
cp source_file somewhere/target_dir/
Katalogi można kopiować komendą cp
z opcją -r
(recursive):
cp -r source_dir somewhere/target_dir/
Podczas kopiowania można używać uogólnionych nazw z \*
:
*
– wszystkie pliki/katalogi*.roz
– wszystkie pliki z rozszerzeniem .roza*
– wszystkie pliki/katalogi zaczynające się od a
Rozmiar kalalogów
Do sprawdzenia rozmiaru katalogu można użyć komendy:
du -hc katalog/
Do sprawdzenia zajętej przestrzeni dyskowej
```.sh
lfs quota -uh $USER /lu/tetyda/home/$USER
lfs quota -uh $USER /lu/topola/home/$USER/ # użytkownicy plgrid
Kopiowanie plików - SSH
Aby przegrać pliki pomiędzy maszynami korzystamy z polecenia scp. Składnia jest taka jak przy zwykłym kopiowaniu cp.
Przydatne opcje:
Opcja | Znaczenie |
---|---|
-C | włącza kompresję (w przypadku pliku skompresowanego nie ma to sensu) |
-p | zachowuje oryginalną datę stworzenia pliku |
-r | (recursive) kopiowanie całego podkatalogu |
-v | (verbose) przydatne, jeśli nie udaje nam się połączyć |
Uwagi:
- swój katalog domowy można zastąpić przez znak
~
- nie podanie ścieżki spowoduje wgrywanie plików względem katalogu domowego
- Sprawdzenie dostępnego miejsca w katalogu użytkownika
quota -v login_uzytkownika
Przykłady:
# Kopiowanie pliku do ICM:
scp -C -p plik.tar.gz username@hpc.icm.edu.pl:.
# Kopiowanie pliku z ICM:
scp -C -p username@hpc.icm.edu.pl:plik.tar.gz destination_folder
# Kopiowanie zawartości katalogu do ICM:
scp -r -C -p source_folder username@hpc.icm.edu.pl:destination_folder
# Kopiowanie zawartości katalogu z ICM:
scp -r -C -p username@hpc.icm.edu.pl:source_folder destination_folder
# Kopiowanie z hpc na okeanos/rysy - nie zalecane, łatwiej poprzez zasób współdzielony
scp -r -C -p source_folder username@okeanos:/home/username
scp -r -C -p source_folder username@rysy:/home/username
Synchronizacja i montowanie katalogów
# Zamontowanie zdalnego folderu na lokalnej maszynie
sshfs user@your.server.example.com:/source_folder destination_folder
# Synchronizacja (tylko nowe pliki) zawartości lokalnego folderu ze zdalnym (lub vice versa)
rsync -avzhe ssh --progress source_folder/ user@your.server.example.com:/destination_folder/
# Synchronizacja z zastrzeżeniem do plików `.csv` i zachowaniem struktury katalogów
rsync -zarv --prune-empty-dirs --include "*/" --include="*.csv" --exclude="*" "$FROM" "$TO"
Kopiowanie poprzez zasób współdzielony
Info
Szczegóły zasobów dyskowych ICM opisane są tu.
Maszyny ICM'u dysponują współdzielonymi systemami plików. Można na nich operować tak, jak na dysku lokalnym (kopiowanie za pomocą cp). Do zasobów współdzielonych należą:
/lu/tetyda/home/$USER/
Katalog domowy okeanosa /lustre/tetyda/home/
jest widoczny pod scieżką /lu/tetyda/home/user_name/
z węzła dostępowego na topoli.
Udzielenie dostępu do danych dla innych użytkowników
Rekomendowanym sposobem na współdzielenie danych z innym użytkownikiem jest użycie komendy setfacl
.
## aby nadać uprawnienia (r - read, w - write, x - execute)
$ setfacl --recursive -m u:inny_uzytkownik:rwx /somewhere/folder_to_share
## aby sprawdzić uprawnienia
$ getfacl /somewhere/folder_to_share/
# file: /somewhere/folder_to_share/
# owner: john_smith
# group: icm-users
user::rwx
user:joe:r-x
user:kate:rwx
user:bob:r-x
user:julia:r--
group::r-x
mask::r-x
other::r-x
Więcej informacji na: https://www.redhat.com/sysadmin/linux-access-control-lists
Udzielenie dostępu do danych dla członków tej samej grupy użytkowników
Innym sposobem na przekaznie dostępu do plików jest użycie mechanizmu praw dostępu do pliku w Linux.
Uwaga, ten mechanizm nie jest polecany w systemach ICM UW - dla wielu użytkowników icm-users
to jedyna, domyślna,
grupa do których należy użytkownik można sprawdzić poleceniem groups $USER
).
Utworzenie/dołączenie do nowej grupy wymaga uprawnień administratora.
W tym celu należy najpierw ustawić właściwą grupę dla plików które nas interesują, a następnie prawo odczytu (i zapisu jeżeli dotyczy) dla tej grupy.
Przykładowo, jeżeli grupa ma nazwę my-team
,
-
Zmieniamy grupę główną w powłoce:
$ newgrp my-team
-
Ustawiamy własność dla tej grupy dla plików:
$ chgrp my-team nazwa_pliku
opcja
-R
pozwala robić to rekursywnie dla katalogów -
Ustawiamy prawa dla członków grupy:
$ chmod g+r nazwa_pliku # odczyt
$ chmod g+w nazwa_pliku # zapis
Klient FTP
Do transferu plików można wykorzystać (darmową) aplikacje, np FileZilla
.
W trakcie dwu etapowej autoryzacji (2FA) wymagane jest podanie hasła OTP.
W kliencie FTP konieczne jest ustawienie logowania w trybie interaktywnym.
Przykładowo, dla aplikacji FileZilla
konfiguracja wygląda następująco:
- W lewym górnym rogu kliknij
File
→Site Manager...
- Wpisz hasło OTP