Linux基础知识学习笔记

本文档记录了作者学习Linux的过程,包括在macOS下使用Docker搭建轻量化Linux环境,解决联网问题,理解Linux目录结构,远程操作Linux,掌握Linux命令如vi/vim编辑器、用户和权限管理,以及任务调度、磁盘管理等。此外,还介绍了如何通过SSH进行远程登录和SFTP传输文件。

Linux学习笔记


前言

第一次学习Linux,跟随B站韩顺平的Linux教程,这个文档作为记录

一、macOS下的Linux环境搭建

1.在docker中初始化CentOS

手头的MacBook内存不够,Linux也只是初步接触和学习,所以决定通过Docker搭建一个轻量化的Linux环境。

过程参考
Docker 安装 CentOS

以终端方式打开CentOS

docker run -i -t centos:6.8 /bin/bash

其中
-t: 在新容器内指定一个伪终端或终端。
-i: 允许你对容器内的标准输入 (STDIN) 进行交互。
/bin/bash:放在镜像名后的是命令,这里我们希望有个交互式 Shell,因此用的是 /bin/bash。

运行后我们可以使用
cat /proc/version命令来查看Linux版本信息123

2.docker中CentOS的联网问题

docker中的CentOS非常精简,需要下载网络方面的配置net-tools才能联网,但是centos6的默认源在2012年-12月左右被官方搞掉了,所以需要替换为阿里云Vault镜像

sed -i "s|enabled=1|enabled=0|g" /etc/yum/pluginconf.d/fastestmirror.conf
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
curl -o /etc/yum.repos.d/CentOS-Base.repo https://www.xmpan.com/Centos-6-Vault-Aliyun.repo 

接下来安装net-tools

yum -y install net-tools

然后安装iputils

yum install -y iputils

现在就可以愉快的开ping了

ping -c 10 www.qq.com

这里-c 10代表执行10次,不然要按ctrl+z停下来,结果如下

在这里插入图片描述

二、Linux的目录结构

Linux的目录是一个树状结构,在Linux中,一切皆文件
在这里插入图片描述

1.各个文件的含义

  • /bin:

bin 是 Binaries (二进制文件) 的缩写, 这个目录存放着最经常使用的命令。

  • /boot:

这里存放的是启动 Linux 时使用的一些核心文件,包括一些连接文件以及镜像文件。

  • /dev :

dev 是 Device(设备) 的缩写, 该目录下存放的是 Linux 的外部设备,在 Linux 中访问设备的方式和访问文件的方式是相同的。

  • /etc:

etc 是 Etcetera(等等) 的缩写,这个目录用来存放所有的系统管理所需要的配置文件和子目录。

  • /home:

用户的主目录,在 Linux 中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的,如上图中的 alice、bob 和 eve。

  • /lib:

lib 是 Library(库) 的缩写这个目录里存放着系统最基本的动态连接共享库,其作用类似于 Windows 里的 DLL 文件。几乎所有的应用程序都需要用到这些共享库。

  • /lost+found:

这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。

  • /media:

linux 系统会自动识别一些设备,例如U盘、光驱等等,当识别后,Linux 会把识别的设备挂载到这个目录下。

  • /mnt:

系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在 /mnt/ 上,然后进入该目录就可以查看光驱里的内容了。共享文件夹

  • /opt:

opt 是 optional(可选) 的缩写,这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。

  • /proc:

proc 是 Processes(进程) 的缩写,/proc 是一种伪文件系统(也即虚拟文件系统),存储的是当前内核运行状态的一系列特殊文件,这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。
这个目录的内容不在硬盘上而是在内存里,我们也可以直接修改里面的某些文件,比如可以通过下面的命令来屏蔽主机的ping命令,使别人无法ping你的机器:
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all

  • /root:

该目录为系统管理员,也称作超级权限者的用户主目录。

  • /sbin:

s 就是 Super User 的意思,是 Superuser Binaries (超级用户的二进制文件) 的缩写,这里存放的是系统管理员使用的系统管理程序

  • /selinux:

这个目录是 Redhat/CentOS 所特有的目录,Selinux 是一个安全机制,类似于 windows 的防火墙,但是这套机制比较复杂,这个目录就是存放selinux相关的文件的。

  • /srv:

该目录存放一些服务启动之后需要提取的数据。

  • /sys:

