Linux再学习

1.Linux理论篇

1.网络连接的三种方式

1.桥接模式

2.NAT模式

网络地址转换,虚拟系统可以和外部系统通讯,不会造成ip冲突

3.主机模式

和主机ip地址一样

2.虚拟机快照

当系统出现问题后,可以通过快照来解决


3.虚拟机移除和迁移


迁移:找到对应的盘,进行剪切

删除:在VMware中删除,到目录下进行彻底删除

4.安装vmtools

1.安装vmtools后,我们可以在windowds下更好的管理vm虚拟机

2.我们可以设置windows和centos的共享文件夹

5.目录结构

  • /bin [重点] (/usr/bin 、 /usr/local/bin)

是Binary的缩写, 这个目录存放着最经常使用的命令

  • /home [重点]

存放普通用户的主目录,在Linux中每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。

  • /root [重点]

该目录为系统管理员,也称作超级权限者的用户主目录。

  • /sbin (/usr/sbin 、 /usr/local/sbin)

s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序

  • /lib

系统开机所需要最基本的动态连接共享库,其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库。

  • /lost+found

这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。

  • /etc [重点]

所有的系统管理所需要的配置文件和子目录 my.conf

  • /usr [重点]

这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似与windows下的program files目录。

  • /boot [重点]

    存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件

  • /dev

类似于windows的设备管理器,把所有的硬件用文件的形式存储。

  • /media [重点]

linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目录下。

  • /mnt [重点]

系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将外部的存储挂载在/mnt/上,然后进入该目录就可以查看里的内容了。 d:/myshare

  • /opt

这是主机给安装软件所存放的目录,如果按照JDK可放到改目录下默认为空。

  • /usr/local [重点]

这是另一个给主机额外安装软件所安装的目录。一般是通过编译源码方式安装的程序。

  • /var [重点]

这个目录中存放着在不断扩充着的东西,习惯将经常被修改的目录放在这个目录下。包括各种日志文件。

6.Linux运行级别

  • 运行界别说明:

    • 0:关机

    • 1:单用户【找回丢失密码】

    • 2:多用户状态灭有网络服务

    • 3:多用户状态有网络服务

    • 4:图形未使用保护给用户

    • 5:图形界面

    • 6:系统重启

2.Linux实操

1.Xshell和Fttp

1.1远程登录Linux-Xshell5

为什么需要远程登录Linux

说明: 公司开发时候, 具体的情况是这样的

  • linux服务器是开发小组共享的.

  • 正式上线的项目是运行在公网的.

  • 因此程序员需要远程登录到centos进行项目管理或者开发.

  • 画出简单的网络拓扑示意图(帮助理解)

  • 远程登录客户端有 Xshell5, Xftp5 , 我们学习使用 Xshell5 和 Xftp , 其它的远程工具大同小异

1.2远程上传下载文件Xftp5

是一个基于 windows 平台的功能强大的SFTP、FTP 文件传输软件。使用了Xftp 以后,windows 用户能安全地在 UNIX/Linux 和 Windows PC 之间传输文件。

2.Vim编辑器的使用

2.1介绍

所有的 Linux 系统都会内建 vi 文本编辑器。

Vim 具有程序编辑的能力,可以看做是Vi的增强版本,可以主动的以字体颜色辨别语法的正确性,方便程序设计。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。

2.2三种模式

  • 正常模式:

以vim打开一个档案就是直接进入了一般默认(这是正常的模式),在这个模式中,可以通过上下左右来移动光标,你也可以使用【删除字符】【删除整行】来吹档案中的聂荣,也可以使用【复制】【贴上】来处理你的文件数据;

  • 插入模式:

按下i,l,o,O,a等任意一个字母之后才会进入编辑模式,一般情况按下i即可

  • 命令行模式:

在这个模式当中,可以提供你相关指令,完成读取,存盘,替换vim,显示行号等操作是在此模式下完成的


快捷键使用:

  1. 拷贝当前行 yy ,拷贝当前向下的五行 5yy 并粘贴(p)
  2. 删除当前行 dd 删除当前向下的5行 5dd
  3. 在文件中查找某个单词{命令行下/关键字} 回车查找,输入n就能查找下一个

3.开机重启,用户登录取消

