在 Linux 中:运行指令与编写脚本指南
最编程
2024-07-25 19:29:47
...
01 - Linux执行多条命令
- 方法1:在命令行下可以一次性粘贴多条语句,shell会依次执行并输出结果
- 方法2:在一个命令行中,用分号将各个命令隔开或者使用&&连接各个命令
示例:
# whoami;date;uptime
root
Fri Nov 4 10:58:17 EET 2016
10:58:17 up 1 day, 14:30, 1 user, load average: 1.23, 1.05, 1.04
# whoami&&date&&uptime
root
Fri Nov 4 10:58:36 EET 2016
10:58:36 up 1 day, 14:30, 1 user, load average: 0.96, 1.00, 1.02
02 - Linux区别&与nohup
示例:
# whoami;date;uptime
root
Fri Nov 4 10:58:17 EET 2016
10:58:17 up 1 day, 14:30, 1 user, load average: 1.23, 1.05, 1.04
# whoami&&date&&uptime
root
Fri Nov 4 10:58:36 EET 2016
10:58:36 up 1 day, 14:30, 1 user, load average: 0.96, 1.00, 1.02
&方式
使用 & 在命令结尾,可以让命令在终端的后台自动运行。
守护进程是不属于终端的单独进程组,终端关闭后,守护进程不会退出。
如果命令没有守护进程,无论加不加&,网络断开或终端窗口关闭后,控制进程收到SIGHUP信号退出,会导致该会话期内相关进程退出。
也就是说,终端打开以后,bash等都是他的子程序,一旦终端关闭,系统将所有相关进程杀掉,执行中的任务也就取消了。
nohup命令
可以使用nohup命令忽略所有挂断(SIGHUP)信号,来实现在终端关闭后,命令不挂断地运行,nohup就是不挂起的意思( no hang up)。
命令格式:nohup command [ arg ... ] [ & ]
一般常用形式为:nohup command &
加不加&并不会影响这个命令,只是前台或者后台运行而已。
使用nohup命令提交作业,在缺省情况下所有输出被重定向到一个名为nohup.out的文件中,除非另外指定了输出文件。
一般可在结尾加上"&"来将命令同时放入后台运行,也可用>filename 2>&1
来更改缺省的重定向文件名。
例如:nohup command > myout.file 2>&1 &
输出被重定向到myout.file文件中
03 - Linux开机自动执行命令或脚本
CentOS7
- 在“/etc/rc.d/rc.local”文件中追加需要开机自动执行的命令和脚本
- 确认“/etc/rc.d/rc.local”文件和要执行的脚本具有可执行权限;
Ubuntu
- 在“/etc/rc.local”文件中添加需要开机自动执行的命令和脚本;
- 添加的内容必须要放在“exit 0”一行之前;
- 确认“/etc/rc.local”文件和要执行的脚本具有可执行权限;
04 - Linux用户登录或注销时执行命令或脚本
CentOS7
- 用户登录时执行脚本:在用户目录下的“.bash_profile”或“.bashrc”文件中追加需要自动执行的命令和脚本;
- 用户注销时执行脚本:在用户目录下的“.bash_logout”文件中追加需要自动执行的命令和脚本;
Ubuntu
- 用户登录时执行脚本:在用户目录下的“.bashrc”文件中追加需要自动执行的命令和脚本;
- 用户注销时执行脚本:在用户目录下的“.bash_logout”文件中追加需要自动执行的命令和脚本;
05 - Linux用户shell配置文件
CentOS7:
- /etc/profile : 设置环境信息,作用于任何用户,当用户第一次登录时,该文件被读取;
- /etc/bashrc : 设置bash shell环境信息,作用于任何用户,当bash shell被打开时,该文件被读取;
- ~/.bash_profile : 每一个用户独有的bash shell信息,当用户登录时,该文件内容仅被读取并执行一次;用于交互式login shell;
- ~/.bashrc : 每一个用户独有的bash shell信息,当用户登录时或打开新shell时,该文件内容被读取并执行;用于交互式non-login shell;
- ~/.bash_logout : 当用户退出bash shell时, 该文件内容被读取并执行;
06 - Linux测量一个命令的运行时间
time命令:time a simple command or give resource usage
使用-p参数时,直接打印所需时间的数值,单位为秒
[root@CentOS-7 ~]# time date
Mon Nov 21 23:10:31 CST 2016
real 0m0.002s
user 0m0.000s
sys 0m0.002s
[root@CentOS-7 ~]#
[root@CentOS-7 ~]# time -p date
Mon Nov 21 23:10:36 CST 2016
real 0.00
user 0.00
sys 0.00
[root@CentOS-7 ~]#
推荐阅读
-
使用Python在Ansys Workbench中编写脚本的技巧与方法
-
在VSCode中设置Python调试与运行环境的步骤指南
-
在 Linux 中:运行指令与编写脚本指南
-
在PHP中运行Linux命令遇到的难题与记录
-
四种在Linux中运行Shell脚本的方法详解
-
.NET Core在多个平台上运行指令与脚本
-
在 Linux 中,如何以不同账户执行程序:su、sudo与runuser的简易操作指南
-
` 自动填充为 `cp test.txt`
- 文件和目录名补全:输入文件名首字母后按 Tab,如 `vi ed
` 显示可用的编辑器列表 - 查看命令帮助: - 使用 `man` 命令配合具体命令名获取详尽帮助,如 `man ls` 或者 `man grep --help`"> 在 Linux 中操作指令指南 - 基本构造与种类 - 指令组成: 1. **主指令 + 选项 + 参数**: 如 `ls -l /home`,`main-action option object` - 内置指令:系统预装的 shell 功能,如 `cd`, `pwd` - 外部指令:独立可执行文件,直接用文件名当作命令,如 `rm`, `mv` - **选项与参数**: - 选项:定制命令行为, `-l` 或 `--long-help` - 短选项:简写形式,例如 `-v` 和 `-V` 可能合并使用 - 长选项:详细描述的选项,如 `--version` 或 `--human-readable` - 参数:命令作用的目标,如 `ls` 对 `/home` 目录的操作 - **指令应用**: - 不同指令需要不同的参数 - 选项可带或不带参数,比如 `grep -i "keyword"` (忽略大小写搜索) - 参数间通常用空格分隔,如 `cp file1 file2 file3` - **中断与完成提示**: - 终止当前指令:按下 Ctrl+C - **自动完成**: - 输入部分命令关键词后,按 Tab 键补全命令,如 `cp ta
` 自动填充为 `cp test.txt` - 文件和目录名补全:输入文件名首字母后按 Tab,如 `vi ed ` 显示可用的编辑器列表 - 查看命令帮助: - 使用 `man` 命令配合具体命令名获取详尽帮助,如 `man ls` 或者 `man grep --help` -
在Linux中,通过命令行和脚本来实现远程Shell命令操作指南
-
在Node.js应用中运行shell脚本文件的步骤指南