Linux基础篇
Linux目录结构
具体的目录结构(不用背,知道即可)
- /bin [常用](/usr/bin、/usr/local/bin)是Binary的缩写,这个目录存放着最经常使用的命令
- /sbin (/usr/sbin、/usr/local/sbin) s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序。
- /home [常用]存放普通用户的主目录,在Linux中每个用户都有一个自己的目录,一般该目录名是以用户的账号命名
- /root [常用]该目录为系统管理员,也称作超级权限者的用户主目录
- /lib 系统开机所需要最基本的动态连接共享库,其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库
- /lost+found 这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件
- /etc [常用]所有的系统管理所需要的配置文件和子目录,比如安装mysql数据库 my.conf
- /usr [常用]这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似与windows下的program files目录。
- /boot [常用] 存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件
- /proc[不能动] 这个目录是一个虚拟的目录,它是系统内存的映射,访问这个目录来获取系统信息
- /srv[不能动] service缩写,该目录存放一些服务启动之后需要提取的数据
- /sys[不能动] 这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统sysfs
- /tmp 这个目录是用来存放一些临时文件的
- /dev 类似于windows的设备管理器,把所有的硬件用文件的形式存储
- /media[常用]linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目录下
- /mnt [常用]系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将外部的存储挂载在/mnt/上,然后进入该目录就可以查看里的内容了。
- /opt 这是给主机额外安装软件所存放的目录。如安装ORACLE数据库就可放到该目录下。默认为空
- /usr/local [常用]这是另一个给主机额外安装软件所安装的目录。一般是通过编译源码方式安装的程序
- /var[常用]这个目录中存放着在不断扩充着的东西,习惯将经常被修改的目录放在这个目录下。包括各种日志文件
- /selinux[security-enhanced linux]SELinux是一种安全子系统,它能控制程序只能访问特定文件,有三种工作模式,可以自行设置。
Linux远程链接
- XShell:命令行运行
- Xftp:文件传输
- 如何处理中文乱码
vi和vim各种模式的互相切换
快捷键使用练习
1.拷贝当前行 yy,拷贝当前行向下的5行 5yy,并粘贴。[一般模式下]
2.删除当前行 dd,删除当前行向下的5行5dd[一般模式下]
3.在文件中查找某个单词[命令行下][/关键字 ,回车查找,输入n 就是查找下一个]
4.设置文件的行号,取消文件的行号。[命令行下][显示一般模式:set nu和不显示一般模式:set nonu]
5.编辑/etc/profile文件,使用快捷键到该文档的最末行[G]和最首行[gg]
6.在一个文件中输入"hello",然后又撤销这个动作[一般模式下] [u]
7.编辑 /etc/profile 文件,并将光标移动到 20行 shift+g [一般模式下]
关机&重启命令
- 注:
- 不论是重启还是关闭系统,首先运行
sync
命令,把内存中的数据写到磁盘中; - 目前的
shutdown
/reboot
/halt
等命令均已经再关机前进行了sync
,但小心一点总是好的。
- 不论是重启还是关闭系统,首先运行
shutdown -h now # 立刻进行关机
shutdown -1 now # 1mins后进行关机
shutdown -r now # 现在重启计算机
shutdown # 1mins后进行关机
halt # 关机,作用和上面一样
reboot # 现在重启计算机
sync # 将内存拿数据同步到磁盘
用户管理
添加用户
- 用户创建成功后,会自动的创建和用户同名的家目录
- 也可以通过
useradd -d
制定目录 新的用户名,给新创建的用户指定家目录
useradd [-d [指定位置]] 新创建用户名
passwd 用户密码
删除用户
删除用户时,一般会保留家目录。
- 删除用户,保留家目录
userdel 用户名
- 删除用户以及用户主目录
userdel -r 用户名
查询用户信息
id 用户名
切换用户
su - 切换用户名
用户组
介绍:类似狱中角色,系统可以对有共性的多个角色进行统一管理
增加组
groupadd 组名
删除组
groupdel 组名
增加用户时直接加上组
- 这个用户组需要存在,才能加入
useradd -g 用户组 用户名
修改用户的组
usermod -g 用户组 用户名
用户和组的相关文件
-
【掌握】用户信息配置文件(用户信息):
/etc/passwd
- 每行的含义:登录名:口令:用户标识号:组标识号:注释性描述:主目录(家目录):登录shell
- 每行的含义:登录名:口令:用户标识号:组标识号:注释性描述:主目录(家目录):登录shell
-
【掌握】组配置文件(组信息):
/etc/group
- 每行的含义:组名:口令:组标识号:组内用户列表
-
口令配置文件(密码和登录信息,是加密):
/etc/shadow
- 每行的含义:登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志
实用指令
指定运行级别
init 级别
0:关机
1:单用户【找回丢失密码】
2:多用户状态没有网络服务
3:多用户状态有网络服务
4:系统未使用保留给用户
5:图形界面
6:系统重启
常用运行级别是3和5,要修改默认的运行级别可改文件
/etc/inittab的id:5:initdefault:这一行中的数字
面试题
- 如何找回root密码
- 思路:进入到单用户模式,然后修改root密码。进入单用户模式,root不需要密码就可以登陆。
帮助指令
- 获得帮助信息
man [命令or配置文件]
文件目录类
-
pwd
- 显示当前目录的绝对路径
-
ls
-
查看当前目录文件信息
-
ls [选项] [目录或是文件]
-
-
cd
-
切换到指定目录
-
cd ~ 和 cd 相同,都是切换到家目录
-
-
mkdir
-
用于创建目录
-
mkdir [选项] 要创建的目录
-
常用选项:-p 创建多级目录
-
-
rmdir
-
删除空目录
-
rmdir [选项] 要删除的空目录
-
目录是非空的无法删除
-
删除非空目录,需要使用
rm -rf 要删除的目录
删除非空目录
-
-
touch
-
创建空文件,可以一次性创建多个文件
-
touch 文件名称1 [文件名称2] [文件名称3] ...
-
-
cp
-
拷贝文件到指定目录
-
cp [选项] 源文件目录 目标文件目录 # 若目标目录下存在的相同文件,则会提示是否确认覆盖,需要三次确认
-
常用选项:-r 递归复制整个文件夹
-
cp [选项] 源文件目录 目标文件目录 # 若目标文件目录不存在,会自动创建
-
\cp [选项] 源文件目录 目标文件目录 # 强制覆盖目标目录下的已存在的相同文件
-
-
rm
- 移除文件或目录
- 常用选项
- -r :递归删除整个文件夹
- -f:强制删除不提示
- 使用细节
- 强制删除不提示的方法:带上-f参数即可
-
mv
-
移动文件与目录或重命名
-
mv 旧文件名 新文件名 # 重命名
-
mv 文件名 文件路径 # 移动文件
-
-
cat
-
查看文件内容,只能浏览不能修改,只读
-
cat [选项] 要查看的文件路径
-
常用选项
-n
:显示行号 -
小技巧:与more结合使用,分页显示
cat [选项] 要查看的文件[路径] | more
-
-
more
-
一个基于VI编辑器的文本过滤器,他以全屏幕的方式按页显示文本文件的内容。
-
more指令内置了若干快捷键。
-
more 要查看的文件
-
操作 功能说明 空格 代表向下翻【一页】 Enter 代表向下翻【一行】 q 代表立刻离开 more,不再显示该文件内容。 Ctrl+F 向下滚动一屏 Ctrl+B 返回上一屏 = 输出当前行的行号 :f 输出文件名和当前行的行号
-
-
less
-
用来分屏查看文件内容,它的功能与more指令类似,但是比more指令更加强大,支持各种显示终端。less指令在显示文件内容时,并不是一次将整个文件加载之后才显示,而是根据显示需要加载内容,对于显示大型文件具有较高的效率。
-
less 要查看的文件[路径]
-
操作 功能说明 空格 向下翻动一页 [pagedown] 向下翻动一页 [pageup] 向上翻动一页 /字串 向下搜寻【字串】的功能;n:向下查找,N:向上查找 ?字串 向上搜寻【字串】的功能;n:向上查找,N:向下查找 q 离开less这个程序
-
-
>
- 输出重定向:会将文件原内容覆盖
-
>>
-
追加:不会覆盖文件原内容
-
ls -l > 文件 # 功能描述:列表的内容覆盖写入文件中(文件不存在则创建文件)
-
ls -al >> 文件 # 功能描述:列表的内容追加到文件中(文件不存在则创建文件)
-
cat 文件1 > 文件2 # 功能描述:将文件1的内容覆盖到文件2
-
echo "内容" > 文件 # 将内容直接写入文件
-
-
echo
-
输出内容到控制台
-
echo [选项] [输出内容]
-
echo $PATH # 输出当前环境变量路径
-
-
-
head
-
用于显示文件的开头部分内容,默认显示前10行内容
-
head 文件 # 显示文件前10行内容
-
head -5[-n 5] 文件 # 显示文件前5行内容
-
-
tail
-
用于显示文件的尾部内容,默认显示后10行内容
-
tail 文件 # 显示文件后10行内容
-
tail -5[-n 5] 文件 # 显示文件后5行内容
-
tail -f 文件 # 实时追踪该文档的所用更新
-
-
ln(这个是LN,不是IN)
-
软连接也叫符号链接,类似于Windows里的快捷方式,主要存放了链接其他文件的路径
-
ln -s [源文件或目录] [软连接名] # 给源文件创建一个软连接,类似于创建一个快捷方式
-
rm -rf [软连接名] # 删除软连接
-
删除软连接的时候软连接名称不要带
/
,举例:-
rm -rf SOFTLINK/ # 错误 rm -rf SOFTLINK # 正确
-
-
-
history
-
查看已经执行过的历史命令,也可以执行历史指令
-
history 数字 # 显示[数字]个指令
-
history !数字 # 显示历史编号为[数字]的指令
-
时间日期类
-
date
-
显示当前时间
-
date +[时间格式字符串] # 显示当前时间,格式为时间格式字符串
-
例子:date "+%Y-%m-%d %H:%M%S"
-
设置日期
-
date -s "2022-11-01 12:45:45" # 将系统时间设置为2022-11-01 12:45:45
-
-
-
cal
-
查看日历
-
cal [选项] # 选项为年份,即显示某一年的整年日历
-
搜索查找类
-
find
-
find [搜索范围] [选项]
-
常用指令
选项 功能 -name<查询方式> 按照指定的文件名查找模式查找文件 -user<用户名> 查找属于指定用户名所有文件 -size<文件大小> 按照指定的文件大小查找文件 -
查找文件大小大于20兆的文件
-
find / -size +20M # +n 文件大小大于n;-n 文件大小小于n;n 文件大小等于n
-
-
查找
/
目录下,所有带有.txt
的文件-
find / -name *.txt # 支持通配符
-
-
-
locate
-
可以快速定位文件路径。locate指令利用事先建立的系统中所有文件名称及路径的locate数据库实现快速定位给定的文件。Locate指令无需遍历整个文件系统,查询速度较快。为了保证查询结果的准确度,管理员必须定期更新locate时刻。
-
特别说明:
- 由于locate指令基于数据库进行查询,所以第一次运行前,必须使用updatedb指令创建locate。
-
updatedb locate hello.txt
-
-
grep 和 管道符号
|
-
过滤查找,管道符,将前一个命令的处理结果输出传递给后面的命令处理。
-
grep [选项] 查找内容 源文件
-
常用选项
-
选项 功能 -n 显示行号 -i 忽略字母大小写
-
-
压缩和解压类
-
gzip/gunzip
-
gzip:压缩文件
-
文件压缩后,不会保留原文件
-
gzip 文件名 # 会自动将文件后缀添加为.gz
-
-
gunzip:解压文件
-
gunzip 文件.gz
-
-
-
zip/unzip
-
zip:压缩文件
-
zip [选项] xxx.zip 将要压缩的内容(路径)
-
常用选项:-r 递归压缩,即压缩目录
-
-
unzip:解压文件
-
unzip [选项] xxx.zip
-
常用选项:
-d 目录
:制定解压后文件的存放目录
-
-
-
tar
-
打包指令:打包目录,压缩后的文件格式:
.tar.gz
-
tar [选项] XXX.tar.gz 打包的内容
-
选项说明
-
选项 功能 -c 产生.tar打包文件 -v 显示详细信息 -f 指定压缩后的文件名 -z 打包同时压缩 -x 解包.tar文件
-
-
将多个文件打包压缩
tar -zcvf test.tar.gz test1.txt test2.txt ...
-
将某个目录下的文件压缩
tar -zcvf test.tar.gz /home/
-
将 test.tar.gz 解压到当前目录
tar -zcvf test.tar.gz
-
将 test.tar.gz 解压到
/home/temp
目录下,若目录不存在,不会自动创建,会报错tar -zcvf test.tar.gz -c /home/temp
-
组管理和权限管理
Linux组的基本介绍
在linux中的每个用户必须属于一个组,不能独立于组外。在linux中每个文件有所有者、所在组、其它组的概念。
- 所有者
- 所在组
- 其它组
- 改变用户所在的组
文件/目录 所有者
查看文件所有者
-
ls -ahl
-
文件所有者,并不一定在文件所在组
修改文件所有者
-
chown 用户名 文件名
组的创建
-
groupadd 组名
文件/目录所在组
修改文件所在的组
-
chgrp 组名 文件名
其他组
- 除文件的所有者和所在组的用户外,系统的其他用户都是文件的其他组
改变用户所在组
-
在添加用户时,可以指定将该用户添加到哪个组中,同样的用root的管理权限可以改变某个用户所在的组。
-
usermod -g 组名 用户名 usermod -d 目录名 用户名 改变该用户登陆的初始目录
权限的基本介绍
rwx权限讲解【重点】
ls -l
中显示的内容如下
-rwxrw-r-- 1 root root 1212 Feb 2 09:39 abc
- 0-9位说明:
- 可用数据表示为:
- r=4
- w=2
- x=1
- 因此,rwx = 4+2+1 = 7
- 第0位确定文件类型:
- d(目录)
- -(文件)
- l(链接,即软连接)
- c(
- b
- 第1-3位确定所有者(该文件的所有者)拥有该文件的权限。–User
- 第4-6位确定所属组(同用户组的)拥有该文件的权限。—Group
- 第7-9位确定其他用户拥有该文件的权限。–Other
- 可用数据表示为:
- 1
- 文件:硬连接
- 目录:子目录数量
- 第一个root:用户
- 第二个root:组
- 1212:文件大小(字节),如果时文件夹,显示4096字节
- Feb 2 09:39 :文件最后一次修改时间
- abc:文件名or目录名
rwx作用到文件
-
[r]代表可读(read):可以读取,查看。
-
[w]代表可写(write):可以修改,但是不代表可以删除该文件,删除一个文件的前提条件是对该文件所在的目录有写权限,才能删除该文件。
-
[x]代表可执行(execute):可以被执行。
rwx作用到目录
- [r]代表可读(read):可以读取,Is查看目录内容
- [w]代表可写(write):可以修改,目录内创建+删除+重命名目录
- [x]代表可执行(execute):可以进入该目录
权限管理
-
修改文件or目录权限
chmod
第一种方式:+、-、=变更权限
-
字母含义:
- u:所有者
- g:所有组
- o:其他人
- a:所有人(u、g、o的总和)
-
chmod u=rwx,g=rx,o=x # 文件目录名 chmod o+w # 文件目录名 chmod a-x # 文件目录名
第二种方式:通过数字变更权限
-
r=4,w=2,x=1
-
rwx=4+2+1=7
-
相当于
chmod 751
-
修改文件所有者
chown newowner file # 改变文件的所有者
chown newowner:newgroup file # 改变用户的所有者和所有组
-
案例演示:请将
/home/kkk
目录下所有的文件和目录的所有者都改成tom-
提示:应该使用root用户操作
-
chown -R tom kkk/
-
修改文件所在组
chgrp newgroup file # 改变文件的所有组
最佳时间-警察土匪游戏
-
police组
- jack,jerry
-
bandit组
- xh,xq
-
创建组:
-
groupadd police
-
groupadd bandit
-
-
创建用户
-
useradd -g police jack useradd -g police jerry useradd -g bandit xh useradd -g bandit xq
-
-
指定密码
-
passwd jack # 123 passwd jerry # 123 passwd xh # 123 passwd xq # 123
-
-
jack创建一个文件,自己可以读写,本组人可以读,其他组没任何权限
-
chmod 640 jack01.txt
-
-
jack修改该文件,让其他组人可以读,本组人可以读写
-
chmod o=r,g=rw jack01.txt
-
-
xh投靠警察,看看是否可以读写
-
usermod -g police # root用户修改
-
id xh # xh没有权限
-
chmod g=rx /jack # 修改jack目录同组权限
-
xh在修改权限过后需要重新登陆才可以
-
课后练习一
- 建立两个组(神仙,妖怪)
- 建立四个用户(唐僧,悟空,八戒,沙僧)
- 设置密码
- 把悟空,八戒放入妖怪;唐僧,沙僧在神仙
- 用悟空建立一个文件(monkey.java该文件要输出i am monkey)
- 给八戒一个可以rw的权限
- 八戒修改monkey.java加入一句话(i am pig)
- 唐僧沙僧对该文件没有权限
- 把沙僧放入妖怪组
- 让沙僧 修改 该文件 monkey,加入一句话(“我是沙僧,我是妖怪”)
课后练习二
- 用root登录,建立用户mycentos,自己设定密码
- 用mycentos登录,在主自录下建立目录test/t11/t1
- 在t1中建立一个文本文件aa,用vi编辑其内容为ls -al
- 改变aa的权限为可执行文件[可以将当前日期追加到一个文件],运行该文件./aa
- 删除新建立的目录test/t11/t1
- 删除用户mycentos及其主自录中的内容
- 将linux设置成进入到图形界面的
- 重新启动linux或关机
Linux磁盘分区、挂载
分区基础知识
- gtp分区比mbr优越:
- 分区更多
- 容量更大
Linux分区
原理
- Linux来说无论有几个分区,分给哪一目录使用,它归根结底就只有一个根目录,一个独立且唯一的文件结构,Linux中每个分区都是用来组成整个文件系统的一部分。
- Linux采用了一种叫“载入”的处理方法,它的整个文件系统中包含了一整套的文件和目录,且将一个分区和一个目录联系起来。这时要载入的一个分区将使它的存储空间在一个目录下获得。
- 挂载:磁盘分区加载到Linux文件系统下的方式
- 卸载:Linux文件系统下的磁盘分区移除
- 示意图:
硬盘说明
-
Linux 硬盘分 IDE硬盘和SCSI硬盘,目前基本上是SCSI硬盘
-
对于IDE硬盘,驱动器标识符为“hdx-”,其中“hd”表明分区所在设备的类型,这里是指IDE硬盘了。“x"为盘号(a为基本盘,b为基本从属盘,c为辅助主盘,d为辅助从属盘),“~”代表分区,前四个分区用数字1到4表示,它们是主分区或扩展分区,从5开始就是逻辑分区。例,hda3表示为第一个IDE硬盘上的第三个主分区或扩展分区,hdb2表示为第二个IDE硬盘上的第二个主分区或扩展分区。
-
对于SCSI硬盘则标识为“sdx-”,SCSI硬盘是用“sd”来表示分区所在设备的类型的,其余则和IDE硬盘的表示方法一样。
-
使用
lsblk
指令查看当前系统的分区情况:
查看所有设备挂载情况
lsblk
lsblk -f
挂载的经典案例
-
需求:给我们的Linux系统增加一个新的硬盘,并挂载到
/home/newdisk
-
步骤一:
-
步骤二:
-
查看分区:lsblk
-
分区命令
fdisk /dev/sdb
-
开始对
/sdb
分区m
显示命令列表p
显示磁盘分区同fdisk -|
n
新增分区d
删除分区w
写入并退出
-
说明:开始分区后输入
n
,新增分区,然后选择p
,分区类型为主分区
。两次回车默认剩余全部空间。最后输入w
写入分区并退出,若不保存退出输入q
。
-
-
格式化磁盘:
-
分区命令:mkfs -t ext4 /dev/sdb1
-
其中
ext4
是分区类型
-
-
挂载:
-
mount 设备名称 挂载目录
-
例如:
mount /dev/sdb1 /newdisk
-
卸载
umount 设备名称or挂载目录
- 例如:
umount /dev/sdb1 umount /newdisk
-
-
永久挂载
-
通过修改文件
etc/fstab
实现-
vim etc/fstab
-
/dev/sdb1 /home/newdisk ext4 defaults 0 0
-
-
磁盘情况查询
-
查询系统整体磁盘使用情况
-
df -h
-
-
查询指定目录的磁盘占用情况
-
du -h /目录 # 默认为当前目录
-
选项 含义 -s 指定目录占用大小汇总 -h 带计量单位 -a 含文件 –max-depth=1 子目录深度 -c 列出明细的同时,增加汇总值 -
应用实例
-
统计/home文件夹下文件的个数
-
ls -l /home | grep "^-" | wc -l # wc 统计个数
-
-
统计/home文件夹下目录的个数
-
ls -l /home | grep "^d" | wc -l
-
-
统计/home文件夹下文件的个数,包括子文件夹里的
-
ls -lR /home | grep "^-" | wc -l # -R 递归统计
-
-
统计/home文件夹下目录的个数,包括子文件夹里的
-
ls -lR /home | grep "^d" | wc -l
-
-
以树状显示目录结构
-
tree
-
没有
tree
,使用yum
安装yum tree
-
-
-
网络配置原理
原理图(含虚拟机)
- 目前我们的网络连接是NAT模式,网络环境:
查看网络IP和网关
查看虚拟网络编辑器
修改IP地址
查看网关
查看Windows环境中的VMnet8网络配置(ipconfig指令)
- 使用
ipconfig
查看 - 从网络适配器中查看
Linux网络环境配置
指定固定的IP地址
- 直接修改配置文件来指定IP,并可以链接到外网,编辑
vim /etc/sysconfig/network-scripts/ifcfg-ens33
- 要求:将IP地址配置为静态的
- 修改后要重启服务
service network restart
(重启机器reboot
也可以)
进程管理
进程的基本介绍
- 每个执行的程序(代码)都成为一个进程,每个进程都分配一个ID号。
显示系统执行的进程
-
查看进程使用的指令:
ps
,一般来说使用的参数是ps -aux
-
ps指令详解
字段 说明 PID 进程识别号 TTY 终端机号 TIME 此进程所消耗CPU时间 %CPU 正在执行的命或进程名 %MEM 占用内存情况 VSZ 使用的虚拟内存大小(单位:KB) RSS 使用的物理内存大小(单位:KB) STAT 进程的状态:S->休眠;R->运行;Z->僵死进程 COMMAND 进程执行时的命令行,过长会被截断 USER 用户名 STARTED 进程的启动时间 [PPID] 父进程识别号
-
-
ps -a
:显示当前终端的所有进程信息 -
ps -u
:以用户的格式显示进程信息 -
ps -x
:显示后台进程运行的参数 -
ps -ef | more # 查看父进程,以全格式显示当前所有的进程
- -e:显示所有进程
- -f:全格式
终止进程kill和killall
-
kill [选项] 进程号 # 通过进程号杀死进程
-
killall 进程名称 # 通过进程名杀死进程,也支持通配符,这在系统因负载过大而变得很慢时很有用
-
应用实例
-
终止非法用户
-
ps -aux | grep sshd # sshd 查看远程登陆的用户 kill 进程号
-
-
终止远程登陆服务sshd,在适当时候再次启动sshd
-
ps -aux | grep sshd # sshd 查看远程登陆的用户 kill [sshd进程的进程号]
-
service start sshd # 重启sshd
-
-
终止多个gedit编辑器
-
killall gedit # gedit是进程名
-
-
强制终止进程
-
终端对应的文件名是
/bin/bash
-
kill -9 [进程号]
-
-
查看进程数pstree
pstree -p # 树状形式显示进程PID
pstree -u # 树状形式显示进程的所属用户ID
服务管理
-
服务(service)本质就是进程,但是是运行在后台的,通常都会监听某个端口,等待其它程序的请求,比如(mysql,sshd 防火墙等),因此我们又称为守护进程,是Linux中非常重要的知识点。【原理图】
-
systemctl [start|stop|restart|reload|status] 服务名
-
使用案例:
-
关闭防火墙:
systemctl [start|stop|restart|reload|status] firewalld
-
-
注:这种方式是临时生效,重启后,回到原来的设置;
-
如果希望永久关闭,or自启动,需要使用
chkconfig
指令
查看服务名
- 查看
/etc/init.d
文件
运行级别
- 详见实用指令-指定运行级别
开机的流程说明
chkconfig指令
-
介绍:通过 chkconfig 命令可以给每个服务的各个运行级别设置自启动/关闭
-
基本语法:
-
查看服务:
-
chkconfig --list | grep xxx
-
-
chkconfig 服务名 --list
-
chkconfig --level 5 服务名 on/off # 请将sshd服务在运行级别为5的情况下,不要自启动
-
动态监控进程
-
top
与ps
命令很相似。它们都用来显示正在执行的进程。Top 与 ps 最大的不同之处,在于 top 在执行一段时间可以更新正在运行的的进程。 -
top [选项]
-
选项说明 :
-
选项 功能 -d 秒数 指定top命令每隔几秒更新,默认是3秒在top命令的交互模式当中可以执行的命令。 -i 使top不显示任何闲置或者僵死进程 -p 通过指定监控进程ID来仅仅监控某个进程的状态
-
-
交互操作:
-
操作 功能 P 以CPU使用率排序,默认就是此项 M 以内存的促用率排序 N 以PID排序 U 监控某个指定用户 q 退出top
-
查看系统网络情况
-
netstat [选项]
- 选项说明:
- -an:按一定顺序排列输出
- -p 显示哪个进程在调用
- 选项说明:
-
netstat -anp # 查看所有网络服务
-
netstat -anp | grep sshd # 查看名为sshd的网络服务
RPM(RedHat Package Manager)包管理
简单查询指令
-
rpm -qa | grep xx # 查询已安装xx软件的rpm列表
- noarch:表示软件是x86等版本通用的
其他查询指令
-qa
:查询所安装的所有rpm软件包-q 软件包名
:查询软件包是否安装-qi 软件包名
:查询软件包信息-ql 软件包名
:查询软件包中的文件-qf 文件全路径名
:查询文件所属的软件包
卸载rpm包
-
rpm -e xxx # 卸载名为xxx的软件包
-
rmp -e --nodeps xxx # 强制删除名为xxx的软件包
安装apm包
-
rmp -ivh [RPM包全路径名称]
- i:install 安装
- v:verbose 提示
- h:hash 进度条
YUM
基本介绍
Yum 是一个Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包。
使用yum的前提是可以联网。
默认是安装最新的版本。
基本指令
-
yum list | grep xxx # 查询yum服务器是否有需要安装的xx软件
-
yum install xxx # 安装指定xxx软件的yum包