测试常用的Linux基础知识

Linux基本概念及常用命令

1、用户概念相关概念

用户:即Linux中创建的一个账号,拥有自己的“空间”,别其他用户(root除外)非授权不能访问。

用户组:即部分用户组成的“群体”,可以彼此访问的属于“组”的公共“空间”。

其他人:除用户与用户组之外的其他账号用户。

所有用户信息(包括root)存储在/etc/passwd文件内,密码存储在/etc/shadow文件内,所有的组存储在/etc/group中。

2、文件权限相关概念

2.1 基本概念

image-20230216144004876

上述命令的输出是文件的文件名和相关属性,其具体含义如下:

image-20230216150612144

注意,当文件类型为目录时,x代表的是相应用户能进入此目录;当文件类型为文件时,x代表的是相应用户能执行此文件。

2.2 文件属性与权限的修改

(1)chgrp: 修改文件所属用户组,示例如下图:

image-20230216152909394

把example.txt的用户组由root改为demo,若是chgrp -R demo A目录,则会将A目录下所有文件及其子目录下的所有文件的用户组变为demo。

(2)chown: 修改文件拥有者,示例如下图:

image-20230216153446291

把example.txt的文件拥有者由root改为demo,也支持-R选项,其另一种写法为 chown 账号名:用户组名 目标文件或目录

(3)chmod:修改文件权限。文件权限的设置方法由两种,分别是适用数字和符号修改权限。

数字类型修改: r-4,w-2,1-x,0-无权限。

image-20230216154704523

符号修改:

chmod u
g
o
a
+(在原有权限的基础上加入权限)
-(在原有权限的基础上移除权限)
=(设置)
r
w
x
文件或目录

如:

image-20230216155639461

image-20230216160024618

3、文件和目录管理

3.1 常用目录命令

(1)cd:切换目录。

(2)pwd:显示当前目录。

(3)mkdir:新建目录,

image-20230216162306668

(4)rmdir:删除目录,空字是重点。

3.2 文件与目录的管理
(1)文件与目录的查看:ls
ls [-adl] 文件或目录
-a:列出全部文件,含隐藏文件(以.开头的文件名)
-d:仅列出目录本身,而不是目录内的文件数据
-l:列出文件或目录的属性与权限等详细信息
(2)文件的复制:cp
cp [-aipr] 源文件 目标文件
-a:将源文件原封不动(包括源文件的属性及权限等)的复制到目标文件
-i:复制时,询问是否覆盖目标路径下已有的文件
-p:连同文件的属性(权限、用户、时间)一起复制过去,而非适用默认属性(备份常用)
-r:递归复制,用于目录的复制(常用),目录的复制必须要带上此参数
注意:当源文件有两个以上时,最后一个目标文件一定要是“目录”才行
(3)删除文件或目录:rm
rm [-fir] 文件或目录
-f:强制删除,不会出现询问信息
-i:交互模式,删除前会询问
-r:递归删除,删除目录及其子目录下的所有文件(非常危险的命令,慎用)
(4)移动文件与目录,或重命名:mv
mv [-fiu] 源文件 目标文件
-f:若文件已存在于目标路径,则不会询问直接覆盖
-i:交互模式,会询问是否覆盖已存在的文件
-u:若源文件是比较新,才会覆盖已有的旧文件
(5)新建文件:touch
touch 文件
3.3 文件的打包,tar
tar [-z|-j|-J] [cv] [-f 待建立的新文件名] [要被压缩或打包的文件名] -->打包(c,形成tar后缀)与压缩(z-gz,j-bz2,J-xz)
tar [-z|-j|-J] [tv] [-f 已有的tar文件名] -->查看文件名
tar [-z|-j|-J] [xv] [-f 已有的tar文件名] -C [A目录]  --> 将文件解压缩到A目录下

4、文件内容的查看

4.1 cat(concatenate串联的简写)

cat:将文件从第一行到最后一行连续显示在屏幕上

cat [-nA] 文件
-A:将空白字符用特殊可见字符显示
-n:显示行号

tac:将文件从最后一行到第一行连续地用倒序显示在屏幕上

4.2 可翻页查看
(1)more(一页一页翻动)

在程序运行过程中,有以下按键可使用:

空格键(space):向下翻页(下一页)
b或ctrl-b:向上翻页(上一页),仅对文件有效,对管道符无效
/ 查找目标:在显示地内容中查找目标字符串
:f  :立刻显示当前文件名及目前显示的行数
q:立即退出
(2)less(一页一页翻动,更灵活)
空格键(space)或pagedown:向下翻页(下一页)
b或ctrl-b或pageup:向上翻页(上一页)
/ 查找目标:在显示地内容中查找目标字符串,向下查找,成功找到时,目标字串的底色为白色
? 查找目标:向上查找
n:向后(下)重复前一个查找
N:向前(上)重复前一个查找
q:立即退出
(3)file(查看文件类型)
file 带查看的文件或目录

image-20230217133540377

