【Linux】Linux学习笔记

Linux学习笔记

文章目录

  • Linux学习笔记
    • 第一章:初识Linux
      • 1.1 硬件,软件与操作系统
      • 1.2 Linux组成
      • 1.3 Linux系统安装
      • 1.4 WSL
      • 1.5 虚拟机快照
    • 第二章:Linux基础命令
      • 2.1 Linux目录结构
      • 2.2 Linux系统路径的描述方式
      • 2.3 命令行与命令
      • 2.4 Home目录与当前工作目录
      • 2.5 **相对路径,绝对路径与特殊路径符**
      • 2.6 Linux基础命令
        • Linux命令基础格式:
        • ls命令
        • cd命令
        • pwd 命令
        • mkdir命令
        • 文件操作命令
          • touch命令
          • cat命令
          • more命令
          • cp命令
          • mv命令
          • rm命令
        • 查找命令
          • which命令
          • find命令 按名称搜索
          • find命令 按文件大小搜索
          • grep命令
          • wc命令
          • 管道符 |
          • echo命令
          • 重定向符号
          • tail命令
    • 第三章 vim编辑器
      • 3.1 命令模式
      • 3.2 输入模式
      • 3.3 底线命令模式
      • 3.4 常用命令
        • 3.4.1 命令模式
        • 3.4.2 底线命令模式:
    • 第四章 Linux系统权限
      • 4.1 root用户
      • 4.2 su命令
      • 4.3 sudo
      • 4.4 Linux 权限管控
        • 4.4.1 用户组管理
        • 4.4.2 用户管理
        • 4.4.3 getent命令
        • 4.4.4 文件权限
          • chmod命令
          • chown命令
    • 第五章 使用技巧
      • 5.1 快捷键
      • 5.2 安装软件
        • yum命令【适用于centos系统,安装的是.rpm程序】
        • apt命令【适用于Ubuntu系统,安装的是.deb程序】
      • 5.3 systemctl 命令
      • 5.4 软链接
      • 5.5 时间
        • date命令
        • 修改Linux系统的时区
        • npt程序
      • 5.6 IP地址
        • IP地址
        • 特殊IP地址
        • 主机名
        • 配置主机名映射
        • 固定IP地址
        • ping命令
        • wget命令
        • curl命令
        • 端口
        • 进程
        • ps命令
        • 关闭进程
      • 5.6 主机状态
        • 查看系统资源占用
          • df命令
          • iostat命令
        • 网络状态监控
          • sar命令
        • 环境变量
          • env命令
          • $符号
          • 自行设置环境变量
          • rz,sz命令
          • 压缩/解压缩
          • zip命令
          • unzip命令

第一章:初识Linux

1.1 硬件,软件与操作系统

  1. 硬件:计算机系统中由电子,机械,和光电元件等组成的各种物理装置的总称;
  2. 软件:是用户和计算机硬件之间的接口和桥梁,用户通过软件和计算机交流,而操作系统为软件的一类;
  3. 操作系统:计算机软件的一种。作为用户和计算机硬件之间的桥梁,调度和管理计算机硬件进行工作;

常见的操作系统:

  • PC: Windows,Linux,Mac Os;
  • 移动端:Android,ios,鸿蒙;

1.2 Linux组成

Linux系统由以下两部分组成:

  • Linux系统内核;
  • 系统级应用程序;

内核提供最核心的功能,如调度cpu,调度内存,调度文件系统,调度网络通讯,调度IO等系统级应用程序,可以理解为出厂自带程序,可供用户快速上手操作系统;

【Linux】Linux学习笔记_第1张图片

Linux系统内核是开源的,项目源码:The Linux Kernel Archives

由此推理,这意味着厂商只需集成自己的系统级别的应用程序便可推出自己的Linux发行版,常见的Linux系统如Ubuntu,CentOS等便是这样发行出来的;

1.3 Linux系统安装

请自行安装你想要的linux操作系统。

Ubuntu系统安装:VMware虚拟机安装Ubuntu20.04详细图文教程_ubuntu安装教程_好像很好吃的博客-CSDN博客