3.1关机重启指令

  • shutdown

    shutdown -h now 表示立即关机

    shutdown -h 1:表示一分钟后关机

    shutdown -r now :立即重启

  • halt

    就是直接使用,效果等同于关机

  • syn

    把内存的数据同步到磁盘

  • reboot

    就是重启系统

注意细节:当我们关机或者重启时,我们都应该执行sync指令,把我们的内存数据写入到磁盘中

3.2用户登录和注销

  1. 登录时候尽量少用root账号登录,因为这是系统管理员,最大的权限,避免操作食物,可以利用普通用户进行登录,登录后再用“su ~"切换到系统管理员身份
  2. 在提示符下输入logout可以注销用户

使用细节:logout注销指令在推行运行级别无效,在运行级别3以下有效

4.用户管理

4.1介绍


说明:

  1. linux系统时一个多用户多任务的操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统
  2. Linux的用户至少要属于一个组

4.2用户操作

1.添加用户

​ useradd [选项] 用户名

特别说明 cd 表示 change directory 切换目录

细节说明

  1. 当用户创建成功后,会自动的创建和用户同名的家目录
  2. 也可以通过 useradd -d来指定目录新的用户名,给新的用户名指定家目录

给用户指定或修改密码

​ passwd 用户名

2.删除用户

​ userdel 用户名

​ 删除用户以及用户主目录

​ userdel -r xlh

3.查询用户

​ id 用户名

​ 当用户不存在时候,返回无此用户

4.切换用户

​ su 用户名

​ 默认输入su 切换到管理员目录

5.用户组

​ groupadd 组名,groupdel 组名

​ 添加用户时候直接加上组 useradd -g 用户组 用户名

​ 修改用户组 usermod -g 用户组 用户名

6.用户和组的相关文件

5.文件目录

5.1操作

pwd指令:显示当前工作目录的绝对路径

ls指令:ls [选项] [目录或是文件]

​ 常用选项 -a显示目录所有的文件和目录 包括隐藏的

​ -l 以列表的方式显示信息

​ 查看显示当前目录下的所有内容

cd指令: 切换到指定目录

​ cd ~ 回到自己的家目录

​ cd… 回到当前目录的上一级目录

mkdir :用于创建目录

​ -p 创建多级目录

rmdir:指令删除空目录

​ 如果删除的不是空目录 需要用rm -rf要删除的目录

touch: 创建空文件

cp:拷贝文件到指定目录 cp source dest

​ -r 递归复制整个文件

rm:移除文件或者目录

​ -r 递归删除整个文件夹

​ -f 强制删除不提示

mv:移动文件或重命名

​ mv oldName newName (重命名)

​ mv temp/movefile /targetFolder (移动文件)

5.2查看

cat:查看文件内容 cat [选项] 要查看的文件

​ -n 显示行号

​ cat只能浏览文件,并不能修改文件,为了浏览方便,一般会用上管道命名 |more

more:more指令是一个基于vi编辑器的文本过滤器,他以全屏的方式显示文本文件的内容,more指令内置了若干快捷键

less

​ less指令用于来分屏查看文件内容,他的功能与more类似,但是比more更加强大,支持各种显示终端。less指令在显示文件内容时,并不是一次将整个文件加载后才显示的,而是根据要加载的内容,对显示大型文件具有高效率

echo:将输入内容到控制台

​ echo [选项] [输出内容]

​ echo $USERNAME 输出当前主机名称

​ echo “hello,world” 将helllo world 输入到控制台

head: head用于显示文件开头部分内容,默认情况下head希纳是文件前10行的内容

​ 基本语法: head 文件

​ head -n -5 文件 显示前五行的内容 5可以时任意数

tail: tail用于输出文件中尾部的内容,默认情况下tail指令显示文件的前10行内容

​ tail 文件 (查看文件最后10行的内容)

​ tail -n -5 文件 (查看文件最后5行的内容,5可以是任意数)

​ tail -f 文件 (实时更新该文档所有的更新)

>指令和>>指令: >输出重定向 ,>>追加

​ echo ‘hello’ > /opt/test.txt (将hello输入到opt文件夹下的test.txt中 之前内容覆盖)

​ cat /etc/profile > /home/myprofile (将etc/profile 重定向到home目录下的myprofile 没有会自动创建)

​ cal > /opt/test (将日历信息重定向输出到opt下的test文件)覆盖

​ cal >> /opt/test (将日历信息追加到opt目录下的test文件)追加

5.3软连接和硬链接