这是 Linux2.6 内核的一个很大的变化。该目录下安装了 2.6 内核中新出现的一个文件系统 sysfs 。
sysfs 文件系统集成了下面3种文件系统的信息:针对进程信息的 proc 文件系统、针对设备的 devfs 文件系统以及针对伪终端的 devpts 文件系统。
该文件系统是内核设备树的一个直观反映。
当一个内核对象被创建的时候,对应的文件和目录也在内核对象子系统中被创建。

  • /tmp:

tmp 是 temporary(临时) 的缩写这个目录是用来存放一些临时文件的。

  • /usr:

usr 是 unix shared resources(共享资源) 的缩写,这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于 windows 下的 program files 目录。

  • /usr/bin:

系统用户使用的应用程序。

  • /usr/sbin:

超级用户使用的比较高级的管理程序和系统守护程序。

  • /usr/src:

内核源代码默认的放置目录。

  • /var:

var 是 variable(变量) 的缩写,这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。

  • /run:

是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除。如果你的系统上有 /var/run 目录,应该让它指向 run。

2.注意

在 Linux 系统中,有几个目录是比较重要的,平时需要注意不要误删除或者随意更改内部文件。
/etc: 上边也提到了,这个是系统中的配置文件,如果你更改了该目录下的某个文件可能会导致系统不能启动。
/bin, /sbin, /usr/bin, /usr/sbin: 这是系统预设的执行文件的放置目录,比如 ls 就是在 /bin/ls 目录下的。
值得提出的是,/bin, /usr/bin 是给系统用户使用的指令(除root外的通用户),而/sbin, /usr/sbin 则是给 root 使用的指令。
/var: 这是一个非常重要的目录,系统上跑了很多程序,那么每个程序都会有相应的日志产生,而这些日志就被记录到这个目录下,具体在 /var/log 目录下,另外 mail 的预设放置也是在这里。

3.总结

  • Linux的目录中有且只有一个根目录“/”
  • Linux的各个目录功能是预先规划好的,不要乱放乱动。
  • Linux一切皆文件

三、远程操作Linux

Linux是部署在服务区上的系统,所以大部分操作都需要在本地远程操作,比如登录,文件传输。

到了这一步还是需要云服务器了,以下使用腾讯云。

1.远程登录SSH

Mac可以通过终端直接远程登录,不需要其他软件。
在这里插入图片描述

在这里插入图片描述

2.远程文件传输SFTP

可以看到还有sftp协议可以传文件,自己添加服务器地址和用户名后选择相应的协议链接,输入密码就行。

文件传输有sftp和scp两种方法,但scp有个弊端,每次执行指令需要输入服务器登陆密码重新连接服务器,频繁的文件操作就略显麻烦啦!幸运的是Mac自带还有另外一个文件上传、下载客户端SFTP,只要成功连接,后续就可以get、put进行文件下载、上传啦!

vim相关命令:

cd [dir], 将服务器的当前目录更改为[dir](change directory);

pwd, 查看服务器当前目录(Print Working Directory)

lpwd,查看本地当前目录(local Print Working Directory)

ls,列举服务器当前目录下的文件列表(list files)

lls: 列举本地当前目录文件列表

mkdir [dir], 服务器上当前目录下,新建目录[dir](make directory)

sftp专用命令:

put/get [dir],文件上传/下载

put -r 文件夹/. 上传文件夹 注意后面有一个点

get -r 文件夹/ 下载文件夹

四、Linux命令

1.vi和vim编辑器

Vim是从 vi 发展出来的一个文本编辑器。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。
简单的来说, vi 是老式的字处理器,不过功能已经很齐全了,但是还是有可以进步的地方。 vim 则可以说是程序开发者的一项很好用的工具。

基本上 vi/vim 共分为三种模式,分别是命令模式(正常模式)(Command mode),输入模式(编辑模式)(Insert mode)和底线命令模式(命令行模式)(Last line mode)。
在这里插入图片描述

在这里插入图片描述

正常模式

用户刚刚启动 vi/vim,便进入了命令模式。
此状态下敲击键盘动作会被Vim识别为命令,而非输入字符。比如我们此时按下i,并不会输入一个字符,i被当作了一个命令。
以下是常用的几个命令:
i 切换到输入模式,以输入字符。
x 删除当前光标所在处的字符。
: 切换到底线命令模式,以在最底一行输入命令。
若想要编辑文本:启动Vim,进入了命令模式,按下i,切换到输入模式。
命令模式只有一些最基本的命令,因此仍要依靠底线命令模式输入更多命令。

输入模式