4.3 数据截取
(1)head(从头开始取)
head [-n number] 文件
-n:后面接数字,显示前几行
(2)tail(从尾部开始取,看动态日志必用)
tail [-n number] 文件
-n:后面接数字,显示文件尾部倒数几行
-f:文件持续刷新时显示后面新增的内容,按ctrl-c结束
(3)gerp(正则表达,找日志)
grep [-nAB] '正则表达式' 文件
-n:显示行号
-A:后面可加数字,after之意,除列出该行外,后续的n行也列出来
-B:后面可加数字,before之意,除列出该行外,前面的n行也列出来
(4)应用案例

找出日志关键字UserC附近的日志,如下图:

image-20230217132745698

4.4 命令与文件的查找
(1)脚本文件的查找,which

which(执行文件【一般是命令】的查找)

which [-a] command
-a:列出在PATH目录中被找到的所有命令,而不仅仅是第一个被找到的命令

注意:which找的是PATH中的命令,不在其中的命令(如在bash中的history)是找不到的。

(2)文件的查找
whereis(在一些特殊的目录中查找文件)

whereis主要针对/bin、/sbin以及/usr/share/man 下面的执行文件,未全盘查找,速度快。

whereis [-lbmsu] 文件或目录名
-l:列出whereis查询的目录
-b:只列出二进制格式的文件
-m:只在说明文件manual路径下查找
-s:只查找source文件
-u:查找不在上述目录中的其他特殊文件
locate(在数据库/var/lib/mlocate/中查找)

直接在后面输入文件的部分名称即可得到结果,因为是数据库/var/lib/mlocate/中查找,当新建立的文件还未存入数据库时,新文件不会被查到,需用updatedb更新数据库,这可能会花费数分钟的时间。

locate [-icl] keyword
-i:忽略大小写
-c:不输出文件名,进输出找到的文件数量
-l:后跟数字,仅输出几行的意思
find(直接从硬盘中查找)

在此只列出与文件权限及名称有关的参数

find [PATH] [option] [action]
option常用参数:
-name filename:查找文件名为filename的文件
-size [+-]SIZE:查找比SIZE还要大(+)或小(-)的文件,如+50k,即大于50KB的文件
action:额外的动作,表示在查找到文件后对文件的再一次处理操作

5、进程管理

5.1 程序与进程的概念

程序:通常为二进制程序,存储于物理介质(硬盘等)中,以物理形式存在。

进程:程序被触发后,执行者的权限与属性、程序代码与所需数据会被加载到内存中,操作系统给与这个内存中的单元一个标识符(PID),即,进程是正在运行中的程序

子进程与父进程:假设有A进程产生了一个B进程,则称A是B的父进程,B是A的子进程。如下图:

image-20230217171246944

5.2 进程查看
(1)仅查看自己bash相关的进程,ps -l

image-20230217190119201

(2)查看系统所有进程,ps aux

image-20230217192459174

(3)动态查看进程变化,top
top页面简介

image-20230218135559313

top命令简介
top [-d 数字]top [-nbp]
-d 数字n:页面每个n秒刷新一次,n默认是5
-b:批量方式执行top,常用于重定向,将某一段时间内的top结果保存为文本文件
-n:与-b连用,表示需执行几次top
-p 进程号:只显示特定进程的使用详情
top执行过程中,可使用以下按键命令:
	?: 显示在top中可以使用的按键命令
	P:按%CPU降序显示(默认以此显示)
	M:按%MEN降序显示
	N:按PID降序显示
	T:按TIME+降序显示
	k:给与某个PID一个信号(signal)
	r:给某个PID重新制定一个NICE值
	q:退出top

如NICE值(进程的优先级)的修改步骤如下:

image-20230218142414329

(4)查看进程树,pstree
pstree [-A|-U] [-up]
-A:结果以ASCII字符集显示,解决乱码使用
-U:结果以Unicode字符集显示,可能会出现乱码
-u:显示此进程的用户名
-p:显示此进程的PID

假设PID=29721的进程是Zombie进程,则可以用以下方法找到其父进程为1197的sshd:

image-20230218144003018

(5)结束进程
kill -signal PID

signal对照表如下:

image-20230218145354859

因此kill -9 PID会删除PID进程。

killall
killall [-i] procA
-i:交互式一一删除子进程
删除以procA进程名启动的所有子进程

killall -i -9 procA 删除以procA进程名启动的所有子进程

5.3 系统磁盘
free [-thbkmg]
-t:显示物理内存与虚拟内存的总量
-h:以合适的单位显示内存使用情况
-b、k、m、g:指定内存单位,b-Bytes、k-KB、m-MB、g-GB

6、网络相关

ifconfig:显示网络信息,如ip地址等。

netstat:追踪网络或socket文件

netstat [-atunlp]
-a:将系统上所有的连接、监听、socket信息全部列举出来
-t:列出tcp连接
-u:列出udp连接
-n:以端口号显示信息
-l:列出目前正在网络监听(listen)的服务
-p:列出该网络服务的PID

7、设置时间日期

7.1 设置时间到指定日期时间

image-20230218175442050

7.2 同步网络时间

image-20230218175641355

猜你喜欢

转载自blog.csdn.net/weixin_43162616/article/details/129103289
今日推荐