Day_13 Linux

01-vim编辑器(掌握)

  • 概述

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

    vi 文件名
    
    vim 文件名
    
  • 注意事项

    • vim编辑器需要安装 : yum install vim

02-vim三种模式(重点)

  • 概述
    • vim编辑器有三种模式 : 命令模式(阅读) , 编辑模式(编辑) , 末行模式(保存)
    • vim编辑器默认进入的是命令模式(阅读)
  • 模式切换
    • image-20220408092839967
  • 需求
    • 新建一个a.txt文件,内容为"老邱真棒!",并保存退出!

03-cat,more,less指令(掌握)

  • ①cat指令:

    • 语法

      cat [参数] 文件名
      
    • 参数

      • -n : 显示行号
  • ②more指令

    • 语法

      more 文件名
      
    • 快捷键

      • image-20220408093756266
  • ③less指令

    • 语法

      less 文件名
      
    • 快捷键

      • image-20220408093828933

04->和>>指令(掌握)

  • ①>指令

    • 将内容覆盖到指定文件

    • 语法

      ls -al > 文件
      echo 内容 > 文件
      
    • 常用指令

      # 相当于 cp 文件名1 文件名2
      cat 文件名1 > 文件名2
      
  • ②>>指令

    • 将内容追加到指定文件

    • 语法

      ls -al >> 文件
      

05-echo,head,tail指令(掌握)

  • ①echo指令

    • 输出内容到控制台

    • 语法

      echo 内容
      
  • ②head指令

    • 查看文件的头部内容

    • 语法

      #查看文件的头部内容,默认是10条
      head [-条数] 文件
      
      
  • ③tail指令

    • 查看文件的尾部内容

    • 语法

      #查看文件的尾部内容,默认是10条
      tail [-条数] 文件
      
      

06-find,locate,grep指令(掌握)

  • ①find指令

    • 搜索指定文件

    • 语法

      find [范围] [参数] 文件名
      
      
    • 参数

      • -name : 根据文件名搜索
      • -user : 根据用户名搜索
      • -size : 根据文件大小搜索
    • 需求1:根据文件名称查找/home 目录下的hello.txt文件

      find /home -name hello.txt
      
      
    • 需求2:查找/opt目录下,用户名称为root的文件

      find /opt -user root
      
      
    • 需求3:查找整个linux系统下大于200m的文件(+n 大于 -n小于 n等于)

      #c:字节 , 默认值
      #k:kb
      #M:mb
      #G:gb
      find / -size +2
      
      
  • ②locate指令

    • locate指令可以快速定位文件路径。locate指令利用事先建立的系统中所有文件名称及路径的locate 数据库实现快速定位给定的文件。Locate指令无需遍历整个文件系统,查询速度较快。为了保证查询 结果的准确度,管理员必须定期更新locate时刻。

    • 语法

      #创建或更新locate数据库
      updatedb
      
      locate 文件名
      
      
    • 注意事项

      • 需要安装locate指令 : yum -y install mlocate
  • ③grep指令

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

    • 语法

      grep [参数] 查找内容
      
      
    • 参数

      • -n : 行号
      • -i : 忽略大小写
    • 需求:在 hello.txt文件中,查找"yes"所在行,并且显示行号 , 并将结果输出到result.txt中

      cat hello.txt | grep -ni yes > result.txt
      
      

07-zip,unzip指令(掌握)

  • 概述

    • zip 用于压缩文件,unzip用于解压的,这个在项目打包发布中经常用到
  • ①zip指令

    • 语法

      zip [参数] 目标文件.zip 源文件 
      
      
    • 参数

      • -r : 递归压缩,即压缩目录
    • 需求1: 压缩a.txt

      zip a.zip a.txt 
      
      
    • 需求2 : 压缩

      zip aaa1.zip aaa1
      
      
  • ②unzip指令

    • 语法

      unzip [-d 目标路径] 源文件.zip
      
      
    • 需求1:将aaa1.zip解压到根目录

      unzip -d / aaa1.zip
      
      
  • 注意事项

    • zip指令和unzip指令需要安装:yum -y install zip , yum -y install unzip

