龙空技术网

Linux操作系统与命令详解

itstudy0912 1092

前言:

现时咱们对“centos自动关机”大概比较关注,朋友们都需要剖析一些“centos自动关机”的相关知识。那么小编也在网络上汇集了一些有关“centos自动关机””的相关内容,希望我们能喜欢,咱们一起来学习一下吧!

Linux操作系统与命令详解

Ice Scream

目录

引言 1

一、 Linux操作系统 2

二、 文件和目录 3

三、 Linux远程连接 4

四、 Linux命令基本技巧 6

五、 Linux终端命令格式 6

六、 Linux命令 7

七、 文件的归档管理(压缩和解压) 18

八、 VI编译器 19

九、 Liunx软件安装 20

引言

Linux命令使用:为了将来工作中与服务器设备进行交互而准备的技能(测试项目出问题,需要从服务器上拉取项目运行工程中产生的日志文件,帮助判断出现问题的原因;远程连接/命令使用)

数据库的使用:MySQL(增删改查数据),测试人员需要在数据库中查询数据(查询重点掌握,其他操作了解即可)

Linux操作系统

1.操作系统

1.1概念:管理计算机硬件和软件资源的计算机程序。即OS是计算机的核心和基石(所有硬件设备组装完成后,第一层软件)

1.2常见主流操作系统

2.Lniux简介

一套免费使用自由传播的操作系统

2.1Linux特点

开源免费;安全稳定;性能可靠;可移植性(多用户、多任务、多平台、多语言)

2.2Linux发行版本

文件和目录

1.Windows和Linux文件系统区别

1.1Windows下的文件系统

1.2Linux下的文件系统

所有路径最左边的/是代表根目录,后面的/代表路径

/home:当前操作系统能登录的普通用户的家目录,普通用户创建好的信息都在home目录下;/目录下的所有文件夹都不可以随便乱动,home中的内容可以随便动,尤其用户名目录文件夹中内容随便改、删

Linux远程连接

说明:通过远程连接工具连接到服务器的操作即为远程连接

条件:1>服务器的IP地址;2>服务器的账号和密码;注意必须确保有网络连接条件;

1.远程连接

1.1常见远程连接工具

FinalShell(推荐):功能强大,颜值高,好操作(高级功能需要订阅)

XShell(个人用免费/商用收费)

Putty(免费开源的)

SecureCRT(收费)

MobaXterm(免费)

1.2远程连接基本步骤

1>入职后需要向相关人员(运维/开发)获取服务器IP地址及账号密码等信息

2>配合远程连接工具(根据公司要求使用对应工具),配置连接使用服务器即可

1.3远程连接操作步骤

【只要不是同一台电脑,用于远程连接的IP地址最后一位都永远不可能是1,1结尾的是系统内部的本地地址】

1>获取服务器IP地(工作中直接向相关人员获取IP地址及账号和密码);虚拟机系统中的桌面上鼠标右键打开终端,获取工具中连接需要的IP地址

默认可敲指令:ip addr;在本机上ping服务器IP地址检查连通性

连接工具设置步骤:SSH连接,如图设置连接信息

保存接受密钥

2>不通过工具连接,依赖命令:SSH

Linux命令基本技巧

1.使用技巧

1.1Linux终端的放大缩小

ctrl+shift+=放大终端窗口的字体显示

ctrl+-缩小终端窗口的字体显示

1.2Linux命令的自动补全

在敲出文件/目录/命令的前几个字母之后,按下tab键【要是没反应,可能路径不对】

如果输入的没有歧义,系统会自动补全

如果还存在其他文件/目录/命令,再按一下tab键,系统会提示可能存在的命令

1.3Liunx其他常用快捷键

按上/下光标键可以在曾经使用过的命令之间来回切换

如果想要退出选择,并且不想执行当前选中的命令,可以按ctrl+c

1.4Linux下操作可以不需要进入路径下再去操作

Linux终端命令格式

1.终端命令格式

#命令 [-选项] [参数]:command [-options] [parameter]

说明:

command:命令主体(命令名),相应功能的英文单词或单词的缩写,执行基本功能

