Linux笔记

Linux

一、简介

1.1 介绍

  • Linux:是一种开源、免费的操作系统,安装在计算机硬件上,用来管理计算机硬件和软件资源的系统软件

  • Linux 比较安全、稳定性、高并发处理能力

    • 但是没有优异的可视化界面 大多数都是基于终端命令使用Linux指令操作系统
  • windows用于个人计算机 linux主要是用于企业服务器上

1.2 发行版本

  • linus在1991年开发,linux的内核程序,在基础上陆续推出了:Ubunt(乌班图)、RedHat(红帽)、CentOS

1.3 安装Linux系统

1.3.1 虚拟机:VMware Workstation Pro
  • 可以用软件模拟出一套具有完整硬件系统功能、运行在一个完全隔离的环境中
1.3.2 安装系统 映像文件:CentOS-7-x86_64-DVD-2009.iso
1.3.3 设置管理员密码 用户账号:zheng密码 :root

1.4 目录结构

  1. bin ->usr/bin : 存放系统预装的可执行程序,这里存放的可执行文件可以在系统的任何目录下执行。

  2. usr/local/bin:存放用户自己的可执行文件,同样这里存放的可执行文件可以在系统的任何目录下执行。

  3. etc: 这个目录存放所有的系统管理所需要的配置文件。

  4. home:用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该目录名以用户的账号命名,叫作用户的根目录;用户登录以后,默认打开自己的根目录。

  5. opt: 这是给linux额外安装软件所存放的目录。比如你安装一个Oracle数据库则就可以放到这个目录下,默认为空。

1.5 远程操作

  1. Xshell:Linux的终端模拟软件

    • 免安装但要破解:先运行卸载.bat 在运行绿化.bat
    • 启动并远程连接Linux系统:创建会话
  2. Xftp:文件传输软件

    • 免安装但要破解:先运行卸载.bat 在运行绿化.bat
    • 启动并远程连接Linux系统:创建会话
  • Linux查看ip:ifconfig

二、指令

2.1 vi和vim Linux的文本编辑器

  • vim是vi的增强版 vi绝大多数用法都可以在vim适用

  • 创建 查看 编辑文本文件

  • vi vim使用:

    1. 在opt下创建目录 命令 【mkdir 文件名】

    2. 进入目录 使用命令 【vim 文件名.txt】

      1)一般模式:上下左右键查看文件 不能编辑

      • 【按a/i键进入编辑】
      • 【按shift + :进入命令行】

      2)编辑模式:编辑文件 不能保存

      3)命令行模式:

      • 【q!】不保存强制退出编辑器
      • 【wq】保存并退出编辑器
      • 【q】退出编辑器
  • vi vim快捷键:

    一般模式:

    • yy复制当前行
    • 数字+yy 复制几行
    • dd 删除当前行
    • 数字+dd 删除几行
    • p粘贴下一行
    • u 撤销

    命令行模式:

    • set nu 显示行号

    • set nonu 取消行号

    • /+关键字 查找 然后按n 为下一个关键字

2.2 用户管理

  • 使用任何Linux的系统资源的用户,必须有一个合法的账号密码

  • 账号密码一般都是向系统管理员申请、

  • 添加用户:【useradd 用户名】

    • 创建一个用户 会在home目录下创建根目录 目录名与用户名一致
    • 任何用户至少会属于一个组 不指定会新建一个组 组名和用户名一致 并添加进该组
    • 指定home下的根目录【useradd -d /home/xxx 用户名】
  • 设置密码:【passwd 用户名】

  • 删除用户:【userdel 用户名】*只能用管理员

    • 删除用户的同时删除主目录【userdel -r 用户名】
  • 查看用户的信息:【id 用户名】

  • 切换用户:【su 用户名】* 权限高切权限低不需要密码 反之则需要

