linux学习笔记
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了linux学习笔记,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含20791字,纯文字阅读大概需要30分钟。
内容图文
![linux学习笔记](/upload/InfoBanner/zyjiaocheng/933/8023f7c92c1b411cb72a1fe3fc7ea8d4.jpg)
Linux(centos学习)
Linux介绍
一、内容介绍
基础
- linux入门
- vm和Linux安装
- Linux目录结构
实操
- 远程登陆(XShell XFtp)
- Vi和Vim编辑器
- 开机、重启和用户登陆注销
- 用户管理
- 实用指令
- 定时任务调度
- 磁盘分区、挂载
- 网络配置
- 进程管理
- RPM和YUM
Linux应用领域
-
个人桌面领域的应用
-
服务器领域
免费、开源、安全、稳定、高效,在服务器领域运用最广
-
嵌入式领域
二、Linux基础
共享文件夹
1、在VMware软件中,虚拟机->设置->选项->共享文件 中添加共享文件
2、在linux中的/mnt/hgfs下就可以看到共享的目录
Linux目录结构
Linux中,一切皆文件
/ 根目录
/bin 【/usr/bin、/user/local/bin】
- 是Binary的缩写,存放着最经常使用的命令
/sbin 【/user/sbin、/user/loacl/bin】
- Super user,存放的是系统管理员使用的系统管理程序
/home
- 存放普通用户的主目录,每个用户都有一个自己的目录,一般以用户的账号名命名
/root
- 系统管理员
/lib
- 系统开机所需要的最基本的动态连接共享库,相当于windows中的dll文件。几乎所有应用程序都需要用到这些共享库。
/lost+found
- 一般情况为空,当系统非法关机后,就存放了一些文件
/etc
- 所有的系统管理所需要的配置文件和子目录,如:MySQL中的my.conf
/user
- 用户的很多应用程序和文件都放在这个目录,与windows中program files目录相似
/boot
- 存放的是启动linux时使用的一些核心文件,包括一些连接文件和镜像文件。
/proc
- 这个目录是一个虚拟目录,它是系统内存的映射,访问这个目录来获取系统信息
/srv
- service的缩写,该目录存放一些服务启动之后需要提取的数据。
/sys
- 这是linux2.6内核的一个很大变化。该目录下安装了2.6内核中新出现的一个文件系统sysfs
/tmp
- 这个目录是用来存放一些临时文件的。
/dev
- 类似于windows的设备管理器,把所有的硬件用文件的形式存储
/media 目录
- linux系统会自动识别一些设备,例如:U盘、光驱等,当识别后,Linux会把识别的设备挂载到这个目录下。
/mnt
- 系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将外部的存储挂载在/mnt上,然后进入该目录就可以查看里面的内容了。
/opt
- 这是给主机额外安装软件所摆放的目录。如安装ORACE数据库就可放到该目录下。默认为空。
/usr/local
- 这是另一个给主机额外安装软件所安装的目录。一般是通过编译源码方式安装的程序。
/var
- 这个目录中存放着在不断扩充着的东西,习惯将经常被修改的目录放在这个目录下。包括各种日志文件。
/selinux
- SELinux是一种安全子系统,它能控制程序只能访问特定文件。
- 注:
- linux的目录中有且只有一个根目录/
- linux的各个目录存放的内容是规划好,不用乱放文件
- linux是以文件的形式管理我们的设备,linux系统中,一切皆文件
三、linux实操
远程登陆Linux
使用工具连接Xshell
进行远程登陆Linux
使用Xftp
进行文件的上下传
使用Xshell远程登陆,需要远程linux开启了sshd服务,登陆后即可使用Xshell远程操作Linux
vi和vim编辑器
vi:所有的Linux系统都会内置vi文本编辑器
vim:具有程序编辑的能力,可以看作vi的增强版本,可以主动的以字体颜色辨别语法的正确性,方便程序设计。代码补充、编译及错误跳转等方便编程的功能特别丰富,使用非常广。
三种常见模式
-
正常模式
在正常模式下,我们可以使用快捷键。
以vim打开一个档案就直接进入一般模式了(默认模式)。在这个模式中,你可以使用 上下左右 按键来移动光标,使用 删除字符 或 删除整行 来处理档案内容,也可以使用 复制、粘贴 来处理文件数据。
-
插入模式/编辑模式
在插入模式下,可以输入内容。
按下 i I o O a A r R 等任意一个字母后会进入编辑模式;
-
命令行模式
在这个模式中,可以提供指令完成读取、存盘、替换、离开Vim、显示行号等功能。
快捷键使用
-
注:需要在正常模式下使用
-
拷贝当前行**
yy
,拷贝当前行向下的5行:5yy
,使用p
**进行粘贴 -
删除当前行**
dd
,删除当前行向下的5行:5dd
** -
跳到文件最后一行使用**
G
,跳转到文件第一行使用gg
** -
在一个文件中输入”hello“或进行其它快捷操作,需要进行撤回,使用**
u
** -
将光标移动到指定行,输入跳转到的行数,再使用**
shift+g
**如:跳转到20行,命令为 20 shift+g
-
-
注:需要在命令行模式下使用
- 在文件中查找某个单词【命令行下 /关键字,回车 查找,输入n就是查找下一个】
- 设置文件的行号,命令行下
:set nu
和:set nonu
开机、重启和用户登陆注销
关机&重启
-
shutdown
shutdown -h now 表示立即关机
shutdown -h 1 表示1分钟后关机
shutdown -r now 立即重启
-
halt
直接使用,效果相当于关机
-
reboot
重启
-
sync
把内存中的数据同步到磁盘中,在关机或重启前最好使用sync命令,防止数据丢失
用户登陆注销
登陆时尽量少用root账号登陆,因为他是系统管理员,权限最大,避免操作失误,可以利用普通用户登陆,登陆后再用
su -用户名
来切换成系统管理员身份。在提示符下输入logout即可注销用户
logout注销指令在图形运行级别下无效,需要在运行级别3下
用户管理
Linux操作系统是一个多用户多任务的操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。
Linux的用户需要至少属于一个用户组
-
用户
-
用户组
-
用户家目录
**
/home/
**目录下有各个创建的用户对应的家目录,用户登陆时,会自动进入到自己的家目录
添加用户
useradd 用户名
- useradd dtz
- 当创建用户成功后,会自动的创建和用户名同名的家目录
- 也可以通过**
useradd -d 指定目录 新的用户名
,给新创建的用户指定家目录,如:useradd -d /home/dd dtz
**
给用户指定密码
passwd dtz
给dtz用户指定密码
删除用户
userdel 用户名
-
删除用户dtz,但要保存家目录
userdel dtz
-
删除用户dtz及用户主目录
userdel -r dtz
查询用户信息
id 用户名
uid=0(root) 用户id号
gid=0(root) 组id号
组=0(root) 组名称
切换用户
在linux中,如果当前用户权限不够,可以通过 su -用户名 切换到高权限用户
su - root
切换到root用户
从权限高的用户切换到权限低的用户,不需要输入密码,反之需要
当需要返回到原来用户时,使用exit指令
查看当前用户
whoami/who am i
用户组
类似于角色,系统可以对有共性的多个用户进行统一的管理
增加组
groupadd 组名
删除组
groupdel 组名
增加用户时直接加上组
useradd -g 用户组 用户名
修改用户组
usermod -g 用户组 用户名
用户配置文件(用户信息)/etc/passwd
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-02W6oCOz-1607845486301)(\shiro\passwd.PNG)]
zwj:用户名
x:密码,保存在/etc/shadow中
1001:用户id
1002:组id
/home/zwj:家目录地址
/bin/bash:shell
组配置文件(组信息)/etc/group
组(group)的配置文件,记录Linux包含的组的信息
每行含义:组名:口令:组标识号:组内用户列表
口令配置文件 /etc/shadow
- 口令配置文件(密码和登陆信息,是加密的)/etc/shadow
每行的含义:登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志
实用指令
Linux运行级别
Linux7大运行级别
- 0:关机
- 1:单用户(找回丢失密码)
- 2:多用户无网络服务
- 3:多用户有网络服务
- 4:系统未使用保留给用户
- 5:图形界面
- 6:重启
系统运行级别配置文件 /etc/inittab
切换到指定运行级别
init [0|1|2|3|4|5|6]
centos7及以上在inittab中不能设置默认级别
设置默认3: systemctl set-default multi-user.target
设置默认5: systemctl set-default graphical.target (需要有root权限)
init的方式,是暂时性的切换,重启后,还是要回到切换前的级别,比如从5切换到3,重启后还是进入级别5
systemctl 的方式,是设置系统的默认启动级别,重启后按照新设置的级别启动
帮助指令
- 当我们对某个指令不熟悉时,我们可以使用Linux的帮助指令来了解这个指令的使用方法
man命令
man [命令/配置文件]
help指令
help 命令
:获得shell内置命令的帮助信息
文件目录类指令
-
pwd
:显示当前目录 -
ls [选项] [目录或是文件]
- -a:显示当前目录所有的文件和目录,包括隐藏的。
- -l:以列表的方式显示信息
-
cd
cd ..
回到上一级目录cd ~
回到当前用户家目录cd /home
回到home目录,绝对路径方式cd ../home
回到home目录,相对路径方式
-
mkdir [选项] 目录名
创建目录 -
-p
创建多级目录 -
rm 路径
删除空目录 -
如果要删除非空目录,需要使用**
rm -rf 路径
** -
touch 文件名称
创建空文件,可一次性创建多个文件 -
cp [选项] source dest
拷贝文件到指定目录 -
-r
递归复制整个文件夹 -
rm [选项] 文件/目录
移除文件或目录-r
递归删除整个文件夹-f
强制删除不提示
-
mv oldFileName newFileName
移动文件或重命名(同一目录下) -
cat [选项] 文件名
查看文件内容(只读方式)-n
显示行号- cat只能浏览文件,为了浏览方便,一般会带上管道命令
| more
,实现分页浏览,即cat -n hello.java | more
-
more 文件名
-
more指令是一个基于vi编辑器的文本过滤器,以全屏的方式按页显示文本文件的内容。
操作 功能说明 空格键 向下翻一页 回车键 向下翻一行 q 代表退出more Ctrl + f 向下滚动一页 Ctrl + b 返回上一页 = 输出当前行号 :f 输出当前文件名和当前的行号
-
-
less 文件名
-
less指令用来分屏查看文件内容,功能与more相似,但比more更强大;在显示文件内容时,并不是一次将整个文件加载后才显示,而是根据显示需要加载内容,对于显示大型文件具有较高的效率。
操作 功能说明 空格键 向下翻一页 pagedown 向下翻一页 pageup 向上翻一页 /字符串 向下搜寻【字符串】的功能,n:向下查找,N:向上查找 ?字符串 向上搜寻【字符串】的功能;n:向上查找;N:向下查找 q 离开这个less程序
-
-
> 指令 和 >> 指令
-
>
输出重定向,会将原来的内容覆盖掉基本使用:
ls -l > 文件
ls -l 列表的内容写入文件a.txt中,覆盖写cat 文件1 > 文件2
将文件1的内容覆盖到文件2
-
>>
追加,不会覆盖原来文件的内容,而是追加到文件末尾基本使用:
ls -al >> 文件
列表的内容追加到文件的末尾echo "内容" >> 文件
将内容追加到文件中
-
-
echo [选项] 输出内容
输入内容到控制台 -
echo $PATH
输出环境变量 -
head
用于显示文件的开头部分内容,默认显示前10行的内容head 文件
查看文件头10行内容head -n 5 文件
查看文件头5行内容,可设置前几行
-
tail
用于显示文件尾部的内容,默认显示后10行内容tail 文件
查看文件后10行的内容tail -n 5 文件
查看文件后5行内容tail -f 文件
实时追踪该文档的更新,常用
-
ln
-
软连接也叫符号链接,类似于windows里的快捷方式,主要存放了链接其他文件的路径
-
ln -s [原文件或目录] [软链接名]
给原文件创建一个软链接 -
删除软链接时,文件后面不要带斜杠,如:
rm -rf toRoot
而不是rm -rf toRoot/
-
-
history
- 查看已经执行过的历史命令,也可以执行历史命令
history
显示已经执行过的所有历史命令history 10
显示最近执行的10条命令!10
执行历史编号为10的命令
时间日期类指令
date
指令-显示当前日期date
显示当前时间date "+%Y"
显示当前年份,%Y:年,%m:月,%d:天,%H:时,%M:分,%S:秒,可组合,如:date "+%Y-%m-%d %H:%M:%S"
,以**2020-04-05 23:15:20
**格式显示- 设置日期:
date -s 2020-04-05 23:15:20
将系统日期设置为2020年4月5号23时15分20秒
cal
输出日历信息cal 2020
显示2020年的日历信息
搜索查找类指令
-
find [搜索范围] [选项]
-
将从指定目录向下递归地遍历其各个子目录,将满足条件的文件或者目录显示在终端
选项 功能 -name<查询方式> 按照指定的文件名查找模式查找文件 -user<用户名> 查找属于指定用户名所有文件 -size<文件大小> 按照指定的文件大小查找文件 -
find /home -name a.txt
查询/home文件下的名称为a.txt的文件 -
find /opt -user roo
查询/opt目录下属于roo用户的文件 -
find /opt -size +20k
查询/opt下大于20k的文件,大于为+
,小于为-
,等于为=
;单位:k,M等 -
find /opt -name *.txt
查询opt目录下的.txt文件
-
-
locate 文件
- **
locate
**指令可以快速定位文件路径,locate指令利用实现简历的系统中所有文件名称及路径的locate数据库实现快速定位给定的文件。locate指令无需遍历整个文件系统,查询速度较快。为了保证查询结果的准确度,管理员必须定期更新locate时刻。 - 注:由于locate指令基于数据库查询,所以第一次运行前,必须使用
updatedb
指令创建locate数据库
- **
-
**
grep
**指令和管道符号|
-
grep
: 过滤查找,管道符|
:表示将前一个命令的处理结果输出传递给后面的命令处理 -
grep [选项] 查找内容 源文件
选项 功能 -n 显示匹配行及行号 -i 忽略字母大小写 -
grep -n .dbus /home/roo/a.txt
查看/home/roo/a.txt下的.dubs所在行的内容及行号,可用cat /home/roo/a.txt | grep -n yes
替换
-
压缩和解压类指令
-
gzip/gunzip
指令**gzip
用于压缩文件,gunzip
**用于解压缩文件gzip 文件
压缩文件,只能将文件压缩为**.gz
** 文件gunzip 文件.gz
解压缩文件- 注:
gzip
和gunzip
压缩/解压缩 文件后原文件不会保留,只能压缩文件,不能压缩文件夹
-
zip/unzip
指令,**zip
用于压缩文件,unzip
**用于解压,在项目打包发布使用较多-
zip [选项] xx.zip 文件
将文件压缩为xx.zip,如:zip -r a.zip /home
是将/home下所有的文件打包为a.txt选项 功能 -r 递归压缩,即压缩目录 -
unzip [选项] 目标路径 xx.zip
将xx.zip解压缩到目标路径中,如:unzip -d /opt/test a.zip
是将a.zip解压到/opt/test文件夹下选项 功能 -d<目录> 指定解压后文件的存放目录
-
-
tar
指令,tar
指令是打包指令,最后打包的文件是.tar.gz
-
tar [选项] xxx.tar.gz
选项 功能 -C 产生** .tar
**打包文件-v 显示详细信息 -f 指定压缩后的文件名 -z 打包同时压缩 -x 解压** .tar
**文件 -
tar -zcvf a.tar.gz a.txt b.txt
将**a.txt
和b.txt
打包成a.tar.gz
** -
tar -zcvf home.tar.gz /home/
将**/home
目录打包成home.tar.gz
** -
tar -zxvf a.tar.gz
将a.tar.gz
解压到当前目录 -
tar -zxvf home.tar.gz -C /opt
将home.tar.gz
文件解压到/opt
目录下,前提是**/opt
** 目录存在
-
组管理和权限管理
组的基本介绍
-
所有者:文件的创建者
-
所在组:并不一定是文件所有者所在组,在修改所有者后,文件所在组不变。
-
其他组:除文件的所有者和所在组的用户外,系统的其它用户都是文件的其它组。
-
改变用户所在的组:在添加用户时,可以指定将该用户指定到那个组中,同样的用root权限可以改变某个用户所在的组。
usermod -g 用户组 用户名
改变用户所在组
-
修改文件所有者
chown 用户名 文件名
chown -R 用户名 目录
使目录下的所有子文件或目录递归生效
-
修改文件所在组
chgrp 组名 文件名
chgrp -R 用户名 目录
使目录下的所有子文件或目录递归生效
-
修改文件的所有者和所在组
chown 用户名:用户组 文件
chown -R 用户名:用户组 目录
使目录下的所有子文件或目录递归生效
权限管理
权限基本介绍
-rw-r--r--. 1 roo root 1113267 4月 6 00:50 home.tar.gz
-
文件类型,5种:-
表示文件,d
表示目录,l
表示链接文件,c
表示字符设备,鼠标键盘等,b
表示块文件,硬盘rw-
表示文件所有者权限r--
文件所在组的用户的权限r--
表示其他组的用户的权限1
如果是文件,表示硬链接的数,如果是目录,则表示该目录的子目录个数roo
文件所有者root
文件所在组1113267
文件大小,如果是目录会显示40964月 6 00:50
文件最后修改时间home.tar.gz
文件名
rwx
文件详解
-
r = 4, w = 2, x = 1
作用到文件:
r
代表可读:读取,查看w
代表可写:可以修改,但是不代表可以删除该文件,删除一个文件的前提是对该文件所在的目录有写权限x
代表可执行:可以进入该目录
作用到目录:
r
代表可读:可以读取,ls查看目录内容w
代表可写:可以修改,目录内创建+删除+重命名目录x
代表可执行:可以进入该
权限修改
chomod
两种方式:
-
u:所有者,g:所有组,o:其它组,a:所有人
chmod u=rwx,g=rx,o=x abc
给abc文件所有者rwx权限,所在组rx权限,其它组x权限chmod o+w abc
给abc文件其它组添加写的权限chmod a-x abc
给abc文件所有的用户减去x权限
-
r = 4, w = 2, x = 1;rwx = 4+2+1 = 7
chmod 751 abc
给abc文件所有者rwx权限,所在组rx权限,其它组x权限
crond任务调度
crondtab
进行定时任务的设置
任务调度: 是指系统在某个时间执行的特定命令或程序。
任务调度分类: 1、系统工作:有些重要的工作必须周而复始地执行。如病毒扫描等。2、个别用户工作:个别用户可能希望执行某些程序,比如对mysql数据库的备份。
语法: crontab [选项]
选项 | 功能 |
---|---|
-e | 编辑crondtab定时任务 |
-l | 查询crondtab任务 |
-r | 删除当前用户所有的crontab任务 |
快速入门案例:
要求:设置任务调度文件:/etc/crontab
? 设置个人调度任务。执行crontab -e命令
? 接着输入任务到调度文件
? 如:*/1 * * * * ls -l /etc >>/tmp/to.txt
? 意思说每小时的每分钟执行ls -l /etc >>to.txt命令
步骤:
- crontab -e
- */1 * * * * ls -l /etc >>/tmp/to.txt
- 当保存退出后就生效
- 在每一分钟都会自动执行ls -l /etc >>/tmp/to.txt
5个占位符说明:
项目 | 含义 | 范围 |
---|---|---|
第一个* | 一小时当中的第几分钟 | 0-59 |
第二个* | 一天当中的第几小时 | 0-23 |
第三个* | 一个月当中的第几天 | 1-31 |
第四个* | 一年当中的第几个月 | 1-12 |
第五个* | 一周当中的星期几 | 0-7(0和7都代表星期日) |
特殊符号说明:
特殊符号 | 含义 |
---|---|
* | 代表任何时间。比如第一个*就代表每一小时的每一分钟都执行一次的意思。 |
, | 代表不连续的时间。比如“0 8,12,16 * * * "代表在每天的8点,12点和16点0分都执行一次命令 |
- | 代表连续的时间范围。比如”0 5 * * 1-6“,代表周一到周六的5点0分执行 |
*/n | 代表每隔多久执行一次。比如”*/10 * * * *",代表每隔10分钟执行一遍命令 |
特定时间执行案例:
时间 | 含义 |
---|---|
45 22 * * * 命令 | 在22点45分执行命令 |
0 17 * * 1 | 在周一的17点0分执行命令 |
0 5 1,15 * * 命令 | 在每月的1号和15号的5点0分执行命令 |
40 4 * * 1-5 命令 | 在每周一到周五的4点40分执行命令 |
*/10 4 * * * 命令 | 在4点每隔10分钟执行一次命令 |
0 0 1,15 * 1 命令 | 在每月1号和15号,周一的0点0分执行命令。注意:星期几和几号最好不要同时出现,定义的都是天,容易混乱。 |
其它命令:
crontab -r
:终止任务调度crontab -l
:列出当前有哪些任务调度service crond restart
:重启任务调度
磁盘分区、挂载
分区基础知识
-
mbr分区:
- 最多只支持4个主分区
- 系统只能安装在主分区
- 扩展分区要占一个主分区
- MBR最大只支持2TB,但拥有最好的兼容性
-
GPT分区:
- 支持无限多个主分区(但操作系统有限制,如:windows下最多128个分区)
- 最大支持18EB的大容量(1EB=1024PB,1PB=1024TB)
- windows7 64位以后支持GPT
查看所有设备挂载情况:
NAME FSTYPE LABEL UUID MOUNTPOINT
sda
├─sda1 ext4 aa668705-eca3-4f4c-9909-7c538cc2afc7 /boot
├─sda2 swap af4a34d8-4354-4ffa-9120-4075956e8ca4 [SWAP]
└─sda3 ext4 82a186de-84f3-4a5f-8389-e0ca48c39571 /
硬盘s:scsa硬盘 ext4:分区类型 UUID:分区唯一标识 MOUNTPOINT:挂载点
a:第一块硬盘, 分区和文件是挂载关系的,
b为第二块 每个分区对应一个文件
1:表示第一个分区
磁盘添加
-
在虚拟机中增加一块硬盘
-
分区
fdisk /dev/sdb
-
m 显示命令列表
-
p 显示磁盘分区, 同
fdisk -l
-
n 新增分区
-
d 删除分区
-
w 写入并退出
-
-
格式化分区
mkfs -t ext4 /dev/sdb1
-
挂载
mount 设备名称 挂载目录
进行挂载,如:mount /dev/sdb1 /mnt/mnt
umount 设备名称
或umount 挂载目录
进行卸载,如:mount /dev/sdb1
或mount /mnt/mnt
-
实现永久挂载
- 通过修改
/etc/fstab
文件,添加UUID=04346966-f511-415f-a938-48cf0923674d /mnt/mnt ext4 defaults 0 0
该磁盘的标识UUID
可以换成 设备名 即:/dev/sdb1 /mnt/mnt ext4 defaults 0 0
- 添加完成后执行
mount -a
立即生效
- 通过修改
磁盘查询指令
- 查询系统整体磁盘使用情况:
df -lh
- 查询指定目录的磁盘占用情况:
du -h 目录
- -s 指定目录占用大小汇总
- -h 带计量单位
- -a 含文件
- –max-depth=1 子目录深度
- -c 列出明细的同时,增加汇总值
磁盘-工作实用指令
-
统计目录中文件的数量
ls -l /home | grep "^-" | wc -l
-
统计目录中目录的个数
ls -l /home | grep "^d" | wc -;
-
统计目录下文件的数量,包含子文件
ls -lR /home | grep "^-" | wc -l
-
统计目录下的目录的数量,包含子目录
ls -lR /home | grep "^d" | wc -l
-
以树形结构显示目录结构
tree
进程管理
-
基本介绍
- 在linux中,每隔执行的程序(代码)都称为一个进程。每一个进程都分配一个ID号。
- 每一个进程,都会对应一个父进程,而这个父进程可以复制多个子进程。例如www服务器。
- 每个进程都可能以两种方式存在的。前台与后台,所谓前台进程就是用户目前的屏幕上可以进行操作的。后台进程则是实际存在操作,但由于屏幕上无法看到的进程,通常实用后台方式执行,如SSHD服务。
- 一般系统的服务都是以后台进程的方式存在,而且都会常驻在系统中。直到关机才结束。
-
显示系统执行的进程
ps
:查看进程实用ps 显示的信息选项:
字段 说明 PID 进程识别号 TTY 终端机号 TIME 此进程所消耗的cpu时间 CMD 正在执行的命令或进程名 ps -a
:显示当前终端的所有进程信息ps -u
:以用户的格式显示进程信息ps -x
:显示后台进程运行的参数 -
终止进程
kill
和killall
kill [选项] 进程号
:通过进程号杀死进程kill -9 进程号
:强制终止进程
killall 进程名称
:通过进程名称终止进程pstree [选项]
可以更直观的来看进程信息-p
显示进程PID号-a
显示进程的所属用户
服务管理
服务(service)本质就是进程,但是是运行在后台的,通常都会监听某个端口,等待其它程序的请求,比如(mysql,sshd,防火墙等),因此我们又称为守护进程,是Linux中非常重要的知识点。
-
管理指令
service 服务名 start|stop|restart|reload|status
systemctl start|stop|restart|reload|status 服务名
:centos7以后使用这个注意:
-
关闭或者启用防火墙后,立即生效。【telnet测试某个端口即可】
-
这种方式只是临时生效,当重启系统后,还是回归以前对服务的设置。
-
如果希望设置某个服务自启动或关闭永久生效,要使用**
chkconfig
** 指令
-
-
查看系统服务
setup
指令可以查看/etc/init.d
文件中有所有的服务
-
服务运行级别
服务运行级别同系统运行级别,共7个级别:
- 0:关机
- 1:单用户(找回丢失密码)
- 2:多用户无网络服务
- 3:多用户有网络服务
- 4:系统未使用保留给用户
- 5:图形界面
- 6:重启
设置服务运行级别可以指定服务在某个系统运行级别下是否自启动。
chkconig
指令:? 通过
chkconfig
指令可以给每个服务的各个运行级别设置自启动/关闭- 查看服务
chkconfig --list|grep xxx
chkconfig 服务名 --list
chkconfig --level 5 服务名 on/off
-
动态监控进程
top 和 ps 命令很相似。他们都用来显示正在执行的进程。top 与 ps最大的不同指出,在于top在执行一段时间可以更新正在运行的进程。
-
语法:
top [选项]
选项 功能 -d 秒数 指定top命令每隔几秒更新,默认是3秒在top命令的交互模式当中可以执行的命令 -i 使top不显示任何闲置或僵死进程 -p 通过指定监控进程ID来仅仅监控某个进程的状态 -
交互操作
操作 功能 p 以cpu使用率排序,默认就是此项 M 以内存的使用率排序 N 以PID排序 q 退出top -
案例:
-
监视特定用户
top:输入此指令,按回车键,查看执行的进程
u:然后输入 u 回车,再输入用户名,即可
-
终止指定的进程
top:输入此指令,按回车键,查看执行的进程
k:然后输入 k 回车,再输入要结束的进程ID号
-
指定系统状态更新的时间(每隔10秒自动更新)
top -d 10
-
-
-
监控网络的状态
netstat
-
基本语法:
netstat [选项]
-
常用:
netstat -anp
-an
:按一定顺手排列输出-p
:显示哪个进程再调用 -
案例:
-
查看所有的网络服务
netstat -anp | more
-
请查看服务名为sshd的服务的信息
netstat -anp | grep sshd
-
-
rpm包的管理
一种用于互联网下载包的打包及安装工具,它包含再某些Linux发行版中。它生成具有.RPM扩展名的文件。RPM是Redhat Package Manager(Redhat软件包管理工具)的缩写,类似于Windows的setup.exe,这一文件格式名称虽然打上了Redhat的标志,但理念是通用的。
-
简单查询是否安装软件:
rpm -qa | grep XXX
-
rpm包基本格式:
firefox-68.6.0-1.el7.centos.x86_64
名称:firefox
版本号:68.6.6-1
适用操作系统:el7.centos.x86_65,即centos7.x的64位系统,如果是i686、i386表示32位系统,noarch表示通用
-
rpm指令:
查询所安装的所有rpm软件包:
rpm -qa
rpm -qa | more
rpm -qa | grep X
例如:
rpm -qa | grep firefox
查询软件包是否安装:
rpm -q 软件包名
例如:
rpm -q firefox
查询软件包信息:
rpm -qi 软件包名
例如:
rpm -qi firefox
查询软件包中的文件:
rpm -ql 软件包名
例如:
rpm -ql firefox
查询文件所属的软件包:
rpm -qf 文件全路径名
例如:
rpm -qf /etc/passwd
rpm -af /root/install.log
-
卸载rpm包
基本语法:
rpm -e RPM包的名称
注:如果其它软件包依赖于需要协作的软件包,卸载时则会产生错误信息,
如:
$ rpm -e foo
则会提示:
removing these packages would break dependencies:foo is needed by bar-1.0-1
如果我们就是要删除**
foo
这个rpm
**包,可以增加参数--nodeps
,就可以强制删除,但是一般不推荐这样做,因为依赖于该软件包的程序可能无法运行如:
rpm -e --nodeps foo
就是强制删除 -
安装rpm包
-
基本语法:
rpm -ivh RPM包全路径名称
-
参数说明:
i = install
安装v = verbose
提示h = hash
进度条 -
案例:
1.安装firefox浏览器
-
yum包管理
yum是一个Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包。
-
yum的基本指令
-
查询yum服务器是否有需要安装的软件:
yum list | grep xx软件列表
-
安装指定的yum包:
yum install xxx
下载安装
-
内容总结
以上是互联网集市为您收集整理的linux学习笔记全部内容,希望文章能够帮你解决linux学习笔记所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。