Linux是怎么启动的(整理)
linux中各类软件的启动和查看命令

linux中各类软件的启动和查看命令查看某⼀端⼝的占⽤情况,⽐如查看8000端⼝使⽤情况,lsof -i:8000查看指定的端⼝号的进程情况,如查看8000端⼝的情况,netstat -tunlp |grep 8000kill -9 pid 杀掉某个进程jps 命令查看各个线程的编号whereis oracle回车,如果你安装好了Oracle,就会显⽰⽂件安装的地址,例如我的显⽰(安装地址可能会不同)oracle: /usr/bin/oracle /usr/lib/oracle /usr/share/oracle /usr/share/man/man1/oracle.1.gz可以看出来,Oracle安装在是个⽬录⾥。
如果你没有安装Oracle或者Oracle安装没成功,则不会显⽰⽂件路径出来。
只提⽰:oracle:⼆、查询运⾏⽂件所在路径:如果你只要查询⽂件的运⾏⽂件所在地址,直接⽤下⾯的命令就可以了(还是以Oracle为例):which oracle结果会显⽰:/usr/bin/oracleps -ef | grep <option>:option为想要查看的进程其中-e表⽰显⽰所有继承,-f 为把进程的所有信息都显⽰出来jdk:java -version关闭防⽕墙,重启失效 service firewalld stop开机不启动 systemctl disable firewalld开启启动的命令 systemctl enable firewalld进⼊tomcat的bin⽂件夹 cd /usr/local/tomcat/bin执⾏的命令为./启动⽂件 ./startup.sh启动redis./redis-server redis.conf关闭redis./redis-cli shutdown启动客户端⼯具./redis-cli./redis-cli --raw 格式化中⽂./redis-cli -p 6380 主从配置中指定某个端⼝info replication 查看当前redis的状态集群测试./redis-cli -p 7001 -c./redis-cli -p 7001 shutdown启动哨兵cd /usr/local/sentinel./redis-sentinel sentinel.conf查看redis进程号 ps aux|grep redis杀死主进程号 kill -9 进程号集群中让数据显⽰中⽂ ./redis-cli -p 7001 -c --rawzookeeperzkServer.sh start 启动zkServer.sh status 查看状态RAbbitMq进⼊rabbitmq/sbin⽬录# cd /usr/local/rabbitmq/sbin启动rabbitmq。
linux系统入门学习教程最新精华版教程_华清远见