08-tar指令(掌握)

  • 概述

    • 用于对文件进行解压缩操作
  • 语法

    tar [参数] xxx.tar.gz 文件1 [文件2] ...
    
    
  • 常用指令

    #压缩文件
    tar -zcvf xxx.tar.gz 文件1 [文件2]...
    
    #解压文件
    tar -zxvf xxx.tar.gz  [-C 目标路径]
    
    
  • 参数

    • -z : 通过gzip指令处理解压缩
    • -c : 压缩
    • -x : 解压
    • -v : 显示详细信息
    • -f : 指定要操作的文件
  • 需求1: 将 /home/a1.txt 和 /home/a2.txt 压缩成 a.tar.gz

    tar -zcvf a.tar.gz a1.txt a2.txt
    
    
  • 需求2:将/home目录压缩成myhome.tar.gz

    tar -zcvf myhome.tar.gz /home
    
    
  • 需求3:将 a.tar.gz 解压到当前目录

    tar -zxvf a.tar.gz
    
    
  • 需求4:将myhome.tar.gz解压到/opt/home2目录中

    tar -zxvf myhome.tar.gz -C /opt/home2
    
    

09-文件属性(掌握)

  • 概述

    • 通过ls指令来查看文件/目录的属性
  • 文件属性

    • image-20220408112239001

    • 权限

      • 可读权限 , 可写权限 , 可执行权限
    • 属主

      • 由哪个用户创建就属于哪个用户
    • 属组

      • 属主属于哪个组,文件就属于哪个组

10-chmod指令(掌握)

  • 概述

    • 用于修改目录/文件的权限
  • 权限属性

    • image-20220408112621620
    • 文件类型
      • d : 是一个目录
      • l : 是一个连接,相当于快捷方式
      • -: 是一个文件
    • 权限属性
      • image-20220408112855948
      • rwx=4+2+1=7
  • 语法

    #数字权限
    chmod [参数] 数字权限 文件/目录
    #符号权限
    chmod [参数] u=符号权限,g=符号权限,o=符号权限 文件/目录
    
    
  • 参数

    • -R : 递归修改权限
  • 需求1:使用数字权限修改文件夹aaa1权限为可读、可写、可执行

    chmod 777 aaa1
    
    
  • 需求2:使用数字权限修改文件夹aaa1及其内容的权限为可读、可写、可执行

    chmod -R 777 aaa1
    
    
  • 需求3:使用符号权限修改文件夹aaa1权限为可读、可写、可执行

    chmod u=rwx,g=rwx,o=rwx aaa1
    
    
  • 需求4:使用符号权限修改文件夹aaa1及其内容的权限为可读、可写、可执行

    chmod -R u=rwx,g=rwx,o=rwx aaa1
    
    

11-chown指令(掌握)

  • 概述

    • 修改目录/文件的属主和属组
  • 语法

    chown [参数] 属主名:属组名 文件/目录
    
    
  • 参数

    • -R : 递归修改属主和属组
  • 需求1:将文件夹aaa1的属主和属组分别修改为:oldqiu和teacher

    #添加teacher组
    groupadd teacher
    #添加oldqiu用户
    useradd -g teacher oldqiu
    
    chown oldqiu:teacher aaa1
    
    
  • 需求2:将文件夹aaa1及其内容的属主和属组分别修改为:oldqiu和teacher

    chown -R oldqiu:teacher aaa1
    
    

12-linux进程概述(掌握)

  • 概述
    • 在LINUX中,每个执行的程序(代码)都称为一个进程。
    • 每一个进程都分配一个ID号。 每一个进程,都会对应一个父进程,而这个父进程可以复制多个子进程。例如www服务器。
    • 每个进程都可能以两种方式存在的。前台与后台,所谓前台进程就是用户目前的屏幕上可以进行操作 的。后台进程则是实际在操作,但由于屏幕上无法看到的进程,通常使用后台方式执行。
    • 一般系统的服务都是以后台进程的方式存在,而且都会常驻在系统中。直到关机才才结束

