mksh.sh
#!/bin/bash
for i in $@
do
touch ${i}
chmod 777 ${i}
echo #!/bin/bash>${i}
done
mkcpptest.sh
#!/bin/bash
for i in $@
do
touch ${i}
echo '#include<iostream>
#include<ctime>
using namespace std;
int main(int argc, char** argv){
return 0;
}'>${i}
done
#创建
cppF=tim
在Linux系统中,`touch`命令常用于创建新文件或更新已有文件的时间戳。而`chmod`命令则用于改变文件或目录的权限设置。这里提到的`mksh.sh`和`mkcpptest.sh`是两个Shell脚本,它们分别用于创建Shell脚本文件和C++源码文件,并赋予它们777权限,这样文件就可以被所有用户执行。
`mksh.sh`脚本的用途是接收命令行参数,然后对每个参数代表的文件名执行以下操作:
1. 使用`touch`命令创建一个新文件。
2. 使用`chmod 777`命令将文件权限设置为rwxrwxrwx,即允许所有用户读、写和执行文件。
3. 写入`#!/bin/bash`到文件开头,标记文件为可执行的Shell脚本。
`mkcpptest.sh`脚本类似,但它会创建C++源代码文件,并写入一个简单的`main`函数模板,包含`iostream`和`ctime`头文件。同样,它也会赋予新创建的文件777权限。
在实际使用中,`cppF`变量被设置为当前时间戳,然后调用`mkcpptest.sh`创建一个C++源文件,并立即用`vi`编辑。如果不需要创建cppF,可以直接编辑现有的文件。接着,使用`g++`编译源文件,生成可执行文件。
通过编写这样的自动化脚本,可以简化在学习过程中创建和编辑文件的流程。例如,`NewTestSh`脚本就是一个例子,它接受一个参数,创建一个名为`testXX.sh`的新Shell脚本,赋予执行权限,并提示用户按Enter键后用vim编辑。
在Linux环境中,将这类脚本放置在`/usr/bin`目录下并给予777权限,可以使它们作为系统命令方便地使用。例如,执行`NewTestSh 15`会在当前目录下创建一个名为`test15.sh`的文件,并自动打开vim供用户编辑。
总结来说,这个话题涵盖了以下几个关键知识点:
1. `touch`命令的使用来创建新文件或更新时间戳。
2. `chmod`命令改变文件权限,特别是777权限的含义。
3. 如何编写Shell脚本来自动化文件创建和权限设置。
4. 将自定义脚本添加到系统路径(如`/usr/bin`)以便全局使用。
5. 在脚本中使用环境变量和用户输入来增强脚本的灵活性。
6. 编译C++程序的基本流程,包括源码文件创建、编辑和编译。
这些知识点对于日常Linux系统的使用和脚本编程非常有用,能够提高工作效率并加深对Linux系统操作的理解。