在命令模式下按下i就进入了输入模式。
在输入模式中,可以使用以下按键:

  • 字符按键以及Shift组合,输入字符
  • ENTER,回车键,换行
  • BACK SPACE,退格键,删除光标前一个字符
  • DEL,删除键,删除光标后一个字符
  • 方向键,在文本中移动光标
  • HOME/END,移动光标到行首/行尾
  • Page Up/Page Down,上/下翻页
  • Insert,切换光标为输入/替换模式,光标将变成竖线/下划线
  • ESC,退出输入模式,切换到命令模式

命令行模式

在命令模式下按下:(英文冒号)就进入了底线命令模式。
底线命令模式可以输入单个或多个字符的命令,可用的命令非常多。
在底线命令模式中,基本的命令有(已经省略了冒号):
q 退出程序
w 保存文件
按ESC键可随时退出底线命令模式。

更多快捷键详情参考vim指令

2.开机,关机,重启,登录,注销

  • shutdown -h now 立即关机
  • shutdown -h 1 一分钟后关机
  • shutdown -r now 立即重启
  • halt 关机
  • reboot 重启
  • sync 把内存数据同步到磁盘上=>保存,随时保存好习惯

登录时尽量少用root账号,因为权限太高了怕误操作,因此最好用普通用户登录,再用su-用户名(switch user)切换成系统管理员身份,从低权限用户切换到高权限用户需要密码,反之则不需要,返回原来的用户时,exit

  • logout 注销用户

3.用户管理

Linux中的用户是按分组管理的,不同的组别有不同的权限等级,用户都在/home/组名/用户名路径下

添加用户

  • useradd [选项] 用户名
    若不指定用户组,则建立一个和用户名同名的用户组
  • useradd -d [登录目录] 用户名
    这样就能指定登录时的起始目录
  • useradd -g [用户组] 用户名
    指定用户所属群组

指定密码

  • passwd 用户名

删除用户

  • userdel 用户名:删除用户,保留用户组
  • userdel -r 用户名:删除用户和用户组(一般不用)

查询用户信息

  • id 用户名
  • whoami (查询自己的信息)

4.用户组管理

增加组

  • groupadd 组名

删除组

  • groupdel 组名

修改用户的组别

  • usermod -g 组名 用户名

5.用户管理的相关文件

/etc/passwd文件:用户的配置文件,记录用户信息,每一条信息包含:

用户名,密码(已加密),用户ID,组ID,注释性描述,组目录,登录Shell

/etc/shadow文件:口令配置文件,记录加密过的密码

/etc/group文件:组配置文件,记录组信息,每一条包含:
组名,密码,组ID,组内用户列表

五、Linux实用指令

1.指定运行级别

Linux有7种运行级别:
0:关机
1:单用户【找回丢失密码】
2:多用户状态没有网络服务
3:多用户状态有网络服务
4:系统未使用保留给用户
5:图形界面
6:系统重启
常用运行级别是3和5,要修改默认的运行级别需要更改/etc/inittab文件的id:5:initdefault:这一行中的数字,使用命令:

init [0~6]

但是当前的腾讯云服务器的版本CentOS7已经不支持这样操作了,当你想打开/etc/inittab文件时,会得到如下结果
在这里插入图片描述
大意是inittab现在已经不适用了,你在里面修改系统级别也没用,现在查询当前系统级别用systemctl get-default,修改当前系统级别用systemctl set-default TARGET.target

2.帮助指令

当我们对某个指令不熟悉时,有几种方法可以得到帮助

man获得帮助信息(manual的缩写)

  • man [命令或配置文件]

help获得帮助信息:获得Shell内置命令的帮助信息

  • help [命令]

Linux命令大全这东西它不香吗?

3.文件目录类指令

mkdir指令创建目录:(makd directory)

  • mkdir [选项] 目录路径
    选项-p:创建多级目录

rmdir指令删除目录:(remove directory)

  • rmdir [选项] 目录路径
    注意只能删除空目录,如果需要删除非空目录,需要使用rm -rf [目录路径]

touch指令创建空文件

  • touch [文件名称]

copy指令拷贝文件到指定目录

  • cp [选项] source dest
    选项 -r :递归复制整个文件夹
    注意:1.使用相对目录时,一定要注意当前所在的目录位置。2.再次复制时会发生覆盖,需要逐个确认,批量操作会很麻烦,若不想确认可以在cp前加\,代表强制覆盖。

rm指令删除文件或目录

  • rm [选项] 文件或目录
    选项-r:递归删除整个文件,-f:强制删除不提示