13-linux进程查看(掌握)

  • 语法

    #查看进程信息
    ps -aux
    
    #查看进程信息及其父进程信息
    ps -ef
    
    
  • ①ps -aux解释

    • image-20220408141812870
    • USER : 用户名称
    • PID : 进程号
    • CPU : 进程占用CPU百分比
    • MEM : 进程占用物理内存的百分比
    • VSZ : 进程占用的虚拟内存大小(单位:KB)
    • RSS : 进程占用的物理内存大小(单位:KB)
    • TTY : 终端名称
    • STAT : 进程状态,其中S-睡眠,s-表示该进程是会话的先导进程,R-正在运行,D-短期等待,Z-僵 死进程,T-被跟踪或者被停止等等
    • START : 进程的启动时间
    • TIME : CPU时间,即进程使用CPU的总时间
    • COMMAND : 启动进程所用的命令和参数
  • ②ps -ef解释

    • image-20220408142145233
    • UID:用户ID
    • PID:进程ID
    • PPID:父进程ID
    • C:CPU用于计算执行优先级的因子。数值越大,表明进程是CPU密集型运算,执行优先级会降低; 数值越小,表明进程是I/O密集型运算,执行优先级会提高
    • STIME:进程启动的时间
    • TTY:终端名称
    • TIME:CPU时间,即进程使用CPU的总时间
    • CMD:启动进程所用的命令和参数

14-kill,killall指令(掌握)

  • 概述

    • 若是某个进程执行一半需要停止时,或是已消了很大的系统资源时,此时可以考虑停止该进程。使用 kill命令来完成此项任务。
  • 语法

    #根据进程id杀死进程
    kill [参数] 进程ID
    
    #根据进程名称杀死进程
    killall 进程名称
    
    
  • 参数

    • -9 : 强制杀死进程
  • 需求1 : 踢掉oldqiu登录用户

    #查看oldqiu登录进程
    ps -aux | grep oldqiu
    
    #踢掉oldqiu登录用户
    kill -9 18310
    
    
  • 需求2:杀死gedit进程

    killall gedit
    
    
  • 注意事项

    • killall指令需要安装:yum install psmisc

15-linux服务管理(掌握)

  • 概述

    • 服务(service) 本质就是进程,但是是运行在后台的,通常都会监听某个端口,等待其它程序的请求, 比如(mysql , sshd, 防火墙等),因此我们又称为守护进程,是Linux中非常重要的知识点。
    • 在CentOS7.0后 不再使用service ,而是 systemctl
  • 语法

    #centos7.0以前
    service 服务名 [start | stop | status | restart | reload]
    
    #centos7.0及以后
    systemctl [start | stop | status | restart | reload] 服务名
    
    
  • 需求

    • 分别使用servcie , systemctl操作防火墙
  • ①servcie操作防火墙

    #查看防火墙状态
    service iptables status
    
    #关闭防火墙
    service iptables stop
    
    #开启防火墙
    service iptables start
    
    
  • ②systemctl操作防火墙

    #查看防火墙状态
    systemctl status iptables 
    
    #关闭防火墙
    systemctl stop iptables 
    
    #开启防火墙
    systemctl start iptables 
    
    
  • 注意事项

    • 报错"Unit iptables.service could not be found."需要安装:yum install iptables-services

16-linux软件安装概述(掌握)

  • 分类
    • 二进制发布包
      • xxx.tar.gz , 软件已经针对具体平台编译打包发布,只要解压,修改配置即可
    • rpm包
      • xxx.rpm , 软件已经按照redhat的包管理工具rpm规范进行打包发布,需要获取到对应的rpm软件包,然后 使用rpm指令进行安装
    • yum在线安装
      • 软件已经按照redhat的包管理工具规范rpm进行打包发布,但发布在了网络上的一些服务器上, 使用yum指令在线安装服务器上的rpm软件,并且会自动解决软件安装过程中的库依赖问题

17-rpm包概述及查询(掌握)

  • 概述

    • 一种用于互联网下载包的打包及安装工具,它包含在某些Linux分发版中。它生成具有.RPM扩展名的 文件。RPM是RedHat Package Manager(RedHat软件包管理工具)的缩写,类似windows的 setup.exe,这一文件格式名称虽然打上RedHat的标志,但理念是通用的。
  • 语法

    #查询所有rpm软件包
    rpm -qa
    #过滤查询rpm软件包
    rpm -qa | grep 软件名
    #查询rpm软件信息
    rpm -qi 软件名
    
    
  • 需求1:查询所有rpm软件包

    rpm -qa
    
    
  • 需求2 : 分页查询所有rpm软件包

    rpm -qa | more
    
    
  • 需求3 : 过滤查询firefox软件包

    rpm -qa | grep firefox
    
    
  • 需求4:查询firefox的软件信息

    rpm -qi firefox
    
    