CentOS系统安装:CentOS7(Linux)详细安装教程(图文详解)_centos7安装_缄默.ńī給の傷的博客-CSDN博客

1.4 WSL

windows subsystem for Linux.是用于windows系统之中的Linux子系统,可以在windows系统之上的Linux系统中,获得Linux系统环境,并完全直连计算机硬件,直接使用主机的物理硬件,构建Linux操作系统,并且并不会影响windows系统的运行。WSL是windows自带功能,需要开启,无需下载。
WSL部署方法:部署WSL

1.5 虚拟机快照

在学习阶段很有可能由于误操作损坏当前系统,可以通过快照将当前虚拟机的状态保存下来,在以后可以通过快照恢复虚拟机保存的状态。该操作在关机状态下保存快照效率较高。
Linux系统快照使用方法

第二章:Linux基础命令

2.1 Linux目录结构

和windows一样,Linux的目录结构为树形结构,windows系统可以有多个盘符,但是在linux中没有盘符这个概念,只有一个根目录:/,所有文件都在它下面。也就是说windows中可以有多个盘符,继而可以有很多树,但是在linux系统中只有一棵树。

2.2 Linux系统路径的描述方式

  • 在Linux系统中路径之间的层级关系使用:/来表示;开头的/为根目录,后面的/为层级关系。
  • 在windows系统中路径之间的层级关系使用:\来表示;

2.3 命令行与命令

  • 命令行:即Linux终端,是一种命令提示符界面,以纯字符的形式操作系统,可以使用各种字符化命令对系统发作操作指令;
  • 命令:即Linux程序,一个命令就是一个linux程序,命令没有图形化界面,可以在命令行终端中提供字符化的反馈;

2.4 Home目录与当前工作目录

  • Home目录:每个Linux操作用户在linux系统的个人帐户目录,路径在/home/用户名。
  • 当前工作目录:Linux命令行终端在启动的时候默认会加载当前登陆用户的Home目录作为当前工作目录,所以ls命令列出的是Home目录的内容

2.5 相对路径,绝对路径与特殊路径符

  • 绝对路径:以根目录为起点,描述路径的一般写法,路径描述以/开头;
  • 相对路径:以当前目录为起点,描述路径的一种写法,亩经描述无需以/开头;
  • 特殊路径符:
    • . :表示当前目录;
    • … :表示上一级目录;
    • ~ :表示Home目录;

2.6 Linux基础命令

Linux命令基础格式:

command [-options] [-parameters]

  • command :命令本身 ;
  • options :可选选项,可以通过选项控制命令的行为细节;
  • parameter :可选参数,多数用于命令的指向目标等;

示例:

ls -l /home/user

以列表的形式,显示/home/user目录中的内容;

cp -r test1 test2

复制文件夹test1成为test2

ls命令

作用: 列出目录下的内容。

ls [-a -l -h] [linux路径]

-a -l -h 为可选参数

  • -a : all,列出所有文件,包括隐藏文件与文件夹;以.开头的为Linux系统的隐藏文件与文件夹。
  • -l : list 以列表竖向排列的形式展示内容,并展示更多信息;
  • -h : 以便于阅读的方式,列出文件的大小,该选项必须要搭配-l一起使用

[linux路径] 是此命令可选的参数。如果不使用选项和参数,直接使用ls命令本体,表示以平铺形式,列出当前工作目录下的内容

cd命令

作用: 切换目录。 change directory

cd [Linux路径]

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

pwd 命令

作用: 查看当前工作目录。 print work directory
无选项,无参数;

mkdir命令

作用: 通过mkdir命令可以创建新的目录。Make Directory

mkdir [-p] linux路径

-p 可选,表示自动创建不存在的父目录,适用于创建连续多层级的目录;

文件操作命令

touch命令

作用: 创建文件

touch Linux路径/文件

touch命令无选项,参数必填,表示要创建的文件路径,相对,绝对,特殊路径符均可以使用;

cat命令

作用: 查看文件内容

cat Linux路径/文件

cat同样没有选项,只有必填参数,参数表示:被查看的文件路径,相对,绝对,特殊路径等都可以使用;

more命令

作用: 查看文件内容
与cat不同的是:cat是直接将内容全部显示出来,more支持翻页,如果文件内容过多,可以一页一页的展示;空格翻页,q退出;

more Linux路径

同样没有选项,只有必填参数,参数表示:被查看的文件路径,相对,绝对,特殊路径等都可以使用;

cp命令

作用: 复制文件或者文件夹,cp来源于英文单词copy

cp [-r] 参数1,参数2

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

mv命令

作用: 移动文件或者文件夹,mv来源于英文单词move

mv 参数1,参数2

参数1,Linux路径,表示被移动的文件或文件夹;
参数2,Linux路径,表示要移动去的地方;
如果参数2和参数1的文件名不一致,则表明移动并改名;

rm命令

删除文件或者文件夹,rm来源于英文单词remove

rm [-r -f] 参数1,参数2...参数n

-r :用于删除文件夹
-f : force,强制删除不提示。
参数表示要删除的文件或文件夹,空格隔开;
【普通用户删除内容不会弹出提示,只有root用户删除内容会有提示;所以一般普通用户用不到-f选项。这里普通用户的权限实际上是提前设置好的,也就是默认是安全的,但是root用户的权限太高了,容易发生误操作,因此root用户删除文件的时候会有提示】

rm命令支持通配符*

  • test*:表示以test开头的任意内容;
  • *test:表示以test结尾的任意内容;
  • test:表示含有test的任意内容;

su - root 临时切换用户;
exit命令退回普通用户;

查找命令

which命令

作用: 查找命令的位置,只针对于命令;
前面提到所有的命令的本质实际上都是一个linux程序,那么如何找到这些程序的位置呢?这里就可以用到which

which 要查找的命令
find命令 按名称搜索

作用: 搜索指定文件

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

find / -name “test”

find命令 按文件大小搜索

作用: 搜索指定文件

find 起始路径 -size +|-[kMG]
  • +,- :表示大于小于;
  • n:表示大小数字
  • kMG表示大小单位,k(小写)表示kb,M表示MB,G表示GB;

示例:

  1. 查找小于10kb的文件:find / -size-10k
  2. 查找大于100M的文件:find / -size+100M
  3. 查找大于1G的文件:find / -size+1G
grep命令

作用: 从文件中通过关键字过滤文件行

grep [-n] 关键字 文件路径

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

wc命令

作用: 数量统计,可以通过wc命令统计文件的行数,单词数量等;

wc [-c -m -l -w ] 文件路径

-c : 统计bytes数量
-m : 统计字符数量
-l : 统计行数
-w : 统计单词数量
文件路径:被统计的文件,可作为内容输入端口;

管道符 |

将管道符左边命令的结果,作为右边命令的输入
ls | grep test
ls -l /usr/bin | wc -l

echo命令
echo 要输出的内容

建议使用双引号将其括起来。
‘’的作用为:被其括起来的内容会被当作命令去执行;
echo ‘pwd’
输出pwd执行后的内容;

重定向符号

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

  • echo “Welcome” >> haha.txt;
  • echo “Welcome1” > haha.txt;//再次执行,覆盖新内容
  • echo “Welcom2” >> haha.txt;//再次执行,追加新内容
tail命令

作用: 查看文件尾部内容,跟踪文件的最新更改;

tail [-f -num] Linux路径

-f,表示持续跟踪;
-num,表示查看尾部多少行,默认为10行;
这里的-f指持续的跟踪:
tail -f -10 1.txt
如果使用了-f这里会输出1.txt文件的最后10行,但是不会停止,如果另外开一个终端,修改1.txt的内容,此时,最后10行的数据会发生变化,即持续追踪效果。终止追踪为ctrl c.

第三章 vim编辑器

visual interface,vim 是 vi 的加强版,兼容所有命令,不仅能编辑文本,而且还具有shell程序编辑的功能。

3.1 命令模式

命令模式下,所敲的按键,编辑其都认为其为命令,以命令驱动执行不同的功能。此模型下不能自由进行文本编辑;

3.2 输入模式

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

3.3 底线命令模式

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

3.4 常用命令

3.4.1 命令模式

vi 文件路径

作用: 如果文件存在,此命令用于编辑新文件;如果文件不存在,此命令用于编辑已有文件;

/ 进入搜索模式
n 向下继续搜索
N 向上自动搜索
dd 删除光标所在行
ndd n是数字,删除当前光标向下几行
yy 复制当前行
nyy n是数字,复制当前行和下面几行
p 粘贴复制的内容
u 撤销修改
ctrl +r 反向撤销修改
gg 跳到首行
G 跳到行尾

3.4.2 底线命令模式:

wq 保存并退出
q 仅退出
q! 强制退出
w 仅保存
set nu 显示行号
set paste 设置粘贴模式

第四章 Linux系统权限

4.1 root用户

超级管理员,拥有最大权限的用户;
普通用户的权限,一般在其HOME目录内是不受限的,一旦出了Home目录,大多数地方,普通用户仅有只读和执行权限,无修改权限;

4.2 su命令

**作用:**用户账户切换,switch user

su [-] [用户名]

-:可选,表示切换用户后加载环境变量,建议带上;
用户名 :可以省略,表示root用户;
切换用户后,可以通过exit命令退回上一个用户,也可以使用快捷键ctrl + d;
普通用户切换账户需要密码,但是root用户不需要密码;

4.3 sudo

sudo:临时获得root权限;但并不是所有用户都可以使用sudo,我们需要为普通用户配置sudo认证;
如何配置:
切换到root用户,执行:

visudo

会自动通过vi编辑器打开/etc/sudoers
在文件的最后添加:

用户名 ALL=(ALL) NOPASSWD:ALL

编辑完之后进行保存即可;

4.4 Linux 权限管控

Linux系统中可以:

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

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

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

比如:针对某个文件,可以控制用户的权限,也可以控制用户组的权限;

4.4.1 用户组管理

以下命令需root用户执行
创建用户组 : groupadd 用户组名
删除用户组: groupdel 用户组名

4.4.2 用户管理

以下命令需root用户执行

创建用户:useradd[-g,-d] 用户组名;

-g : 指定用户的组,如果不指定,则会创建同名组并自动加入;指定-g需要用户组已经存在,如果已经存在同名用户组,则必须使用-g;
-d : 指定用户Home路径,不指定,Home目录默认在:/home/用户名;

删除用户: userdel [-r] 用户名;

-r:删除用户的Home目录;如果不使用-r,则删除用户时,Home目录保留;

查看用户所属组:id 用户名
修改用户所属组: usermod -aG 用户组 用户名,将指定用户加入指定用户组;

4.4.3 getent命令

作用: 查看当前系统中有哪些用户

getent paddwd 查看用户信息
getent group 查看用户组信息

结果中共有7份信息,分别是:用户名:密码:用户Id:用户组id:HOME目录,执行终端,默认bash;

4.4.4 文件权限

通过ls -l 可以以列表形式查看内容,并显示细节;
【Linux】Linux学习笔记_第2张图片

  • 第一列,表示文件或者文件夹的权限控制信息;
  • root列,表示文件,文件夹的所属用户;
  • 第二个root列,表示文件,文件夹所属用户组;

权限细节一共有10个槽位:

第一个槽位表示文件类型:

  • -表示文件;
  • d表示文件夹;
  • l表示软链接;

后面3个代表所属用户权限;再后面3个表示用户组权限,再后面3个表示其它用户权限;

举例:drwxr-xr-x

首字母d表示这是一个文件夹;所属用户的权限:rwx;所属用户组的权限:r-x;其它用户的权限:r-x;

  • r:read 读权限
  • w:write 写权限
  • x:execute 执行权限
chmod命令

作用: 修改文件,文件夹的权限信息;

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

-R: 递归执行,对文件夹内所有内容执行同样的操作;

权限可以写数字,也可以:

chmod u=wx,g=rx,o=x hello.txt

其中:u表示user所属用户权限,g表示group组权限,o表示other其他用户权限;

chown命令

使用chown命令,可以修改文件,文件夹的所属用户和用户组。此命令只有root用户才能执行。

chown [-R] [用户] [:] [用户组] 文件或文件夹

-R :同chmod,对文件夹内全部内容应用相同规则;

示例:

  • chowm root hello.txt 将hello.txt所属用户修改为root;
  • chown :root hello.txt 将hello.txt所属用户组修改为root;
  • chown root:itgeima hello.txt 将hello.txt所属用户修改为root,用户组修改为itheima;
  • chown -R root test 将文件夹test的所属用户修改为root并对文件夹内全部内容应用同样规则;

第五章 使用技巧

5.1 快捷键

ctrl + c 强制停止;

ctrl + d 登出或退出;

history 历史命令;

ctrl + a :跳到命令开头;

ctrl + e : 跳到命令结尾;

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

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

ctrl + l :清屏

5.2 安装软件

yum命令【适用于centos系统,安装的是.rpm程序】

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

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

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

install : 安装

remove: 卸载

search : 搜索

yum search wget;

apt命令【适用于Ubuntu系统,安装的是.deb程序】

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

使用方法跟yum一样。

5.3 systemctl 命令

Linux系统很多软件均支持使用systemctl命令控制:启动,停止,和开机启动。能够被systemctl管理的软件,一般也称其为服务;

systemctl start | stop |  status  |  enable  |  disable   服务名
  • start :启动
  • stop :关闭
  • status:查看状态
  • enable :开启开机自启
  • disable: 关闭开机自启

除了内置的服务,部分第三方服务安装后会自动启程到systemctl中,因此也可以通过systemctl控制第三方服务

比如:安装第三方服务:

yum install -y ntp

安装成功后,该服务会自动注册自己为系统服务,并且服务名为软件名+d,于是,可以这样控制其自启动:

systemctl enable ntpd;

也有一些软件安装后不会自动集成进systemctl中,我们可以手动添加。

5.4 软链接

ln命令创建软链接

在系统中创建软链接,可以将文件,文件夹链接到其它位置。类似Windows中的快捷方式。

ln -s 参数1 参数2

-s : 创建软链接

参数1 : 被链接的文件或文件夹

参数2: 要链接去的地方;

5.5 时间

date命令

查看系统时间

date [-d]  [+格式化的字符串]

-d : 按照给定的字符串显示日期,一般用作日期计算

格式化字符串:%Y 年

  • %y年份后保留两位数字
  • %M月份
  • %d日
  • %H小时
  • %M分钟
  • %S秒
  • %s 自1970年1月1日到现在的秒数

date “+%Y-%M-%d %H-%M-%S”

date -d “+1 day” +%Y-%M-%d %H-%M-%S" //显示后一天的日期

date -d “+1 month” +%Y-%M-%d %H-%M-%S" //显示后一个月的日期

date -d “+1 year” +%Y-%M-%d %H-%M-%S"//显示一年后的日期

修改Linux系统的时区

实际应该东八区

使用root权限:

rm -f /etc/localtime

sudo ln -s /usr/share/zoneinfo/Asia/Shanghai  /etc/localtime

将系统自带的localtime文件删除,并将 /usr/share/zoneinfo/Asia/Shanghai 链接为localtime

npt程序

自动校准系统时间

安装npt:

yum -y install ntp

启动并设置开机自启:

systemctl shart ntpd

systemctl enable ntpd

当ntp程序自动启动后会帮助我们校准系统时间;

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

5.6 IP地址

IP地址

每一台联网的电脑都会有一个地址,用于和其他计算机进行通讯。IP地址主要有2个版本,v4版本和v6版本,v4版本的地址格式是:

a.b.c.d

其中abcd都是0-255的数字,如192.168.88.101就是一个IP地址。

通过ifconfig命令查看本机的IP地址;

特殊IP地址

127.0.0.1 这个IP地址用于指代本机;

0.0.0.0 可以用于指代本机;可以在端口绑定中用来确定绑定关系;在一些IP地址限制中,表示所有IP的意思:如放行规则设置为0.0.0.0,表示允许任意IP访问;

主机名

每一台电脑除了IP地址以外,也可以有一个名字,称之为主机名

查看主机名:hostname

修改主机名:hostnamectl set-hostname 新主机名

域名解析

IP地址实际上是非常难记的,那么就要想一个办法使得这种记忆变得简单一些,而日常生活中,我们也正是这么用的:www.baidu.com 是百度的域名,也就是这个ip地址的映射。
【Linux】Linux学习笔记_第3张图片
即:先查看本机的记录(私人地址本)

  • Windows系统:C:\Windows\System32\drivers\etc\hosts
  • Linux系统:/etc/hosts

如果没有,再联网去公共的DNS服务器查找。

配置主机名映射

比如我们连接远程主机是通过ip地址连接的,那么有没有可能通过域名(主机名)连接?

可以,我们只需要在Windows系统的C:\Windows\System32\drivers\etc\hosts文件配置记录即可。

固定IP地址

为什么需要固定ip地址?

我们Linux操作系统的IP地址是通过DHCP服务获取的,DHCP:动态获取ip地址即每次重启设备后都会获取一次,可能导致ip地址频繁变更。

ping命令

检查指定的网络服务器是否是可连通状态

ping [-c num] ip或主机名

选项:-c ,检查的次数,不使用-c选项,将无限次数持续检查;

参数:ip或主机名,被检查的服务器的ip地址或主机名地址。

wget命令

非交互式的文件下载器,可以在命令行中下载网络文件;

wget [-b] url

选项: -b , 可选,后台下载 ,会将日志写入到当前工作目录的wget-log文件

参数:url,下载链接

curl命令

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

curl [-O] url

-O: 用于下载文件,当url是下载链接时,可以使用此选项保存文件;

curl cip.cc

此命令作用跟浏览器的地址栏一模一样。

端口

端口,是设备与外界通讯交流的出入口,端口可以分为:物理端口和虚拟端口两类;

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

我们知道:两台电脑可以通过ip地址找到对方;但是电脑A中的qq如何和电脑B中的qq进行通信呢?只靠ip地址仅仅能找到对方电脑,通过端口才能找到某一个具体的程序;

Linux系统中有65535个端口,这些端口被划分为三类:

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

查看端口占用

使用nmap命令,安装:yum -y install nmap

nmap 被查看的ip地址

namp 127.0.0.1

使用netstat命令,查看指定端口的占用情况。安装:yum -y install net-tools

语法:netstat -anp|grep 端口号

进程

程序运行在操作系统中,被操作系统所管理,而为了管理运行的程序,每个程序在运行时,都被操作系统注册为系统中的一个进程,并会为每一个进程都分配一个独有的进程ID(进程号)。

ps命令

查看Linux系统中的进程信息

ps [-e -f]
  • -e: 显示所有进程;
  • -f : 格式化输出信息;

uid:进程所属用户ID

pid:进程号

ppid:进程的父id(启动此进程的其他进程)

C:此进程的cpu占用率

STIME:进程的启动时间;

TTY:启动此进程的终端序号,?表示非终端启动

TIME:进程占用cpu的时间

CMD: 进程对应的名称或启动路径或启动命令;

关闭进程

kill [-9] 进程id
  • -9:强制关闭。如果不使用此选项会向进程发送信号要求其关闭,但是是否关闭看进程自身的处理机制;

5.6 主机状态

查看系统资源占用

可以通过top命令查看CPU,内存使用情况,类似任务管理器,该信息每隔5秒刷新一次;

top 

top -p num //显示某个具体的进程

第一行:

 - top - 14:39:58  up 6 min , 2 users, load average: 0.06, 0.17, 0.13
  • top:命令名称;
  • 14:38:58:当前系统时间;
  • up 6 min:启动了6min;
  • 2 users:2个用户登录;
  • load average:1分钟,5分钟,15分钟平均负载。如果为1代表1颗cpu100%繁忙,如果为4代表4颗cpu百分百繁忙;

第二行:

  Tasks: 175 total, 1 running,174 sleeping, 0 stopped, 0 zombie;
  • Tasks:175个进程;
  • 1 running:1个子进程在运行;
  • 174 sleeping: 174个进程在睡眠;
  • 0 stopped: 0个停止进程;
  • 0 zombie: 0个僵尸进程

