LINUX(自用)

Linux前步骤

远程链接linux系统

因为图形化界面并不是很好用,所以我们通常使用的就是命令行,

我们通过finalShell进行链接 到linux操作系统

进行链接虚拟机
  • 打开虚拟机,并登录->桌面位置鼠标右键->选择最后一个进行打开终端->输入ifconfig

    • ens33->inet有个地址就会是我们虚拟机的ip地址了

  • 回到finashell软件->左上角文件夹->白色小+号->ssh链接->主机就是ip地址->其余填完就可,端口先不管

  • 链接处进行双击

  • 输入ls验证vm跟finalshell结果是否一致

  • 然后vm使他最小化,不要进行关闭

有时候虚拟机经过重启或者关机之后,ip地址会改变,当我们发现链接不上的时候,->重述上述步骤之后,获得相关的ip地址,然后再店家白色文件夹,右边小齿轮,然后进行ip地址的更改,让ip地址进行一致

拓展:安装ubuntu

传统方式

通过VMware进行安装完整的虚拟机

通过使用WSL

优点:方便,轻量化

可以在win系统中直接获得linux系统,并且直连计算机硬件,不需要通过虚拟机虚拟硬件

  • 进行开启 win图标->点开右键->应用和功能->右上角程序和功能->启用或关闭Windows功能->适用于linux的windows子系统打开->重启

  • 进行安装->微软商店->搜索ubuntu

  • 安装之后->里面提示我们创建用户名和密码

安装windows terminal软件

因为ubuntu自带的终端窗口不好用户,所以使用这个

  • 下载安装好之后,选择右上角的三角-->选择ubuntu

  • 再次选择三角,点击设置,把默认配置文件改成ubuntu

linux命令

ctrl+l可以进行清屏

tab键可以补完代码

ctrl+c可以中断程序的执行

有时候命令执行不了,请输入大写

linux的目录结构

只有一个根目录/,所有的文件都在这个下面

  • 在win中D:\data这样子进行表示

  • 在linux系统中我们使用/进行表示 /user/local 第一个斜杠表示的是根目录

  • 根目录包含home文件夹

命令基础

命令行:即linux终端,是一种命令提示符 页面

命令:linux程序,一个命令就是一个linux程序

格式
command [-options] [parameter]

命令本身 [里面,可选非必填],进行书写的时候,括号不用写出来

ls -l /home/text

ls是命令本身,-l是选项,最后是路径.以列表的方式显示该路径下的内容(参数)

cp -r test1 test2

复制文件夹test1成为test2 (test1,tset2就是参数)

ls命令:列出目录下的内容

作用: 列出目录下的内容

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

不适用选项时,命令本体:以平铺形式,列出当前工作目录下的内容

  • 当前工作目录就是home文件夹路径下(实际路径是/home/用户名)

ls命令的参数

当参数不写出的时候,默认就是home目录

使用参数就可以指定一个linux路径,列出指定路径内容

选项
  • -a :表示 all 的意思,列出全部文件()包含隐藏文件

    • 目录前面带一个.就代表是隐藏文件(只有-a的时候才显示)

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

    • 展示的内容为 权限 用户和用户组 大小 创建时间 文件名称

  • -h 表示以易于阅读的形式,列出文件大小,如K,M,G(单位)

组合使用命令

语法中的选项是可以进行组合使用的

  • ls -l -a

  • ls -la

  • ls -al

三种写法的作用是一样的,都是同时应用-l和-

a的功能

目录切换-cd -pwd 指令

cd命令 change directory
cd [路径] 更改当前所在的工作目录
  • 没有选项,接上参数,就直接切换到该目录下面

  • cd不写参数时,回到home目录下

pwd 查看当前工作目录

用来验证当前的工作目录

  • 直接输入psd命令 无选项 无参数,直接输入pwd即可

相对路径和绝对路径

转到某一文件

  • 绝对路径:可以 cd/home/用户名/文件夹 要以根目录为起点

  • 相对路径:cd 文件夹

特殊路径符
  • . 表示当前目录(帮忙省略了好多东西) cd./Desktop=cd Desktop

  • .. 表示上一级目录 cd../.. 退两级

  • ~ 表示home目录 cd~就可以换到home 或cd~/Desktop就可以切换到Desktop

在当前工作目录上有一个test文件夹,文件夹内有一个文件hello.txt

../test/hello.txt

创建目录命令