软连接也称为符号链接,类似中windows里面的快捷方式,主要是存放了链接文件的路径

ln -s [源文件或目录] [软连接名称]

我们在/home目录下创建一个软连接linkToRoot 链接到/root目录

ln -s /home /root/linkToRoot

删除软连接 rm -f /linkToRoot

6.时间日期类

基本语法

date

(功能描述:显示当前时间)

date +%Y

(功能描述:显示当前年份)

date +%m

(功能描述:显示当前月份)

date +%d

(功能描述:显示当前是哪一天)

date “+%Y-%m-%d %H:%M:%S”(功能描述:显示年月日时分秒)

7.搜索查找类

find

​ find指令将从指定目录下递归地遍历各个目录,将所有满足条件的目录显示在控制台

​ find [搜索范围] [选项]

1.根据名称查找 /home目录下的hello.txt文件

​ find /home -name ‘hello.txt’

2.根据拥有者,查找/opt目录下,用户名称为nobody的文件

​ find /opt -user ‘nobody’

3.查找整个linux系统下,大于200M的文件 (+n大于,-n小于,n等于)单位还有K,M,G

​ find / -size +200M

locate:

​ locate指令可以快速定位文件路径,locate指令利用事先建立号的系统中所有文件名称及路径的locate数据库实现快速定位给定的文件。locate指令无需遍历整个文件系统,查询速度较快。

​ locate 搜索文件

特别说明:

​ 由于locate指令基于数据库进行查询。所以第一次查询运行前,必须使用updatedb指令创建locate数据库

用locate指令快速定位 hello.txt 文件所在目录 locate hello.txt

which指令 可以查看某个指令在哪个目录下,

查看ls指令在那个目录 which ls 查看reboot指令在那个目录下 which reboot

grep:

​ grep过滤查找,管道符,”|“,表示前一个指令的处理结果输出传递给后面的指令处理

​ 基本语法:grep [选项] 查找内容 源文件

选项 功能
-n 显示匹配及行号
-i 忽略自动大小写

案例:查找在opt目录下的eclipse快捷键.txt文件中,查找hello所在行,并显示行号

cat /opt/eclipse快捷键.txt |grep -ni ‘hello’

8.压缩和解压

  • gzip/gunzip gip用于压缩文件 gunzip用于解压缩文件

    gzip 压缩文件(只能将文件压缩为*.zi文件,原文件被压缩后不存在)

    gunzip 文件.gz (解压缩文件命令)

  • zip/unzip 指令

    zip用于压缩文件,unzip用于解压的,这个功能打包发布中很有用;

    zip [选项] XXX.zip 将要压缩的内容 (压缩文件和目录的命令)

    ​ -r :递归压缩,即压缩目录

    ​ 将/home下的所有文件/文件夹 进行压缩成myhome.zip zip -r myhome.zip /home/

  • tar指令

    tar指令是打包指令,最后打包后的文件是.tar.gz的文件

    tar [选项] XXX.tar.gz 打包的内容 (功能描述:打包目录,压缩后的文件格式.tar,gz)

    选项 功能
    -c 产生.tar打包文件
    -v 显示详细信息
    -f 指定压缩后的文件名
    -z 打包同时压缩
    -x 解包.tar文件

压缩多个文件 将home/hi.txt 和 home/hello.txt 压缩为pc.tar.gz

tar -zcvf pc.tar.gz /home/hi.txt /home/hello.txt

将/home的文件夹压缩成 myhome.tar.gz

tar -zcvf myhome.tar.gz /home/

将pc.tar.gz解压到当前目录

tar -zxvf pc.tar.gz

10.用户组管理

10.1所有者

在linux中每个用户都必须属于一个组,不能独立于组外,在linux中每个文件有所有者,所在组,其他组的概念

默认谁创建了改文件,谁就是文件的所有者

  • 查看文件的所有者 指令 ls-ahl

  • 修改用户的所有者 chown 用户名 文件名

10.2组的创建

当某个用户创建了一个问及那后,这个文件的所在组就是该用户的所在组

创建一个组 groupadd monster

创建一个用户 cat并放入到monster组中 useradd -g monster cat

切换到该用户工作环境下 su cat

在改用户home下创建一个ok.txt文件 touch /home/ok.txt

列处改文件的所有者和所在组 ll

10.3修改文件的所在组

chgrp 组名 文件名