[-options]:选项,根据命令可以显示更加丰富的数据

[parameter]:参数,命令的操作对象,一般文件、目录、用户和进程等都可以作为参数被命令操作

[ ]:代表可选

2.查阅命令帮助信息

2.1--help

command --help:显示command命令的帮助信息

2.2man

man command:查阅command命令的使用手册【man是manual的缩写,是Linux提供的一个手册,包含了绝大部分的命令、函数的详细使用说明】

Linux命令

【命令本身不具备的功能,需要在命令后加-参数,进行操作;参数的位置没有固定一说,可以放整条命令后面或者命令名后面,个别不可以放后面】

常用:

1.pwd

查看当前路径位置

2.ls

查看当前目录下有哪些文件和文件夹

选项参数:

-a

显示指定目录下所有子目录与文件,包括隐藏文件

-l

以列表方式显示文件的详细信息

ll等价于ls -l:不是所有系统都可用

3.mkdir

创建一个/多个文件夹(多个文件夹名一条命令空格隔开);递归创建mkdir a/b/c -p

4.cd

切换目录(一个.代表当前目录,两个点代表上级目录)

cd

切换到当前用户的主目录(/home/用户目录),用户登录的时候,默认的目录就是用户的主目录

cd ~

切换到当前用户的主目录(/home/用户目录,~相当于当前用户的主目录:/home/用户目录这一串路径)

cd ..

切换到上级目录

cd -

可进入上次所在的目录

5.touch:创建文件6.clear:清空7.mv

作用:用户可以使用mv命令来移动文件或目录,也可以给文件或目录重命名【改名一般都在当前路径下,改名先原名 新名】

语法:mv [选项] 数据源 目的地

选项参数:

-f

禁止交互式操作,如有覆盖也不会给出提示

-i

确认交互方式操作,如果mv操作将导致对已存在的目标文件的覆盖,系统会询问是否重写,要求用户回答以避免误覆盖文件

-v

显示移动速度

【mv 原 目标(如果目标是文件夹就变成移动,不是文件夹或文件名不存在,就变成改名)】

8.绝对路径和相对路径的区分

绝对路径:以“/”或者“~”开始

相对路径:“.”或“..”开始(会因为当前所在位置不同,导致切换的位置不同)

【.:当前路径下;..:上一层目录】

9.cp

作用:将给出的文件或目录复制到另一个文件或目录中

语法:cp [选项] 数据源 目的地

选项参数:

-i

交互式复制,在覆盖目标文件之前将给出提示要求用户确认

-f

覆盖已经存在的目标文件而不提示

-r

若给出的源文件是目录文件,则cp将递归复制该目录下的所有子目录和文件,目标文件必须为一个目录名。

-v

显示拷贝进度

10. rm

作用:删除文件或目录

语法:rm [选项] 文件

选项参数:使用rm命令要小心,因为文件删除后不能恢复。为了防止文件误删,可以在rm后使用-i参数以逐个确认要删除的文件。

-i

以进行交互式方式执行

-f

强制删除,忽略不存在的文件,无需提示

-r

递归地删除目录下的内容,删除文件夹时必须加此参数

删除当前目录下所有文件和文件夹:通配符*,代表任意文件【删除命令与ls相符,可以在命令 参数后加目录,删除哪个目录下哪个文件】

可能用到:

11. 重定向>和>>

作用:将本应显示在终端上的内容 输出/追加 到 指定文件中

其中:

>表示输出,会覆盖文件原有内容

>>表示追加,会将内容追加到已有文件的末尾

12.cat

作用:会一次显示所有内容,适合查看内容缺少的文本文件

语法:cat [选项] 文件

选项参数:

-b

对非空输出行编号

-n

对输出的所有行编号

说明:使用cat文件名1文件名2,将两个文件的合并内容显示在终端窗口

注意:只是合并了显示内容,并没有真正合并两个文件

13.less

作用:用于分屏显示文件内容,每次只显示一页内容,适合于查看内容较多的文本文件

语法:less [参数] 文件

参数选项:

-N

