linux基础学习

迷茫不可怕,说明你还在向前走

失败不可怕,只要你还能爬起来

目录

​编辑

为什么要学习linux操作系统?

linux系统的安装

FinalShell

虚拟机快照

[第二章 基本知识](#第二章 基本知识)

linux目录结构

linux路径的描述方式

linux命令入门

linux命令基础格式

ls命令入门

ls命令的参数和选项

参数:

选项:

-a

-l

-h

ls命令选项的组合使用

[cd 、pwd命令](#cd 、pwd命令)

cd

pwd

相对路径和绝对路径

特殊路径符

创建目录命令

mkdir命令

文件操作命令

[touch 创建文件](#touch 创建文件)

[cat命令 查看文件内容](#cat命令 查看文件内容)

more命令查看文件内容

cp命令复制文件文件夹

[rm 删除文件、文件夹](#rm 删除文件、文件夹)

查找命令

[which 命令](#which 命令)

find命令-按文件名查找文件

​编辑

find命令-按文件大小查找

grep命令

​编辑

wc命令

管道符

echo命令

反引号

重定向符

tail命令

vi/vim编辑器介绍

命令模式

编辑模式:

底线命令模式

第三章Linux用户和权限

root用户

su和exit命令

sudo命令

为普通用户配置sudo认证

用户和用户组

用户组管理

getent

认知权限信息

rwxchom

chmod命令

权限的数字序号

chown命令

[第四章 Linux使用操作](#第四章 Linux使用操作)

常用快捷键

[ctrl+c 强制停止](#ctrl+c 强制停止)

[ctrl+d 退出或登出](#ctrl+d 退出或登出)

历史命令搜索

光标移动快捷键

清屏

linux系统软件安装

应用商店

yum命令

systemctl命令

ln命令创建软连接

软连接的删除

date命令

ntp程序

IP地址

特殊ip地址

在linux中修改主机名

域名解析

配置主机名映射

为什么需要固定IP

[在VMware Workstation中配置固定IP](#在VMware Workstation中配置固定IP)

ping命令

​编辑wget

curl

端口

查看端口占用

nmap

netstat

进程

查看进程

查看指定进程

关闭进程

查看系统资源占用

top命令内容详解

top命令选项

top交互式选项

磁盘信息监控

df命令

iostat

网络状态监控

环境变量

env命令

环境变量PATH

[符号](#符号)

Linux环境变量

上传和下载

通过FinalShell工具(速度快)

rz、sz命令(速度慢)

压缩和解压缩

tar命令

tar的压缩常用组合为

tar解压组合有

[zip 命令压缩文件](#zip 命令压缩文件)

[unzip 命令解压文件](#unzip 命令解压文件)


为什么要学习linux操作系统?

1.性能问题,windows服务器操作系统不如linux高

2.稳定性问题,底层架构:linux更加稳定,其开机时间可以达到好几年不关机

开源:因为开源,人人都可以看到源代码,就可以为其提供自己的补丁,补丁可以提高稳定性和安全性;

3.安全性问题:linux操作系统,相对于windows操作系统更加安全;

4.远程管理方面:linux比windows更高效

5.服务器价格昂贵的,需要对资源进行充分利用,充分吧计算机资源用到项目上(访问开发、性能),而不是把资源浪费在图形化界面或者方便程度上;

windows:属于单用户。多任务

linux:属于多用户、多任务

linux系统的安装

1.真机安装:会替换掉当前的Windows系统

2.虚拟机安装:通过一些特代拟稿手段,来进行模拟安装,并不会影响当前计算机的操作系统

FinalShell

第三方软件,远程连接到linux操作系统中,通过finalshell去控制操作linux系统,更方便

虚拟机快照

通过快照将当前虚拟机的状态保存下来,在以后可以通过快照恢复虚拟机到保存的状态

第二章 基本知识

linux目录结构

linux的目录结构是一个树型结构

windows系统可以拥有多个盘符,如C盘、D盘

linux没有盘符这个概念,只有一个根目录/,所有文件都在它下面

linux路径的描述方式

在linux系统中,路径之间的层级关系,使用:/来表示

在windows系统中,路径之间的层级关系,用:\来表示

linux命令入门

学习linux,本质上是学习在命令行下熟练使用linux的各类命令。

命令行:即linux终端(Terminal),是一中命令提示符页面。以纯"字符"的形式操作系统,可以使用各种字符画命令对系统发出操作指令。

命令:即linux程序。一个命令就是一个linux的程序。命令没有图形化页面,可以在命令行(终端中)提供字符化的反馈。

linux命令基础格式

无论是什么命令,用于什么用途,在linux中,命令有其通用的格式:

  • command:命令本身
  • -options:[可选,非必填]命令的一些选项们可以通过选项控制命令的行为细节
  • parameter:[可选,非必填]命令的参数,多数用于命令的指向目标。
  • 语法中的[ ],表示可选的意思
ls命令入门

ls命令的作用是列出目录下的内容,语法细节如下:

ls [-a -l -h] [Linux路径]
  • -a -l -h 是可选的选项
  • Linux路径是此命令可选的参数

当不使用选项和参数,直接使用ls命令本体,表示:以平铺形式,列出当前工作目录下的内容

直接输入ls命令,表示列出当前工作目录下的内容

Linux系统的命令行终端,在启动的时候,会默认加载:

  • 当前登录用户的Home目录作为当前工作的目录,所有ls命令列出的时HOME目录的内容
  • HOME目录:每个Linux操作用户在Linux系统的个人账户目录,路径在:/home/用户名
ls命令的参数和选项
参数:

当ls不使用参数,表示列出当前工作目录的内容,即用户的HOME目录

当使用参数,ls命令的参数表示:指定一个Linux路径,列出指定路径的内容:

选项:
-a

表示:all的意思,即列出的全部文件(包含隐藏的文件、文件夹)

以.开头的,表示是linux系统的隐藏文件、文件夹(只要以.开头,就能自动隐藏)

-l

表示:以列表(竖向排列)的形式展示内容,并展示更多信息

-l选项和图形化中,文件夹以列表形式排列是一个意思

-h

表示:以易于阅读的形式,列出文件大小,如K、M、G

-h 选项必须要搭配-l一起使用

ls命令选项的组合使用

写法:

ls -l -a = ls -la = ls -al

上述三种写法,都是一样的,表示同时应用-l和-a的功能。

除了选项本身可以组合外,还可以和参数组合使用

cd 、pwd命令
cd

通过cd命令,更改当前所在的工作目录

cd(change directory)

语法:cd [linux]路径

  • cd命令无需选项,只有参数,表示要切换到哪个目录下
  • cd命令直接执行,不写参数,表示回到用户的HOME目录
pwd

通过pwd命令,来查看当前所在的工作目录

pwd(print work directory) 语法:pwd

相对路径和绝对路径

绝对路径:以根目录为起点,描述路径的一种写法,路径描述以/开头

相对路径:以当前目录为起点,描述路径的一种写法,路径描述无需以/开头

直接写cd,即可回到HOME目录

特殊路径符
创建目录命令
mkdir命令

通过mkdir命令可以创建新的目录(文件夹)

mkdir来自英文:Make Directory

语法:

mkdir [-p] Linux路径
  • 参数必填,表示Linux路径,即创建的文件夹的路径,相对路径或绝对路径均可
  • -p选项可选,表示自动创建不存在的父目录,适用于创建连续多层级的目录

ctri+l清屏

注意:创建文件夹需要修改权限,请确保操作均在HOME目录内,不要再HOME外操作涉及到权限问题,HOME外无法成功。

文件操作命令
touch 创建文件

可以通过touch命令创建文件

语法:

touch Linux路径
  • touch 命令无选项,参数必填,表示要创建的文件路径,绝对、相对、特殊路径均可。
cat命令 查看文件内容

准备好文件内容,可以通过cat查看内容

语法:

cat Linux路径

cat同样没有选项,只有必填参数,参数表示:被查看过的文件路径。

more命令查看文件内容

与cat不同的是:

  • cat是直接将内容全部展示出来
  • more支持翻页,如果文件内容过多,可以一页页展示

语法:

more Linux路径

在查看过程中,通过空格翻页,通过q退出查看

cp命令复制文件文件夹

cp命令可以用于复制文件\文件夹,cp:copy

语法:

cp [-r] 参数1 参数2
  • -r 选项,可选,用于复制文件夹使用,表示递归
  • 参数1,Linux路径,表示被复制的文件或文件夹
  • 参数2,linux路径,表示要复制去的地方。

mv移动文件或文件夹

mv命令可以用来移动文件\文件夹,mv:move

语法:

mv 参数1 参数2
  • 参数1,Linux路径,表示被移动的文件或文件夹
  • 参数2,Linux路径,表示要移动去的地方,如果目标不存在,则进行改名,确保目标存在。
rm 删除文件、文件夹

rm 命令可用于删除文件、文件夹,rm:remove

语法:

rm [-r -f] 参数1 参数2 。。。参数N
  • 同cp命令一样,-r选项用于删除文件夹
  • -f表示force ,强制删除(不会弹出提示确认信息)
    • 普通用户删除内容不会弹出提示,只有root管理员删除内容会有提示
    • 所以一般普通用户用不到-f选项
  • 参数1 参数2..表示要删除的文件或文件夹路径,按照空格隔开

rm命令支持通配符*,用来做模糊匹配

rm是一个危险的命令,特别是在处于root(超级管理员)用户的时候,请谨慎使用

如下命令,请千万不要root(超级管理员)下使用rm -rf/ rm -rf/* 效果等同与在windows上执行c盘格式化。

查找命令
which 命令

在前面学习的Linux命令,其实是一个个的二进制可执行程序。和windows系统中的.exe文件,是一个意思。

我们可以通过which命令,查看所使用的一系列命令的程序文件存放在哪里。

语法:

which 要查找的命令
find命令-按文件名查找文件

在linux中,我们可以通过find命令去搜索指定的文件。

语法:

find 起始路径 -name "被查找文件名"

被查文件名,支持通配符*来做模糊查询

find命令-按文件大小查找

语法:

find 起始路径 -size +/-n[kMG]
  • +、-表示大于和小于
  • n表示大小数字
  • kMG是大小单位,k(小写字母)表示kb,M表示MB,G表示GB
grep命令

可以通过grep命令,从文件中通过关键字过滤文件行。

语法:

grep [-n] 关键字 文件路径
  • 选项-n ,可选,表示在结果中显示匹配的行的行号。
  • 参数,关键字,必填,表示过滤的关键字,带有空格或其他特殊符号,建议使用" "将关键字包围起来。
  • 参数,文件路径,必填,表示要过滤内容的文字路径,可作为内容输入端口。
wc命令

通过wc命令统计文件的行数、单词数量等

语法:

wc [-c -m -l -w] 文件路径
  • 选项,-c ,统计bytes数量
  • 选项,-m,统计字符数量
  • 选项,-l,统计行数
  • 选项,-w,统计单词数量
  • 参数,文件路径,被统计的文件,可作为内容输入端口。
管道符

管道符: |

管道符后的含义是:将管道符左边命令的结果(输出),作为右边命令的输入。

echo命令

可以使用echo命令在命令行内输出指定内容

语法:

echo 输出的内容

无需选项,只有一个参数,表示要输出的内容,复杂内容可以用""包围。

反引号

通过将命令用反引号(通常也称之为飘号)``(Esc下面的那个按键在英文状态下)将其包围

重定向符
  • >,将左侧命令的结果,覆盖写入到符号右侧指定的文件中
  • >>,将左侧命令的结果,追加写入到符号右侧指定的文件。
tail命令

使用tail命令,可以查看文件尾部内容,跟踪文件的最新更改,

语法:

tail [-f -num] Linux路径
  • 参数,linux路径,表示被跟踪的文件路径
  • 选项,-f,表示持续跟踪
  • 选项 ,-num,表示,查看尾部多少行,不填默认10行

注:结束时按ctrl+c

vi/vim编辑器介绍

vi\vim编辑器是visual interface的简称,是linux中最经典的文本编辑器

同与兴华界面中文本编辑器一样,vi是命令行下对文本文件进行编辑的绝佳选择。

vim是vi的加强版本,兼容vi的所有指令,不仅能编辑文本,而且还具有shell程序编辑的功能,可以不同颜色的字体来辨别语法的正确性,极大地方便了程序的设计和编辑性。

vi\vim编辑器的三种工作模式

命令模式(Command mode)

命令模式下,所敲的按键编辑器都理解为命了,以命令驱动执行不同的功能。

此模型下,不能自由进行文本编辑。

输入模式(Insert mode)

也就是所谓的编辑模式。插入模式。

此模式下,可以对文件内容进行自由编辑。

底线命令模式(Last line mode)

以:开始,通常用于文件的保存、退出。

命令模式

用 以下命令编辑文件:

vi 文件路径
vim 文件路径

如果文件路径表示的文件不存在,那么此命令会创建一个新文件后编辑。

命令模式快捷键

编辑模式:

正常编辑,通过ESC回退到命令模式

底线命令模式

第三章Linux用户和权限

root用户

在Linux系统中,拥有最大权限的账户名为:root(超级管理员)

普通用户的权限,一般在其HOME目录内是不受限的

一旦出了HOME目录,大多数地方,普通用户仅有只读和执行权限,无修改权限。

su和exit命令

su(Switch User)命令就是用于账户切换的系统命令.

语法:

su [-] [用户名]
  • -符号是可选的,表示是否在切换用户后加载环境变量,建议带上
  • 参数:用户名,表示要切换的用户,用户名也可以省略,省略表示切换到root
  • 切换用户后,可以通过exit命令退回到上一个用户,也可以使用快捷键ctrl+d
  • 普通用户,切换到其他用户需要输密码;root切换到其他用户,无需密码。
sudo命令

在我们得知root密码的时候,可以通过su命令切换到root得到最大权限。

但是不建议长期使用root用户,避免带来系统损坏。

我们可以使用sudo命令,为普通的用户授权,临时以root身份执行。

语法:

sudo 其他命令

在其他命令之前,带上sudo,即可为这一用户临时赋予root授权。

但不是所有的用户,都有权利使用,我们需要为普通用户配置sudo认证。

为普通用户配置sudo认证
  • 切换到root用户,执行visudo命令,会自动通过vi编辑器打开:/etc/sudors
  • 在文件的最后添加:
    • 其中最后的NOPASSWD:ALL表示使用sudo命令,无需输入密码
  • 最后通过wq保存

切换回普通用户

用户和用户组

linux系统中可以:

  • 配置多个用户
  • 配置多个用户组
  • 用户可以加入多个用户组中

Linux中关于权限的管控级别有2个级别,分别是

  • 针对用户的权限控制
  • 针对用户组的权限控制
用户组管理

以下命令需root用户执行

创建用户组
groupadd 用户组名

删除用户组
groupdel 用户组名

用户管理

以下命令需root用户执行

创建用户
useradd [-g -d]用户名
    选项:-g指定用户的组,不指定-g,会创建同名组并自动加入,指定-g需要组已经存在,如存在同名组,必须使用-g
    选项:-d 指定用户HOME路径,不指定,HOME默认在:/home/用户名

删除用户
userdel [-r]用户名
    选项:-r,删除用户的HOME目录,不使用-r,删除用户时,HOMW目录保留

查看用户所属组
id[用户名]
    参数:用户名,被查看的用户,如果不提供则查看自身

修改用户所属组
usermod -aG [用户组] 
    参数:用户名,将指定用户加入指定用户组

getent

可以查看当前系统中有哪些用户

语法:

getent passwd

共有七份信息,分别是:

用户名:密码(x):用户ID:组ID:描述信息(无用):HOME目录:执行终端(默认bash)

使用getent命令,同样可以查看当前系统中有哪些用户组

语法:

getent group

包含3份信息,组名称:组认证(显示为X):组ID

认知权限信息

通过ls -l可以以列表形式查看内容,并显示权限细节

序号1,权限细节

分10个槽位

举例:drwxr-xr-x,表示

d表示这是一个文件夹,rwd表示所属用户权限是有r有w有d,r-x表示所属用户组的权限是有r无w有x,r-x表示其他用户权限是有r无w有x。

rwxchom

r表示读权限,w表示写权限,x表示执行权限

针对文件、文件夹的不同,rwx的含义有细微差别

  • r,针对文件可以查看文件内容
    • 针对文件夹,可以查看文件夹内容,如ls命令
  • w,针对文件表示可以修改此文件
    • 针对文件爱那几,可以在文件夹内:创建、删除、改名等操作
  • x,针对文件表示可以将文件作为程序执行
    • 针对文件节哀,表示可以更改工作目录到此文件夹,如cd进入
chmod命令

使用chomd命令,修改文件、文件夹的权限信息。

注意,只有文件、文件夹的所属用户或root用户可以修改。

语法:

chmod [-R]权限 文件或文件夹

选项:-R,对文件夹内的全部内容应用同样的操作。

除此之外,还有快捷写法:chmod 751 hello.txt -->将hello.txt的权限修改为751

权限的数字序号

权限可以用3为数字来表示,第一位数字表示用户权限,第二位数字表示用户组权限,第三位数字表示其他用户权限。

数字的细节如下:r记为4,w记为2,x记为1,可以有:

chown命令

可以修改文件、文件夹的所属用户和用户组

普通用户无法修改所属为其他用户或组,所以此命令只适用于root用户执行。

语法:

chown [-R] [用户] [:] [用户组] 文件或文件夹
  • 选项:-R,同chmod,对文件夹内全部应用相同的规则
  • 选项,用户,修改所属用户
  • 选项,用户组,修改所属用户
  • :用于分隔用户和用户组

第四章 Linux使用操作

常用快捷键

ctrl+c 强制停止

linux某些程序的运行,如果想要强制停止它,可以使用快捷键ctrl+c

命令输入错误,也可以通过快捷键ctrl+c,退出当前输入,重新输入

ctrl+d 退出或登出

可以退出账户的登录

或退出某些特定程序的专属界面

注:不能用于退出vi/vim编辑器

历史命令搜索

可以通过history命令,查看历史输入过的命令

可以通过:!命令前缀,自动的执行上一次匹配前缀的命令

命令匹配是从下往上匹配的,太久的命令不一定能匹配上

可以通过快捷键ctrl+r,输入内容去匹配历史命令

如果搜索到的内容是你需要的,那么:

回车键可直接执行;键盘左右键,可以得到此命令,进行修改

光标移动快捷键

ctrl+a ,跳到命令开头

ctrl+e,跳到命令结尾

ctrl+键盘左键,向左跳一个单词

ctrl+键盘右键,向右跳一个单词

清屏

通过快捷键ctrl+l,可以清空终端内容

或通过命令clear得到同样的效果。

linux系统软件安装

应用商店
yum命令

yum:RPM包软件管理器,用于自带哦哦哦那个花安装配置Linux软件,并可以自动解决依赖问题。

语法:

yum [-y] [install|remove|search] 软件名称

选项:-y,自动确认,无需手动确认安装或卸载过程

Install:安装;remove:卸载;search:搜索

yum命令需要root权限,可以su切换到root,或使用sudo提权

yum命令需要联网

systemctl命令

Linux系统很多软件(内置或第三方)均质池使用systemctl命令控制:启动、停止、开机自启动能够被systenctl管理的软件,一般也称之为:服务

语法:

systemctl start|stop|status|enable|disable 服务名

start 启动 ; stop 关闭 ; status 查看状态; enable 开启开机自启;disable 关闭开机自启

系统内置的服务比较多,比如:

NetworkManager,主网络服务

network,副网络服务

firewalled,防火墙服务

sshd,ssh服务(FinalShell远程登录linux使用的就是这个服务)

部分软件安装后没有自动集成到systemctl中,我们可以手动添加。

ln命令创建软连接

在系统中创建软拦截,可以将文件、文件夹链接到其它位置。

类似于windows系统中的《快捷方式》

语法:

ln -s 参数1 参数2
  • -s选项,创建软连接
  • 参数1:被链接的文件或文件夹
  • 参数2:要链接去的目的地
软连接的删除
rm -rf dre/ 会删除文件夹下的所有内容,但是没有删除这个链接
rm -rf dre 会删除这个软链接,不会删除下面的内容

date命令

通过date命令可以在命令行中查看系统的时间

语法:

date [-d] [+格式化字符串]
  • -d 按照给定的字符串显示日期,一般用于日期计算
  • 格式化字符串:通过特定的字符串标记,来控制显示的日期格式

使用date命令本体,无选项,直接查看时间

可以通过格式化字符串自定义显示格式

  • 按照2023-10-24的格式显示日期
  • 按照2023-10-24 12:00:00的格式显示日期--中间有空格,使用双引号包围格式化字符串,作为整体

-d选项,可以按照给定的字符串显示日期,一般用于日期计算

其中支持的时间标记为:

-d选项可以和格式化字符串配合一起使用

修改linux时区

系统默认时区为UTC

使用root权限,执行如下命令,修改时区为东八区时区

ntp程序

我们可以通过ntp程序自动校准系统时间

安装ntp:yum -y install ntp

启动并设置开机自启:

  • systemctl start ntpd
  • systemctl enable ntpd

当ntpd启动后会定期的帮助我们联网校准系统的时间

也可以手动校准(需要root权限):ntpdate -u ntp.aliyuun,com

IP地址

每一台联网的电脑都会有一个地址,用于和其他计算机进行通信。

IP地址有两个版本,v4和v6(v6很少用,课程暂不涉及)。

ipv4的地址格式是:a.b.c.d,其中abcd表示0~255的数字。

可以通过命令ifconfig,查看本机的ip地址,如果无法使用ifconfig命令,可以安装:yum -y install net-tools.

特殊ip地址

127.0.0.1,这个ip地址用于指代本机

0.0.0.0,特殊ip地址,可以用于指代本机;可以在端口中绑定中用来确定绑定关系;在一些ip地址限制中,表示所有ip的意思。

在linux中修改主机名

可以使用命令:hostname 查看主机名

可以使用命令:hostnamectl set-hostname 主机名,修改主机名(需root)

重新登录finalshell即可看到主机名已经正确显示

域名解析

实际上,我们一直都是通过字符化的地址去访问服务器,很少指定IP地址

比如,我们在浏览器内打开:www.baidu.com,会打开百度的网址

其中,www.baidu.com,是百度的网址,我们称之为:域名

配置主机名映射
为什么需要固定IP

当前我们虚拟机的Linux操作系统,其IP地址是通过DHCP服务获取的。

DHCP:动态获取IP地址,即每次重启设备后都会获取一次,可能导致IP地址频繁变更

原因1:办公电脑IP地址变化无所谓,但是我们要远程连接到Linux系统,如果IP地址经常变化我们就要频繁修改适配很麻烦。

原因2:在刚刚我们配置了虚拟机IP地址和主机名的映射,如果IP频繁更改,我们也需要频繁更新映射关系。

综上所述,我们需要IP地址固定下来,不要变化了。

在VMware Workstation中配置固定IP

配置固定IP需要2个大步骤:

1.在VMware Workstation(或Fusion)中配置IP地址网关和网段(IP地址的范围)

2.在Linux系统中手动修改配置文件,固定IP

ping命令

可以通过ping命令,检查指定的网络服务器是否是可联通状态

语法:

ping [-c num] ip或主机名
  • 选项:-c,检查的次数,不使用-c选项,将无限次数持续检查
  • 参数:ip或主机名,被检查的服务器的ip地址或主机名地址
wget

wget是非交互式的文件下载器,可以在命令行内下载网络文件

语法:

wget [-b] url
  • 选项:-b,可选,后台下载,会将日志写入到当前工作目录的wget-log文件
  • 参数:url,下载链接

注:无论是否下载完成,都会生成要下载的文件,请及时清理未下载完成的文件

curl

curl可以发送http网络请求,可用于:下载文件、获取信息等

语法:

curl [-O] url 
  • 选项:-O,用于下载文件,当url是下载链接时,可以使用此选项保存文件
  • 参数:url,要发起请求的网络地址
端口

端口,是设备与外界通讯交流的出入口。

端口可以分为:物理端口和虚拟端口两类

  • 物理端口:又可称之为接口,是可见的端口,如USB接口,RJ45网口,HDMI端口等
  • 虚拟端口:是指计算机内部的端口,是不可见的,是用来操作系统和外部进行交互使用的

计算机程序之间的通讯,通过IP只能锁定计算机,但是无法锁定具体的程序。

通过端口可以锁定计算机上具体的程序,确保程序之间进行沟通

IP地址相当于小区地址,在小区内可以有许多住户(程序)而门牌号(端口)就是各个住户(程序)的联系地址

Linux系统是一个超大号小区,可以支持65535个端口,这6万多个端口分为3类进行使用:

  • 公认端口:1~1023,通常用于一些系统内置或知名程序的预留使用,如SSH服务的22端口,HTTPS服务的443端口 非特殊需要,不要占用这个范围的端口
  • 注册端口:1024~49151,通常可以随意使用,用于松散的绑定一些程序\服务
  • 动态端口:49152~65535,通常不会固定绑定程序,而是当程序对外进行网络链接时,用于临时使用。
查看端口占用

可以通过Linux命令去查看端口的占用情况

nmap

使用nmap命令(不是系统自带的需要先安装),安装nmap:yum-y install nmap

  • 语法:

    nmap 被查看的IP地址
    
  • 22端口,一般是SSH服务使用,即FinalShell远程连接Linux所使用的端口

netstat

可以通过netstat命令,查看指定端口、进程的占用情况

语法:

netstat -anp | grep 端口号/进程号

,安装netstat:yum -y install net-tools

进程

程序运行在操作系统中,是被操作系统所管理的。

为管理运行的程序,每一个程序在运行的时候,便被操作系统注册为系统中的一个:进程

并会为每一个进程都分配一个独有的:进程ID(进程号)

查看进程

可以通过ps命令查看Linux系统中的进程信息

语法:

java 复制代码
ps [-e -f]
  • 选项:-e,显示出全部的进程
  • 选项:-f,以完全格式化的形式展示信息(展示全部信息)

一般来说,固定用法就是:ps -ef列出全部进程的全部信息

从左到右分别是:

  • UID:进程所属的用户ID
  • PID:进程的进程号D
  • PPID:进程的父ID(启动此进程的其它进程)
  • C:此进程的CPU占用率(百分比)
  • STIME:进程的启动时间
  • TTY:启动此进程的终端序号,如显示?,表示非终端启动
  • TIME:进程占用CPU的时间
  • CMD:进程对应的名称或启动路径或启动命令
查看指定进程

我们可以使用管道符配合grep来进行过滤,如:

ps -ef | grep tail,即可准确的找到tail命令的信息

过滤不仅仅过滤名称,进程号,用户ID等等,都可以被grep过滤

如:ps -ef | grep 30001,过滤带有30001关键字的进程信息(一般指代过滤30001进程号)

关闭进程

在Windows系统中,可以通过任务管理器选择进程后,点击结束进程从而关闭它。

同样,在Linux中,可以通过kill命令关闭进程。

语法:

kill [-9] 进程ID
  • 选项:-9,表示强制关闭进程。不使用此选项会向进程发送信号要求其关闭,但是否关闭看进程自身的处理机制。
查看系统资源占用

可以通过top命令查看CPU、内存使用情况,类似Windows的任务管理器

默认每5秒刷新一次,语法:直接输入top即可,按q或ctrl+c退出

top命令内容详解
top命令选项
top交互式选项
磁盘信息监控
df命令

可以查看硬盘的使用情况

语法:df [-h]

选项:-h,以更加人性化的单位显示

iostat

查看CPU、磁盘的相关信息

语法:iostat[-×][num1][num2]

选项:-x,显示更多信息

num1:数字,刷新间隔,num2:数字,刷新几次

网络状态监控

sar命令

查看网络的相关统计(sar命令非常复杂,这里仅简单用于统计网络)

语法:sar -n DEV num1 num2

选项:-n,查看网络,DEV表示查看网络接口

num1:刷新间隔(不填就查看一次结束),num2:查看次数(不填无限次数)

环境变量

环境变量是操作系统(Windows、Linux、Mac)在运行的时候,记录的一些关键性信息,用以辅助系统运行。

在Linux系统中执行:

env命令

即可查看当前系统中记录的环境变量

环境变量是一种Keyvalue型结构,即名称和值,如下图:

环境变量PATH
$符号

在Linux系统中,$符号被用于取"变量"的值。

环境变量记录的信息,除了给操作系统自己使用外,如果我们想要取用,也可以使用。

取得环境变量的值就可以通过语法:$环境变量名来取得

比如:echo $PATH

就可以取得PATH这个环境变量的值,并通过echo语句输出出来。

又或者:echo $(PATH}ABC

当和其它内容混合在一起的时候,可以通过{}来标注取的变量是谁

Linux环境变量

可以用户自行设置,其中分为:

  • 临时设置,语法:export变量名=变量值
  • 永久生效
    • 针对当前用户生效,配置在当前用户的: ~/bashrc文件中
    • 针对所有用户生效,配置在系统的: /etc/profile文件中

并通过语法:source 配置文件,进行立刻生效,或重新登录FinalShell生效

自定义环境变量PATH

环境变量PATH这个项目里面记录了系统执行命令的搜索路径。

这些搜索路径我们也可以自行添加到PATH中去。

测试:

  • 在当前HOME目录内创建文件夹,myenv,在文件夹内创建文件mkhaha
  • 通过vim编辑器,在mkhaha文件内填入:echo 哈哈哈哈哈

完成上述操作后,随意切换工作目录,执行mkhaha命令尝试一下,会发现无法执行

·修改PATH的值

临时修改PATH:export PATH=PATH** :/home/itheima/myenv,再次执行mkhaha,无论在哪里都能执 或将export PATH=**PATH:/home/itheimgnngzarn填入用户环境变量文件或系统环境变量文件中去

上传和下载

通过FinalShell工具(速度快)

,方便的和虚拟机进行数据交换。

在FinalShell软件的下方窗体中,提供了Linux的文件系统视图,可以方便的:

  • 浏览文件系统,找到合适的文件,右键点击下载,即可传输到本地电脑
  • 浏览文件系统,找到合适的目录,将本地电脑的文件拓展进入,即可方便的上传数据到Linux中
rz、sz命令(速度慢)

当然,除了通过FinalShell的下方窗体进行文件的传输以外,也可以通过rz、sz命令进行文件传输。

rz、sz命令需要安装,可以通过:yum-y install lrzsz,即可安装。

  • rz命令,进行上传,语法:直接输入rz即可
  • sz命令进行下载,语法:sz要下载的文件

压缩和解压缩

市面上有非常多的压缩格式

  • zip格式:Linux、Windows、MacOS,常用
  • 7zip:Windows系统常用
  • rar:Windows系统常用
  • tar:Linux、MacOS常用
  • gzip.:Linux、MacOS常用
tar命令

Linux和Mac系统常用有2种压缩格式,后缀名分别是:

  • .tar,称之为tarball,归档文件,即简单的将文件组装到一个.tar的文件内,并没有太多文件体积的减少,仅仅是简单 的封装 ·
  • gz,也常见为.tar.gz,gzip格式压缩文件,即使用gzip压缩算法将文件压缩到一个文件内,可以极大的减少压缩后的 体积

针对这两种格式,使用tar命令均可以进行压缩和解压缩的操作

语法:tar[-c -v -x -f -z -C] 参数1 参数2 ... 参数N

  • -c,创建压缩文件,用于压缩模式
  • -V,显示压缩、解压过程,用于查看进度
  • -x,解压模式
  • -f,要创建的文件,或要解压的文件,-f选项必须在所有选项中位置处于最后一个 -z,gzip模式,不使用
  • -z就是普通的tarball格式
  • -C,选择解压的目的地,用于解压模式
tar的压缩常用组合为
  • tar -cvf test.tar 1.txt 2.txt 3.txt

将1.txt2.txt 3.txt压缩到test.tar文件内

  • tar -zcvf test.tar.gz 1.txt 2.txt 3.txt

将1.txt 2.txt 3.txt压缩到test.tar.gz文件内,使用gzip模式

注意:

  • -z选项如果使用的话,一般处于选项位第一个
  • -f选项,必须在选项位最后一个
tar解压组合有
  • tar -xvf test.tar

解压test.tar,将文件解压至当前目录

  • tar -xvf test.tar -C /home/itheima

解压test.tar,将文件解压至指定目录(/home/itheima) ·

  • tar -zxvf test.tar.gz -C /home/itheima

以Gzip模式解压test.tar.gz,将文件解压至指定目录(/home/itheima)

注意

  • -f选项,必须在选项组合体的最后一位
  • -z选项,建议在开头位置
  • -C选项单独使用,和解压所需的其它参数分开

zip 命令压缩文件

可以使用zip命令,压缩文件为zip压缩包

语法:zip [-r] 参数1参数2....参数N

  • -r,被压缩的包含文件夹的时候,需要使用-r选项,和rm、cp等命令的-r效果一致

示例:

• zip test.zip a.txt b.txt c.txt

将a.txt b.txt c.txt压缩到test.zip文件内

• zip -r test.zip test itheima a.txt

将test、itheima两个文件夹和a.txt文件,压缩到test.zip文件内

unzip 命令解压文件

使用unzip命令,可以方便的解压zip压缩包

语法: unzip [-d] 参数

  • -d,指定要解压去的位置,同tar的-C选项 ·
  • 参数,被解压的zip压缩包文件

示例:

  • unzip test.zip,

将test.zip解压到当前目录

  • unzip test.zip -d /home/itheima,

将test.zip解压到指定文件夹内(/home/itheima)

注:解压时要注意同名文件会被覆盖

相关推荐
love_and_hope6 分钟前
Pytorch学习--神经网络--搭建小实战(手撕CIFAR 10 model structure)和 Sequential 的使用
人工智能·pytorch·python·深度学习·学习
Chef_Chen9 分钟前
从0开始学习机器学习--Day14--如何优化神经网络的代价函数
神经网络·学习·机器学习
芊寻(嵌入式)19 分钟前
C转C++学习笔记--基础知识摘录总结
开发语言·c++·笔记·学习
荒Huang25 分钟前
Linux挖矿病毒(kswapd0进程使cpu爆满)
linux·运维·服务器
hong1616881 小时前
跨模态对齐与跨领域学习
学习
阿伟来咯~2 小时前
记录学习react的一些内容
javascript·学习·react.js
Suckerbin2 小时前
Hms?: 1渗透测试
学习·安全·网络安全
水豚AI课代表2 小时前
分析报告、调研报告、工作方案等的提示词
大数据·人工智能·学习·chatgpt·aigc
聪明的墨菲特i2 小时前
Python爬虫学习
爬虫·python·学习
hjjdebug2 小时前
linux 下 signal() 函数的用法,信号类型在哪里定义的?
linux·signal