使用root用户常见文件 orange.txt,看看当前这个文件属于哪个组,然后讲这个文件所在组,修改到monster组中

11.权限

11.1介绍

-rw-r–r--. 1 xlh root 0 10月 22 14:18 apple.txt

第0-9位说明

第0位确定文件类型(d,-,l,c,b)

l是软连接,相当于windows的快捷方式

d是目录,相当于windows的文件夹

c是字符设别,鼠标,键盘

b是块设备,比如说硬盘

第1-3位确定所有者(该文件的所有者)拥有该文件的权限 --User

第4-6位确定所属组,(同用户组的)又有该文件的权限 --Group

第7-9位确定其他用户拥有改文件的权限 --Other

rwx权限详解(难点)

  • rwx作用到文件

    • r 代表可读 read 可以读取,查看
    • w 代表可写 write 可以修改,但是不代表可以删除改文件,删除一个文件的前提条件是对该文件所在的目录有写权限,才能删除文件
    • x 代表可执行 execute 可被执行
  • rwx作用到目录
    • r 代表可读 可以读取 ls查看目录的内容
    • w 代表可写 对目录内进行创建+删除+重命名该目录
    • x 代表可执行 可以进入该目录

11.2文件及目录权限实际案例

-rwxr2-r–. 1 xlh root 6 10月 22 14:18 apple.txt

第一个字符表示文件类型 - l b d c

其余字符没三个一组

第一组:rwx 文件所有者的权限是读,写,执行

第二组:rw- 与文件拥有者同一组的用户的权限是读写,不能执行

第三组:r-- 不予文件拥有者同组的其他用户的权限是读不能写和执行

1:文件:硬连接数或 目录:子目录数

xlh:文件所有者

root:用户组

6 文件大小单位是字节

10月 22 14:18 文件最后修改时间

apple.txt 文件的名称

11.3权限修改

通过chmod指令,可以修改我呢见或者目录的结构

  • 第一种方式,+,-,=变更权限

    u:所有者,g:所属组,o,其他人,a:所有人(u,g,o的总和)

案例演示:

​ 1.给abc文件的所有者读写执行的权限,给所在组执行读执行的权限,给其他组读执行的权限

绿色代表可执行,蓝色代表是个目录

chmod u=rwx,g=rx,o=rx abc

​ 2.给abc文件的所有者去除执行的权限,增加组写的权限

chmod u-x,g+w abc 注意所有者,所属组之间存在,逗号之间不能有空格

​ 3.给abc所有文件的所有用户添加读的权限

chmod a+r abc

  • 第二种方式:通过数字变更权限

    r=4,w=2,x=1 rwx=4+2+1=7

    chmod u=rwx,g=rx,o=x 文件目录名 == chmod 751 文件目录名

  • 修改文件所在者 chowm

    chown newowner 文件/目录 (改变所有者)

    chown newowner:newgroup (改变所有者和所在组)

    -R 如果是目录,则使其下所有的子文件或者目录递归生效

    将 /home/abc.txt 文件的所有者修改成tom

    chown tom /home/abc.txt

    将home/test下的所有文件的所有者修改成 tom

    chown -R tom home/test

  • 修改文件/目录所在组 chgrp

    chgrp newgroup 文件/目录 (改变所在组)

    -R 如果是目录,则使其下所有的子文件或者目录递归生效

    请将/home/abc.txt 文件的所在组修改成shaolin(少林)

    chgrp shaolin /home/abc.txt

    请将/home/test 目录下所有的文件和目录的所在组修改成shaolin(少林)

    chgrp -R shaolin /home/test

    权限管理实例

12.crond任务调度

crontab 进行定时任务调度的设置

任务调度:世界系统在某个时间执行特定的命令或者程序

任务调度的分类:1.系统任务:有些中药的工作必须周而复始的执行 比如病毒扫描 2.个别用户工作:个别用户希望执行某些程序,比如对mysql数据库的备份

  • 参数细节说明

    • 五个占位符说明

    • 特殊符号说明

    • 特殊时间执行案例


      crontab -r :终止任务调度

    contab -l :列出当前有哪些任务调度

    service crond restart [重启任务调度]

  • 案例一:


    首先在home目录下编写一个date.sh脚本

     cal >> /tmp/mycaldate >> /tmp/mycal
    

    给date.sh 增加执行权限 chomd u+x date.sh

    让定时调度来调

    crontab -e
    */1 * * * * /home/date.sh
    

    后续补,暂时没有数据库

