0

Linux で cleanup という名前のシェル スクリプトを作成しました。私はそれが初めてで、本から学んでいます。ファイルを /usr/local/bin/ に保存するように指示されましたが、次のコマンドを実行すると、このエラーが発生します。

$ cp cleanup /usr/local/bin/

cp: 通常のファイル `/usr/local/bin/cleanup' を作成できません: 権限が拒否されました

そのフォルダにファイルを書き込む方法がわかりません。クリーンアップのコードは次のとおりです。

#!/bin/bash
# Proper header for a Bash script.
# Cleanup, version 2
# Run as root, of course.
# Insert code here to print error message and exit if not root.

# Variables are better than hard-coded values.
cat ./hello > cleaning
echo "Logs cleaned up."
exit 
# The right and proper method of "exiting" from a script.
# A bare "exit" (no parameter) returns the exit status
#+ of the preceding command. 

ファイルを /usr/local/bin/ にコピーするのを手伝ってもらえますか。これは実行可能ファイルであるため、これを行っています。上記のフォルダーに配置すると、ファイルの名前をネイティブ コマンドのように実行できます。私はubuntuのターミナルで作業しています...違いがあれば教えてください。

4

1 に答える 1

0

Linuxの/usr/local/bin/ディレクトリは保護されたディレクトリです。多数の実行可能ファイルが含まれているため、セキュリティ上の問題を引き起こす可能性のあるファイルから保護する必要があります。

したがって、ディレクトリへの書き込み権限は root ユーザーのみに制限されます。

コマンドを使用して root 権限を取得できます。コマンドsudoの前に sudoを使用します。このためには、管理者ユーザーである必要があります。cpsudo cp ....

管理者ユーザーでない場合は、エラー メッセージが表示されます。コピーを実行するには、root またはその他の管理者ユーザーとしてログインする必要があります。

ファイルをコピーしたら、必ずファイルのアクセス許可を確認してください。ファイルには実行アクセス許可が必要ですsudo chmod +x <filename>。.

于 2013-06-11T18:26:57.227 に答える