Linux系统入门学习教程之前分享过linux系统的历史,和linux系统的安装教程。
本篇文章介绍的是linux系统入门学习教程。
首先我们需要了解一下linux系统,才能更好的学习。
Linux的启动其实和windows的启动过程很类似,不过windows我们是无法看到启动信息的,而linux 启动时我们会看到许多启动信息,例如某个服务是否启动。
Linux系统的启动过程大体上可分为五部分:内核的引导;运行init;系统初始化;建立终端 ;用户登录系统。
A 内核引导当计算机打开电源后,首先是BIOS开机自检,按照BIOS中设置的启动设备(通常是硬盘)来启动。
紧接着由启动设备上的grub程序开始引导linux,当引导程序成功完成引导任务后,Linux从它们手中接管了CPU的控制权,然后CPU就开始执行Linux的核心映象代码,开始了Linux启动过程。
也就是所谓的内核引导开始了,在内核引导过程中其实是很复杂的,我们就当它是一个黑匣子,反正是linux内核做了一些列工作,最后内核调用加载了init程序,至此内核引导的工作就完成了。
交给了下一个主角init。
B 运行initinit 进程是系统所有进程的起点,你可以把它比拟成系统所有进程的老祖宗,没有这个进程,系统中任何进程都不会启动。
init 程序首先是需要读取配置文件 /etc/inittab。
inittab是一个不可执行的文本文件,它有若干行指令所组成。
具体内容如下:(你可以在你的linux上执行命令 cat /etc/inittab 这样获得)# inittab This file describes how the INIT process should set up# the system in a certain run-level.## Author: Miquel van Smoorenburg,# Modified for RHS Linux by Marc Ewing and Donnie Barnes## Default runlevel. The runlevels used by RHS are:# 0 - halt (Do NOT set initdefault to this)# 1 - Single user mode# 2 - Multiuser, without NFS (The same as 3, if you do not havenetworking) # 3 - Full multiuser mode# 4 - unused# 5 - X11# 6 - reboot (Do NOT set initdefault to this)####表示当前缺省运行级别为5(initdefault);id:5:initdefault:###启动时自动执行/etc/rc.d/rc.sysinit脚本(sysinit)# System initialization.si::sysinit:/etc/rc.d/rc.sysinitl0:0:wait:/etc/rc.d/rc 0l1:1:wait:/etc/rc.d/rc 1l2:2:wait:/etc/rc.d/rc 2l3:3:wait:/etc/rc.d/rc 3l4:4:wait:/etc/rc.d/rc 4###当运行级别为5时,以5为参数运行/etc/rc.d/rc脚本,init将等待其返回(wait) l5:5:wait:/etc/rc.d/rc 5l6:6:wait:/etc/rc.d/rc 6###在启动过程中允许按CTRL-ALT-DELETE重启系统# Trap CTRL-ALT-DELETEca::ctrlaltdel:/sbin/shutdown -t3 -r now# When our UPS tells us power has failed, assume we have a few minutes# of power left. Schedule a shutdown for 2 minutes from now.# This does, of course, assume you have powerd installed and your# UPS connected and working correctly.pf::powerfail:/sbin/shutdown -f -h +2 "Power Failure; System Shutting Down"# If power was restored before the shutdown kicked in, cancel it.pr:14355:powerokwait:/sbin/shutdown -c "Power Restored; shutdown Cancelled"###在2、3、4、5级别上以ttyX为参数执行/sbin/mingetty程序,打开ttyX终端用于用户登录,###如果进程退出则再次运行mingetty程序(respawn)# Run gettys in standard runlevels1:2345:respawn:/sbin/mingetty tty12:2345:respawn:/sbin/mingetty tty23:2345:respawn:/sbin/mingetty tty34:2345:respawn:/sbin/mingetty tty45:2345:respawn:/sbin/mingetty tty56:2345:respawn:/sbin/mingetty tty6###在5级别上运行xdm程序,提供xdm图形方式登录界面,并在退出时重新执行(respawn)# Run xdm in runlevel 5x:5:respawn:/etc/X11/prefdm -nodaemon以上面的inittab文件为例,来说明一下inittab的格式。
linux后台启动命令nohup

linux后台启动命令nohuplinux系统下为了能在后台定期运行程序时需要用到nohup命令,下面由店铺为大家整理了linux后台启动命令nohup的相关知识,希望对大家有所帮助。
linux后台启动命令nohup命令Unix/Linux下一般比如想让某个程序在后台运行,很多都是使用& 在程序结尾来让程序自动运行。
比如要运行mysql在后台:复制代码代码如下:/usr/local/mysql/bin/mysqld_safe –user=mysql &但是加入很多程序并不象mysqld一样做成守护进程,可能程序只是普通程序而已,一般这种程序使用& 结尾,但是如果终端关闭,那么程序也会被关闭。
为了能够后台运行,可以使用nohup这个命令,比如有个test.php需要在后台运行,并且希望在后台能够定期运行,那么就使用nohup:复制代码代码如下:nohup /root/test.php &在shell中回车后提示:[~]$ appending output to nohup.out原程序的的标准输出被自动改向到当前目录下的nohup.out文件,起到了log的作用。
但是有时候在这一步会有问题,当把终端关闭后,进程会自动被关闭,查看nohup.out可以看到在关闭终端瞬间服务自动关闭。
咨询红旗Linux工程师后,他也不得其解,在我的终端上执行后,他启动的进程竟然在关闭终端后依然运行。
在第二遍给我演示时,我才发现我和他操作终端时的一个细节不同:他是在当shell中提示了nohup成功后还需要按终端上键盘任意键退回到shell输入命令窗口,然后通过在shell中输入exit来退出终端;而我是每次在nohup执行成功后直接点关闭程序按钮关闭终端.。
所以这时候会断掉该命令所对应的session,导致nohup对应的进程被通知需要一起shutdown。
这个细节有人和我一样没注意到,所以在这儿记录一下了。
linux程序开机自启动的方法详解~程序自动启动~Myself.