mkdir (make directory) 创建新的目录(文件夹)

mkdir [-p] 路径

  • 参数必填,表示linux的路径,就是要进行创建文件夹的路径,相对路劲,绝对路径都可以

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

    • 就是比如说一串链接都是要进行创建的就可以使用-p

注意

创建文件需要修改权限,为了确保操作均要在home目录内,不要在home外进行创建

文件操作命令

touch命令创建文件(不是文件夹)

touch 路径/后面就是创建的文件名

无选项,参数必填.

  • 文件夹是蓝色的,文件是白色的

  • 用ls -l 表示时,第一个字母是d就是文件夹,- 就是文件

cat 命令查看文件内容

cat linux路径

无选项,必填参数,相对,绝对,特殊;路径都可以使用

  • 编辑内容,需要用到编辑器

  • 直接就输出创建的文件里面进行编写的拿一个内容

more 命令查看文件

more linux路径

没有选项,必填参数,相对,绝对,特殊;路径都可以使用

  • cat是直接将内容全部显示出来

  • more支持翻页,如果文件内容过多,就可以一页一页的显示

  • 按空格就可以进行一个翻页操作

  • 按q进行退出操作

cp 命令复制文件夹

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

  • -r 可选,用于复制文件夹时使用,表示递归

    • 不然就会提示略过了目录,

  • 参数1.linux路径,表示被复制的文件或文件夹

  • 参数2 linux路径,表示要复制去的地方

mv 移动文件或文件夹

mv 参数1,参数2

无选项

  • 参数1,linux路径,表示被移动的文件或文件夹

  • 参数2,linux路径,表示要移动去的地方,如果目标不存在,就会进行改名,确保目标存在

    • mv test.txt Desktop/ //最后要进行加入一个/,不用加也可以

    • 当要移动过去的目标不存在的时候,自己就会变为对应的参数2(相当于改名效果)

rm 删除文件,文件夹

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

  • -r 表示删除文件夹,删除多个数据时

    • 不选提示无法删除,他是一个目录

    • 删除多个目标时 mv -r test.txt test2.txt

  • -f 表示force,强制删除(不会弹出提示确认信息)

    • 只有root才会进行提示信息(就是寻常删文件的时候)

      • 输入 y表示yes n no

    • 一般用户用不到-f

  • 参数1,参数2,,,,参数m 表示要删除的文件或文件夹路径,按照空格进行隔开

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

rm指令非常危险,一定要谨慎使用,尤其是root 的时候

rm -rf/