13.at任务调度

基本介绍

  1. at命令是一次性定时执行任务计划,at的守护线程atd以后台的模式运行,检查作业队列来运行

  2. 默认情况下,atd守护线程没60秒检查作业队列,有作业时会检查作业运行时间,如果时间与当前时间匹配,则运行此作业

  3. at命令是一次性定制的计划任务,执行万一个任务后就不再执行此任务了

  4. 在使用at命令的时候,一定要保证atd进程的启动,可以用相关质量来查看

    ps -ef |grep atd

    ps -ef 检查出所有的进程,grep atd 根据指定的条件过滤

    示意图

at命令格式:

at [命令选项] [时间]

ctrl+d 结束命令的输入

命令选项

时间定义方法

应用实例

  1. 2天后的下午5点执行 ll指令

    2.使用atq指令查看当前执行的任务 atq

    3.明天17点钟,输出时间到指定文件内 /root/date100.log

    at 5pm tomorrow >at date > /root/date100.log

    Linux下删除 使用ctrl+u

    4.两分钟后,输出时间到指定文件内 比如/root/date200.log


    5.删除已经设置的任务,atrm 编号

    atrm 4 //表示将job队列钟,编号为4 的job删除

14.Linux分区

  • 介绍

    • linux来说无论有几个分区,非给哪一个目录使用,他归根结底只有一个根目录,一个独立切为一的文件结构,linux每个分区都是用来组成整个文件系统的一部分。

    • linux采用了一种叫“载入”的处理方法,他的整个文件系统中包含了一整套的文件和目录,且将一个分区和目录联系起来这时候要载入的一个分区将使它的存储空间在一个目录下获得

      查看分区指令

    lsblk 或者 lsblk -f

14.1挂载的经典案例

下面我们通过增加一块硬盘为例来熟悉下磁盘的相关指令和深入理解磁盘分区,挂载,卸载的概念

分五部分组成 虚拟机添加硬盘 分区 格式化 挂载 设置自动挂载

虚拟机增加硬盘1.

虚拟机增加硬盘2

虚拟机增加硬盘3

虚拟机增加硬盘4

利用命令挂载后,重启会失效

虚拟机增加硬盘5

永久挂载:通过 修改vim /etc/fstab 来实现

添加完成后,通过mont -a 即可生效,或者重启生效

14.2查看整个系统磁盘情况查询

df -h

14.3查看整个目录磁盘占用情况

df -h [目录]

查询指定目录的磁盘占用情况,默认为当前目录

-s 指定目录大小汇总
-h 带计量单位
-a 含文件
–max-depth=1 子目录深度
-c 列出明细的同时增加汇总值

查看/opt/目录情况

du -h --max-depth=1 /opt

汇总和含文件查询

du -hac --max-depth=1 /opt

14.4磁盘情况,工作常用指令

1.统计/opt文件夹下文件的个数

​ ls -l /opt | grep “^-” | wc -l grep通过正则表达式找出以-开头的,此类是文件,wc-l用来统计个数

2.统计/opt文件夹下目录的个数

​ ls -l /opt | grep “^d” | wc-l

3.统计/opt文件下的文件的个数,包括子文件夹下的

​ ls -lR /opt | grep “^-” | wc -l

4.统计/opt文件夹下的目录的个数,包括子文件夹下的

​ ls -lR /opt | grep “^d” | wc -l

5.以树状结构现实目录结构

​ 如果没有tree,则使用 yum install tree 安装

15.网络配置



15.进程管理

1.基本介绍:

  1. 在linux中,每个执行的程序都为一个进程,每个进程都分配了一个id号(pid,进程号)
  2. 每个进程都可能以两种形式存在,前台和后台,所谓前后台进程就是及用户在目录上可以进行操作的,后台是无法在屏幕上操作的进程
  3. 一般系统的服务进程都是以后台进程的方式存在,而且会常驻在系统中知道关机才结束

2.显示系统执行的流程

ps命令是用来查看系统中哪些正在运行,以及他们的运行的状况,可以不加任何参数

字段 说明
PID 进程识别号
TTV 终端机号
TIME 此进程所消耗cpu时间
CMD 正在执行命令或进程名

ps -a:显示终端所用的进程信息

ps-u:以用户的格式显示进程的信息

ps-x:显示后台程序运行的参数

ps详解