linux程序开机自启动的方法详解~程序自动启动~Myself.1.开机启动时自动运行程序Linux加载后, 它将初始化硬件和设备驱动, 然后运行第一个进程init。
init根据配置文件继续引导过程,启动其它进程。
通常情况下,修改放置在 /etc/rc或/etc/rc.d 或 /etc/rc?.d 目录下的脚本文件,可以使init自动启动其它程序。
例如:编辑/etc/rc.d/rc.local 文件,在文件最末加上一行"xinit"或"startx",可以在开机启动后直接进入X-Window。
2.登录时自动运行程序用户登录时,bash首先自动执行系统管理员建立的全局登录script :/etc/profile。
然后bash在用户起始目录下按顺序查找三个特殊文件中的一个:/.bash_profile、/.bash_login、/.profile,但只执行最先找到的一个。
因此,只需根据实际需要在上述文件中加入命令就可以实现用户登录时自动运行某些程序(类似于DOS下的Autoexec.bat)。
3.退出登录时自动运行程序退出登录时,bash自动执行个人的退出登录脚本/.bash_logout。
例如,在/.bash_logout中加入命令"tar -cvzf c.source.tgz *.c",则在每次退出登录时自动执行 "tar" 命令备份*.c 文件。
4.定期自动运行程序Linux有一个称为crond的守护程序,主要功能是周期性地检查/var/spool/cron目录下的一组命令文件的内容,并在设定的时间执行这些文件中的命令。
用户可以通过crontab 命令来建立、修改、删除这些命令文件。
例如,建立文件crondFile,内容为"00 9 23 Jan *HappyBirthday",运行"crontab cronFile"命令后,每当元月23日上午9:00系统自动执行"HappyBirthday"的程序("*"表示不管当天是星期几)。
第一次课项目1Linux系统安装与启动(共50张PPT)

工程问题1-Linux的版权问题
Linux是基于Copyleft〔无版权〕的软件模式进行发布的, Copyleft是与Copylright〔版权所有〕相对立的新名称,它是GNU
工程制定的通用公共许可证GPL〔General Public License〕。 GNU工程是由Richard Stallman于1984年提出 ,他建立了自由软件基金会
启动引导器程序,启动引导器再负责加载启动硬盘分区中的操作系统。
工程问题4 - G的RUSB hell。
按a键可以对高亮菜单项中的命令追加内核启动参数。 X Server:控制实际的显示与输入设备。
如完何本进 钱入工X程W需i要nKd解oow决sr的Sny问sSt题em:h执e行l根l:本配是置 对Bourne Shell的开展,在大局部情况下与 Bourne Shell兼容。 其后可以跟options选项将在内核载入时传给内核
1. 工程课题引入
2. Linux的根本知识 3. Linux的安装与根本配置
4. 现场安装演示案例 5. X Windows System 6. GRUB的安装与配置
7. 现场演示
课题引入-工程背景 1、网络操作系统在网络中的作用和地位是怎样的?
为网络中的用户提供了哪些效劳? 2、当前流行的网络操作系统有哪些?
工程问题1-Shell的版本
Bourne Shell:是贝尔实验室开发的版本。
统,它拥有如下一些特点:
R启e动d 引Ha导t E器n是te计rpBr算isAe机LS启in动Hux过简:程介中是运G行的N第U一的个真B正o的软u件rn,e通常A计g算a机in启动S时h在e通ll过,BIO是S自G检N后读U取操并运作行硬系盘统主引上导扇默区〔认MBR〕中的
Linux系统无显卡无显示器的启动