2.3 组管理

  • 组相当角色的概念,可以对有共性的用户进行统一管理

    • 每个用户最少属于一个组 可以属于多个组 不能独立组外存在
    • 有一个主组在用户创建时指定的 不能改
    • 一个副组
  • 添加组【groupadd 组名】

  • 删除组 【groupdel 组名】

  • 用户添加进组 【gpasswd -a 用户名 组名】

  • 用户从组移除 【gpasswd -d 用户名 组名】

  • 添加用户时 指定所属的组【useradd -g 组名 用户名】

2.4 系统操作命令

  • 关机

    • 立即关机【shutdown now】
    • 定时关机【shutdown -h xxx】
    • 立即重启【shutdown -r now】【reboot】
  • 同步数据库:sync

2.5 帮助命令 【man 命令名】【help 命令名】

  • 按【q】退出

  • 【空格】翻页

  • 【回车】翻一行

2.6 文件 目录的操作命令

2.6.1 【ls命令】
  • 查看当前所在目录路径【pwd】
  • 查看当前目录下的子目录【ls】
  • 查看指定目录下子目录【ls /目录名】
  • 列表形式展现【ls -l /目录名】
  • 也要显示虚拟目录【ls -a /目录名】
  • 列表展示并也要显示虚拟目录【ls -al /目录名】
2.6.2【cd命令】
  • 绝对目录 【cd /详细路径】
  • 相对目录 【cd 当前路径下】
  • 进入当前用户的根目录【cd ~】
  • 当前目录的上级目录【cd …】
  • 当前目录【cd .】
2.6.3 创建目录【mkdir 目录名】
  • 绝对目录
  • 相对目录
  • 只能创建一个 创建多级目录【mkdir -p 目录路径】
2.6.4 删除非空目录【rmdir 目录】
2.6.5 创建文件【vi vim】
2.6.6 创建一个或者多个文件【touch 文件名.xxx】
  • 多个文件用空格隔开
  • 文件名前可以有绝对路径或相对路径
2.6.7 复制文件或目录【cp 源 目标】
  • 只能复制空目录 如若【cp -r 源 目标】
  • 如果重复有提示
2.6.8 删除文件或目录【rm 名】
  • 提示删除【rm 名】
  • 强制删除【rm -f 名】
  • 删除目录 【rm -r 目录名】提示递归删除文件
  • 强制删除目录 【rm -rf 目录名】
2.6.9 移动目录或文件【mv 源 目标】
  • 文件也可以是重命名【mv 文件.xxx 新文件名.xxx】
2.6.10 查看系统常量或变量【echo $名】
2.6.11把前面一个查看命令输出到终端的结果写入文件【查看命令 > 文件.txt】
  • 如果文件不存在 则新建

  • 如果文件存在 则覆盖

  • 查看文件内容输出到终端【cat 文件名】

2.7 关于日期和时间的操作命令

2.7.1 查看时间【date】
  • 当前年份【date +%Y】

  • 当前月份【date +%m】

  • 当前日期【date +%d】

  • 当前日期格式【date ‘+%Y-%m-%d %H:%M:%S’】

  • 设置当前系统时间【date -S ‘2020-10-20 10:20:30’】

  • 查看当前日历【cal】

  • 查看年份日历【cal 年份】

2.8 搜索文件或目录

2.8.1【find 关键字】
  • 通配符*
  • 可以指定目录【find /目录路径 关键字】 可以当前路径下
  • 可以按文件大小 【find -size +5M】+大于 -小于 =等于 M兆 K
  • 可以搜索目录下所有者是用户的【find \目录路径 -user 用户名】
2.8.2 搜索文件或目录【locate 关键字】
  • 会在整棵树目录中寻找 但是搜索前要更新树【updatedb】
  • 不会到磁盘去寻找 效率更快
2.8.3 【查看命令 搜索命令|grep 过滤条件】
  • 严格区分大小写

  • 不区分大小写【查看命令 搜索命令|grep -i 过滤条件】

  • 可以显示行号【查看命令|grep -ni 过滤条件】