对输出的所有行编号

使用less的操作键

空格键

显示手册页的下一屏

Enter/上下光标键

一次滚动手册页的一行

b

回滚一屏,向上翻页

f

前滚一屏

q

退出

/word

搜索word字符串

14.more

效果与less相同,常用于查看内容较多的文件,两个命令基本操作快捷键相同

【注意:想要以分屏样式查看大量内容的文件信息,文件的内容至少应该超过当前终端窗口的显示大小】

15.grep【与管道符|配合使用】

作用:根据关键词,搜索文本文件内容,文件里的信息

语法:grep [选项] 关键词 文件

参数选项:

-v

显示不包含匹配文本的所有行(相当于求反)

-n

显示匹配行及行号

-i

忽略大小写

16.管道|

作用:Linux允许将一个命令的输出可以通过管道做为另一个命令的输入;可以理解现实生活中的管子,管子的一头塞东西进去,另一头取出来,这里|的左右分为塞东西(写),右端取东西(读)

常用的管道命令有:

less:分屏显示内容

grep:在命令执行结果的基础上查询指定的文本

【通过管道符可以方便快捷的将两条指令结合起来,以省去需要先将结果写入到文件,再进行查找的操作;用在不需要输出数据作为文件,再对文件查找,直接用管道|,左边负责给右边提供数据,右边查找符合条件】

【注意:在测试工作中,我们只需要掌握管道符右侧长使用的命令为grep】

17.head

head

用来显示文件前10行的内容

如果不加参数默认显示文件前10行内容

head -15 文件名

显示文件前15行内容

例子:查看某个文件的开头10行内容: head -10 temp.txt

提示:一般用于,想要查看一个很大的文件前几行内容时使用。

18.tail

tail

显示文件后10行内容

如果不加参数默认显示文件后10行内容

tail -15 文件名

显示文件结尾15行内容

tail -f 文件名

实时监控文件内容

用于查看线上服务的运行日志,实时显示写入日志的信息

说明:日志文件(一种负责记录系统或程序运行过程信息的文件)

作用:测试人员可以通过查看日志文件信息,帮助判断bug出现的原因

tail -5f XXX:5f不是只显示5行,是一次性加载多少行,从那基础上往下加载,获取动态信息中的某几行内容

获取11-15行:head -XX XX | tail -XX

1.先通过head获取截止到结束行所有信息

2.再配合tail获取截止到起始行的所有信息即可

19.查看操作系统信息

查看当前操作系统版本信息:cat /proc/version

查看版本当前操作系统发行信息:cat /etc/redhat-release

说明:不同系统的版本信息查看都是通过查看特定文件内容来获取。不同的系统,路径名不同,随机应变;其他系统需要获取系统版本信息,可以搜索:系统类型+内核版本/发行版本,例如:CentOS内核版本查询

20.重启与关机

reboot

重新启动操作系统

执行命令后立即重启操作系统

shutdown

关闭操作系统

执行命令后,提示1分钟后关闭操作系统

shutdown命令选项:

shutdown -r now

重新启动操作系统,shutdown会给别的用户提示

shutdown -h now

立刻关机,其中now相当于时间为0的状态

shutdown -h 20:25

系统在今天的20:25会关机

shutdown -h +10

系统再过十分钟后自动关机

poweroff:关机,与shutdown一样

21.查看系统进程信息

进程:在任何系统中,运行软件程序时,都会有一个对应的进程存在,如果结束掉进程,就可以实现关闭对应软件程序的操作,尤其是在服务器系统(Linux)中

ps -aux

process status查看当前系统中正在执行程序的详细状况

kill [-9] 进程代号

终止指定代号的进程,-9表示强行终止

top

动态显示运行中的进程并且排序

ps:默认只会显示当前用户通过终端启动的应用程序

ps选项说明:

a

显示终端上的所有进程,包括其他用户的进程

u

显示进程的详细状态

x

显示没有控制终端的进程

注意:如果想要通过进程结束或关闭对应软件和程序,则需要获取软件或程序对应的PID数值

%CPU:CPU使用率;%MEN:内存使用率

