service和systemctl的区别/修改PATH的方法/一条命令查看IP地址和网关以及DNS服务器

这篇具有很好参考价值的文章主要介绍了service和systemctl的区别/修改PATH的方法/一条命令查看IP地址和网关以及DNS服务器。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一.service和systemctl的区别

Linux服务管理的两种方式:service 和 systemctl

service命令其实是去/etc/init.d目录下,去执行相关程序,init.d目录包含许多系统各种服务的启动和停止脚本。当Linux启动时,会寻找这些目录中的服务脚本,并根据脚本的run level确定不同的启动级别。

这种方法有两个缺点:

  • 一是启动时间长。init 进程是串行启动,只有前一个进程启动完,才会启动下一个进程。
  • 二是启动脚本复杂。init 进程只是执行启动脚本,不管其他事情。脚本需要自己处理各种情况,这往往使得脚本变得很长

Systemd 就是为了解决上面问题而诞生的。它的设计目标是,为系统的启动和管理提供一套完整的解决方案。根据 Linux 惯例,字母 d 是守护进程(daemon)的缩写。 Systemd 这个名字的含义,就是它要守护整个系统。使用了 Systemd,就不需要再用 init 了。Systemd 取代了 initd,成为系统的第一个进程(PID 等于 1),其他进程都是它的子进程。

[root@xieshan system]# pwd

/usr/lib/systemd/system        

systemctl可以管理/usr/lib/systemd/system这个目录下所有以.service结尾的服务,例如Network.service,nginx.service

本质上systemctl还是执行一个可执行文件来管理那个服务,只是这样比较方便,通过systemctl来管理,不需要我们去找到那个文件再执行

[root@xieshan system]# cat NetworkManager.service 

ExecStart=/usr/sbin/NetworkManager --no-daemon         #例如systemctl start NetworkManager就是到/usr/sbin/NetworkManager去执行那个文件

systemctl也就是创建一个链接,链接到的位置是/etc/systemd/system/multi-user.target.wants

[root@xieshan ~]# systemctl enable firewalld
Created symlink from /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service to /usr/lib/systemd/system/firewalld.service.
Created symlink from /etc/systemd/system/multi-user.target.wants/firewalld.service to /usr/lib/systemd/system/firewalld.service.
[root@xieshan ~]# systemctl disable firewalld
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[root@xieshan ~]# cd /etc/systemd/system/multi-user.target.wants
[root@xieshan multi-user.target.wants]# ls
auditd.service      kdump.service      rhel-configure.service  tuned.service
chronyd.service     mariadb.service    rpcbind.service         vmtoolsd.service
crond.service       nfs-client.target  rsyslog.service
ipmi.service        postfix.service    sshd.service
irqbalance.service  remote-fs.target   sysstat.service

service和systemctl的区别/修改PATH的方法/一条命令查看IP地址和网关以及DNS服务器

systemctl  disable  firewalld  设置firewalld服务开机不启动 --》下一次开机的问题
systemctl  enable  firewalld  设置firewalld服务开机启动
systemctl  start  firewalld  立马启动firewalld的服务   --》本次
systemctl  stop  firewalld   立马关闭firewalld的服务

service   sshd  start  ---> systemctl start sshd 
   旧式启动服务的方式         新式启动服务的方式 

systemctl list-unit-files                查看当前哪些服务开机自启,哪些服务开机不自启,哪些服务是其他服务的依赖部分

service和systemctl的区别/修改PATH的方法/一条命令查看IP地址和网关以及DNS服务器 ​​​​​​​ 

二.修改PATH环境变量的方法

1.临时修改的方法

export PATH=变量路径:$PATH或者直接PATH=变量路径:$PATH

2.永久修改

修改 /root/.bashrc文件中的PATH变量

3.永久修改

修改/etc/profile文件,添加PATH=/sc:$PATH,在第一行添加就行。对所有的用户都生效,都知道你的程序安装的路径了

三.编写一个脚本,实现通过一条命令可以同时实现查看IP地址、网关、DNS服务器,并且设置为在哪里输入这个命令都可以直接使用

[root@xieshan shell-test]# pwd
/lianxi/shell-test
[root@xieshan shell-test]# cat ip.sh 
#!/bin/bash
#获得IP地址
ip=`ip add|awk -F' ' 'NR==9 {print $2}'` 
#获得网关
route=`ip route|awk 'NR==1 {print $3}'`
#获得DNS服务器
dns=`cat /etc/resolv.conf|awk 'NR==3 {print $2}'`
echo "IP地址为:"$ip,"GATEWAY为:"$route,"DNS服务器为:"$dns
[root@xieshan shell-test]# bash ip.sh 
IP地址为:192.168.2.43/24,GATEWAY为:192.168.2.1,DNS服务器为:114.114.114.114

以上这个简单功能就已经实现了,但是只能在/lianxi/shell-test这个指定位置实现,其他位置不能实现。接下来我们添加别名和修改PATH变量,达到在系统中的任意位置输入ipa这个命令便可得得到以上效果文章来源地址https://www.toymoban.com/news/detail-453878.html

[root@xieshan shell-test]# vim /root/.bashrc
[root@xieshan shell-test]# cat /root/.bashrc
# .bashrc