第三行:

%Cpu(s): 0.3us,  1.4sy,  0.0 ni, 98.3 id, 0.0 wa, 0.0 hi,  0.0si,  0.0st
  • %Cpu(s) : cpu占用率
  • us : 用户cpu占用率;
  • sy : 系统cpu占用率;
  • ni : 高优先级进程占用CPU时间百分比;
  • id : 空闲cpu率;
  • wa : IO等待cpu占用率;
  • hi:CPU硬件中断率;
  • si : cpu软件中断率;
  • st : 强制等待占用CPU率;

第四五行:

Kib MEM:物理内存,KibSwap :虚拟内存,total 总量,free 空闲,used 使用,buff/cache占用

df命令

作用: 磁盘信息监控,查看磁盘的使用情况;

 df [-h]

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

iostat命令

作用: 查看cpu,磁盘速率的相关信息;

iostat [-X] [num1] [num2]
  • 选项: -X,显示更多信息
  • num1: 数字,刷新间隔;
  • num2: 数字,刷新多少次
  • num1秒刷新一次,一共刷新num2次;

网络状态监控

sar命令

作用: 查看网络相关统计

sar -n DEV num1 num2

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

num1:刷新间隔(不填就查看一次结束)

num2:查看次数(不填就查看无限次数)

环境变量

前面说过,每个Linux命令都是一个程序,那么为什么无论当前工作目录在哪里,都能执行/usr/bin/cd这个程序呢?这就是环境变量的效果。这个就是借助环境变量中PATH这个项目的值来做到的。

环境变量是操作系统在运行的时候,记录的一些关键性信息,用以辅助系统运行。环境变量是一种KeyValue型结构,即名称和值

env命令

作用: 查看当前系统中的环境变量

env | grep PATH
$符号

作用: 在Linux系统中,$符号被用来取“变量的”值。

环境变量中记录的信息,除了给操作系统自己使用之外,也可以被我们所用

echo $PATH

echo ${PATH}/ABC
自行设置环境变量
  • 临时设置: export 变量名=变量值
  • 永久生效:

针对当前用户生效,配置在当前用户的 ~/bashrc文件中;

针对所有用户生效,配置在系统的 /etc/profile文件中;

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

可以自己写一个小程序,然后将路径添加进环境变量,这样就可以在任何地方进行运行。

rz,sz命令

作用: 进行文件传输

安装: yum -y install lrzsz

rz 上传,直接输入rz即可

sz 下载,后跟需要下载的文件;

文件会自动下载到桌面的fsdownload文件夹中;

压缩/解压缩

Linux系统中常用的有两种压缩格式,后缀名分别是:

.tar,称之为tarball,归档文件,即简单的文件组装到一个tar文件内,并没有太多文件体积的减少;

.gz,即使用gzip压缩算法压缩到一个文件内,可以极大的减少压缩后的体积;

tar [-c  -v  -x  -f  -z  -C]  参数1,参数2...参数n
-c 创建压缩文件,用于压缩模式
-v 显示压缩解压过程,用于查看进度
-x 解压模式
-f 要创建或解压的文件,-f选项必须在所有选项中位置处于最后一个
-z gzip模式,不使用-z就是普通的tarball格式
-C 选择解压的目的地,用于解压模式

示例:

压缩:

tar -cvf test.tar 1.txt 2.txt 将后两个文件压缩进前面的压缩包

tar -zcvf test.tar.gz 1.txt 2.txt 同上,指定使用gzip模式

-z一般处于第一个位置;-f选项,必须在选项位的最后一个;

解压:

tar -xvf test.tar

tar -xvf test.tar -C /home/it

tar -zxvf test.tar.gz 解压.tar.gz文件
zip命令

作用: 压缩文件

zip [-r] 参数1 参数2…

-r: 被压缩的包含文件夹的时候递归压缩

unzip命令

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

语法:unzip [-d] 参数

-d 指定要解压去的位置,同tar的-C一样

参数,被解压的zip压缩包文件

你可能感兴趣的:(Ubuntu,linux,学习,笔记)