【linux 】添加开机启动项的方法|Linux目录结构和存放哪些文件

目录

linux 添加开机启动项的方法

编辑文件 /etc/rc.local

在/etc/init.d目录下添加自启动脚本

每次登录自动执行

通过chkconfig命令设置

把脚本注册为系统服务

在crontab中设置(没试过)

Linux目录结构和存放哪些文件


linux 添加开机启动项的方法

编辑文件 /etc/rc.local

/etc/rc.local是指向/etc/rc.d/rc.local的链接,直接echo "xxx" >> /etc/rc.local 可能会使得/etc/rc.local 变成文件失去链接属性。

输入命令:vim /etc/rc.local 将出现类似如下的文本片段:

#!/bin/sh
#
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don't
# want to do the full Sys V style init stuff.

touch /var/lock/subsys/local
/etc/init.d/mysqld start #mysql开机启动
/etc/init.d/nginx start #nginx开机启动
/etc/init.d/php-fpm start #php-fpm开机启动
/etc/init.d/memcached start #memcache开机启动

#在文件末尾(exit 0之前)加上你开机需要启动的程序或执行的命令即可(执行的程序需要写绝对路径,添加到系统环境变量的除外),如:

/usr/local/thttpd/sbin/thttpd  -C /usr/local/thttpd/etc/thttpd.conf


 

在/etc/init.d目录下添加自启动脚本

linux在“/etc/rc.d/init.d”下有很多的文件,每个文件都是可以看到内容的,其实都是一些shell脚本或者可执行二进制文件
Linux开机的时候,会加载运行/etc/init.d目录下的程序,因此我们可以把想要自动运行的脚本放到这个目录下即可。系统服务的启动就是通过这种方式实现的。

每次登录自动执行

自己写一个shell脚本

将写好的脚本(.sh文件)放到目录 /etc/profile.d/ 下,系统启动后就会自动执行该目录下的所有shell脚本。