# User specific aliases and functions

alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
alias ipa=`bash /lianxi/shell-test/ip.sh`        #给刚刚的脚本设置一个别名,输入ipa可以得到同等效果

# Source global definitions
if [ -f /etc/bashrc ]; then
	. /etc/bashrc
fi
PATH=/lianxi/shell-test/:/usr/local/sclilin99/sbin:/lianxi:    #修改path变量,增加自己脚本所在的路径
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
[root@xieshan shell-test]# ipa 
IP地址为:192.168.2.43/24,GATEWAY为:192.168.2.1,DNS服务器为:114.114.114.114
[root@xieshan shell-test]# cd ~
[root@xieshan ~]# ipa        #现在在任意位置都可以实现以上功能了
IP地址为:192.168.2.43/24,GATEWAY为:192.168.2.1,DNS服务器为:114.114.114.114

到了这里,关于service和systemctl的区别/修改PATH的方法/一条命令查看IP地址和网关以及DNS服务器的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • route命令行查看或者修改默认路由

    route print命令 打开CMD,输入route print,就可以查看我们计算机的路由表,如图 看第一项0.0.0.0的网关为192.168.1.1,说明我们计算机的网关为192.168.1.1,如果我们删除自己的网关,计算机还能正常运行吗?如图 我们来看目前的网络连接状态: 可以看到目前是:无网络访问权限,也

    2024年02月08日
    浏览(51)
  • systemctl enable docker.service报错“Failed to execute operation: Bad message“

    将docker加入到开机自启,报错: 解决:  重新粘贴复制:

    2024年02月03日
    浏览(40)
  • 计算节点systemctl status openstack-nova-compute.service起不来的解决方案

    报错 [root@compute ~]# systemctl start libvirtd.service openstack-nova-compute.service Job for openstack-nova-compute.service failed because the control process exited with error code. See \\\"systemctl status openstack-nova-compute.service\\\" and \\\"journalctl -xe\\\" for details. ● openstack-nova-compute.service - OpenStack Nova Compute Server    Loaded: loade

    2024年02月03日
    浏览(43)
  • Linux服务器中启动mysql出现Redirecting to /bin/systemctl start mysql.service错误及处理

    service mysql start 启动mysql服务器时,提示如下错误: 原因推测: service mysql start 是重定向到 /bin/systemctl restart mysql.service. mysql 与mysqld是不同的,前者交互式命令(客户端),mysqld才是后端服务进程,应该是启错了 使用 service mysqld start 或者 systemctl start mysqld 启动 附:其他操作

    2024年02月13日
    浏览(58)
  • systemctl start docker异常 Job for docker.service failed because the control process exited with error

    启动docker 异常了 Job for docker.service failed because the control process exited with error code. See \\\"systemctl status docker.service\\\" and \\\"journalctl -xe\\\" for details.  如果在启动Docker时遇到\\\"Job for docker.service failed because the control process exited with error code.\\\"错误,这表明Docker服务启动时出现问题。为了排查和解

    2024年02月07日
    浏览(89)
  • Job for nginx.service failed because the control process exited with error code. See “systemctl stat

    【这个报错表示nginx的默认进程被占用】 第一步:systemctl status nginx查看nginx报错信息 第二步:查看nginx配置文件,我这的nginx默认端口使用了3306 第三步:使用netstat -tlnp查看目前的端口使用情况,发现mysql已经占用了3306端口,和我们nginx的默认端口冲突 第四步:接着使用ps -

    2024年02月03日
    浏览(57)
  • systemctl命令和配置整理

    systemctl主要负责控制systemd系统和服务管理器。在ubuntu 、centos等一系列发行版中可用。可以方便的管理需要启动的服务等。可以实现开机自启动、出错重启和定时重启等等功能。 下面有一个是错误的,正确为 systemctl daemon-reload #系统命令重新加载 下面是详细的 本文件一共有三

    2024年02月07日
    浏览(47)
  • 【systemctl 常用命令】

    1、启动服务 systemctl start 服务名 2、停止服务 systemctl stop 服务名 3、重启服务 systemctl restart 服务名 4、查看服务 systemctl status 服务名 5、开机自启 systemctl enable 服务名 6、停止自启 systemctl disable 服务名 7、查看服务是否为开机自启动 systemctl is-enabled 服务名 8、查看所有已启动的

    2024年02月13日
    浏览(40)
  • systemctl命令详解

    systemctl 命令详解 systemctl 是linux方便管理一系列服务的命令 启动/重启/查看状态 开启/关闭开机自启动 查看服务是否已启动 只重启正在运行中的服务 查看服务是否为开机自启动 显示所有的服务状态—(翻页:按空格,退出:输入q) 查看启动成功的服务列表 查看启动失败的

    2024年02月09日
    浏览(37)
  • systemctl命令

    systemctl命令主要有两大功能 控制systemd系统 管理系统上运行的服务 systemctl 常用命令 1、启动服务 systemctl start 服务名 2、停止服务 systemctl stop 服务名 3、重启服务 systemctl restart 服务名 4、查看服务是否已启动 systemctl is-active 服务名 5、查看服务的状态 systemctl status 服务名 6、启

    2024年02月05日
    浏览(31)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包