Ziy*_*gov 356 command-line executable
我有一个 script.sh 文件,这个文件的类型是 shellscript 文件。我想将此文件作为应用程序/x 可执行文件。我怎样才能做到?
rɑː*_*dʒɑ 497
您可以将文件标记为可执行文件:
chmod +x filename.sh
Run Code Online (Sandbox Code Playgroud)
然后你可以像这样执行它:
./filename.sh
Run Code Online (Sandbox Code Playgroud)
如果你想使用不同的命令来启动它,你可以添加一个别名:
gedit ~/.bashrc
Run Code Online (Sandbox Code Playgroud)
在文件末尾添加:
alias <new name>='/home/<full path to script>/filename.sh'
Run Code Online (Sandbox Code Playgroud)
打开一个新的终端会话或source ~/.bashrc
在您的终端中输入以进行申请。然后只需使用新名称即可启动脚本。
Tim*_*Tim 52
有两种方法可以使文件可执行:
图形界面方法:
右键单击该文件并选择属性。转到权限选项卡,然后勾选框Execute: [ ] Allow executing file as program
或Program: [ ] Allow this file to run as a program
在 Thunar 的Nautilus中。
终端/命令方法:
您可以使用:
cd /to/my/required/directory
然后运行
chmod +x filename.extension
或者只是运行:
chmod +x /path/to/your/filename.extension
chmod
也有一些更高级的选项:
空格是为了表明它被拆分了: - rwx --- ---
第一组---
是用户。第二个是组,最后一个是其他(任何其他人)
r 代表读取,w 代表写入,x 代表执行。
因此,要让每个人都可以阅读它,但只能执行 Group 和 User 读取和写入它(但由于某种原因不执行)将是:
-rw- rx- r--
但这将被添加到命令中:
chmod +rw-rx-r-- /path/to/file.extension
chmod
也可以在数量上做到这一点。它基于二进制(我认为,因为它是 1,2 和 4)
所以有这些数字:
由用户执行是100
. 按组执行是010
. 由其他人执行是001
.
用户写入的是200
. 按组写是020
。别人写的是002
。
用户读取的是400
. 按组阅读是040
。别人读的是004
.
然后将这些加在一起以获得所需的组合。
因此,为了让每个人都可以阅读它,但只有 Group 执行和 User 写入(但由于某种原因不执行)将是:
400 + 040 + 004
并010
与200
加起来为 600 + 050 + 004 = 654。
然后您可以运行该命令。
chmod +654 /path/to/file.extension
设置它。
要设置所有权限,您可以键入:
chmod +rwxrwxrwx /path/to/file.extension
或者(这有点容易写,但更难记住每一个):
chmod +777 /path/to/file.extension
最后,你可以这样做:
chmod -777 /path/to/file.extension
剥夺所有人的所有权限。
和:
chmod +300 /path/to/file.extension
为用户添加读写,不影响任何其他权限(例如执行权限)。
这个网站有一个非常有用的小网格复选框,你可以勾选你想要的选项,它给你命令:
然而,并非所有可能的组合都适合使用;使用的主要有以下几种:
755 -Owner
拥有所有,Group
并且Other
可以读取和执行
700 -Owner
拥有所有
644 -Owner
可以读写,Group
并且Other
可以读取
600 -Owner
可以读写
而且,如果您使用的是非平凡的用户组:
775 -Owner
可以读写,Group
并且Other
可以读取
770 -Owner
并且Group
都有,并且Other
可以读取和执行
750 -Owner
拥有所有,并且Group
可以读取和执行
664 -Owner
并且Group
可以读取和写入,并Other
可以只是读
660 -Owner
并且Group
可以读取和写入
640 -Owner
可以读写,Group
可以读
777 和 666 很少使用,除了在 /tmp 中。
感谢ILMARI Karonen用于指出在通常使用的那些!
跑:
chmod +x /path/to/file.sh
Run Code Online (Sandbox Code Playgroud)
要使其不可执行,请运行:
chmod -x /path/to/file.sh
Run Code Online (Sandbox Code Playgroud)
例如我创建了.sh
文件:
vi tester12.sh
Run Code Online (Sandbox Code Playgroud)
在 vi 编辑器上写了一些代码后,我将从 vi 编辑器中退出:
:wq!
chmod +x tester12.sh
./tester12.sh
Run Code Online (Sandbox Code Playgroud)