GNU/Linux >> Linux の 問題 >  >> Linux

cp -L 対 cp -H

シンボリック リンクを使用すると、ツールでできることが 2 つあります:

<オール>
  • シンボリック リンクをシンボリック リンクとして扱う (「その性質を維持する」)、または
  • シンボリック リンクを、それが指すファイルの種類として扱います。
  • -Hと言って 「その性質を維持する」ことは矛盾ではありません。代替案を検討してください。 -L を使用する場合 、シンボリックリンク cp 検索結果が開かれ、その内容がターゲット ファイル名にコピーされます。したがって、ソースはシンボリック リンクでしたが、そのコピーはシンボリック リンクではありません。そのため、「シンボリック リンクとしての性質を失った」のです。

    考慮

    $ mkdir subdir
    $ echo "some contents" > subdir/file
    $ ln -s file subdir/link
    
    # definition of "list", the abbreviated ls -l output used below
    $ list() { ls -l "[email protected]" | \
        awk '$0 !~ /^total/ { printf "%s %s\t%s %s %s\n", $1, $5, $9, $10, $11 }' ; }
    
    $ list subdir
    -rw-rw-r-- 14   file  
    lrwxrwxrwx 4    link -> file
    
    $ cp -rH subdir subdir-with-H
    $ list subdir-with-H
    -rw-rw-r-- 14   file  
    lrwxrwxrwx 4    link -> file
    
    $ cp -rL subdir subdir-with-L
    $ list subdir-with-L
    -rw-rw-r-- 14   file  
    -rw-rw-r-- 14   link  
    

    -L の動作の違い そして -H -r のときに来る も指定されています。 cp -L -r のサブディレクトリにシンボリックリンクを作成しません -H -r を使えばそうなる .


    Linux
    1. リダイレクトの順序は?

    2. ファイルの一部を並べ替えますか?

    3. 削除されたファイルを回復しますか?

    1. C fopen と open

    2. .txt ファイルに書き込みますか?

    3. .so.2 ファイルとは何ですか?

    1. Linux –すべてがファイルですか?

    2. ファイルの行数を数えますか?

    3. .so ファイルとは何ですか?