Linux运维工程师学习:Linux系统基本知识

一、 Linux基本概念

Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和Unix的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的Unix工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。[1]

二、 学习LINUX用户管理和文件结构部分

2.1 /etc/passwd与/etc/group

  • /etc/passwd,查看用户目录
    在这里插入图片描述
    root:(账号名称):x(:账号密码):0(:账号UID):0(:账号GID):root(:用户说明):/root(:用户家目录):/bin/bash(:shell解析)
    1、账号名称:和用户UID对应,这是用户登录时使用的账号名称,在系统中是唯一的,不能重复。
    2、账号密码:早期的Unix系统中,该字段是存放账号密码的,由于安全原因,后来把这个密码字段内容移动到/etc/shadow中,这里可以看到一个字母表示该用户密码在/etc/shadow中保护
    3、账户UID:账号UID一般由一个整数表示的,范围是0~65535。
    4、账户GID:账号GID一般也是由一个整数表示的,范围是0~65535,当添加账户时,默认情况下会同时建立一个与用户同名且UID和GID相同的组。
    5、用户说明:这个字段是对这个账号二队描述说明。
    6、用户家目录:用户登录后首先进入的目录,一般为(/home/用户名)这样的目录
    7、shell解析器:当前用户登录后所使用的shell,在centos/rhel等linux中,默认的shell为bash,就是在这里设置的。如果不希望用户登录系统,可以用个usermod或者手工修改passwd配置,将该字段改为/sbin/nologin即可。如果仔细看passwd文件,会发现大部分内置系统虚拟账号的这个字段都是/sbin/nologin,表示禁止登录系统,这是出于安全考虑的。(echo $SHELL及cat /etc/shells)
    在这里插入图片描述
  • /etc/group,查看组目录
    在这里插入图片描述
    root:(组名称):x(:组密码,与用户账号密码一致):0(:账号GID)

2.2 建立用户组的意义及在Oracle及服务器中的意义

通过建立用户组,或者控制新建用户所在的用户组,可以控制用户访问系统的权限。
所以,Oracle的用户组的作用在与通过创建组,授予相应的权限,已实现组别权限管控的目的。

2.3 使用useradd ,userdel ,groupadd ,groupdel 指令

  • useradd
    sudo useradd -s /bin/bash -g 所属的组 -d 用户家目录 -m 目录,便捷更快
    s:指定新用户登录时shell类型
    g:指定所属组,该组必须存在
    d:用户家目录
    m:用户家目录不存在,自动创建该目录
    在这里插入图片描述
  • userdel
    sudo userdel -r 用户名,删除得比较干净
    -r的作用是把用户的主目录一起删除
  • groupadd
    sudo groupadd 用户组
    添加用户组
  • groupdel
    sudo groupdel用户组
    删除用户组

2.4 用户登录过程中使用到的配置文件

