vim file1 #打开文件
i #按 i 进入inssert模式
echo "Hi"
#按esc退出
#按 :进入末行模式
#按 wq 退出
bash file1 #用bash执行这个文件,bash是一个命令,file1这个文件就称为shell脚本。
(1)shell 脚本:为了和普通文本文件区分开,通常shell脚本都会以 .sh 为后缀名(不写.sh也可以执行,能否执行取决于文件里面写了什么样的代码以及用什么解释器进行解释。)
更标准的情况,在shell脚本的第一行写上 #!/bin/bash。脚本首行的 #! 是Linux的shebang符号,指定解释器。
(2)其他脚本:在Linux中使用其他编程语言,需要在 shebang(释伴) 中定义解释器,Python 是 python/python2/python3, R 语言是 Rscript,用 which 命令找到解释器位置。
shebang的通用写法:
#!/usr/bin/env bash
#!/usr/bin/env python
#!/usr/bin/env Rscript
env的位置相对固定, 让env去调用当前环境下的编译器。
(3)Shell 脚本:修改shell脚本的文件权限后,可以直接通过路径调用(即充当command的作用)。
补充一个权限问题:
drwxrwxrwx #d代表文件类型,l代表链接文件,-代表普通文件, r:4可读;w:2可写;x:1可执行。第一个rwx表示自己的权限,第二个rwx表示同组的权限,第三个rwx表示其他人的权限。
(4)参数传递
#首先编辑一个脚本
vim test.sh
i
#!usr/bin/env bash
cat $1
:
wq
#然后执行
bash test.sh readme.txt #readme.txt这个文件是可以变的。
(5)脚本提交
cat test.sh
bash test.sh readme.txt 1>test.log 2>&1 # 进行分开重定向,正确与错误分别进入两个log文件。1:标准输出流 2:标准误输出流。 log文件是日志文件,命名可以自行更改。
nohup :不要挂断任务,即把任务提交到服务器上运行
& :任务后台运行,通常与 nohup 连用
top :实时显示系统中各个进程的资源占用状况,按 q 退出
htop :优化过的 top 命令,界面更美观
ps :Process Status列出当前系统中运行的进程列表, 一般加上–ef参数,搭配grep进行搜索:ps –ef | grep 用户名
kill :杀掉进程,kill -9 PID
vim test3.sh
i
echo "start"
for i in {1..500}
do
echo ${i}
sleep 3s
done
esc
:wq
bash test3.sh
nohup bash test3.sh & #将其提交到服务器 &可以单独使用,单独使用是挂在当前窗口的后台。
htop -u Jan211 #看自己的后台任务
查看命令的运行情况
用tail浮动查看输出结果
• tail -f <log file>
用less的浮动查看
• less <log file> → shift+F
• 用top或者htop进行监视
top/htop 或者 top | grep ‘$ LOGNAME’
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。