案例:要求以全格式的显示当前多有进程,查看进程的父进程,查看sshd的父进程信息

ps -ef 是以全格式显示当前所有的进程

-e 显示所有进程,-f:全格式

ps -ef | grep sshd

3.终止进程kill和killall

若是某个进程执行一半需要停止时候,或是已经消耗了很大的系统资源时候,可以考虑停止该线程。

基本语法

kill [选项] 进程号 :通过进程号杀死/终止进程

killall 进程名称 通过进程名产杀死进程,支持通配符,这在系统因负载过大而变得很慢的时候很有用

killall会杀死当前进程和其子进程

常用选项

-9 表示强迫进程立即停止

案例

  1. 踢掉某个非法登录的用户 ps -aux |grep sshd kill 进程号
  2. 终止远程服务sshd,在适当时候重新启动 kill sshd对应的进程号 重启 /bin/systemctl start ssh.service
  3. 通过进程名称,终止gedit killall gedit
  4. 强制杀掉一个终端 (终端服务是bash) ps -aux | grep bash ,kill --9 进程ID号

3.查看进程数pstree

pstree [选项],可以更加直观的来查看进程信息

-p:显示进程的PID

​ -u:显示进程的所属用户

16.服务管理

​ service(本质)就是进程,但是是运行在后台的,通常都会监听某个端口,等待其他程序的请求,比如说(mysql3306,sshd22,redis6387),因为我们又称为守护进程,是Linux中重要的知识点

1.server管理指令

  • service 服务名 [start|stop,reload,status]
  • 在CentOs7.0后,很多服务不再使用Service,而是systemctl
  • service 指令管理的服务在/etc/init.d查看

案例

使用service指令,查看,关闭启动network[注意在虚拟系统演示时:因为网络连接会关闭]

service network status

service network stop

service newwork start

查看服务名:

  1. 使用 ls -l /etc/init.d 查看service指令管理的服务

  2. 使用setup->系统服务,就可以看到全部

    使用space进行切换是否选中 使用tab切换选项

运行级别runlevel


查看默认的运行级别: systemctl get-default

改变运行级别 systemctl set-default TARGET.target

可以在/etc/initab中可以查看

可用通过init[0,1,2,3,4,5,6]来切换不同的运行级别

chkconfig指令

通过chkconfig可以给服务的各个运行级别设置自 启动/关闭

chkconfig指令管理的服务在 /etc/init.d查看

注意:在Centos 7.0以后,很多服务使用systemctl管理

基本用法

  • 查看服务 chkconfig --list[|grep “”]
  • chkconfig --level network on/off

案例演示

1.对于network服务,进行各种操作,把network在3运行级别,关闭自启动

​ chkconfig --level 3 network off 关闭

​ chkconfig --level 5 network on 打开

使用细节

chkconfig重新设置服务自启动或者关闭,需要重启机器reboot生效。

systenctl指令

16.动态监控

top与ps命令相似,他们勇于显示正在执行的进程,Top与ps最大的不同之处在与,top在执行一段时间可以更新正在运行的进程

基本语法 top [选项]

选项 功能
-d秒数 指定top命名没隔几秒刷新,默认是3秒
-i 使用top不显示任何闲置或者僵死的进程
-p 通过指定监控ID来仅仅监控某个进程的状态

交互操作说明

操作 功能
P 以CPU使用率来排序,默认就是此项
M 以内存是使用来排序
N 以PID排序
q 退出top

应用实例

1.监控特定用户,比如我们监控tom用户

​ top输入此命令,然后回车,查看执行的进程

​ u:输入u回车 在输入用户名即可

2.终止指定的进程,比如我们要结束tom登录

​ top:输入此命令,然后回车,查看执行的进程

​ k:然后输入要结束的进程ID号

3.指定系统状态更新的时间(没隔10秒自动更新),默认是3秒

​ top-d 10

监控网络状态

基本语法: netstat [选项]

选项说明 -an 按照一定的属性排列输出 -p 显示哪个进程在调用

应用案例

查看服务名臣为sshd的服务信息

netstat -anp | grep sshd

17.rpm与yum

1.rpm包的管理

rpm是互联网下载包和打包和安装工具,他包含在某些linux分版中,他具有生产.rpm扩展名的文件,RPM是redhat package manage(软件包管理工具的缩写),类似于setup.exe

