web-dev-qa-db-ja.com

Linuxでファイルをコピー、読み取り、削除するコマンドは何ですか

ルートディレクトリ(/var/log/)からホームディレクトリ(home/test/copyfromlogs/)にいくつかのファイルをコピーし、その後、ルートディレクトリからそれらのファイルを削除します。

コピーしたいファイルは/var/log/の下にあります。ルートディレクトリがいっぱいになっているので、そこから次のファイルを削除します。 。

btmp-20200401 >> 894M; secure-20200322 >> 187M; secure-20200329 >> 235M; secure-20200405 >> 180M; secure-20200412 >> 119M

homeの下にディレクトリを作成して、これらのファイルのバックアップを作成して、念のために必要なものを用意しました。新しいディレクトリの完全パスは「/ home/test/copyoflogfiles /」です。

私は新しい学習者です。聞きたい

  1. 次のコマンドが正しい場合、btmp-20200401/var/logから/home/test/copyoflogfiles/にコピーします。そうでない場合、正しいコマンドは何ですか

    cp /var/log/btmp-20200401 /home/test/copyoflogfiles/

  2. コピーコマンドを実行すると、現在のディレクトリは何になりますか?私が/home/test/copyoflogfiles/の中にいるとします。その場合、コマンドは異なりますか?

  3. ディレクトリから単一のファイルを削除するコマンドを教えてください。ファイルをコピーした後、ファイルbtmp-20200401/var/log/から削除したい

敬具

3
Bashabi

質問1:コマンドは正しいです:

cp /var/log/btmp-20200401 /home/test/copyoflogfiles/

ファイルをコピーするためのファイルシステム権限がない場合は、Sudoコマンドを使用して権限を昇格できます。次に例を示します。

Sudo cp /var/log/btmp-20200401 /home/test/copyoflogfiles/

質問2:

フルパスを使用している場合は、任意のディレクトリから他の任意のディレクトリにcpコマンドを使用して、他の任意のディレクトリでそのコマンドを実行できます。

質問3:

rm /var/log/btmp-20200401

そのファイルを削除して、正しいファイルを要求するrm -i filenameを確実に使用できるようにします。

ただし、mvの後にcpを続けるのではなく、rmコマンドを使用する方がよい場合があります。

したがって、コマンドは次のように変わります。

mv /var/log/btmp-20200401 /home/test/copyoflogfiles/

コピーではなくファイルを移動して削除します。

5
fcbsd
  1. cprmmvなどのコマンドを実行した後-現在の作業ディレクトリは変更されません。

ここ はいくつかの便利なコマンドです

0
Ashot Terteryan

また、権限(ユーザー、グループ、世界)と所有権にも注意してください。そのため、1つの回答でcpだけではなくSudo cpを使用します。/var/logの下のファイルは、rootのみが読み取り可能である可能性が高いです。その場合、Sudo cpも権限をコピーし、所有権をrootユーザーに設定します。したがって、/ var/log内のファイルは、ユーザーApache、アクセス権600のグループApache(所有者だけが読み取り可能で、グループおよび他のユーザーは読み取り不可)が所有し、最終的にrootが所有し、rootのみが読み取り可能です。ユーザーディレクトリ。

したがって、ls -lを使用してターゲットディレクトリの所有権を確認し、Sudo chownand /またはSudo chmodを使用して修正します。これによりセキュリティリスクが生じ、異なる所有者のフォルダに異なる権限を持つログファイルが公開されます。適切にアーカイブまたは削除することを検討してください。

0
motzmann