Linux - linia komend dla początkujących: uprawnienia do plików i katalogów
Spisu treści:
- Kopiowanie plików za pomocą polecenia
cp
- Skopiuj plik do katalogu
- Skopiuj wiele plików
- Kopiowanie katalogów za pomocą polecenia
cp
- Kopiowanie plików i katalogów za pomocą polecenia
rsync
- Wniosek
Kopiowanie plików i katalogów jest jednym z najczęstszych zadań wykonywanych podczas pracy w wierszu poleceń. W Linuksie istnieje kilka poleceń do kopiowania plików, przy czym najczęściej używanymi narzędziami są
cp
i
rsync
.
Powszechną praktyką jest używanie polecenia
cp
podczas kopiowania plików i polecenia
rsync
podczas kopiowania katalogów.
Aby móc kopiować pliki i katalogi, musisz mieć przynajmniej uprawnienia do odczytu pliku źródłowego i uprawnienia do zapisu w katalogu docelowym.
Kopiowanie plików za pomocą polecenia
cp
W systemach operacyjnych Linux i Unix polecenie
cp
służy do kopiowania plików i katalogów.
Najprostszym przypadkiem użycia jest skopiowanie pliku do bieżącego katalogu roboczego. Na przykład, aby skopiować plik o nazwie
file.txt
do pliku o nazwie
file_backup.txt
w bieżącym katalogu, uruchom następującą komendę:
cp file.txt file_backup.txt
Jeśli plik docelowy istnieje, zostanie zastąpiony. Aby otrzymać monit o potwierdzenie przed zastąpieniem plików, użyj opcji
-i
.
cp -i file.txt file_backup.txt
Domyślnie, gdy używasz polecenia
cp
do skopiowania pliku, nowy plik będzie własnością użytkownika wykonującego polecenie. Użyj opcji
-p
, aby zachować tryb pliku, własność i znaczniki czasu:
cp -p file.txt file_backup.txt
Inną przydatną
-v
jest
-v
. Podczas korzystania z tej opcji polecenie wypisuje, co jest robione:
cp -v file.txt file_backup.txt
'file.txt' -> 'file_backup.txt'
Skopiuj plik do katalogu
Aby skopiować plik do katalogu, określ bezwzględną lub względną ścieżkę do katalogu. Jeśli katalog docelowy zostanie pominięty, plik zostanie skopiowany do bieżącego katalogu.
W poniższym przykładzie kopiujemy plik
file.txt
do katalogu
/backup
:
cp file.txt /backup
Przy określaniu tylko nazwy katalogu jako miejsca docelowego skopiowany plik będzie miał taką samą nazwę jak plik oryginalny.
cp file.txt /backup/new_file.txt
Powyższe polecenie skopiuje plik do określonego katalogu jako
new_file.txt
.
Skopiuj wiele plików
Aby skopiować wiele plików i katalogów na raz, podaj nazwy plików źródłowych i katalogów, a następnie katalog docelowy jako ostatni argument:
cp file.txt dir file1.txt file2.txt dir1
Podczas kopiowania wielu plików miejscem docelowym musi być katalog.
Polecenie cp pozwala również na użycie dopasowania wzorca. Na przykład, aby skopiować wszystkie pliki
.png
z bieżącego katalogu do katalogu
/backup
, należy użyć:
Kopiowanie katalogów za pomocą polecenia
cp
Aby skopiować katalog, w tym wszystkie jego pliki i podkatalogi, użyj opcji
-R
lub
-r
. W poniższym przykładzie kopiujemy katalog
Pictures
do
Pictures_backup
:
cp -R Pictures Pictures_backup
Powyższe polecenie utworzy katalog docelowy i rekurencyjnie skopiuje wszystkie pliki i podkatalogi ze źródła do katalogu docelowego.
Jeśli katalog docelowy już istnieje, sam katalog źródłowy i cała jego zawartość zostaną skopiowane do katalogu docelowego. Aby skopiować tylko pliki i podkatalogi, ale nie katalogi docelowe, użyj opcji
-T
:
cp -RT Pictures Pictures_backup
Opcje używane podczas kopiowania plików mogą być również używane podczas kopiowania katalogu. Główna różnica polega na tym, że podczas kopiowania katalogów należy użyć opcji
-R
.
Kopiowanie plików i katalogów za pomocą polecenia
rsync
rsync
to szybkie i wszechstronne narzędzie wiersza poleceń, które synchronizuje pliki i katalogi między dwiema lokalizacjami. Można go używać do kopiowania plików do lokalizacji lokalnych i zdalnych.
rsync
zawiera wiele opcji, które kontrolują każdy aspekt jego zachowania. Najbardziej przydatną opcją jest
-a
która rekurencyjnie kopiuje katalogi, przenosi urządzenia specjalne i blokowe, zachowuje dowiązania symboliczne, czasy modyfikacji, grupę, własność i uprawnienia.
Aby skopiować pojedynczy plik z jednej do innej lokalizacji, uruchom następujące polecenie:
rsync -a file.txt file_backup.txt
Jeśli plik docelowy istnieje,
rsync
nadpisze go.
Tego samego polecenia można użyć do skopiowania katalogu:
rsync -a /var/www/public_html/ /var/www/public_html_backup/
rsync
zagraża katalogom źródłowym kończącym się ukośnikiem
/
inaczej. Jeśli dodasz ukośnik końcowy w katalogu źródłowym, polecenie skopiuje tylko zawartość katalogu źródłowego do katalogu docelowego. Kiedy końcowy ukośnik zostanie pominięty,
rsync
skopiuje katalog źródłowy do katalogu docelowego. Najbezpieczniejszą opcją jest zawsze dołączanie ukośnika
/
zarówno do miejsca docelowego, jak i źródła.
Aby dowiedzieć się więcej o
rsync
sprawdź następujące artykuły:
Wniosek
W tym przewodniku pokazaliśmy, jak kopiować pliki i katalogi w systemach Linux i Unix za pomocą narzędzi
cp
i
rsync
.
Jak usunąć pliki i katalogi za pomocą wiersza poleceń systemu Linux
W tym samouczku pokażemy, jak używać polecenia rm do usuwania plików i katalogów za pomocą przykładów i objaśnień najczęstszych opcji rm.
Jak przenosić pliki i katalogi w systemie Linux (polecenie mv)
Przenoszenie plików i katalogów jest jednym z najbardziej podstawowych zadań, które często trzeba wykonywać w systemie Linux. W tym samouczku wyjaśnimy, jak używać polecenia mv do przenoszenia plików i katalogów.
Jak spakować pliki i katalogi w systemie Linux
Zip to najczęściej używany format plików archiwalnych, który obsługuje bezstratną kompresję danych. W tym samouczku pokażemy, jak skompresować (skompresować) pliki i katalogi w systemie Linux za pomocą polecenia zip.