linux拷貝軟連接文件


在linux環境下,對一個軟鏈接的文件作拷貝命令時,會存在引用路徑的不匹配;如下例子可以在拷貝出一個新的軟鏈接文件后,新軟鏈接會自動修改對應的引用路徑,但是只能在當前目錄下進行操作:

cp -s sourchfile targetfile

另外,拷貝/usr/bin/java這個符號連接所對應的實際文件,如下例子,值得注意的是新文件的名字是軟鏈接文件的名字,而不是實際文件的名字:

cp -L /usr/bin/java /root/bin/ 

參考附cp的使用手冊:

用法:cp [選項]... [-T] 源文件 目標文件
 或:cp [選項]... 源文件... 目錄
 或:cp [選項]... -t 目錄 源文件...
Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY.

Mandatory arguments to long options are mandatory for short options too.
  -a, --archive                 等於-dR --preserve=all
      --attributes-only         僅復制屬性而不復制數據      --backup[=CONTROL        為每個已存在的目標文件創建備份
  -b                            類似--backup 但不接受參數
      --copy-contents           在遞歸處理是復制特殊文件內容
  -d                            等於--no-dereference --preserve=links
  -f, --force                   if an existing destination file cannot be
                                opened, remove it and try again (this option
                                is ignored when the -n option is also used)
  -i, --interactive             prompt before overwrite (overrides a previous -n
                                option)
  -H                            follow command-line symbolic links in SOURCE
  -l, --link                    hard link files instead of copying
  -L, --dereference             always follow symbolic links in SOURCE
  -n, --no-clobber              不要覆蓋已存在的文件(使前面的 -i 選項失效)
  -P, --no-dereference          不跟隨源文件中的符號鏈接
  -p                            等於--preserve=模式,所有權,時間戳
      --preserve[=屬性列表       保持指定的屬性(默認:模式,所有權,時間戳),如果
                                可能保持附加屬性:環境、鏈接、xattr 等
  -c                            deprecated, same as --preserve=context
      --sno-preserve=屬性列表    不保留指定的文件屬性
      --parents                 復制前在目標目錄創建來源文件路徑中的所有目錄
  -R, -r, --recursive           遞歸復制目錄及其子目錄內的所有內容
      --reflink[=WHEN]          控制克隆/CoW 副本。請查看下面的內如。
      --remove-destination      嘗試打開目標文件前先刪除已存在的目的地
                                文件 (相對於 --force 選項)
      --sparse=WHEN             控制創建稀疏文件的方式
      --strip-trailing-slashes  刪除參數中所有源文件/目錄末端的斜杠
  -s, --symbolic-link           只創建符號鏈接而不復制文件
  -S, --suffix=后綴              自行指定備份文件的后綴
  -t,  --target-directory=目錄   將所有參數指定的源文件/目錄
                                復制至目標目錄
  -T, --no-target-directory     將目標目錄視作普通文件
  -u, --update                  只在源文件比目標文件新,或目標文件
                                不存在時才進行復制
  -v, --verbose                 顯示詳細的進行步驟
  -x, --one-file-system         不跨越文件系統進行操作
  -Z, --context[=CTX]           set SELinux security context of destination
                                file to default type, or to CTX if specified
      --help                    顯示此幫助信息並退出
      --version                 顯示版本信息並退出

默認情況下,源文件的稀疏性僅僅通過簡單的方法判斷,對應的目標文件目標文件也
被為稀疏。這是因為默認情況下使用了--sparse=auto 參數。如果明確使用
--sparse=always 參數則不論源文件是否包含足夠長的0 序列也將目標文件創文
建為稀疏件。
使用--sparse=never 參數禁止創建稀疏文件。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM