linux 怎么运行主要分为两类,一类是 linux 操作系统本身开机运行,另一类是进入系统之后,运行命令脚本可执行程序,日常学习运维里面说的运行,大多是指执行程序和脚本。linux 是多用户多任务操作系统,整机上电之后经过引导加载内核,由 systemd 初始化系统环境,之后就可以在终端输入命令运行各类程序,很多新手不清楚可执行文件需要执行权限,运行脚本提示权限拒绝,也分不清直接运行和解释器调用的区别,下面分模块深度讲解。
一 linux 整机系统怎么运行
第一步 物理机虚拟机或者云主机上电,BIOS 或者 UEFI 完成硬件自检
第二步 GRUB 引导程序加载 linux 内核和 initramfs 内存镜像
第三步 内核识别硬件驱动,挂载根分区文件系统
第四步 启动 1 号进程 systemd,加载系统服务,最后进入命令行登录界面
登录成功之后,系统就处于正常运行状态,可以打开终端执行各类操作
云服务器可以直接在云平台控制台点击开机,虚拟机在虚拟机软件点击启动,物理机直接按电源键开机。
二 终端运行命令和程序
终端里面直接输入程序名称,系统会按照 PATH 环境变量里面的目录查找这个程序,找到之后直接运行,比如 ls pwd nginx。
如果程序不在 PATH 里面,就需要填写完整路径,比如 /usr/local/bin/test
三 运行 shell 脚本
shell 脚本后缀一般是 sh,运行有两种常用方式
第一种 赋予执行权限之后直接运行
chmod +x test.sh
./test.sh
第二种 使用解释器直接调用,不需要执行权限
bash test.sh
深度说明,./ 代表当前目录,linux 默认不会把当前目录加入 PATH,所以不能直接写 test.sh,必须加./,否则系统找不到这个脚本。
四 运行编译后的可执行程序
C C++ 编译生成的二进制可执行文件,同样需要先加执行权限
chmod +x app
./app
五 常见报错排查
1 Permission denied 权限拒绝,文件缺少 x 执行权限,执行 chmod +x 添加权限
2 command not found 命令找不到,程序不在 PATH 环境变量,或者没有安装该程序
3 脚本报错解释器错误,脚本第一行 shebang 声明错误,比如 !/bin/bash 路径不对
4 动态库缺失,运行二进制程序提示缺少 so 动态链接库,需要安装对应依赖库
六 后台运行程序
如果希望程序在后台持续运行,关闭终端也不会退出,可以使用 nohup 或者 &
nohup ./app &
这个是运维常用方式,适合长时间运行服务程序。
【常见问题】
问题 1 linux 怎么运行,为什么执行脚本提示权限拒绝
回答 1 linux 怎么运行,脚本默认没有可执行权限,需要执行 chmod +x 脚本名添加执行权限,也可以直接用 bash 脚本名这种解释器调用方式,不需要执行权限。
问题 2 linux 怎么运行,为什么直接输入脚本名报错找不到
回答 1 linux 怎么运行,linux 默认当前目录不在 PATH 环境变量里面,必须写成./test.sh,填写当前目录相对路径,或者填写脚本完整绝对路径才能运行。
问题 3 linux 怎么运行,关闭终端之后程序就停止怎么办
回答 1 linux 怎么运行,可以使用 nohup 加 & 后台运行,程序脱离终端会话,关闭终端之后程序依然继续运行,适合长时间后台任务。
问题 4 linux 怎么运行,command not found 是什么原因
回答 1 linux 怎么运行,command not found 代表系统 PATH 里面找不到这个命令,一般是软件没有安装,或者程序目录没有加入 PATH 环境变量,可以写完整程序绝对路径运行。
【免责申明】
本文介绍 linux 怎么运行相关内容仅作为技术学习参考,运行未知程序存在安全风险,后台程序会持续占用系统资源,本文不对程序运行带来的系统异常承担责任。