RPM包的简单查询指令

  • 查询已暗转的rpm列表,rpm -qa|grep xx
  • 查看当前系统中是否安装了 firefox
  • rpm -qa | grep firefox
  • 一个rpm包名:firefox-45.4.0-1.el7.centos.x86_64
  • ​ 名称 firefox
  • ​ 版本号 45.4.0
  • ​ 适用于操作系统 centos.x86_64

RPM包的简单其他指令

  • rpm -qa 查询所有暗转的rpm软件包
  • rpm -qa |more 分页显示
  • rpm -q 软件包名称 查询软件包名是否安装
  • rpm -qi 查询软件安装的详细信息
  • rpm -ql 软件包名 查询软件包中的文件
  • rpm -qf 文件全路径名 查询文件所属的软件包
  • rpm -qf /etc/passwd 查询此路程所属的软件包

卸载rpm包

  • 基本语法 rpm -e RPM包的名称 //erase
  • 删除firefox 软件包 rpm -e firefox

安装rpm包

  • 基本语法 rpm -ivh RPM包全路径名称
  • i=install 安装
  • v=verbose 提示
  • h=hash 进度条

2.yum

Yum是一个Shell前端软件包管理器,基于RPM包管理,能够从指定的服务器自动下载RPM包并安装,并且可以自动处理依赖性关系,兵器一次暗转所有的依赖软件包

基本指令

查询yum服务器上是否有需要安装的软件

yum install | grep xxx xxx软件列表

安转指定的yum包

yum install xxx 下载安装

3.Linux与Java篇

3.1配置JDK1.8

  1. mkdir /opt/jdk 一般我们安装的软件都放在opt目录下
  2. 通过xftp 上传到/opt/jdk下
  3. cd /opt/jdk
  4. 解压 tar -zxvf jdk-8u261-linux-x64.tar.gz
  5. mkdir /usr/local/java
  6. mv /opt/java/jdk1.8.0_261 /usr/local/java
  7. 配置环境变量的配置文件 sudo vim /etc/profile
  8. exprot JAVA_HOME = /usr/local/java/jdk1.8.0_261
  9. export PATH=JAVAHOME/bin==:==JAVA_HOME/bin==:==JAVAH​OME/bin==:==PATH
  10. source /etc/profile [让新的环境变量生效]

测试是否安装成功

3.2Tomcat的安装

  1. 上传安装文件,并解压到/opt/tomcat

  2. 解压 tar -zxvf apache-tomcat-8.5.59.tar.gz

  3. 进入到/bin目录下 启动tomcat ./startup.sh

  4. 开发端口8080

    #打开8080端口
    firewall-cmd --permanent --add-port=8080/tcp
    #重新加载
    firewall-cmd --reload
    #检查端口是否开启
    firewall-cmd --query-port=8080/tcp
    
  5. 测试 在windows下访问linux的ip地址+8080

6.

  1. 或者进入到tomcat的webapps的ROOT下 创建一个html文件

  2. 访问http://192.168.37.128:8080/xlh.html

