Vi创建文件内容为执行文件创建
时间: 2024-03-13 17:45:36 浏览: 48
在Vi编辑器中创建一个内容为执行文件创建的文件,您可以按照以下步骤进行操作:
1. 打开终端并输入以下命令来创建一个新文件:
```
vi create.sh
```
2. 按下`i`键进入插入模式,并输入以下内容:
```
#!/bin/bash
echo "Creating executable file"
touch newfile
chmod +x newfile
echo "Executable file created"
```
这个脚本会创建一个新的文件,并将其权限更改为可执行。
3. 按下`Esc`键退出插入模式,并输入`:wq`保存并退出Vi编辑器。
现在,您已经创建了一个名为`create.sh`的脚本文件,其中包含要创建和设置权限的命令。要运行此脚本,请在终端中输入以下命令:
```
bash create.sh
```
这将运行脚本,创建一个名为`newfile`的文件,并将其权限更改为可执行。
相关问题
用vi创建,编译并执行文件
可以通过以下步骤用 vi 创建、编译并执行文件:
1. 打开终端窗口,使用 cd 命令进入你想要创建文件的目录。
2. 使用 vi 命令打开一个新的文件,比如说:
vi mycode.c
3. 在 vi 编辑器中编写代码,按下 Esc 键,输入 :wq 保存并退出。
4. 使用 gcc 命令编译代码文件,比如说:
gcc -o myprogram mycode.c
5. 执行生成的可执行文件,比如说:
./myprogram
可以将 mycode.c 替换为你想要创建的文件名,myprogram 替换为你想要生成的可执行文件名。
以root身份创建一个新文件,观察其默认的权限;然后用vi编辑该文件;将该文件权限改为只有用户可读,其他权限均无;以root身份创建一个脚本,该脚本使用cat命令在屏幕上显示前面创建文件的内容;将脚本文件按设置为所有用户可执行;分别以root和普通用户身份登录,执行脚本,观察结果;为cat文件加SUID权限,再重复前一步操作,观察结果,说明原因。
1. 以root身份创建一个新文件:
```
sudo touch testfile
```
观察其默认权限:
```
ls -l testfile
```
输出类似于:
```
-rw-r--r-- 1 root root 0 Dec 10 14:55 testfile
```
其中,`-rw-r--r--` 表示文件权限,第一个 `-` 表示类型,`rw-` 表示所有者(root)有读写权限,`r--` 表示所属组和其他用户只有读权限。
2. 使用vi编辑该文件,并将该文件权限改为只有用户可读,其他权限均无:
```
sudo chmod 400 testfile
vi testfile
```
在vi中输入一些内容并保存。
3. 以root身份创建一个脚本,该脚本使用cat命令在屏幕上显示前面创建文件的内容:
```
sudo touch testscript
sudo vi testscript
```
在vi中输入以下内容:
```bash
#!/bin/bash
cat testfile
```
并保存文件。
4. 将脚本文件设置为所有用户可执行:
```
sudo chmod a+x testscript
```
5. 分别以root和普通用户身份登录,执行脚本,观察结果:
- 以root身份执行脚本:`sudo ./testscript`,正常输出文件内容。
- 以普通用户身份执行脚本:`./testscript`,因为文件权限不足,无法打开文件,输出类似于:
```
cat: testfile: Permission denied
```
6. 为cat文件加SUID权限,再重复前一步操作,观察结果,说明原因。
```
sudo chmod u+s /bin/cat
```
- 以root身份执行脚本:`sudo ./testscript`,正常输出文件内容。
- 以普通用户身份执行脚本:`./testscript`,因为cat命令具有SUID权限,可以继承文件所有者的权限,因此可以打开文件并输出内容。
阅读全文