18-rpm包卸载和安装(掌握)

  • 语法

    #rpm卸载
    rpm -e 软件名
    
    #rpm安装
    rpm -ivh 软件名
    
    
  • 需求1:卸载firefox

    rpm -e firefox
    
    
  • 需求2:安装firefox

    #①上传firefox-52.2.0-2.el7.centos.x86_64.rpm到虚拟机
    
    #②安装firefox
    rpm -ivh firefox-52.2.0-2.el7.centos.x86_64.rpm
    
    

19-yum概述及使用(掌握)

  • 概述

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

    yum [options] [command] package_name
    
    
    • options
      • -y : 自动确认
      • -q : 不显示安装进度
    • command
      • install : 安装
      • list : 查询yum中的rpm包
      • search : 搜索yum中的rpm包
      • remove : 移除已安装的rpm包
    • package_name
      • 软件包名
  • 需求1:查询yum服务器中的firefox

    yum list | grep firefox
    
    #或
    
    yum search firefox
    
    
  • 需求2:安装yum服务器中的firefox

    yum install firefox.i686
    
    
  • 需求3:查看已安装的firefox

    yum list installed | grep firefox
    
    
  • 需求4:卸载firefox

    yum remove firefox.i686
    
    

20-linux安装jdk(掌握)

  • 使用

    • 使用yum安装jdk
  • 开发步骤

    • ①搜索yum服务器中的java
    • ②yum安装java
    • ③配置jdk环境变量
      • 编写/etc/profile
    • ④环境变量立即生效
    • ⑤验证
  • ①搜索yum服务器中的java

    yum list | grep java
    #或
    yum search java
    
    
  • ②yum安装java

    yum install -y java-1.8.0-openjdk*
    #或
    yum install -y java-1.8.0-openjdk
    yum install -y java-1.8.0-openjdk-devel
    
    
    • 会安装到/usr/lib/jvm目录中
  • ③配置jdk环境变量

    export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.322.b06-1.el7_9.x86_64
    export PATH=$PATH:$JAVA_HOME/bin
    
    
  • ④环境变量立即生效

    source /etc/profile
    
    
  • ⑤验证

    javac
    #或
    java -version
    
    

21-linux安装tomcat(掌握)

  • 概述

    • 使用二进制包xxx.tar.gz安装tomcat
  • 开发步骤

    • ①下载tomcat的tar.gz包
    • ②将apache-tomcat-9.0.62.tar.gz上传到linux虚拟机的/usr/local目录
    • ③解压apache-tomcat-9.0.62.tar.gz
    • ④启动tomcat服务器
  • ①下载tomcat的tar.gz包

  • ②将apache-tomcat-9.0.62.tar.gz上传到linux虚拟机的/usr/local目录

  • ③解压apache-tomcat-9.0.62.tar.gz

    tar -zxvf apache-tomcat-9.0.62.tar.gz
    
    
  • ④启动tomcat服务器

    startup.sh
    
    
  • ⑤关闭防火墙

    systemctl stop iptables
    
    
  • ⑥测试

    • image-20220408163237809

22-linux安装mysql(掌握)

  • 概述

    • 使用yum安装mysql
  • 开发步骤

    • ①手动下载mysql的rpm包
      • wget
    • ②将mysql的rpm包安装到yum服务器
    • ③安装mysql-community-server.x86_64
    • ④启动mysql服务
    • ⑤查看mysql的root账户的密码
    • ⑥进入mysql服务器,修改root账户的密码
    • ⑦授予root远程访问权限
    • ⑧使用datagrip远程连接linux服务器的mysql服务器
  • ①手动下载mysql的rpm包

    wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm
    
    
  • ②将mysql的rpm包安装到yum服务器

    yum -y localinstall mysql57-community-release-el7-8.noarch.rpm
    
    
  • ③安装mysql-community-server.x86_64

    yum -y install mysql-community-server.x86_64
    
    
  • ④启动mysql服务

    systemctl start mysql
    
    
  • ⑤查看mysql的root账户的密码

    cat /var/log/mysqld.log | grep password
    
    
    • image-20220408164551976
  • ⑥进入mysql服务器,修改root账户的密码

    set global validate_password_policy=LOW;
    set global validate_password_length=4;
    set password=password('root');
    
    
  • ⑦授予root远程访问权限

    grant all privileges on *.* to 'root' @'%' identified by 'root';
    flush privileges;
    
    
  • ⑧使用datagrip远程连接linux服务器的mysql服务器

    • image-20220408165350745
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值