也可以设置每次登录自动执行脚本,在/etc/profile.d/目录下新建sh脚本, 
/etc/profile会遍历/etc/profile.d/*.sh

另外,几个脚本的区别: 
(1) /etc/profile: 此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行. 并从/etc/profile.d目录的配置文件中搜集shell的设置。

(2) /etc/bashrc: 为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取(即每次新开一个终端,都会执行bashrc)。

(3) ~/.bash_profile: 每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次。默认情况下,设置一些环境变量,执行用户的.bashrc文件。

(4) ~/.bashrc: 该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该该文件被读取。

(5) ~/.bash_logout: 当每次退出系统(退出bash shell)时,执行该文件. 另外,/etc/profile中设定的变量(全局)的可以作用于任何用户,而~/.bashrc等中设定的变量(局部)只能继承 /etc/profile中的变量,他们是”父子”关系。

(6) ~/.bash_profile: 是交互式、login 方式进入 bash 运行的~/.bashrc 是交互式 non-login 方式进入 bash 运行的通常二者设置大致相同,所以通常前者会调用后者。
--------------------- 

原文:https://blog.csdn.net/qq_35440678/article/details/80489102 
 

通过chkconfig命令设置

将启动文件cp到 /etc/init.d/或者/etc/rc.d/init.d/(前者是后者的软连接)下

vim 启动文件,文件前面务必添加如下三行代码,否侧会提示chkconfig不支持

#!/bin/sh 告诉系统使用的shell,所以的shell脚本都是这样
#chkconfig: 35 20 80 分别代表运行级别,启动优先权,关闭优先权,此行代码必须
#description: http server(自己随便发挥)//两行都注释掉!!!,此行代码必须

chkconfig --add 脚本文件名 操作后就已经添加了

把脚本注册为系统服务

在/etc/init.d下新建示例脚本文件(startTest.sh),该脚本会启动/opt/test.sh。内容如下:

. /etc/init.d/functions
start() {
echo "Starting my process "
cd /opt
./test.sh
}
stop() {
killall test.sh
echo "Stoped"
}

写了脚本文件之后事情还没有完,继续完成以下几个步骤:

chmod +x startTest         #增加执行权限
chkconfig --add startTest     #把startTest添加到系统服务列表
chkconfig startTest on       #设定startTest的开关(on/off)
chkconfig --list startTest.sh   #就可以看到已经注册了startTest的服务

在crontab中设置(没试过)

参考:

linux设置开机自启动脚本的最佳方式_yinnnnnnn的博客-CSDN博客_linux开机自启动脚本

/etc/crontab文件和crontab -e命令区别 - 茄子_2008 - 博客园

linux设置开机自启动 - ssooking - 博客园

Linux目录结构和存放哪些文件

Linux一般相应的文件都会会放在相应的目录下。这样更有利于文件的查找
/home 用户主目录的基点,比如用户user的主目录就是/home/user,可以用~user表示
/root 系统管理员的主目录
Linux下其他其他目录的用途如下:
/bin 二进制可执行命令
/dev 设备特殊文件
/etc 系统管理和配置文件
/etc/rc.d 启动的配置文件和脚本
/lib 标准程序设计库,又叫动态链接共享库,作用类似windows里的.dll文件
/sbin 超级管理命令,这里存放的是系统管理员使用的管理程序
/tmp 公共的临时文件存储点
/mnt 系统提供这个目录是让用户临时挂载其他的文件系统
/lost+found这个目录平时是空的,系统非正常关机而留下“无家可归”的文件(windows下叫什么.chk)就在这里
/proc 虚拟的目录,是系统内存的映射。可直接访问这个目录来获取系统信息。
/var 某些大文件的溢出区,比方说各种服务的日志文件
/usr 最庞大的目录,要用到的应用程序和文件几乎都在这个目录

其实linux与windows分区是一样的,都有主分区、扩展分区、逻辑分区,只是他们的目录结构不一样,所以导致表现形式也不一样。
winodws是森林型目录结构,它有很多根,如C、D、E、F等都是它的根目录,然后在其实创建子目录
linux是树型目录结构,它只有一个根就是/目录,然后在/目录在有子目录如/root、/home、/etc/、/bin等。你可以将/root、/home这些子目录单独挂载到一个分区上,如扩展分区、逻辑分区上。而不是以C、D、E分区的形式表现出来。

不可以将linux像Winodws一样分为C、D、E、F盘。
以后你用习惯了就好了的。

  • 3
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: 要设置Linux开机启动项,可以按照以下步骤操作: 1. 打开终端,输入命令sudo nano /etc/rc.local,进入rc.local文件。 2. 在rc.local文件添加需要开机启动的命令,例如:/usr/bin/python /home/user/startup.py。 3. 保存文件并退出。 4. 输入命令sudo chmod +x /etc/rc.local,给rc.local文件添加可执行权限。 5. 重启电脑,查看是否成功设置开机启动项。 注意:不同的Linux发行版可能有不同的设置方法,以上步骤适用于大多数发行版。 ### 回答2: Linux是一款开源的操作系统,它具有高度的定制性和可配置性。用户可以根据自己的需求和习惯来设置操作系统的开机启动项,例如开机自动启动某个程序、挂载某个磁盘分区等。以下是Linux设置开机启动项方法。 一、使用rc.local文件 rc.local文件是一个常用的开机启动脚本文件,在这个文件中,用户可以自定义一些需要开机启动的命令或脚本。使用rc.local文件设置开机启动项的步骤如下: 1、打开终端,使用root权限进入编辑rc.local文件,命令如下: sudo nano /etc/rc.local 2、在文件末尾添加需要启动的命令或脚本。 3、保存并退出文件,使用命令: Ctrl+X保存并退出 4、设置rc.local文件可执行权限,使用命令: sudo chmod +x /etc/rc.local 5、重启系统,验证启动项是否设置成功。 二、使用systemd服务 systemd是Linux的一个系统和服务管理器,它可以自动化启动和管理系统服务。使用systemd设置开机启动项的步骤如下: 1、打开终端,使用root权限创建一个.service文件,例如名为myscript.service,写入以下内容: [Unit] Description=My Script After=network.target [Service] ExecStart=/usr/local/bin/myscript.sh [Install] WantedBy=multi-user.target 2、将myscript.sh替换为你需要启动的脚本或命令的路径。 3、将创建的.service文件复制到/systemD/system/目录下。 4、使用systemctl启动服务,命令如下: sudo systemctl start myscript.service 5、使用systemctl设置开机启动,命令如下: sudo systemctl enable myscript.service 6、重启系统,验证启动项是否设置成功。 综上所述,设置Linux开机启动项可以使用rc.local文件或systemd服务方式。多数情况下,使用rc.local文件比较简单易行,并且可以快速地添加需要启动的命令和脚本。如果需要更加复杂的开机启动项设置,则应使用systemd服务。 ### 回答3: 1.查看Linux启动过程 在了解如何设置Linux开机启动项之前,我们需要首先了解Linux启动过程。Linux系统在启动时会按照一定的顺序依次执行各个启动脚本文件,这些文件以数字开头,表示启动的先后顺序,这个数字越小,启动越早。这个启动顺序由Linux系统的init进程来控制。 我们可以使用命令`dmesg`来查看Linux系统启动过程中输出的信息,也可以查看`/var/log/boot.log`文件,这个文件包含了Linux启动过程中的详细信息。 2.设置Linux开机启动项 现在我们来说一下如何设置Linux开机启动项,主要有以下几种方式: 2.1 修改启动脚本文件 Linux系统的启动脚本文件通常存放在`/etc/init.d/`目录下,我们可以在这个目录下找到需要启动的脚本文件,然后使用编辑器打开这个文件。 在文件中搜索与需要设置开机启动项相关的内容,然后将这些内容进行修改。 最后,我们需要使用命令`update-rc.d`来修改这个脚本文件启动级别,这个命令会将这个脚本文件启动级别设置为与当前操作系统的启动级别匹配。 2.2 使用chkconfig命令 chkconfig命令是一个工具,用于管理Linux系统的启动脚本文件,我们可以使用chkconfig命令来设置Linux系统的开机启动项。具体操作步骤如下: 首先,我们需要查看这个脚本文件启动级别,然后使用chkconfig命令来设置这个脚本文件启动级别。chkconfig命令有以下几个参数: --level 设定服务启动的级别 --add 设定服务加入系统启动项 --del 删除系统启动项 2.3 使用systemctl命令 systemctl命令是一个比较新的命令,它用于管理Linux系统的服务(包括开机启动项),使用systemctl命令可以方便地设置和管理Linux系统的开机启动项。使用systemctl命令需要系统支持systemd,具体操作步骤如下: 首先,我们需要使用systemctl命令查看当前系统的服务列表,然后找到需要设置开机启动项的服务。 接着,我们可以使用systemctl命令来启用或禁用服务的开机启动项。 以上就是设置Linux开机启动项的几种方式,不同的Linux发行版可能会有所不同,但是这些方法基本适用于大多数Linux系统。在设置开机启动项时,我们需要仔细检查所做的修改是否正确,并备份系统文件,以防出现问题。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值