Linux学习笔记(尚硅谷韩顺平老师2021最新Linux教程)万字笔记相关推荐

  1. Linux入门笔记-尚硅谷韩顺平-基础篇实操篇

    文章目录 课程导论 基础篇 Linux入门 Linux介绍 Linux和Unix的关系 Linux和Windows比较 基础篇 Linux的目录结构 基本介绍 具体的目录结构 实操篇 vi和vim的使 ...

  2. linux一些常用指令(根据尚硅谷韩顺平老师视频所写,都是自己手打的)

    ` vim和vi的基本介绍 所有的 Linux 系统都会内建 vi 文本编辑器. Vim 具有程序编辑的能力,可以看做是Vi的增强版本,可以主动的以字体颜色辨别 语法的正确性,方便程序设计.代码补完. ...

  3. 【数据结构与算法】尚硅谷韩顺平老师+含java代码(更新中)

    数据结构与算法 程序 = 数据结构 + 算法 数据结构:树.链表.图等 线性结构 数组.队列.链表和栈 非线性结构 二维数组,多维数组,广义表,树结构,图结构 稀疏数组 稀疏数组的好处时压缩数组 在这 ...

  4. 【尚硅谷|韩顺平】数据结构和算法

    文章目录 前言: 数据结构和算法 数据结构和算法的概述 数据结构和和算法的关系 数据结构 线性结构和非线性结构 非线性结构 稀疏 sparsearray 数组 基本介绍: 稀疏数组的处理方法是: 应用 ...

  5. 数据结构与算法-普利姆算法(Prim) | 尚硅谷韩顺平

    最小生成树 给定一个带权无向连通图,选取一棵树,让树所有边上权的总和最小,叫最小生成树 N个顶点,一定有N-1条边 包含全部顶点 N-1条边都要在图中 算法介绍 普里姆算法求最小生成树,也就是在包含n ...

  6. 数据结构与算法-克鲁斯卡尔算法(Kruskal) | 尚硅谷韩顺平

    提出问题 基本介绍 克鲁斯卡尔(Kruskal)算法,求加权连通图最小生成树的算法 基本思想:按权值从小到大顺序选择n-1条边,保证n-1条边不够成回路 具体做法:先构造一个只有n顶点的森林,然后按权 ...

  7. 最新多线程图解韩顺平老师2021

    文章目录 进程线程 线程 线程基本使用 继承Thread创建线程 为什么是start类 Runnable创建线程 多线程售票问题 线程终止 ,线程退出 线程中断 线程插队 守护线程 线程7大状态 线程 ...

  8. 韩顺平老师《一周学会Linux》视频笔记

    前言: 这个教学视频使用的软件环境是: Red Hat Linux(Kernel 2.4.20-8)红帽Linux系统[release 9 shrike],在虚拟机中运行 1.成为一个Linux专家的 ...

  9. maven学习笔记——尚硅谷

    文章目录 maven学习笔记--尚硅谷 第一章 Maven概述 第一节 为什么要学习Maven 1.Maven 作为依赖管理工具 1.1 jar 包的规模 1.2 jar 包的来源 1.3 jar 包 ...

  10. 韩顺平老师讲诉如何学习PHP

    有很多网友发来邮件询问各种问题,有深有浅, 有难有易.因为很多时间需要上课,没有一一回答,这里给大家道个歉,这里我举例出了几封网友的来信: 发件人:Chen Ma 发送时间: 2012-09-18 1 ...

最新文章

  1. Sql Server2005 Transact-SQL 新兵器学习总结之-数据类型
  2. 成功解决xlrd.biffh.XLRDError: Unsupported format, or corrupt file: Expected BOF record; found b‘Debug is
  3. Linux网络编程(一):Linux内核
  4. uitextfield 键盘类型_iOS输入类型-文本字段(Text Fields) | 菜鸟教程
  5. Oracle里PO自动售货如何做,Oracle R12采办接收流程(PR-PO-RCV-AP-Payment)
  6. 94年出生,她们如今都是985高校博士生导师!
  7. linux 系统内如何查看当前CPU详细信息
  8. python函数修饰参数_Python 函数参数的填坑之路
  9. python中msg函数_Python 知识点考点之闭包
  10. 《python自动化》学习笔记:正则表达式基础知识
  11. Flink SQL 在快手的扩展和实践
  12. dom影像图形成数字地形图_基于MapMatrix的数字正射影像图制作
  13. device mapper机制详解
  14. java的SSPanel类_SpringBoot中遇到的一些问题
  15. 华为FreeBuds SE耳机有杂音异响的解决办法
  16. 小红书竞品分析_跨境电商APP竞品分析:小红书、网易考拉和达令
  17. 非负矩阵分解的矩阵求解
  18. HDU 4411最小费用流
  19. java导出excel文件到服务器,javaexcel导出到远程服务器
  20. 如何用python控制单片机通信_如何实现pc机对单片机的控制

热门文章

  1. 百度文库免费复制文字_这个工具让想所有东西都能复制,连百度文库都能复制!...
  2. 欧瑞变频器800参数设置_常见品牌变频器修改功率方法大全
  3. Java实现 蓝桥杯VIP 算法训练 会议中心
  4. 华为交换机修改radius服务器地址,华为交换机radius认证-组网配置:pc+华为三层交换机+radius服务器(2003系统),求radius服务器的配置...
  5. usbcan、can分析仪、can卡的产品特点和功能特点
  6. coreldrawx4缩略图显示不出来_CDR不显示缩略图的3种终极解决办法!
  7. hbuilder版本更新失败_HbuilderX ios无法自定义安装调试基座
  8. AllWinner board 笔记
  9. Unity使用Newtonsoft报错的解决方案
  10. 图片验证,滑块验证解决