Linux系统⽆显卡⽆显⽰器的启动Linux操作系统⽆显卡安装⽅式显卡安装⽅法:操作步骤:1、SBC上装上显卡,并启动安装程式2、安装linux系统并选择相应的安装包(选择lilo启动加载程式)如果安装时以GRUB⽅式加载的,需要在Grub.conf中将有关图像的语句屏蔽掉。
#splashimage=(hd0,0)/grub/splash.xpm.gz3、启动linux系统并修改⽂件A)在⽂件/etc/inittab中添加以下内容:co:2345:respawn:/sbin/agetty ttyS0 115200 vt100-nav此处的波特率115200 能根据Bios⾥⾯的选项设置。
不⼀定⾮要为115200。
我们⼑⽚默认的波特率为9600。
不过实际使⽤时发现115200更顺畅些。
B)在⽂件/etc/lilo.conf中添加以下内容:serial=0append="console=tty0 console=ttyS0,115200n8"4、重新启动linux系统,显卡和串⼝都会显⽰启动信息,摘掉显卡,linux系统能启动,串⼝能进⾏常规操作。
串⼝安装⽅法:操作步骤:1、使另⼀台PC的串⼝和SBC的串⼝相连,并启动终极终端控制SBC的系统安装。
2、启动SBC并设置SBC的BIOSA)在终极终端窗⼝按F4进⼊BIOS.B)设置Advanced- >Remote Access Configuration- >Redirection after BIOS POST项的值为always.C)保存并启动BIOS。
3、从光驱启动,准备SBC安装,待终极终端有显⽰时,键⼊:linux text dd console=ttyS0,115200n84、安装linux系统并选择相应的安装包5、重新启动linux系统,串⼝能看到启动信息且linux系统启动成功。
6、使显卡能显⽰登录信息在终极终端下编辑⽂件/etc/inittab,去掉以下各⾏前的“#”号。
Linux 启动和关闭DNS服务
Linux 启动和关闭DNS服务
Bind软件包安装完毕以后,主程序默认位于“/usr/sbin/named”,并且系统中会自动增加一个名为named的系统服务。
用户可以通过“/etc/init.d/named”文件中的内容,来控制域名服务的运行。
与“/etc/init.d/”目录中的其它服务一样,named服务也可以使用service命令进行调用。
而直接执行“/etc/init.d/”目录中的服务脚本,与通过service命令调用这些脚本,两者的效果是相同的。
1.启动Bind服务
用户可以在【终端】窗口中,输入“/etc/init.d/named start”命令并按键,来启动named服务,如图15所示。
图15 启动Bind服务
同样,用户通过使用services命令,也可以启动该服务。
在【终端】窗口中,输入“service named start”命令并按键,使用service来启动named服务。
2.重新加载服务
如果要在named服务运行的状态下,重新加载服务配置,可以在【终端】窗口中,输入“service named reload”命令并按键,来重新加载服务,如图16所示。
图16 重新加载服务
3.停止服务
如果要停止named服务,可以在【终端】窗口中,输入“service named stop”命令并按键,来停止named服务,如图17所示。
图17 停止服务
4.重新启动服务
如果要重新启动服务,可以在【终端】窗口中,输入“service named restart”命令并按键,来重新启动named服务,如图18所示。
图18 重新启动服务。
linux驱动启动顺序
linux驱动启动顺序⾸先,我们可以查看Linux内核编译完成后的System.map⽂件,在这个⽂件中我们可以看到macb(dm9161驱动模块)链接到了dm9000驱动之前,如下所⽰:c03b6d40 t __initcall_tun_init6c03b6d44 t __initcall_macb_init6c03b6d48 t __initcall_dm9000_init6c03b6d4c t __initcall_ppp_init6c03b6d50 t __initcall_ppp_async_init6我尝试修改arch/arm/mach-at91/board-sam9260ek.c中DM9000和DM916设备添加的顺序,即先添加 dm9000,后添加dm9161。
编译后运⾏发现,结果还是⼀样。
⾃⼰想了想,这也在情理之中。
因为这个出现这个问题的主要原因是这两个驱动加载的先后顺序,⽽不是设备添加的先后顺序。
在Linux内核中维护着两个链,⼀个设备链,⼀个驱动链,他们两个就像情侣⼀样互相依赖,互相纠缠在⼀起的。
当我们新添加⼀个设备时,他会被加⼊到设备链上,这时内核这个红娘会就会到驱动链上给他找他的另外⼀半(驱动),看是否有哪个驱动看上了他(这个驱动是否⽀持这个设备),如果找到了这个驱动,那么设备就能够使⽤(⼤家纠缠到⼀块了,该⼲嘛就⼲嘛去了)。
⽽如果没有找到,那么设备就只能默默地在那⾥等待他的另⼀半的出现。
下⾯是arch/arm/mach-at91/board-sam9260ek.c添加设备的代码:static void __init ek_board_init(void){ /* Serial */at91_add_device_serial(); /* USB Host */at91_add_device_usbh(&ek_usbh_data); /* USB Device */at91_add_device_udc(&ek_udc_data); /* SPI */at91_add_device_spi(ek_spi_devices, ARRAY_SIZE(ek_spi_devices)); /* NAND */ek_add_device_nand(); /* Ethernet */ ek_add_device_dm9000(); /* Add dm9000 driver by guowenxue, 2012.04.11 */at91_add_device_eth(&ek_macb_data); /* MMC */at91_add_device_mmc(0, &ek_mmc_data); /* I2C */at91_add_device_i2c(ek_i2c_devices, ARRAY_SIZE(ek_i2c_devices)); /* SSC (to AT73C213) */#if defined(CONFIG_SND_AT73C213) || defined(CONFIG_SND_AT73C213_MODULE)at73c213_set_clk(&at73c213_data); /* Modify by guowenxue, 2012.04.11 */#endifat91_add_device_ssc(AT91SAM9260_ID_SSC, ATMEL_SSC_TX);#if 0 /* comment by guowenxue */ /* LEDs */at91_gpio_leds(ek_leds, ARRAY_SIZE(ek_leds)); /* Push Buttons */ek_add_device_buttons();#endif}MACHINE_START(AT91SAM9260EK, "Atmel AT91SAM9260-EK") /* Maintainer: Atmel */.timer = &at91sam926x_timer,.map_io = at91_map_io,.init_early = ek_init_early,.init_irq = at91_init_irq_default,.init_machine = ek_board_init,MACHINE_ENDMACHINE_START主要是定义了"struct machine_desc"的类型,放在 section(".init"),是初始化数据,Kernel 起来之后将被丢弃。
Linux系统引导过程及排除启动故障
Linux系统引导过程及排除启动故障⼀、Linux操作系统引导过程⼆、系统初始化进程1、init进程2、Systemd3、Systemd单元类型三、排除启动类故障【1】、修复MBR扇区故障(含实验过程)【2】、修复GRUB引导故障●⽅法⼆:进⼊急救模式,恢复GRUB引导程序(与MBR 引导扇区类似)●⽅法三:引导界⾯进⼊急救模式,重建GRUB菜单配置⽂件⽅案三实验四、遗忘root⽤户的密码实验过程⼀、Linux操作系统引导过程1.开机⾃检服务器主机开机以后,将根据主板BIOS中的设置对CPU、内存、显卡、键盘等设备进⾏初步检测,检测成功后根据预设的启动顺序移交系统控制权,⼤多时候会移交给本机硬盘。
总结:检测出第⼀个能够引导系统的设备,⽐如硬盘或者光驱2.MBR 引导当从本机硬盘中启动系统时,⾸先根据硬盘第⼀个扇区中MBR(主引导记录)的设置,将系统控制权传递给包含操作系统引导⽂件的分区;或者直接根据MBR 记录中的引导信息调⽤启动菜单(如 GRUB)。
总结:运⾏放在MBR扇区⾥的启动GRUB引导程序3.GRUB 菜单对于Linux操作系统来说,GRUB(统⼀启动加载器)是使⽤最为⼴泛的多系统引导器程序。
系统控制权传递给GRUB以后,将会显⽰启动菜单给⽤户选择,并根据所选项(或采⽤默认值)加载Linux内核⽂件,然后将系统控制权转交给内核。
CentOS 7 采⽤的是 GRUB2 启动引导器。
总结:GRUB引导程序通过读取GRUB配置⽂件/boot/grub2/grub.cfg,来获取内核和镜像⽂件系统的设置和路径位置4.加载 Linux 内核Linux内核是⼀个预先编译好的特殊⼆进制⽂件,介于各种硬件资源与系统程序之间,负责资源分配与调度。
内核接过系统控制权以后,将完全掌控整个Linux操作系统的运⾏过程。
CentOS 7系统中,默认的内核⽂件位于“/boot/vmlinuz-3.10.0-514.el7.x86_64”。
linux知识点整理
Linux实用教程第一章⏹Linux是在GPL(General Public License,通用公共许可证)版权协议下发行的操作系统,是一种类Unix的操作系统,其版权属于Linus Torvalds.⏹GNU是“GNU's Not Unix”的递归缩写。
Stallman宣布GNU应当发音为Guh-NOO以避免与new这个单词混淆(注:Gnu在英文中原意为非洲牛羚,发音与new相同)。
UNIX是一种广泛使用的商业操作系统的名称。
由于GNU将要实现UNIX系统的接口标准,因此GNU计划可以分别开发不同的操作系统部件。
GNU计划采用了部分当时已经可自由使用的软件,例如TeX排版系统和X Window视窗系统等。
不过GNU 计划也开发了大批其他的自由软件。
⏹Linux的应用主要有4个方面:服务器、嵌入式、软件开发、桌面应用。
Linux的长处主要在于服务器端和嵌入式两个领域。
⏹Linux系统的特点:1.开放性2.多用户3.多任务4.良好的用户界面5.设备独立性6.丰富的网络功能7.可靠的系统安全8.良好的可移植性⏹Linux系统一般有4个主要部分:内核、Shell、文件系统、应用程序。
内核版本是在Linus领导下的开发小组开发出的系统内核版本号,由三个数字组成kernel的主版本号x: 次版本号,偶数:表示稳定版本;奇数:开发中版本y: 修正号,表示错误修补次数。
如:稳定版本; 测试版本:什么是发行版本:答:一些组织和厂家,将Linux系统的内核、应用软件和文档包装起来,并提供安装界面、系统配置管理工具等,就构成了Linux发行版本。
第二章Linux通过字母和数字的组合来标识硬盘分区,如“hda1”,其具体含义是:前两个字母表明分区所在设备的类型,例如hd指IDE硬盘,sd指SCSI硬盘;第三个字母表示分区所在的设备,如/dev/hda表示第1个IDE硬盘,/dev/sdb表示第2个SCSI硬盘。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
网址:edu.51CTO.com
Linux是怎么启动的(整理)
昨天笔试考了一道关于linux系统启动的过程,当时没答上来,现在整理出来(其实并
不复杂)。
按下电源按钮的直到欢迎页出来之后,linux总共做的事可以分为五步来完成。
1、 BIOS加电自检:
加电自检,检测硬件设备。然后按照cmos上面的顺序来搜索处在活动状态下的可以引
导的设备。可以是光驱、软盘、USB等。
2、 加载主引导加载程序(MBR):
主引导程序是一个512字节的映像。包含一点机器码还有一个小的分区。
主引导程序的任务就是查找并且加载处在硬盘分区上的次引导程序。通过分区表查找活
动分区,并将处在活动分区的次引导加载程序读取到内存里面运行。
3、 加载次引导记载程序(GRUB)
次引导加载程序只要就是加载linux内核。
上一阶段结束之后次引导加载程序就会在内存里面跑起来。就会出现GRUB图形界面,
让用户选择加载什么样的内核。
4、 linux内核映像:
用户选择要加载的内核之后,次引导加载程序(GRUB)就会根据/boot/grub.conf配置
文件中所设置的信息,从/boot/所在的分区上读取Linux内核映像,然后把内核映像加载到
内存中并把控制权交给Linux内核。
linux内核获得控制权之后开始干自己的事
网址:edu.51CTO.com
检测硬件
解压缩自己并安装必要驱动
初始化与文件系统相关的虚拟设备,LVM或RAID
装载根文件系统,挂在根目录下面
完成之后,linux在进程空间里面加载init程序,下面轮到init干活
init进程
init是所有进程的发起者和控制者,所有的进程都由此衍生。
init进程获得控制权之后,它会执行/etc/rc.d/rc.sysinit脚本,根据里面的代码设
置环境变量、网络、启动swap、检查并挂载文件系统、执行其他初始化工作。
至此,linux启动完成。
我们稍微总结一下:
首先是BIOS加电自检,之后加载主引导加载程序、次引导加载程序,最后就是linux
内核映像,完了把控制权交给init进程,完成初始化工作。
swap分区是什么?
类似windows系统中的虚拟内存,当物理内存不够用的时候,使用swap中的内存。