mv指令移动文件与目录或重命名

  • mv 老文件名 新文件名:(重命名)
  • mv 老路径 新路径:(移动文件)

cat指令查看文件内容:(只能看不能修改)

  • cat [选项] 文件名
    选项-n:显示行号
    指令一般搭配 | more来分页显示

more指令按页查看文件

  • more 文件名
    打开后空格翻页,回车下一行,q离开

less指令分屏查看文件内容

  • less 文件名
    less比more更强大,支持各种显示终端,适合大文件,按需加载,效率更高

>输出重定向(覆盖)指令和>>追加指令

  • ls -l >文件名 :(列表的内容覆盖写入文件中)
  • ls -al >>文件名 :(列表的内容追加到文件的末尾)
  • cat 文件1>文件2:将文件1覆盖到文件2
  • echo “内容” >> 文件 :将内容追加到文件末尾

echo指令输出内容到控制台

  • echo [选项] 输出内容

head指令显示文件开头内容

  • head 文件:默认查看前10行
  • head -n 5 文件:查看前5行

tail指令显示文件结尾内容

  • tail 文件 :默认显示最后10行内容
  • tail -n 5 文件:显示最后5行内容
  • tail -f 文件:实时追踪这个文档的所有更新,用作监控

ln指令软链接:存放了链接其他文件的路径(类似于快捷方式)

  • ln -s [源文件或目录] 软链接名称

history指令查看已执行过的历史指令

  • history :显示所有的历史指令
  • history 10:显示最后10条指令
  • history 执行过后,再输入![num]就会执行第num条指令

4.时间日期类指令

date指令显示当前日期

  • date:显示当前时间
  • date "+%Y %m %d %H:%M:%S ":自定义显示
    注意大小写和前面的➕号

date设置时间

  • date -s “字符串时间”

cal命令显示日历

  • cal :默认显示当前月的日历
  • cal 2020: 显示2020全年的日历

5.搜索查找类指令

find指令:从指定目录向下递归子目录,查找满足条件的文件或目录显示在终端

  • find [搜索范围] 选项
    选项-name:按名称查找;-user:按用户查找;-size:按大小查找(+n大于,-n小于,n等于)

locate指令:快速定位文件路径

  • loacte 文件名
    locate指令基于数据库进行查询,所以第一次运行之前需要使用updatedb指令创建locate数据库,且管理员需要定期更新locate时刻。
    CentOS7需要安装yum install mlocate才能使用locate指令

grep指令和管道符号|:grep过滤查找,管道符表示将前一个指令的结果输出传递给后面的指令处理

  • grep [选项] 查找内容 源文件
    选项-n:显示匹配行和行号;-i:忽略字母大小写
    一般搭配cat使用,先cat读取文件内容,再grep选择需要的内容

6.压缩和解压指令

gzip和gunzip指令

  • gzip 文件:将文件压缩为.gz文件
  • gunzip 文件.gz:解压.gz文件
    注意:当使用gzip后,不会保留原文件

zip和unzip指令:更常用

  • zip [选项] name.zip:压缩
  • unzip [选项] name.zip:解压
    选项-r:压缩目录;-d<目录>:解压后存放到指定目录

tar指令:打包文件,形成.tar.gz文件

  • tar [选项] name.tar.gz 打包的内容
    选项-c:产生.tar打包文件;-v:显示详细信息;-f:指定压缩后的文件名;-z:打包同时压缩;-x:解压.tar文件

六、组管理和权限管理

1.Linux的组管理

在Linux中的每个用户必须属于一个用户组,不能独立于组外。在Linux中每个文件都有所有者,所在组,其他组的概念 。

所有者:一般是文件的创建者
所在组:一般就是文件所有者的所在组
其他组:系统的其他用户都是文件的其他组

文件的组操作

  • ls -ahl:查看文件的所有者和所在组
  • chown 用户名 文件名:修改文件的所有者
  • chgrp 组名 文件名:修改文件的所在组

用户的组操作

  • usermod -g 组名 用户名:改变用户所在组
  • usermod -d 目录名 用户名:改变用户登录的初始目录

2.权限管理