2.9 压缩 解压命令

  • 压缩 解压单个文件

    • 【gzip 文件名】压缩 :生成【.gz】后缀压缩包 会删除原文件
    • 【gunzip 压缩包名】解压:解压也会删除原文件
  • 打包多个文件和目录

    • 【zip 目标压缩包名.zip 文件名或目录】:通常使用【.zip】压缩包 不会删除原文件
    • 【unzip 压缩包名】
    • 【unzip 压缩包名 -d 目录】解压到指定目录 不会删除原文件
  • 压缩 打包多个文件和目录 但只有一个命令:

    【tar - zcvf xxx.tar.gz 文件或目录】多文件空格隔开 压缩

    【tar - zxvf xxx.tar.gz -C 目录】解压

    • 选项【tar -c 目标压缩包名.tar.gz 打包的文件或目录】打包
    • 选项【tar -x 压缩包名.tar.gz -C 指定解压目录】解压

三、组

3.1 文件或目录 组

  • 每个文件或目录必须属于一个组 也只能属于一个组
  • 文件通过组判断哪些用户能对它进行操作 既文件的访问权限

3.2 查看文件所有者和所在组【ls -l】

  • 当前目录下的所有文件
  • 也可以指定

3.3 修改文件所有者【chown 新所有者 文件】

  • 【chown 新所有者:新的组 文件】
  • 【chown -R 新所有者:新的组 文件】递归修改目录下所有文件
3.4 只修改组【chgrp 组 文件】

四、文件目录权限

4.1 在文件看来 用户分为三类:

  • 所有者:默认情况下,文件的创建者 可以修改
  • 同组用户:跟文件属同一个组
  • 其他组用户:既不是文件所有者 也不是同组用户

4.2 文件或目录都有三种权限:

  • 文件而言:
    • 读(Read)查看 读取文件的内容 比如【cat】
    • 写(Write)可以修改文件内容 比如【vi vim】
    • 执行(Execute)如果文件是可执行文件 【.sh】直接运行 比如【./xxx.sh】
  • 目录而言:
    • 读(Read)查看 读取目录下的内容 比如【ls】
    • 写(Write)可以修改目录中内容 创建、修改、删除、重命名 文件或目录
    • 执行(Execute)能不能进入目录 比如【cd】

4.3 权限控制:

  • 三部分控制:

    • r、w、x分别表示:读、写、执行
    • 【ls -l】三部分 分别代表 所有者 同组用户 其它组用户权限
    • root拥有超级权限 所有者权限
  • 查看文件、目录的权限【ls -l】

  • 一、修改文件、目录的权限 【chmod u=rwx,g=rwx,o=rwx,a=rwx 文件】

    • 用r w x:读 写 执行
    • u g o a:所有者 同组用户 其他组用户 所有用户 修改权限
    • +、-、= :增删 设置权限
  • 二、使用数字的方式修改文件权限【chmod 777 文件】

    • 数字对应421:读写执行
    • 每部分分别对应一个数字 权限的和

五、网络配置

  • 在linux配置文件中修改【vim /etc/sysconfig/network-scripts/ifcfg-ens33】

  • 每次使用静态IP:BOOTPROTO=“static”

  • 每次启动加载一次该文件:ONBOOT=“yes”

  • 设置的IP地址:

//虚拟机上编辑>>虚拟网络编辑器>>NAT模式>>DGCP设置查看IP地址范围
//虚拟机上编辑>>虚拟网络编辑器>>NAT模式>>NAT设置查看网关IP 下面两个一样
IPADDR=192.168.75.129
GATEWAY=192.168.75.0
DNS1=192.168.75.0

六、进程管理

  • 线程:一个程序的线路

  • 进程:一个程序的执行,一个进程会占用一个端口

  • 查看进程【ps】显示应用进程

  • 查看进程【ps -e】显示所有进程

  • 查看进程【ps -ef】显示所有详细进程

    • 查看某些软件是否是启动状态
    • 查看指定进程【ps -ef|grep 名】
  • 关闭进程【kill -数字 PID】

七、服务管理

  • 服务介绍:服务是支持Linux运行一些必要的程序 本质也是进程 叫守护进程

  • 操作服务【systemctl [start启动|stop停止|restart重启|reload加载数据|status查看当前状态|enable设置] 服务名称】

  • firewalld 防火墙名称

  • 比较老的 service 命令 逐渐淘汰

