我在linux中编写了一个名为cleanup的shell脚本。我是新手,我正在读书。它告诉我将文件保存在/ 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的终端工作......如果它有所作为,请告诉我。
答案 0 :(得分:0)
linux中的/usr/local/bin/
目录是受保护的目录。它包含许多可执行文件,因此必须保护它们免受可能造成安全问题的文件的侵害。
因此,对目录的写权限仅限于root用户。
您可以使用sudo
命令获取root权限。在cp
命令前面使用sudo,例如sudo cp ....
。为此,您必须是管理员用户
如果您不是管理员用户,则会收到错误消息,您必须以root用户或任何其他管理员用户身份登录才能执行此操作。
复制文件后,请务必检查文件的权限。它必须具有执行权限。您可以使用sudo chmod +x <filename>
分配执行权限。