Szukam różnicy między cp -ri cp -a. Co oznacza „rekurencyjny” w kontekście kopiowania plików z folderu?
Szukam różnicy między cp -ri cp -a. Co oznacza „rekurencyjny” w kontekście kopiowania plików z folderu?
Odpowiedzi:
Rekurencyjne oznacza, że cpkopiuje zawartość katalogów, a jeśli katalog zawiera podkatalogi, są one również kopiowane (rekurencyjnie). Bez -RThe cpkomenda pomija katalogi. -rjest identyczny z -RLinuksem, różni się w niektórych przypadkach brzegowych w niektórych innych wariantach uniksowych.
Domyślnie cptworzy nowy plik, który ma taką samą zawartość jak stary plik i takie same uprawnienia, ale ograniczone przez umask ; kopia jest datowana od momentu kopiowania i należy do użytkownika wykonującego kopię. Dzięki tej -popcji kopia ma ten sam czas modyfikacji, ten sam czas dostępu i takie same uprawnienia jak oryginał. Ma również tego samego właściciela i grupę co oryginał, jeśli użytkownik wykonujący kopię ma uprawnienia do tworzenia takich plików.
Ta -aopcja oznacza -Ri -pkilka innych opcji konserwacji. Próbuje utworzyć kopię możliwie najbliższą oryginałowi: to samo drzewo katalogów, te same typy plików, ta sama zawartość, te same metadane (czasy, uprawnienia, rozszerzone atrybuty itp.).
-rponieważ -a(dla archive) jest zawsze najbezpieczniejszym i prawdopodobnie tym, czego się spodziewałeś.
-rjest to, że korzystasz z jakiegoś wariantu uniksowego innego niż Linux, który go nie ma -a, i na ogół byś go używał cp -rp. Lub rsync -a.
Opcja -r lub -R dla „rekurencyjnego” oznacza, że skopiuje wszystkie pliki, w tym pliki z podfolderów.
Podana opcja -a jest taka sama jak -dR, co oznacza, że zachowa łącza, a także skopiuje zawartość podkatalogów. Zachowanie linków oznacza, że nie będą one podążać za linkami, ponieważ są rekurencyjnie kopiowane.