八、软件包管理

软件安装包

8.1 RPM包管理(了解)

  • 一种Linux的软件包的打包安装的工具,操作的软件包都是【.rpm】结尾
  • 查看系统中已安装的 rpm软件包【rpm -qa】
  • 卸载rpm软件包【rpm -e 软件包名】
  • 安装rpm包【rpm -ivh 软件包】 将软件包放在/opt下安装

8.2 YUM包管理 改进

  • 基于RPM的软件管理工具 它能从指定服务器自动下载 安装 处理软件包之间的依赖
  • 查看系统中已安装的 rpm软件包【yum list installed|grep 名】查看并过滤
  • 卸载rpm软件包【yum remove 软件包】
  • 安装rpm软件包【yum install 软件包】必须有外网

九、安装JDK

  1. 在/opt下放 jdk包.tar.gz文件 然后【tar -zxvf jdk包.tar.gz】解压

  2. 在【/etc vim profile 】在etc下编辑 添加环境变量

  3. 在export下添加 最后输入export 变量名 变量名

    JAVA_HOME=/opt/jdk1.8.0_121
    PATH=$JAVA_HOME/bin:$PATH
    CLASSPATH=$JAVA_HOME/lib:.
    
  4. 加载一下Linux 【source】

  5. 测试【java -version】

十、安装Tomcat服务器

  1. 在/opt下放 Tomcat包.tar.gz文件 然后【tar -zxvf Tomcat包.tar.gz】解压

  2. 在安装的Tomcat下bin 执行【./startup.sh】启动Tomcat

  3. 127.0.0.1:8080 访问 如果是外人访问

    需要关闭防火墙【systemctl start启动|stop停止 firewalld 】

  4. 192.168.75.129:8080

十一、安装mysql

  1. 检查是否安装mariadb

    检查命令【yum list installed|grep mariadb】

    卸载命令【yum -y remove mariadb-libs.x86_64】参数 -y 不需要确认直接卸载

  2. 在/opt下放 mysql包.tar.gz文件 然后【tar -zxvf mysql包.tar.gz】解压

  3. 重命名 【mv mysql-5.7.18-linux-glibc2.5-x86_64/ mysql-5.7.18】

  4. 在安装的目录 创建数据文件夹data存放数据库文件的【mkdir data】

  5. 创建执行mysql命令的Linux用户

    创建组名 【groupadd mysql】

    创建用户指定组名【useradd -g mysql mysql】

  6. bin下初始化数据库并指定data

    【./mysqld --initialize --user=mysql --datadir=/opt/mysql-5.7.18/data --basedir=/opt/mysql-5.7.18】

    1. 账号root 初始化密码:;n2*7g1/.OV&
  7. bin下启动安全功能

    【./mysql_ssl_rsa_setup --datadir=/opt/mysql-5.7.18/data】

  8. opt下修改mysql-5.7.18目录权限【chown -R mysql:mysql /opt/mysql-5.7.18/】

  9. 启动mysql/bin下启动【./mysqld_safe &】&是表示后台启动

    不加& 会占领一个DOS窗口给mysql 要在创一个DOS才可以

    查看启动成功【ps -ef |grep mysql】

  10. bin下客户端登录mysql【./mysql -uroot -p】临时密码

  11. 修改密码【alter user ‘root’@‘localhost’ identified by ‘root’;】

  12. 授权远程访问

    【grant all privileges on . to root@’%’ identified by ‘root’;】

    更新权限信息,执行flush刷新权限 【flush privileges;】

    关闭防火墙:【systemctl stop firewalld】

    远程连接数据库:Navicat软件远程连接

  13. 关闭mysql【./mysqladmin -uroot -p shutdown】

十二、部署项目

  1. 启动Linux数据库 加载数据库信息 关闭防火墙
  2. 打包java项目 war
  3. 将war 放/opt/apache-tomcat-8.5.35/webapps下
  4. http://192.168.75.129:8080/xxx
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值