输入指令ls -l后显示当前目录下所有文件的详细属性
在这里插入图片描述
第0位确定文件类型:-:普通文件;d:目录 l:软链接 c:字符设备(键盘鼠标) b:块文件,硬盘
第1-3位确定所有者拥有的该文件或目录的权限:r读w写(文件不一定能删除,需要对文件所在的目录有权限才能对文件删除)x执行或可进入目录
第4-6位文件所在组的用户权限
第7-9位文件其他组的用户权限
第10位表示文件的硬链接个数或者子目录个数
第一个root用户名
第二个root组名
后面的数字表示文件大小(字节),文件夹大小4096字节
后面的日期表示最后修改时间
最后的是文件名

3.修改权限

通过chmod指令可以修改文件或者目录的权限

u:所有者;g:所有组;o:其他组 a:所有人
r=4,w=2,x=1,可以用数字和操作

  • chmod u=rwx,g=rx o=x 文件目录名:编辑任意权限
  • chmod o+w 文件目录名:给其他组新增写权限
  • chmod a-x 文件目录名:给所有人取消执行权限
  • chmod 640 文件名:所有者可以rw,所有组可以r,其他组没有权限

通过chown修改文件所有者

  • chown 新拥有者 文件名
  • chown 新拥有者:新组名 文件名:改变用户的所有者和所有组
    参数-r目录递归生效

通过chgrp修改文件的所有组

  • chgrp 新所有组 文件名
    参数-r目录递归生效

七、Linux任务调度

1.crontab定时任务

  • crontab 选项
    选项-e:编辑定时任务;-l查询任务;-r删除当前用户所有的任务
  • service crond restart:重启任务调度

简单任务编写

  1. 设置任务调度文件:etc/crontab
  2. 设置个人调度任务,执行crontab -e
  3. 输入任务到调度文件,比如*/1 * * * * ls -l /etc/ >> /tmp/to.txt,意思是每小时的每分钟都执行ls -l /etc/ >> /tmp/to.txt指令,其中几个星号的含义如下
项目含义范围
第一个🌟一小时当中的第几分钟0-59
第二个🌟一天中的第几小时0-23
第三个🌟一个月当中的第几天1-31
第四个🌟一年当中的第几个月1-12
第五个🌟一周当中的星期几0-7
特殊符号说明
*代表任何时间
代表不连续的时间点,中间用逗号隔开
-代表连续的时间范围
*/n代表每隔多久时间就执行一次
  1. 保存退出后即可生效

使用shell脚本编写:每隔一分钟就将当前的日期信息追加到/tmp/mydate中

  1. 先编写一个文件/home/mytask1.sh,这是一个shell脚本,内容是date>>/tmp/mydate
  2. 给mytask1.sh一个可以执行的权限:chmod 744 /home/mytask.sh
  3. crontab -e
  4. */1 * * * * /home/mytask1.sh
  5. 执行成功

八、Linux磁盘分区和挂载

1.基本分区方式

  1. mbr分区:
    最多支持4个主分区,系统只能安装在主分区,扩展分区需要占一个主分区,mbr最大支持2tb,但拥有最好的兼容性
  2. gtp分区:
    支持无限多个主分区(但Windows操作系统最多只支持128个分区),最大支持18EB的容量,win7 64位系统之后都支持gtp分区

2.Linux分区

Linux无论有几个分区,归根到底只有一个根目录,一个独立且唯一的文件结构,Linux中每个分区都是用来组成整个文件系统的一部分。
Linux采用了一种叫做“载入”的处理方法,它的整个文件系统包含了一整套的文件和目录,且将一个分区和目录联系起来,这时要载入的一个分区将使它的存储空间在一个目录下获得。图解如下:
在这里插入图片描述
Linux硬盘分为IDE硬盘和SCSI硬盘,目前SCSI是主流。
IDE硬盘的驱动器标识符尾"hdx~",其中"hd"表示硬盘类型,这里就是IDE,“x”表示盘号(a为基本盘,b为基本从属盘,c为辅助主盘,d为辅助从属盘),“~”表示分区,1~4号分别表示主分区或扩展分区,5之后为逻辑分区。
SCSI硬盘的标识符尾“sdx~”,SCSI以“sd”开头,其他的一样。

查看Linux硬盘情况的指令:

  • lsblk -f
  • lsblk

在这里插入图片描述
在这里插入图片描述

vda是第一个检测到的半虚拟化磁盘驱动程序.如果两者都被引用到同一磁盘,则它比模拟的sdX设备更快,因为与模拟驱动器相比,其操作的开销更少。可见腾讯云服务器使用的是虚拟化的磁盘。