rm -rf/* 都相当于删库跑路// /*表示把该文件下的全部内容清除

通配符

  • 表示通配符,就是匹配任意内容(包含空)

    • test*, 表示匹配任何以test开头的内容

    • *test, 表示匹配任何以test结尾的内容

    • *test*, 表示匹配任何包含test的内容

root

通过 su - root,并输入密码进入(和默认的一样) 这个是临时用root

输入exit 返回普通用户(临时用root,一定要退出)

查找命令

which 查看所使用的一系列命令的程序文件

which 要查找的命令

which cd

find 按文件名查找文件

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

通配符也可以进行搭配使用

find 按文件大小查找文件

find 起始路径 -size +\- n[kMG]

  • +\-表示大于和小于

  • n表示大小数字

  • kMG 表示单位大小 k(小写) 表示kb,M表示MB ,G 表示GB

列子 :find / -size -10k

grep-wc-管道符

grep 通过关键字过略文件行

grep [-n] 关键字 文件路径(过滤一个文件里面的信息)

  • -n可选,表示在结果中显示匹配的行的行号

  • 关键字,必填,表示过滤的关键字,带有空格或其他特殊符号,建议使用" " 进行一个包围

  • 文件路径,必填,表示过滤内容的文件路径,可用管道符输入

grep "nihao" test.txt 就进行过滤这个文件里面的信息

结果:保留含有该信息的行

在管道里面,grep就可以将左边的结果作为文本内容做出相应的反馈

wc 数量统计

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

  • 英文字符只占一个字节

什么都不加就是 行数 单词数 字节数 文件名

  • -c ,统计bytes数量

  • -m 统计字符数量

  • -l 统计行数

  • -w 统计单词数量

  • 参数,文件路径,被统计的文件,可用管道符输入

管道符 | --------

将管道符左边命令的结果,作为右边的输入(相当于链式编程)

ls /user/bin | grep gtf

echo,tail和重定向符

echo命令 在命令行内输出指定内容

echo 输出的内容

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

  • echo hello就会输出hello

    echo "hello"

反引号`(重要)

echo ` pwd ` ,被包围的内容作为命令去执行,

重定向符

产生结果的指令,都可以往右边的文件中写入东西,并且前面的并不会在终端输出结果

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

  • 将原本的内容进行一个清空,将新内容写进去

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

  • 原有的内容不变,追加到后面去

列子:echo "nihao" > test.txt 原本在里面的文本内容就会被进行一个替换

tail 命令

可以查看文件尾部的内容,跟踪文件的最新更改

tail [-f -num] Linux路径

  • 参数,linux路径,表示跟踪文件的路径

  • -f ,表示持续跟踪,

    • 可以在创建一个页(右键标签->复制标签)

      当令一个标签里面进行更改的时候,第一个标签也会实时显现更改的数据

    • 停止跟踪ctrl+c

  • -num,表示查看尾部多少行,不填默认10行,num要写成具体的数字

vi\vim编辑器(重要)

镶嵌与linux中,vim是vi的升级版 neovim是重构版

使用vim说未知命令的用yum install vim安装vim

  • 命令模式(Command mode)

    敲打的内容都理解为命令,用来驱动执行不同的功能(不能自由进行文本编辑)

  • 输入模式(Insert mode)

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

  • 底线命令模式(Last line mode)

    通常用于文件的保存,退出

这个:号是要我们将自己进行书写的

image-20230811211827771

进入之后里面是命令模式->输入->命令->底线->命令->退出

通过vi/vim编辑器编辑文件
  • vi 文件路径

  • vim 文件路径

    • 如果文件路径表示的文件不存在,那么次命令会用于编辑新的文件(进行了文件的创建)

    • 存在,编辑已有的文件

转换
  • i \a\o进入输入模式

  • esc键退回到命令模式

  • : 底线命令模式 左下角会显示

  • 退出 w(保存) q(退出) 按一下回车 退出这个编辑器

  • 命令模式下的快捷键

    • i 进入输入模式,以光标的位置开始进行编辑

    • a 进入输入模式,在光标后一个位置进入

    • I 输入模式,在当前行的开头开始

    • A 行的队尾开始

    • o 开一个新行,在光标位置下一行开始

    • O 上一行

    • esc 返回命令模式

    • 0 移到开头 $队尾 pageup(向上翻页) down(向下)

    • / 进入搜索模式

    • n 向下搜索(按一下就跳转一下) N向上搜

dd 删除此行内容p 粘贴复制的内容G 跳转队尾
ndd n是数字,删除光标下n行u 撤销dG 从当前行开始,向下全删
yy 复制当前行ctrl +r 反向撤销dgg 当前行开始,向上全删
nyy n是数字 复制当前行及n行gg 跳转队首d$ 光标开始,删到本行结尾
d0 光标开始,删到开头
  • 底线命令模式下的快捷键

    一般进入的时候会有一个:

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

:set paste 设置粘贴模式确保粘贴进来什么样就什么样,不会格式错误

Linux用户和权限

root用户

su - root

  • 转回去就是exit 或者ctrl+d返回

  • root用户切换其他用户,不需要密码

  • -表示是否要加载环境变量

普通用户的权限,一般只在其home内不受限

其余地方,只有只读和执行权限,无修改权限

但不建议长期使用root用户

sudo命令

为普通命令授权,临时以root身份执行

sudo 其他命令

  • 但是我们需要为我们的普通用户配置sudo认证

普通用户配置sudo认证
  • 切换到root用户->执行visudo会跳转/etc/sudoers

  • 在文件最后添加

    • fanqiechaodan ALL=(ALL) NOPASSWD:ALL

  • 退出的时候记得打:

sudo mkdir wenjian->就可以在根目录下面创建文件

用户,用户组管理

都是需要root用户执行

创建用户组

  • groupadd 用户组名

删除用户组

  • groupdel 用户组名

用户管理
创建用户

useradd [-g -d] 用户名

  • -g指定用户的组,不指定-g,会创建同名组并自动加入,指定-g需要组已经存在,如已存在同名组,必须使用-g

  • -d指定用户HOME路径,不指定,HOME目录默认在: /home/用户名

useradd test -g nihao -d /home/test2 -- 在这里的-g就是创建一个了新的组叫做了nihao

删除用户

userdel[-r] 用户名

  • -r,删除用户的HOME目录,不使用-r,删除用户时,HOME目录保留该创建的目录

查看用户所属组

id [用户名]

  • 用户名,被查看的用户,如果不提供则查看自身

修改用户所属组
  • usermod -a-G 用户组 用户名

    • -a -g将指定用户,加入指定用户组

    • -g强行设置某个用户所在组

    • -G 把某个用户改为group(s)

getent 查看当前系统有哪些用户

getent psaawd

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

getent group 查看组

组名称:组认证(X):组ID

查看权限控制

ls展示的信息中

  • 第一个大块 文件,文件夹的权限控制信息

image-20230812112754717

    • r表示读权限,可以查看文件内容

      对文件夹,可以查看文件夹内容,如ls命令

    • w表示写权限,可以修改此文件

      对文件夹,可以在文件夹内:创建、删除、改名等操作

    • x表示执行权限,可以将文件作为程序执行

      针对文件夹,表示可以更改工作目录到此文件夹,即cd进入

  • 第二个 文件,文件夹所属用户(指的就是当前用户可以使用的权限)

    • 对应着2-4号位的信息

    • 三,文件,文件夹所属用户组()

    • 5-7号位的信息

其余的用户,就是对应着最后三位的信息

修改权限控制 chmod

我们可以使用chmod命令,修改文件、文件夹的权限信息

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

  • 只有所属文件夹或文件属于我们才可以进行一个更改,我们才可以进行修改

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

  • 对文件夹内的全部内容应用同样的操作


chmod u=rwx,g=rxo=x hello.txt,将文件权限修改为:rwxr-X--X·

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

chmod -R u=rwx,g=rx,0=x test,将文件夹test以及文件夹内全部内容权限设置为

快捷写法

chmod 751 hello.txt -> rwx-r-x--x

  • 7:有全部权限 即rwx 6:有r和w权限 即rw- 5:有r和x权限 即r-X

    4:仅有r权限 即r-- 3:有w和x权限 即 -wX 2:仅有w权限 即 -W-

    1:仅有x权限 即--x 0:无任何权限 即---

    • 令r=4 w=2 x=1 可以方便我们记忆

修改权限控制 chown

使用chown命令,可以修改文件、文件夹的所属用户和用户组

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

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

  • 选项,-R,同chmod,对文件夹内全部内容应用相同规则

  • 选项,用户,修改所属用户

  • 选项,用户组,修改所属用户组

  • : 用于分隔用户和用户组

示例
  • chown root hello.txt,将hello.txt所属用户修改为root

  • chown :root hello.txt,将hello.txt所属用户组修改为root

  • chown root:itheima hello.txt,将hello.txt所属用户修改为root,用户组修改为itheima

  • chown -R root test,将文件夹test的所属用户修改为root并对文件夹内全部内容应用同样规则

Linux实用操作

各类小技巧

强制退出ctrl+c
  • 强制停止程序运行,

  • 也可以当我们命令输错的时候,不想重打,就重开一行

退出或登出 ctrl+d
  • 退出账户的登录

  • 退出某些特定程序的专属页面(不能用来退出vi/vim)

历史命令搜素
history
  • 查看历史输入过的命令

  • 可以用 history |grep ch

!
  • !+前缀 会自动匹配之间输入过的

ctrl+r
  • 输入内容匹配历史命令

  • 如果是想要的回车执行,不是就键盘左右键,使其不会执行

光标移动快捷键
  • ctrl+a 跳到命令开头

  • ctrl+e 结尾

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

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

清屏
  • ctrl+l 清空终端内容

  • 通过命令clear也可以

软件安装

yum命令(CentOS)

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

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

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

  • install: 安装

  • remove:卸载

  • search:搜索是是否有安装包,检查商店是否有

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

apt管理器(ubuntu安装软件)

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

需要root权限 sudo su -root (跟centos不一样)

  • apt install wget,安装wget

  • apt remove wget,移除wget

  • apt search wget,搜索wget

systemctl命令

Linux系统很多软件(内置或第三方)均支持使用systemctl命令控制:启动停止开机自启

能够被systemctl管理的软件,一般也称之为:服务

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

  • start 启动

  • stop 关闭

  • status查看状态

  • enable开启开机自启

  • disable 关闭开机自启

可以手动添加将没有集成到systemctl中的软件

软链接

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

ln -s 参数1 参数2

  • -s选项,创建软连接

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

  • 参数2:要链接去的目的地,可以自己取名字

列子

ln -s /etc/yum.conf ~/yum.conf

把/etc/yum.conf该路径下的东西创建一个链接,并放到/yum.conf这里

日期和时区

data 查看时间

data [-d] [+格式化字符串]

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

    • year年 month月 day天 hour小时 minute分钟 second秒

      • date -d "+1 day " +%Y%m%d 计算的是后一天

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

  • 格式化字符串: %Y 年 %y 年份后两位数字)(00到99) %m月份(01_12)

    %d 日(01_31) %H小时(00_23) %M 分钟(00_59) %S秒(00_60)

    %s 自1970-01-01 00:00:00 UTC 到现在的秒数

date +%Y-%m-%d -> 2022-10-08

书写的时候,有空格的话就会把他认为独立的参数,所以我们要用" "包围起来

Linux时区
修改时区

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

  • rm -f /etc/localtime

  • sudo In -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

ntp程序 自动校准
  • 安装: yum -y install ntp

  • 并设置开机自启

    • systemctl start ntpd

    • systemctl enable ntpd

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

ip地址和主机名

ifconfig

若无法使用 进行安转yum -y install net-tools

  • 127.0.0.1 代表的是本机的地址

  • 0.0.0.0特殊的ip地址

    • 代指本机

    • 可以在端口绑定中用来确定绑定关系

    • 在一些ip地址限制中,表示所有ip的意思,表示允许任意ip访问

主机名

hostname 就可以显示出来

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

域名解析

网站地址对应ip

  • 先看本机的记录(私人地址本)

    • win 看 C:\windows\System32\drivers\etc\hosts

    • linuxkan /etc/hosts

  • 如果没有再联网DNS服务器

记事本右键管理员打开,找到上面的win地址

输入ip地址 和主机名

  • 保存之后在这里就可以只输入主机名就可以了(主机那个位置就不用书写ip)

    image-20230813155311826

虚拟机配置固定ip

当前我们虚拟机的Linux操作系统,其IP地址是通过DHCP服务获取的。DHCP:动态获取IP地址,即每次重启设备后都会获取一次,可能导致IP地址频繁变更 原因1:办公电脑IP地址变化无所谓,但是我们要远程连接到Linux系统,如果1P地址经常变化我们就要频繁修改适配很麻烦 原因2: 在刚刚我们配置了虚拟机IP地址和主机名的映射,如果IP频繁更改,我们也需要频繁更新映射关系 综上所述,我们需要IP地址固定下来,不要变化了。

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

    • 左上角编辑->虚拟网络编辑器->VMnet8

    • 子网掩码确认为255.255.255.0

      子网后两个.的数字我们进行更改 什么什么66.0 77.0都可以(代表范围就是192.168.159.0-192.168.159.254)

      nat设置 网关设置为刚刚子网的192.168.159.2 设置2是因为,因为1被主路由器占用了

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

    使用root去编辑,因为这个文件只读

    • 使用vim编辑/etc/sysconfig/network-scripts/ifcfg-ens33

image-20230813161732504

  • 然后在centos 的终端去执行

systemctl stop network 关闭 (关闭之后finalshell就连不上了)

systemctl start network 打开

就ip进行固定成功了

  • 苹果怎么固定没看

网络传输

ping命令

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

ping [-c num] ip或主机名

  • -c检查的次数,不设置,将会无限期检查

  • ip或主机名,被检查的地址

wget命令

wget [-b] url

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

  • : url,下载链接

通过tail命令查看后台下载 tail -f wget-log 查看他的底部

curl命令

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

curl [-O] url

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

  • 参数url,要发起请求的网址

端口

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

  • 物理端口:又可称之为接口,是可见的端口,如USB接口,RJ45网口,HDMI端口等

  • 虚拟端口:是指计算机内部的端口,是不可见的,是用来操作系统和外部进行交互使用的

  • 公认端口:1~1023,通常用于一些系统内置或知名程序的预留使用,如SSH服务的22端口, HTTPS服务的443端口,非特殊需要,不要占用这个范围的端口

  • 注册端口:1024~49151,通常可以随意使用,用于松散的绑定一些程序\服务

  • 动态端口:49152~65535,通常不会固定绑定程序,而是当程序对外进行网络链接时,用于临时使用

查看端口的占用
nmap

可以通过Linux命令去查看端口的占用情况 使用nmap命令,安装nmap:yum -yinstallnmap

语法 nmap 被查看的IP地址

nmap 127.0.0.1 (127.0.0.1是默认的本机地址)

22端口是ssh

netstat

netstat -anp l grep 端口号或进程号

安装netstat: yum -yinstall net-tools

进程管理

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

ps [-e -f]

  • 选项:-e,显示出全部的进程

  • 选项:-f,以完全格式化的形式展示信息(展示全部信息)

UID:进程所属的用户ID

PID :进程的进程号ID

PPID : 进程的父ID(启动此进程的其它进程 )。

C:此进程的CPU占用率(百分比 )

STIME:进程的启动时间

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

TIME:进程占用的cpu的时间

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

过滤 通过grep
进程的关闭

kill [-9] 进程id

  • -9 是进行强行关闭.不适用此选项会向进程发送要求其关闭

主机状态监控

系统资源控制top命令

可以通过top命令查看cpu,内存使用情况

  • 默认5秒1次

  • ctrl +c 或q就能退出

选项
  • -p:只显示某个进程的信息+进程号

  • -d: 设置刷新时间,默认是5sa

  • -c:显示产生进程的完整命令,默认是进程名,command更加完整

  • -n:指定刷新次数,比如 top -n 3,刷新输出3次后退出

  • -b: 以非交互非全屏模式运行,以批次的方式执行top,一般配合-n指定输出几次统计信息,将输出重定向到指定文件,比如 top -b -n 3 > /tmp/top.tmp

  • -i: 不显示任何闲置 (idle) 或无用 (zombie)的进程

  • -u: 查找特定用户启动的进程+用户名

前五行

top: 命令名称;14:39:58:当前系统时间;up 6 min:启动了6分钟;2 users: 2个用户登录;load: 1,5、15分钟负载

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

%Cpu(S):CPU使用率;uS:用户CPU使用率;sy: 系统CPU使用率;n: 高优先级进程占用CPU时间百分比;id: 空闲CPU率;wa: I/0等待CPU断率;si:CPU软件中断率;st: 强制等待占用CPU率

Kib Mem:物理内存; total: 总量; free: 空闲; used:使用; buff/cache: buff和cache占用

KibSwap: 虚拟内存(交换空间);total: 总量;free: 空闲;used: 使用;buff/cache: buff和cache占用

后五行

PID:进程id USER:进程所属用户 PR:进程优先级,越小越高 NI:负值表示高优先级正表示低优先级 VIRT:进程使用虚拟内存,单位KB RES:进程使用物理内存,单位KB SHR:进程使用共享内存,单位KB s: 进程状态(S休眠,R运行僵死状态,N负数优先级,I空闲状态) %CPU:进程占用CPU率 %MEM:进程占用内存率 TIME+:进程使用CPU时间总计,单位10毫秒 COMMAND:进程的命令或名称或程序文件路径

top交互式选项

当top以交互式运行(非 -b选项启动)

  • h键,会显示快捷键,并告知作用->q退出

  • c键,会显示产生进程的完整命令,等同于-C参数,再次按下c键,变为默认显

  • f键,可以选择需要展示的项目,按下空格选择想要展示的属性

  • M键,根据驻留内存大小(RES)排序

  • P键,根据CPU使用百分比大小进行排序

  • T键,根据时间/累计时间进行排序

  • E键,切换顶部内存显示单位,kib就是KB

  • e键,切换进程内存显示单位

  • I键,切换显示平均负载和启动时间信息(在最底部)

  • i键,不显示闲置或无用的进程,等同于-i参数,再次按下,变

    为默认显示

  • t键,切换显示CPU状态信息

  • m键,切换显示内存信息,四五行变为进度条

磁盘信息监控df

df [-h]

  • -h 以更加人性化的单位显示

使用iostat 查看cpu,磁盘的相关信息

iostat [-x] [num1][num2]

  • -x,显示更多信息

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

tps:该设备每秒的传输次数

  • rrqm/s:每秒这个设备相关的读取请求有多少被Merge了(当系统调用需要读取数据的时候,VFS将请求发到各个F5,如果FS发现不同的读取请求读取的是相同Blok的数据,F5会将这个请求合并Merge,提高I0利用率,避免重复调用);

  • wrqm/s:每秒这个设备相关的写入请求有多少被Merge了。

  • rsec/s:每秒读取的扇区数;sectors

  • wsec/:每秒写入的扇区数。

  • rKB/s:每秒发送到设备的读取请求数

  • WKB/s:每秒发送到设备的写入请求数

  • avgrq-sz:平均请求扇区的大小

  • avqqu-sz:平均请求队列的长度。毫无疑问,队列长度越短越好

  • await:每一个I0请求的处理的平均时间(单位是微秒毫秒)

  • svctm表示平均每次设备I/0操作的服务时间(以毫秒为单位)

  • %util:磁盘利用率

网络状态监控 sar

sar -n DEV num1num2

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

  • num1 刷新间隔时间 ,num2 查看次数(不填就是无限)

信息

  • IFACE 本地网卡接口的名称

  • rxpck/s每秒钟接受的数据包

  • txpck/s 每秒钟发送的数据包

  • rxKB/S每秒钟接受的数据包大小,单位为KB

  • txKB/S每秒钟发送的数据包大小,单位为KB

  • rxcmp/s每秒钟接受的压缩数据包

  • txcmp/s每秒钟发送的压缩包

  • rxmcst/s每秒钟接收的多播数据包

环境变量

是操作系统在运行的时候,记录的一些关键性信息,用以辅助系统运行

执行env 可以查看当前系统中记录的环境变量

cd命令就记录在PATH中

$符号

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

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

取得环境变量的值就可以通过语法:$环境变量名 来取得,就是获取记录的路径

比如echo $PATH就会

/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/fanqiechaodan/.local/bin:/home/fanqiechaodan/bin

  • PATH=/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/fanqiechaodan/.local/bin:/home/fanqiechaodan/bin

  • 当我们想进行拼接的时候,就是想输出自己的内容,就要echo ${PATH}ABC ->/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/fanqiechaodan/.local/bin:/home/fanqiechaodan/binABC

自行设置环境变量
  • 临时设置语法:export 变量名=变量值

  • 永久生效

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

      vim ~/.bashrc ->在末尾 export 变量名=变量值 ,保存后->source .bashrc->进行echo 变量名就可以进行使用了

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

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

自定义环境变量PATH

脚本小程序创建文件夹->使用vim 创建并编辑文件->假设文件里面写了一个输出命令echo "哈哈哈"->查看文件权限(需要x权限才能当做程序使用)->chmod 755 文件名->./文件名 就可以执行里面的内容了

  • vim /etc/profile->在最末尾 export PATH=$PATH:/刚刚那个文件夹

->source /etc/profile->现在就只需要输入文件名就可以了

上传下载

我们可以通过Finalshell工具方便的和虚拟机进行数据交换。在Finalshell软件的下方窗体中提供了Linux的文件系统视图,可以方便的

  • 下载:浏览文件系统,找到合适的文件,右键点击下载,即可传输到本地电脑-

    • 会下载到桌面fsdoenload中

    • 想传输root文件夹的,我们需要在配置那个地方把用户改为root

  • 上传:浏览文件系统,找到合适的目录,将本地电脑的文件拓展进入,即可方便的上

    • 先在finalshell中找到想要传过去的目录,往里一拖就可以了

通过命令上传下载rz,sz

yum -y install lrzsz

sz 文件名字(tap可以进行补齐)

rz 回车,就会弹出系统文件的框->找到相应的文件,点击之后就会上传(速度慢)

压缩和解压

压缩格式

linux 主要使用zip,tar,gzip

.tar 称之为tarbal,归档文件,即简单的将文件组装到一个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 选择解压的目的地,用于解压模式

常用的组合:压缩

-z如果使用要在第一个, -f必须在最后

  • tar -cvf test.tar 1.txt 2.txt 3.txt 将1,2,3压缩到test.tar中

  • tar -zcvf test.tar.gz 1.txt 2.txt 3.txt 将1,2压缩到test.tar.gz文件中,使用gzip(在这里可以将.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 [-r] 参数1 参数2 ...参数N

  • -r,被压缩的包含文件夹的时候,需要使用-r选项,

    • 和rm、cp等命令的-r效果一致

列子

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

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

unzip解压

语法:unzip[-d]参数

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

示例:

  • unzip test.zip,将test.zip解压到当前目录

  • unzip test.zip -d /home/itheima,将test.zip解压到指定文件夹内(/home/itheima)

如果有同名的内容的话,会直接就进行替换

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值