用户登录时相关的bash配置文件
1.全局配置文件

  • /etc/profile
    环境变量配置文件,在这里修改的内容是对所有用户起作用的
  • /etc/profile.d/*.sh
    在/etc/profile.d 目录中存放的是一些应用程序所需的启动脚本,其中包括了颜色、语言、less、vim及which等命令的一些附加设置。
  • /etc/bashrc
    在 bash shell 打开时运行,修改该文件配置的环境变量将会影响所有用户使用的bash shell

2.个人配置文件

  • ~/.bsah_profile
    每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次,默认情况下,设置一些环境变量,执行用户的.bashrc文件。
  • ~/.bashrc
    该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该文件被读取.

3.配置文件加载过程

  • 用户登录时加载bash配置文件的过程 登录式shell加载配置文件过程
    /etc/profile --> /etc/profile.d/*.sh --> ~/.bash_profile --> ~/.bashrc --> /etc/bashrc
  • 非登录式shell加载配置文件过程
    ~/.bashrc --> /etc/bashrc --> /etc/profile.d/*.sh

2.5 profile文件的作用及使用profile文件定制用户账号

1.profile文件的作用在于修改系统环境变量
2.使用profile文件定制用户账号,/etc/profile是一个全局配置文件,所有用户登录都会使用该文件构建用户环境。这个文件中设置了用户的环境变量、搜索路径等信息。[2]

[root@localhost ~]# cat /etc/profile
# /etc/profile

# System wide environment and startup programs, for login setup
# Functions and aliases go in /etc/bashrc
#设置环境搜索变量PATH函数
pathmunge () {
        if ! echo $PATH | /bin/egrep -q "(^|:)$1($|:)" ; then
           if [ "$2" = "after" ] ; then
              PATH=$PATH:$1
           else
              PATH=$1:$PATH
           fi
        fi
}
#设置变量EUID、UID的值
# ksh workaround
if [ -z "$EUID" -a -x /usr/bin/id ]; then 
        EUID=`id -u`
        UID=`id -ru`
fi
#如果当前登录的是root用户,则为root用户添加相应的环境变量
# Path manipulation
if [ "$EUID" = "0" ]; then
        pathmunge /sbin
        pathmunge /usr/sbin
        pathmunge /usr/local/sbin
fi
#设置资源限制
# No core files by default
ulimit -S -c 0 > /dev/null 2>&1
#为用户设置环境变量USER、LOGNAME、MAIL
if [ -x /usr/bin/id ]; then
        USER="`id -un`"
        LOGNAME=$USER
        MAIL="/var/spool/mail/$USER"
fi
#设置主机名、命令历史长度变量
HOSTNAME=`/bin/hostname`
HISTSIZE=1000
#环境变量INPUTRC
#该变量主要用于加载快捷键设置
if [ -z "$INPUTRC" -a ! -f "$HOME/.inputrc" ]; then
    INPUTRC=/etc/inputrc
fi
#设置全局变量
export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE INPUTRC
#载入别名设置
#运行profile.d目录中所有以.sh结尾的脚本
for i in /etc/profile.d/*.sh ; do
    if [ -r "$i" ]; then
        . $i
    fi
done
#清除使用过的变量和函数
unset i
unset pathmunge
#以下为后来自己添加到内容

2.6 当前使用进程的id

  • ps -ef|grep 进程名
    ps -ef 是显示所有进程
    UID:进程拥有者
    PID:进程ID
    PPID:上级父程序的ID
    C: CPU 使用的资源百分比
    STIME: 系统启动时间
    TTY:登入者的终端机位置
    TIME:使用掉的 CPU 时间
    CMD:所下达的指令名称 [3]
    在这里插入图片描述
    在这里插入图片描述

2.7 常用指令

命令 说明
history 查看操作历史
clear 清除终端信息
pwd 查看当前目录
which 查看命令的目录
man man 查看手册,九个章节,分别为1.可执行行程序或shell命令;2.系统调用(内核提供的函数);3.库调用(程序库中提供的函数);4.特殊文件(通常位于/dev);5.文件格式和规范(如/etc/passwd);6.游戏;7.杂项;8.系统管理命令;9.内核例程
alias 查看命令别名,设置,例:alias pag='ps aux
echo 在显示器上显示数据,普通数据:echo 字符串,显示环境变量:echo $PATH,显示上一次程序退出值:echo $?( $:取值,?:最近一次程序退出时的返回值)
poweroff 关机
reboot 重启
shutdown 关机,-t:秒,设定在切换至不同的runlevle之前,警告和删除两信号之间的延迟时间;-k:仅送出警告信息,但不关机;-r:shutdown之后重新开机;-h:shutdown命令之后关机;-n:不经过init,由shutdown指令本身做关机动作;-f:重新开机时,跳过fsck命令,不检查档案系统;-F:重新开机时,强迫做fsck检查;-c:将已经正在shutdown的动作取消

三、 熟悉LINUX日志文件

3.1 常用的日志文件的所在位置与功能

以下介绍的是20个位于/var/log/ 目录之下的日志文件。其中一些只有特定版本采用,如dpkg.log只能在基于Debian的系统中看到。[4]

  • /var/log/messages — 包括整体系统信息,其中也包含系统启动期间的日志。此外,mail,cron,daemon,kern和auth等内容也记录在/var/log/messages日志中。
  • /var/log/dmesg — 包含内核缓冲信息(kernel ring buffer)。在系统启动时,会在屏幕上显示许多与硬件有关的信息。可以用dmesg查看它们。
  • /var/log/auth.log — 包含系统授权信息,包括用户登录和使用的权限机制等。
  • /var/log/boot.log — 包含系统启动时的日志。
  • /var/log/daemon.log — 包含各种系统后台守护进程日志信息。
  • /var/log/dpkg.log – 包括安装或dpkg命令清除软件包的日志。
  • /var/log/kern.log – 包含内核产生的日志,有助于在定制内核时解决问题。
  • /var/log/lastlog — 记录所有用户的最近信息。这不是一个ASCII文件,因此需要用lastlog命令查看内容。
  • /var/log/maillog /var/log/mail.log — 包含来着系统运行电子邮件服务器的日志信息。例如,sendmail日志信息就全部送到这个文件中。
  • /var/log/user.log — 记录所有等级用户信息的日志。
  • /var/log/Xorg.x.log — 来自X的日志信息。
  • /var/log/alternatives.log – 更新替代信息都记录在这个文件中。
  • /var/log/btmp – 记录所有失败登录信息。使用last命令可以查看btmp文件。例如,”last -f /var/log/btmp | more“。
  • /var/log/cups — 涉及所有打印信息的日志。
  • /var/log/anaconda.log — 在安装Linux时,所有安装信息都储存在这个文件中。
  • /var/log/yum.log — 包含使用yum安装的软件包信息。
  • /var/log/cron — 每当cron进程开始一个工作时,就会将相关信息记录在这个文件中。
  • /var/log/secure — 包含验证和授权方面信息。例如,sshd会将所有信息记录(其中包括失败登录)在这里。
  • /var/log/wtmp或/var/log/utmp — 包含登录信息。使用wtmp可以找出谁正在登陆进入系统,谁使用命令显示这个文件或信息等。
  • /var/log/faillog – 包含用户登录失败信息。此外,错误登录命令也会记录在本文件中。

除了上述Log文件以外, /var/log还基于系统的具体应用包含以下一些子目录:

  • /var/log/httpd/或/var/log/apache2 — 包含服务器access_log和error_log信息。
  • /var/log/lighttpd/ — 包含light HTTPD的access_log和error_log。
  • /var/log/mail/ – 这个子目录包含邮件服务器的额外日志。
  • /var/log/prelink/ — 包含.so文件被prelink修改的信息。
  • /var/log/audit/ — 包含被 Linux audit daemon储存的信息。
  • /var/log/samba/ – 包含由samba存储的信息。
  • /var/log/sa/ — 包含每日由sysstat软件包收集的sar文件。
  • /var/log/sssd/ – 用于守护进程安全服务

3.2 查看LOG文件的内容

查看文件内容:

  • cat fileName:将文件内容一次性输出到终端,如果文件太长,无法在终端全部显示
  • more fileName:文件内容分页显示到终端,只能一直向下浏览,不能退回,enter下一行,backspace下一页,ctrl+c或q退出
  • less fileName:文件内容分页显示到终端,可以自由上下浏览,enter下一行,backspace下一页,ctrl+c或q退出,ctrl+p或↑滚动到上一行,ctrl+n或↓滚动到下一行
  • head -x fileName:x为行,从文件头开始查看前x行的内容,如果没有指定行数,默认显示前10行内容
  • tail -x fileName:x为行,从文件尾开始查看后x行的内容,如果没有指定行数,默认显示后10行内容

3.3 查找与清理日志文件

删除的日志文件被进程锁定,磁盘没有释放,可以kill 掉进程,或重启系统,但是这样应用就没了.
最好的办法不是删除日志文件,而且清空它,不会影响应用.
1.不知道文件在哪里,查找并清空
find / -name nohup.out -exec cp /dev/null {} ;

2.知道文件在哪里直接清空
[root@localhost ~]# echo " " >/目录/日志文件全名

四、 熟练使用VI工具

请查看这里:Linux中vim的使用

五、 了解cron job

5.1 什么是CRON作业

Cron是一个实用程序,用于在特定的时间自动执行重复任务,即设置定时任务。在Linux中,常用 cron 服务器来完成这项工作。

5.2 CRONFILE中各字段的含义

在这里插入图片描述
crontab文件有五个字段 – 每个字段用星号表示 – 以确定某个任务集重复执行的日期和时间。

  • Minute – 运行命令的分钟,范围从0到59
  • Hour – 命令将在什么时间运行,范围从0到23
  • Day of the month – 命令运行的月份的某一天,范围从1到31
  • Month – 指定命令运行的月份,范围从1到12
  • Day of the week – 希望命令运行的星期几,范围从0到7

除此之外,您还需要在每个crontab文件中使用正确的字符。

  • Asterisk (*) – 定义所有调度参数。
  • Comma (,) – 保持单个命令的两个或更多执行时间。
  • Hyphen (-) – 确定设置单个命令的多个执行时间的时间范围。
  • Slash (/) – 用于在特定范围内创建预定的时间间隔。
  • Last (L) – 用于确定给定月份中一周的最后一天的特定目的,例如,3L表示最后一个星期三。
  • Weekday (W) – 确定给定时间的最近工作日,例如,1W表示如果第1个是星期六,则命令将在星期一(第3个)运行。
  • Hash (#) – 用于确定星期几,后跟1到5之间的数字。例如,1#2表示第二个星期一
  • Question mark (?) – 留空。

5.3 定义CRON 作业

基本上,crontab文件由两部分组成:调度计时器和命令,这是命令的编写方式:

* * * * * /bin/sh backup.sh               #意味着它将每分钟运行一次备份。

30 18 * * * rm /home/sydtesting/tmp/*     #表示它每天下午6:30 从/home /sydtesting/tmp中删除tmp文件。

5.4 控制CRON权限

系统管理员可以使用/etc/cron.deny和/etc/cron.allow文件控制哪些用户可以访问crontab命令。这些文件包含一个用户名列表,每行一个用户名。
默认情况下,只有/etc/cron.deny 文件存在且为空,这意味着所有用户都可以使用crontab命令。如果要拒绝对特定用户访问crontab命令,将用户名添加到此文件中。

cron.allow\cron.deny /etc/cron.deny存在 /etc/cron.deny不存在
/etc/cron.allow存在 只有/etc/cron.allow中列出的用户才能运行crontab -e;忽略/etc/cron.deny中的内容 只有/etc/cron.allow中列出的用户才能运行crontab -e
/etc/cron.allow不存在 /etc/cron.deny中列出的所有用户都不能使用crontab -e 只有root用户能够运行crontab -e

优先级:/etc/cron.allow > /etc/cron.deny > root

5.5 查看CRON作业进行情况

crontab文件一般位于/etc/下,这里面存放系统运行的的调度程序。

[root@localhost cron]# more /etc/crontab
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
# run-parts
01 * * * * root run-parts /etc/cron.hourly
02 4 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly

5.6 管理已计划了的CRON作业

1.调整
vi /etc/crontab或crontab -e,修改cron作业,不限于添加,修改,删除,取消,取消的话,在任务前添加#注释
2.LOG管理
查看 /var/log/cron.log这个文件就可以

[root@localhost ~]# cd /var/log/
[root@localhost log]# less cron
Sep 22 04:22:01 localhost crond[32556]: (root) CMD (run-parts /etc/cron.weekly)
Sep 22 04:22:01 localhost anacron[32560]: Updated timestamp for job `cron.weekly' to 2013-09-22
Sep 22 05:01:01 localhost crond[22768]: (root) CMD (run-parts /etc/cron.hourly)
Sep 22 06:01:01 localhost crond[25522]: (root) CMD (run-parts /etc/cron.hourly)
Sep 22 07:01:01 localhost crond[28255]: (root) CMD (run-parts /etc/cron.hourly)
Sep 22 08:01:01 localhost crond[30982]: (root) CMD (run-parts /etc/cron.hourly)

5.7 相关指令

  • crontab -e
    编辑当前用户的crontab文件
  • crontab -u username -e
    编辑指定用户的crontab文件,使用前需要sudo su切换管理员
  • crontab -l
    查看当前用户的crontab文件列表
  • crontab -u username -l
    查看指定用户的crontab文件列表,使用前需要sudo su切换管理员
  • crontab -r
    删除当前的crontab文件
  • crontab -i
    删除当前的crontab文件之前询问

六、 了解Swap交换区

6.1 什么是Swap交换区

linux的SWAP分区就是LINUX下的虚拟内存分区,它的作用是在物理内存使用完之后,将磁盘空间(也就是SWAP分区)虚拟成内存来使用,它和Windows系统的交换文件作用类似,但是它是一段连续的磁盘空间,并且对用户不可见。
需要注意的是,虽然这个SWAP分区能够作为"虚拟"的内存,但它的速度比物理内存可是慢多了,因此如果需要更快的速度的话,并不能寄厚望于SWAP,最好的办法仍然是加大物理内存,SWAP分区只是临时的解决办法。

6.2 查看和临控交换区信息

以下用一个添加swap分区的例子来说明。[5]
1.查看当前swap
swapon -s
在这里插入图片描述
可以看到,当前已有一个swap分区,大小为2097148,即2G
2.创建一个空文件,用于设定swap分区
dd if=/dev/zeror of=/swapfile bs=1024 count=1048576 //文件大小1GB
3.将文件用作swap
mkswap /swapfile
4.开启swap文件
swapon /swapfile
5.再次查看当前swap
swapon -s
6.查看文件swapfile的UUID
blkid /swapfile
7.配置swap文件为永久生效
修改/etc/fstab,添加新行,注意修改为目前的UUID

UUID=261773a6-7217-4c5a-8245-d030eba56d13 swap          swap    defaults        0 0

8.关闭swap
swapoff /swapfile,关闭指定swap
swapoff -a,关闭所有swap
swapon -a,启动所有swap
可以通过先禁用,再启动的方式,来擦除swap中已有的数据

6.3 简单评估系统所需交换区的大小

物理内存的1.5或2倍。
目前Red Hat(红帽官方)推荐交换分区的大小应当与系统物理内存的大小保持线性比例关系。
在小于2GB物理内存的系统中,交换分区大小应该设置为内存大小的两倍;
如果内存大小多于2GB,交换分区大小应该是物理内存大小加上2GB;
原则上,由于交换分区读写速度比真正内存区慢的多,因此在实际应用中如果不是特别需要应该设置的越小越好。

6.4 swap其他知识

  1. vm.swappiness与swap
    vm.swappiness表示系统使用swap的可能性,取值为[0,100],值越大,可能性越高。值为0时,不是禁用swap,而是说尽可能的少swap out/in。从linux内核版本2.6.32-303.el6(对应到Centos release 6.4)开始,添加了一个patch,对swappiness为0的含义进行了更为严格的约束。在新的内核版本里,swappiness为0的话,swap交换的可能性更是大大降低了。这样的一个坏处就是增大了OOM的可能性,所以建议此时将swappiness稍设大一点。
#cat /proc/sys/vm/swappiness    //查看参数值,默认为60
#sysctl vm.swappiness=10	//设置参数为10.如要设置永久有效,需添加行vm.swappiness=10到/etc/sysctl.conf,否则系统重启后设置失效。

2.swap和tmpfs
tmpfs是一个基于内存的虚拟文件系统,本质上和ext4是一类概念,只不过tmpfs基于内存,ext4基于磁盘。tmpfs其实基于虚拟内存(物理内存+swap),如此来说,swap和tmpfs还真有点关系了,即tmpfs这个文件系统,可将其管理的文件存储在swap中。
tmpfs的主要用途是提供比磁盘快的文件访问速度。例如:有些应用将频繁访问的小文件,放在tmpfs挂载的目录下,文件访问其实是直接的内存访问,速度提升非常明显。默认情况下,tmpfs只使用物理内存,并且容量为物理内存的一半。

七、 了解系统启动过程

7.1 LUNIX系统启动的整个过程

系统启动分为以下几个过程:[6]
1.加电自检
power on system test,自检主要是检测一下硬件设备是否存在并能正常工作,简单来说加电过程就是给CMOS通电,然后启动其上的BIOS程序,BIOS程序会根据CMOS上面的一些配置信息去读取其他的硬件设备信息并检测是否存在并能正常运行,之后进行硬件设备的初始化。
2.选择启动程序,加载MBR
在硬件设备初始化后,BIOS会列出一些可以启动的装置顺序,启动管理程序来处理核心文件的加载问题,启动管理程序就是Boot Loader,它是一个程序,所以也依赖于一个硬件之上,所以这个硬件就为硬盘,准确的说为第一个可以启动的硬盘的第一个扇区内,就是我们之前谈到的MBR(Master Boot Record,主引导纪录)当中。Boot Loader有两个主要功能,第一是去识别、加载操作系统的核心文件,并提交到内存中运行,进而来启动对应的操作系统,另一个主要的功能就是提供菜单信息,并将启动管理功能转交给其它的加载程序。(Windows操作系统不具备将启动管理功能转交给其他的加载程序的功能,所以要同时装linux系统和windos操作系统时一定要先装windows操作系统,最后安装Linux系统,通过Linux系统提供的Boot Loader菜单列表可以选择启动Windows操作系统的Boot Loader信息,也就是将启动管理功能的控制权转交给Windows系统分区的第一个扇区当中的Loader程序,然后完成 Windows的启动。)
3.加载系统内核Kernel,执行系统初始化信息
在Boot Loader开始读取操作系统内核文件后,内核文件解压缩后装在到内存当中,然后根据内核提供的功能开始测试与加载各个设备,内核文件通常放在/boot目录当中,并且是一个以VMlinuz开头的文件,所以这里我们遇到了一个问题,鸡与蛋的问题(内核程序没有加载到磁盘,就没有办法读取系统上的内核文件,如果先去加载磁盘,就必须有磁盘的驱动程序),所以为了解决这个维妮塔,我们采用一种叫做虚拟文件系统来解决这个问题,虚拟文件系统也放在/boot目录下,是一个以initrd开头的文件,这个文件可以通过Boot Loader程序将其加载到内存当中,这个文件会被解压缩并且在内存中模拟一个根文件系统,Boot Loader可以加载kernel与initrd,然后再内存中让initrd解压缩解压缩成根目录,然后内核可以再这个虚拟的根文件系统之上加载合适的驱动程序,来加载硬盘等设备,之后释放虚拟的根文件系统,并且以制度方式挂载磁盘上真实的根文件系统,之后开始正常的启动过程。
4.启动用户空间第一个执行程序init
init的配置文件中centos6中采用Upstart的方式,其特点时守护进程间的通信依赖于D-Bus进行,在该文件中有一个非常重要的配置项目,就是默认的系统启动级别。
5.用户登陆系统
用户输入登录密码,登录系统

7.2 系统的各种运行级别及作用功能

系统的七个运行级别

运行级别 含义
0 关机
1 单用户模式,可以想象为Windows的安全模式,主要用于系统修复
2 多用户模式,不完全的命令行模式,不含NFS服务
3 完全多用户模式,完全的命令函模式,就是标准字符界面
4 系统保留,系统未使用,保留一般不用
5 图形模式
6 重启

7.3 设定在各个运行级别中运行的程序与脚本

Linux下(以RedHat为范本)添加开机开机自动启动脚本有两种方式:[7]
1.方法一

  • 使用 /etc/rc.d/rc.local,查看自动启动脚本
    vi /etc/rc.d/rc.local
  • 授予 /etc/rc.d/rc.local 文件执行权限
    chmod +x /etc/rc.d/rc.local
  • 在文件文件底部添加脚本
  • 重启服务器,查看脚本是否启动

注意:/etc/rc.d/rc.local脚本执行,在/etc/profile之前,若/etc/rc.d/rc.local用到/etc/profile的环境变量,Shell无法执行成功
2.方法二

  • 编辑服务脚本 xxxx(脚本名)
    增加内容(要在服务脚本中实现POSIX规范中的函数:start() stop()等),命令:vim /etc/init.d/xxxx
  • 给脚本增加可执行权限
    命令:chmod a+x /etc/init.d/xxxx
  • 注册xxxx服务名
    命令:chkconfig --add xxxx
    配置系统启动时该脚本默认启动,命令:chkconfig xxxx on   
    配置系统启动时该脚本默认关闭,命令:chkconfig xxxx off
  • 列出当前的服务和他们的配置
    命令:chkconfig --list
  • 重启服务器,查看脚本是否启动
    在这里插入图片描述

7.4 改变当前系统的运行级别

  • runlevel
    查看当前系统的运行级别
  • init runlevel
    改变当前系统的运行级别,切换模式
    在这里插入图片描述

7.5 /etc/inittab文件的作用

进入/etc/inittab,可以查看系统的默认运行级别,即开机默认启动模式
设置默认启动,以下例子设置默认启动模式为图形化模式
id:5:initdefault:
在这里插入图片描述

八、 学习Linux基础网络管理常用指令

  • ifconfig
    查看配置网络
    ifdown 网卡设备名
    关闭网卡
    ifup 网卡设备名
    启用网卡
    在这里插入图片描述
  • netstat
    -t 列出TCP协议端口
    -u 列出UDP协议端口
    -n 不适用域名与服务名,而是用ip地址和端口号
    -l 仅列出在监听端口
    -a 所有的连接
    -r 路由表
    常用的组合:
    -an 所有的连接和端口
    -tuln 查看正在监听TCP(t)和UDP(u)的端口
    -rn 查看网关 route -n
    在这里插入图片描述
  • nslookup
    查看域名对应的ip和DNS
    在这里插入图片描述
  • ping ip
    判断域名或ip的网络状况,ctrl+c结束
    在这里插入图片描述
  • traceroute
    traceroute ip(域名)
    路由跟踪命令
    -n 使用ip,速度更快
    -q 每次发送的数据包数量,默认是3
    -m 设置跳数,默认是30
    win中使用tracert命令达到相同的效果
    在这里插入图片描述
  • tcpdump
    抓包工具
    -i 指定网卡
    -nn 键给数据包中的域名与服务转为ip和端口
    -X 以十六进制和ASCII吗显示数据包内容
    port 指定监听的端口
    在这里插入图片描述

参考

以上为个人整理总结的知识,如有遗漏或错误欢迎留言指出、点评,如要引用,请联系通知,未经允许谢绝转载。
[1]: https://baike.baidu.com/item/linux/27050?fr=aladdin
[2]: https://www.cnblogs.com/nufangrensheng/p/3478393.html
[3]:https://www.cnblogs.com/hanmk/p/10554359.html
[4]:https://www.cnblogs.com/52py/p/10950300.html
[5]:https://blog.csdn.net/c77_cn/article/details/45745635
[6]:https://blog.51cto.com/13866901/2164166
[7]:https://www.cnblogs.com/h–d/p/9998788.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章