3.Linux新增一块硬盘

  1. 虚拟机添加硬盘(如果是虚拟机的话)
  2. 设置分区: fdisk /dev/sdb1
  3. 格式化: mkfs -t ext4 /dev/sdb1
  4. 挂载:先创建一个目录 /home/newdisk,再完成挂载:mount /dev/sdb1 /home/newdisk
  5. 设置自动永久挂载:先打开文件: vim /etc/fstab,再输入/dev/sdb1 /home/newdisk ext4 defaults 0 0 ,保存文件修改后输入指令mount -a生效。

4.磁盘查询指令

查询指定目录的磁盘占用情况

  • du -h /目录
    默认为当前目录,参数-s:指定目录占用大小汇总;-h:带计量单位;-a:含文件;–max-depth=1:子目录深度;-c:列出明细,增加汇总值

查询系统整体磁盘使用情况

  • df -lh

九、Linux网络配置

1.指定固定ip

虚拟机上默认每次自动分配虚拟地址,ip肯能每次都会变化,所以可以修改配置文件指定固定ip。

  1. vim /etc/sysconfig/network-scripts/ifcfg-eth0
  2. 修改onboot属性为yes,bootproto属性为static,自己选择IP地址,网关,dns服务器
  3. 修改完成后重启服务 service network restart,然后重启系统。

十、Linux进程管理

1.显示系统执行的进程

  • ps
    参数-a:显示当前终端的所有进程信息;-u:以用户格式显示进程信息;-x:显示后台运行参数
    PID:进程识别号;VSZ:占用虚拟内存的情况;RSS:使用物理内存的情况(单位KB);TTY:终端机号;STAT:当前进程运行的状态(s休眠;r运行);START:进程启动时间;TIME:此进程消耗cpu的时间;CMD:正在执行的命令或进程名.
    在这里插入图片描述

以全格式形式查看父进程

  • ps -ef
    例子:查看sshd的父进程:ps -ef | grep sshd

2.终止进程

  • kill [选项] 进程号
  • killall 进程名称(支持通配符)
    参数-9:表示强制进程立即停止

3.后台服务管理

  • service 服务名 start/stop/restart/reload/status
    CentOS7.0后开始使用systemctl指令,这种方法只是临时生效,如果需要自启动或者永久生效的话,要使用chkconfig指令。

4.查看服务名

方法1:使用setup ->系统服务
方法2:/etc/init.d/ 服务名称

5.修改服务运行级别

每个服务都根据当前的运行级别选择是否启动,通过chkconfig命令可以给每个服务的各个运行级别设置自启动/关闭。
在这里插入图片描述

  • chkconfig --list | grep xxx (查看,筛选服务)
  • chkconfig 服务名 --list
  • chkconfig --level 5 服务名 on/off
    注意:重启后修改才生效

6.动态监控进程

top与ps命令类似,但是top可以动态的展示进程的资源占用情况,它是在不断刷新的。

  • top [选项]
    参数:-d刷新间隔秒数(默认3秒);-i:不显示任何闲置或死进程;-p:只显示指定进程PID的情况
    输入top之可以进行交互操作:P:以cpu占用率排序(默认);M:以内存的使用率排序;N:以进程的PID排序;q:退出

7.监控网络状态

  • netstat [选项]
    参数:-an:按一定顺序排列;-p:显示进程调用

十一、RPM和YUM

1.介绍

用于互联网下载包的打包和安装工具,生成.rpm扩展名的文件,类似于Windows下的setup.exe安装包。

2.rpm包的管理

rpm包的查询指令:

  • rpm -qa | grep xx
  • rpm -q 软件包名
    参数:-i显示软件包信息;-l:显示软件包内的文件;
  • rpm -qf 文件路径:查询文件所属的软件包
    在这里插入图片描述

卸载rpm包

  • rpm -e 包名称
    注意:如果其他软件包依赖于要卸载掉软件包,会产生错误信息。可以添加参数–nodeps强制删除,但依赖的软件可能无法运行。

安装rpm包

  • rpm -ivh 软件包全路径名称
    参数:-i:安装;-v:提示;-h:进度条

3.软件包管理器yum

yum是一个shell前端的软件包管理器。基于rpm包管理,能够从指定的服务器自动下载安装rpm包,可以自动处理依赖性关系,并且一次性安装所有依赖的软件包。

查询yum服务器是否有需要安装的软件:

  • yum list | grep xx软件

安装指定的yum包

  • yum install xx软件名

后记

以上是Linux的基础入门知识,想要深入学习还需要很多功夫,以后有机会会再开篇记录。

评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值