运行文件:./程序名

每一个进程拥有唯一的PID,可以根据PID杀死进程,如:kill 12478或 kill -9 12478(强制杀死)

注意:显示瞬间进程的状态,并不动态连续,如果想对进程运行时间监控,应该用top命令

Linux系统中结束或关闭程序的基本步骤:

1.ps -aux | grep 程序名:获取目标程序的进程ID(PID)

2.kill -9 进程ID:强制结束或关闭对应软件程序

top:打开当前系统的“任务管理器”(动态查看进程信息)

22.查看系统监听的端口

1>端口号:想要连接至服务器,需要使用IP地址,在服务器上运行程序,需要通过端口号

注意:同一台服务器不能有多个程序使用同一个端口号,因此在运行程序时,如果提示:端口号被占用,那就需要先找到占用端口号的程序并结束掉,然后才能运行目标程序。

2>常见端口号:

HTTP:80

HTTPS:443

SSH:22

MySQL:3306

3>netstat命令

用于显示各种网络相关信息

常用于查看软件打开的端口信息

注意:一般需要root用户权限,才能看到更详细的端口信息

netstat

用于查看显示网络状态

netstat -anptu

查看所有的进程和端口使用情况

一般用来查看端口被哪些程序使用,但是我们不单独使用

netstat -anptu | grep mysql

结合grep查找指定程序打开的端口

比如这里查找的就是mysql正在使用的端口号

【注意】:使用netstat命令时,最好使用root用户,否则PID一栏可能没有信息

选项说明:

-a

显示所有已打开的端口

-n

不用别名显示,只用数字显示

-p

显示进程号(pid)和进程名

-t

显示所有tcp协议端口

-u

显示所有udp协议端口

4>lsof命令

list open files是一个列出当前系统打开文件的工具

可以用于查看系统中正在使用端口的详细信息

【注意】:一般需要root用户权限,才能看到更详细的端口信息

lsof -i

列出符合条件的进程

如果不给出条件,则默认显示所有进程打开的所有文件

lsof -i:3306

列出使用端口3306的进程信息

这里是查看3306这个端口被哪个应用程序占用了

【注意】:该命令必须使用root用户权限,普通用户使用无任何结果;-i:后面跟端口无空格

23.查看程序存放位置which

说明:在Linux系统中,无论是自己安装的程序还是系统自带命令,本质上都一个可执行程序,想要获取程序安装位置,可以通过which程序名来实现,寻找的是可执行文件。

24.切换用户su

1.切换账号su

su -

切换到root用户

su – 用户名

切换到指定的用户,并切换目录

-可以切换到用户家目录,否则位置保持不变

su:不切换用户目录,只切换用户名

2.退出登录账户exit

1>如果是图形界面,退出当前终端

2>如果是使用ssh远程登录,退出登陆账户

3>如果是切换后的登陆用户,退出则返回上一个登陆账号

25.查看当前用户所有信息who

1.who -q:查看用户登录数量

26.权限chmod

1.文件信息含义

-rwxr-xr-x含义:

①信息中的第一位为文件类型:-表示普通文件;d表示文件夹

②后续信息三个值为一个整体,一共三个部分,依次为:用户/用户组【是当前登录用户组内的成员】/其他人【既不是当前用户也不是当前用户组内的成员】

③每一组都会有r、w、x、-组成:r表示读取;w表示写入;x表示执行;-表示无权限

2.权限

根据权限计算每组的值就会对应产生数字,例如755,没有权限要给0,不能空着

【注意】:

1.无论目标文件的权限作何修改,每一部分都必须有结果,数字一定是3位;

2.如果某一部分没有任何权限,直接给0;

3.文件权限是可以进行多次修改的,不要害怕修改错误;

3.chmod命令-数字法

chmod在设置权限时,可以简单的使用三个数字分别对拥有者、组、其他用户赋予权限

数字法:chmod XXX(三个数字) 文件名

4.chmod命令-字母法

字母法:chmod u+r 文件名

用户类型:

权限设置:

权限赋予过程中无空格

注意事项:

1.必须明确文件权限的含义(读懂)

2.使用数字法还是字母法全凭个人喜好

3.尽量注意不要随意赋予文件最高权限:数字法(777)/字母法(rwxrwxrwx)

4.建议适当修改文件权限:数字法(755)/字母法(rwxr-xr-x)

27.查找文件find

1.在特定的目录下搜索符合条件的文件

2.语法

find [路径] -name “*.py”

查找指定路径下扩展名是.py的文件,包括子目录;“”给或不给不影响结果

如果省略路径,表示在当前文件夹下查找

之前学习的通配符,在使用find命令时也可以用

28.链接文件ln

1.软链接(快捷方式)

ln -s 链接文件 链接文件名

注意:删除源文件,链接文件会失效

2.硬链接(类似复制文件)

ln 链接文件 链接文件名

注意:两个文件写入内容同步,删除独立。

文件的归档管理(压缩和解压)1.打包/解包

tar是Linux中最常用的备份工具,此命令可以把一系列文件打包到一个大文件中,也可以把打包的文件恢复成一系列文件

格式使用如下:

#打包文件

tar -cvf 打包文件.tar 被打包的文件/路径…【加路径,可以原地打包】

#解包文件

tar -xvf 打包文件.rar

tar常用选项说明:

-c

生成档案文件,创建打包文件

-v

列出归档解档的详细过程

-f

指定档案文件名称,f后面一定是.tar文件,所以必须放在最后

-t

列出档案中包含的文件

-x

解开档案文件

注意:f必须放在最后,其他选项顺序可以随意

2.压缩/解压缩

1>gzip

tar与gzip命令结合使用实现文件打包、压缩

tar只负责打包文件,但不压缩

用gzip压缩tar打包后的文件,其扩展名一般用xxx.tar.gz

gzip使用格式如下:

gzip [选项] 被压缩文件(gzip -r xx.tar)

常用选项:

-r

压缩所有子目录,即递归处理

-d

指定文件解压缩

打包压缩的合并:

tar命令中增加一个选项-z可以调用gzip实现了一个压缩的功能,实行一个先打包后压缩的过程;

命令格式如下:

#压缩文件

tar -zcvf 打包文件.tar.gz 被压缩的文件/路径…

#解压缩文件

tar -zxvf 打包文件.tar.gz

#解压缩到指定路径

tar -zxvf 打包文件.tar.gz -C 目标路径

2>zip、unzip

通过zip压缩文件的目标文件不需要指定扩展名,默认扩展名为zip

命令格式如下:

#压缩文件

zip [-r]【如果被压缩文件是文件夹需要使用-r】 打包文件 被压缩的文件

#解压缩文件

unzip -d 解压后的目录 打包文件.zip【可以在当前目录下解压,不跟目录选项】

-r

递归处理,将指定目录下的所有文件和子目录一并处理

VI编译器1.简介

VI是一个文本编辑器

可以执行输出、删除、查找、替换、块操作等众多文本操作

只能是编辑文本内容,不能对字体段落进行排版

不支持鼠标操作

没有菜单

只有命令

2.三种工作模式

命令模式

文本输入模式

末行模式

vi 文件名,文件若不存在,会新开一个

3.进入末行模式保存文件

语法:

:q:当vi进入文件没有对文件内容做任何操作可以按"q"退出

:q!:当vi进入文件对文件内容有操作但不想保存退出

:wq:正常保存退出

:wq!:强行保存退出,只针对与root用户或文件所有人

Liunx软件安装

1.yum命令

yum ( Yellow dog Updater,Modified)是一个在Linux系统中常用的软件包管理器

yum提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记

语法:yum [options] [command] [package……]

optinos:选项

-h:查看帮助

-y:当安装过程提示选择全部为“yes”

-q:不显示安装的过程

command:要进行的操作

package:操作的对象

2.yum常用命令

yum list:列出所有可安装的软件清单

yum search:查找软件包

yum install <package_name>:安装指定的软件

yum update <package_name>:更新指定软件

yum update:更新所有软件

yum remove <package_name>:删除软件包

标签: #centos自动关机