Linux Shell一键关机,实现简单高效的方式 (linux shell关机)
随着计算机的广泛应用,Linux操作系统已经成为互联网服务器领域的主流操作系统。而对于Linux服务器的管理,Shell脚本无疑是不可或缺的工具。Shell作为一种脚本语言,可以通过编写简单的代码实现一些复杂的操作,比如Linux服务器的一键关机就是Shell的重要应用之一。
传统的Linux系统关机方式是通过命令shutdown或reboot来实现,其命令格式如下:
shutdown [-t seconds][-arkhncfF now][–help][–version][-t seconds][–no-wall][msg]
其中,shutdown命令中有许多参数,需要用户进行输入,这就很不方便。而一键关机,就是指使用Shell脚本实现在单击按钮的一瞬间完成Linux系统关机的操作。通过简单的代码片段,用户可以快速实现该功能,从而提高了管理效率。
实现Linux Shell一键关机的方法有很多,这里提供两种实现方式。
之一种方式:通过Shell脚本自定义shutdown命令
Shell脚本语言支持对原有命令进行封装与自定义,而一键关机正是利用了该功能。用户可按以下步骤编写Shell脚本来实现自定义的一键关机命令。
1.打开文本编辑器,新建一个名为shutdown.sh的文件。
2.在shutdown.sh中输入以下代码:
#!/bin/sh
# shutdown.sh – Shell script for shutdown the system
shutdown -h now
3.保存文件并退出文本编辑器。
4.使用chmod +x shutdown.sh命令,将文件修改为可执行文件。
5.将shutdown.sh命令添加到PATH环境变量中,这样用户就可以在任何地方通过输入shutdown.sh命令来执行一键关机操作了。
第二种方式:通过自定义系统键位实现一键关机
除了使用Shell脚本来实现Linux系统一键关机外,还可以通过自定义系统键位的方式来实现该功能。这种方式相对简单,只需要按以下步骤即可。
1. 选择自己喜欢的键位作为一键关机的快捷键,比如CRTL+ALT+DEL。
2.打开/etc/inittab文件,找到下面这行代码:
ca:12345:ctrlaltdel:/in/shutdown -t1 -a -r now
3.将该行代码中的-r参数替换为-h,表示关机功能。
ca:12345:ctrlaltdel:/in/shutdown -t1 -a -h now
4.保存文件并退出编辑器。
5.重新启动Linux系统,此时快捷键CRTL+ALT+DEL即可实现一键关机功能。
综上所述,Linux Shell一键关机是实现简单高效的方式,借助于Shell脚本或自定义键位,用户可以快速实现这一功能,提高管理效率。无论选择哪种实现方式,均可以为用户带来更好的使用体验。
相关问题拓展阅读:
- 如何使windows下的bat文件调用linux下的shell脚本的方法
- Linux的命令行界面
如何使windows下的bat文件调用linux下的shell脚本的方法
之一步:规划
在连通bat和shell之前要先把windows和windows之间的关系,linux和linux之间的关系打通。
windows之间用net use 进行连接,linux之间使用ssh进行连接
第二步:打地基
PS:以下所有运行环境都是在超级管理员下运行,省的跳出一些乱七八糟的东西阻碍造桥大计。
windows间可用net use进行测试,查看是否能相连的。
例:net use \\192.168.1.124\ipc$ “123456” /user:”administrator”
net use \\ip地址\ipc$ “密码”/user:”用户名”
这个密码和用户名都是要连接过去那台机子的密码和用户名的
若出现以下提示就证明连接成功
当然万事都是没有这么顺利的。。。
例如。。。
像这么些乱七八糟的错误基本就是网络不通啊,ip地址有误,用户名密码有误之类造成的。。。
所以得多多利用度娘、谷姐之类的神器进行解决。
或许有时候可能还会亏培用到以下一些命令
net use 来查看哪些是存在的
net use \\192.168.1.210\ipc$ /del 用来删除连接
windows的连接方式就是如此。
在你的客户机上用同样的方法去测试需要加入批量关机大军的windows服务器。
linux间通信使用ssh方式来进行。
先进行配置linux间ssh双机互信机制,这样就可以使两机之间通信不需要输入密码进行访问,将密码全部隐藏起来,这样也起到了安全作用。
关于ssh双机信任机制可以我之前的博客上查看
第三部:架桥
现在linux机器上写一个shell脚本进行批量关机
其中ip.txt存放要批量关机的linux机器ip
当然shutdown_boot.sh应该像下面这样写,而不是图片中的那样,图片中的内容只是我做测试用的。
#!/bin/sh
for ip in `cat ip.txt`
do
ssh $ip
echo “{$ip} shutdown now…”
ifconfig
init 0
EOF
done
ssh 192.168.1.216 -p10088
echo “shutdown 192.168.1.216 now….”
ifconfig
init 0
EOF
因为在我的正式环境中216这台机子SSH端口比较特殊,所以单独剥离出来。
桥的一端已搭好,现在搭建另一端,windows下bat脚本来进行windows批量关机
建立一个shutdown.bat文件
写入以下内容
#批量关闭windows机器
net use \\192.168.1.249\ipc$ “12345” /user:”administrator”
shutdown -s -f -t 20 -m \\192.168.1.249
net use \\192.168.1.254\ipc$ “123456” /user:”administrator”
shutdown -s -f -t 20 -m \\192.168.1.254
net use \\192.168.1.210\ipc$ “123456” /user:”administrator”
shutdown -s -f -t 20 -m \\192.168.1.210
桥的纤空消另一端也搭好了
最后一步就是把两端连起来
这时候就要请出我们的putty工具
可谷姐、度娘下载一个
之一次要进行手动连接
用这个工具进行连接shell脚本毁知所在的那台机子
填上IP和端口即可。
然后进行连接,会提示输入用户名和密码,登入完后就出现sshhostkeys文件夹
然后把shutdown.bat文件放入到跟这文件夹同级目录下。
在bat文件添加以下内容
#批量关闭linux机器
D:
cd puttyfile_0.62cn
putty.exe -ssh -pwm test.sh
简单说下这个语法
putty.ext -ssh -pw 密码 -m 要在linux执行的文件 用户名@IP地址
其中test.sh也是放在sshhostkeys同级目录下,里面写上你要向linux执行的命令
#!/bin/sh
cd /opt/script/shell
#mkdir /tmp/test061502
sh shutdown_boot.sh
#mkdir test06170
最终的结果就是以下内容了
shutdown.bat
test.sh
这样就大功告成
第四步:后期工作
按照这个流程可以完成最初的要求,但这样会存在很多的安全问题,密码明码就是一个问题,这个还有待研究看要怎样处理。
另外一个,在这个bat文件中更好加一个时间判断,比如晚上6点后点击执行这个bat文件可以正常运行,其他时间段点击时则出现告警,以防误操作导致关机。
还有其他的等等一些内容需要完善,待以后想到了在 进行补充。
Linux的命令行界面
Linux操作和Windows有很大不同。要熟练的使用Linux系统,首先要了解Linux系统的目录结构,并掌握常用的命令,以便进行文件的操作、信息查看和系统参数配置等。接下来是我为大家收集的Linux的命令行界面,欢迎大家阅读:
Linux的命令行界面
命令行模式
在Linux中我们很少使用图形模式,为什么呢?因为大神不屑。。。O(∩_∩)O~一般斗门都是用命令行模式来进行各种操作,因为命令行模式执行速度快,而且稳定性高。而Linux中的命令解释器就是Shell,这也是在使用命令前必须要了解Shell的原因。
为什么要先学习Shell
Linux系统主要由四大部分组成:
vcWxvtPv0dSx4LPMu7e+s6Ost72x49PDu6fN6rPJvPK1pbW9uLTU07XEyM7O8bX3tsihow0KPHA+TGludXjG9LavyrGjrNfuz8i9+MjrxNq05rXEysfE2rrLo6yyorOj16TE2rTmo6zIu7rzvfjQ0M+1zbPS/bW8o6zS/bW8tcS5/bPM1tDG9Lavy/nT0L340NC1xLi4vfizzNTauvPMqNTL0NCjrNaxtb4LnYtcTPtc2z18rUtLP1yry7r83qsc+686Ostci0/dPDu6e1x8K8oaPTw7untcfCvMqxo6zNqLn9tcfCvL34s8zR6dak08O7p7XEus+3qNDUoaPTw7un0enWpM2ouf2687j5vt3Tw7untcTJ6NbDxvS2r8/gudi1xFNoZWxso6zS1LHjvdPK1dPDu6fK5MjrtcTD/MHusqK3tbvY1rTQ0L3hufuhozwvcD4NCjxwPtPDu6fWtNDQ0ru49sP8we61xLn9s8yjujwvcD4NCjxzdmcgaGVpZ2h0PQ==”256″ version=”1.1″ width=”336.28125″ xmlns=” with Rapha?l 2.1.0用户用户命令解释器Shell命令解释器Shell 操作系统 操作系统命令结果
Linux的Shell有很多种,bash(Bourne Again Shell)是使用最广泛的一种,各个发行版一般将其设置为系统中默认的Shell。许多Linux系统将Shell作为重要的系统管理工具,比如:系统的开机、关机及软件的管理。其他的Shell有:C Shell、Korn Shell、Bourne Shell等,其中C Shell主要因为其语法和C语言类似而得名,而Bourne Again Shell是Bourne Shell的扩展。
Linux提供的图形界面接口可以完成绝大多数的工作,而系统管理员一般更习惯于使用终端命令行进行系统的参数设置和任务管理。使用终端命令行可以方便旦亏快速地完成各种任务。
使用终端命令行需要掌握一些必要的命令,这些命令的组合不仅可以完成简单的操作,通过Linux提供的Shell还可以完成一些复杂的任务。用户在终端命令行输入一串字符,Shell负责理解并执行这些字符串。然后把结果显示在终端上。
注意:大多数Shell都有命令补齐的功能。
在Unix的发展历史上,用户都是通过Shell来工作的。大部分命令都经过了几十年的发展和改良,功能强大,性能稳定。Linux继承自Unix,自然也是如此。此外Linux的图形化界面并不好,模闭神并不是所有的命令态毕都有对应的图形按钮。在图形化界面崩溃的情况下,就更要靠Shell输入命令来恢复计算机了。
命令本身是一个函数(function),是一个小的功能模块。如果想要让计算机完成很复杂的事情,则必须通过Shell编程来实现。可以把命令作为函数,嵌入到Shell程序中,从而让不同的命令协同工作。
如何进入命令行
如果安装的是桌面版,有两种方式进入命令行界面:菜单方式、快捷键方式。
菜单方式
菜单方式常用的有两种:
单击鼠标右键,选择【在终端中打开】。
单击【应用程序】->【工具】->【终端】,打开命令行。
虚拟机上,再多一个Shift键,使用Ctrl+Shift+Alt+F1的形式。在CentOS桌面版中,我测试这几个按键都无效,这里要使用Ctrl+Windows键+Alt+F3切换到命令行,在使用Ctrl+Windows键+Alt+F1切回图形界面。
注意:因为虚拟机默认与主机之间的切换快捷键是Ctrl+Alt键,所以在使用有这两个键的快捷操作时,尽量不要先按这两个键,否则就会跳出虚拟机模式。
看了“Linux的命令行界面”还想看:
1. LINUX图形界面下如何快速切换到命令界面
2. 怎么进入CMD命令行界面
3. 如何打开命令行窗口的快速编辑功能
4. win7怎么打开DOS命令行窗口
5. 炫酷的Linux终端命令大全
关于linux shell关机的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。