在Linux系统中,创建一个专门用于存放脚本的文件夹是提高工作效率和文件管理规范的重要步骤,脚本文件夹不仅能集中管理可执行文件,还能通过权限设置确保安全性,同时便于后续维护和复用,以下将详细介绍从创建文件夹到管理脚本的全流程操作,包括命令使用、权限配置及常见场景处理。

创建脚本文件夹的基础操作
创建文件夹是使用Linux脚本的起点,主要通过mkdir命令实现。mkdir(make directories)是系统中用于创建目录的命令,基础语法为mkdir [选项] 目录路径,若要在用户主目录下创建名为scripts的文件夹,可执行:
mkdir ~/scripts
是当前用户主目录的简写(如/home/username),完整路径为/home/username/scripts。
若需在深层级路径下创建文件夹(如~/projects/web/scripts),且父目录projects或web不存在时,直接使用mkdir会报错,此时需添加-p选项(递归创建),系统会自动创建不存在的父目录:
mkdir -p ~/projects/web/scripts
设置文件夹权限:安全与执行的保障
Linux通过权限控制文件和目录的访问,脚本文件夹通常需要具备“可读、可写、可执行”权限,以确保用户能创建、修改和运行脚本,权限分为三类:所有者(user)、所属组(group)、其他用户(others),每类权限包括读(r,4)、写(w,2)、执行(x,1)。
权限设置命令
使用chmod(change mode)命令修改权限,数字法更常用,给scripts文件夹设置所有者可读写执行(7=4+2+1),组用户和其他用户可读执行(5=4+1):
chmod 755 ~/scripts
权限符号法说明
若需通过符号设置,可写为:
chmod u=rwx,g=rx,o=rx ~/scripts
其中u(user)、g(group)、o(others)分别代表三类用户,表示覆盖权限,rwx为读、写、执行组合。
权限含义对比
为更直观理解,以下通过表格说明文件夹权限的作用:
| 权限设置 | 所有者权限 | 组用户权限 | 其他用户权限 | 典型场景 |
|---|---|---|---|---|
| 700 | 读写执行 | 无 | 无 | 私人脚本,仅允许自己访问和管理 |
| 750 | 读写执行 | 读执行 | 无 | 团队共享,组内成员可运行脚本 |
| 755 | 读写执行 | 读执行 | 读执行 | 公共脚本,所有用户均可查看和执行 |
| 770 | 读写执行 | 读写执行 | 无 | 团队协作开发,组内成员可修改 |
创建脚本文件:从空白到可执行
脚本文件夹创建后,需在其中添加脚本文件,Linux中脚本通常以.sh为后缀(非强制,但便于识别),内容需包含shebang行(如#!/bin/bash),用于指定解释器。
创建空脚本文件
使用touch命令创建空白文件:

touch ~/scripts/hello.sh
直接写入脚本内容
若需快速创建简单脚本,可通过echo命令结合重定向(>
echo '#!/bin/bash' > ~/scripts/hello.sh echo 'echo "Hello, Linux!"' >> ~/scripts/hello.sh
其中>表示覆盖写入,>>表示追加写入。
使用文本编辑器完善脚本
复杂脚本需通过编辑器编写,推荐nano(简单易用)或vim(功能强大),例如用nano打开hello.sh:
nano ~/scripts/hello.sh
在编辑器中输入以下内容:
#!/bin/bash name=$1 echo "Hello, $name! Welcome to Linux scripting."
保存后(Ctrl+O,回车,Ctrl+X),脚本文件创建完成。
脚本的执行与调试
脚本创建后需赋予执行权限才能运行,并通过不同方式执行。
添加执行权限
使用chmod命令为脚本添加执行权限(+x表示增加执行权限):
chmod +x ~/scripts/hello.sh
或直接设置755权限(所有者可读写执行,其他用户可读执行):
chmod 755 ~/scripts/hello.sh
脚本执行方式
- 绝对路径执行:输入完整脚本路径,如
~/scripts/hello.sh。 - 相对路径执行:进入脚本所在目录,用表示当前目录,如
./hello.sh。 - 通过解释器执行:无需执行权限,直接调用解释器运行,如
bash ~/scripts/hello.sh。
传参与调试
若脚本需接收参数(如上述$1表示第一个参数),执行时传入即可:
~/scripts/hello.sh "Alice"
调试时,可通过set -x在脚本中开启调试模式,打印执行过程:

#!/bin/bash set -x echo "Current directory: $(pwd)" echo "Script name: $0"
脚本文件夹的长期管理
随着脚本增多,需定期整理和维护文件夹。
查看文件信息
使用ls命令结合-l(长格式)查看脚本详情,包括权限、所有者、大小等:
ls -l ~/scripts
移动、复制与删除
- 重命名/移动:
mv old.sh new.sh(重命名)或mv ~/scripts/old.sh ~/backup/(移动到备份目录)。 - 复制:
cp ~/scripts/hello.sh ~/projects/(复制到其他目录)。 - 删除:
rm ~/scripts/unused.sh(删除脚本),若需删除整个文件夹及其内容,用rm -rf ~/scripts(谨慎使用,-r递归删除,-f强制删除)。
添加环境变量(可选)
为避免每次输入完整路径,可将脚本文件夹添加到PATH环境变量,编辑~/.bashrc文件:
nano ~/.bashrc
在文件末尾添加:
export PATH=$PATH:~/scripts
保存后执行source ~/.bashrc生效,之后可直接输入脚本名执行(如hello.sh)。
相关问答FAQs
问题1:为什么脚本文件必须添加执行权限?
解答:Linux系统通过文件权限位判断是否可执行,若脚本无执行权限(即使内容正确),直接运行时会提示“Permission denied”,执行权限允许系统将文件视为程序加载到内存执行,而chmod +x或chmod 755中的x权限正是为此设置,若仅需查看或修改脚本内容,读/写权限即可,无需执行权限。
问题2:如何让脚本在系统重启后仍可执行?
解答:若通过export PATH添加了脚本路径,需确保配置文件(如~/.bashrc)在每次登录时被加载。~/.bashrc是用户登录后自动执行的脚本,因此修改后需执行source ~/.bashrc或重新登录生效,对于系统级脚本(需所有用户使用),可将脚本放入/usr/local/bin(该目录默认在PATH中),并确保权限为755,无需额外配置即可全局执行。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/26143.html