linux系统

本文概述了Linux系统的基础知识,包括系统构成、虚拟机网络模式、网络编程要素、SSH原理、Linux命令操作、用户管理、权限修改、软件安装、systemctl控制、软链接与硬链接、日期管理、IP和主机名、域名解析、固定IP配置、ping/wget/curl、资源与进程监控以及压缩与解压缩技术。
摘要由CSDN通过智能技术生成

1. linux系统简介

  • 计算机组成:  硬件和软件
  • 硬件组成: 冯-诺依曼体系结构  (控制器  运算器  存储器  输入设备  输出设备)
  • 软件组成: 系统软件(操作系统) 和 应用软件(各种第三方软件)
  • 操作系统作用: 承上启下(用户使用第三方应用软件和硬件之间的桥梁)
  • linux诞生:  林纳斯-托瓦兹 , 1991年上大学期间开始开发
  • linux系统组成:  linux系统内核 和  系统级应用程序
  • linux发行版: 基于开源免费的linux内核开发出的操作系统

2. 虚拟机的简介

  • 虚拟网卡模式:  NAT模式  桥接模式  仅主机模式
  • NAT模式: 虚拟机将你的Windows电脑当做路由器上网,也就是借助Windows电脑上网
  • 仅主机模式: 虚拟机无法上网,只能和你的Windows电脑互通
  • 桥接模式: 虚拟机将自己接入你Windows电脑所在的网络中,也就是借助你Windows电脑用的路由器上网
  • DHCP:(Dynamic Host Configuration Protocol)动态主机配置协议 ,向客户端动态分配 IP 地址和配置信息。
  • NAT:(Network Address Translation),是指网络地址转换, 主要把内部网ip地址转换成外部网能够识别的ip地址
  • DNS:(Domain Name System,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,根据域名找到对应的IP地址.

        举例: 当你在浏览器输入www.jd.com的时候,先在本地找找不到就去DNS服务器找www.jd.com对应的ip地址,找到后根据ip找主机

3. 网络编程三要素

  • 网络编程三要素: ip地址  端口(端口号)  协议
  • ip地址: 根据ip地址能够找到对应唯一的网络设备
  • 端口: 应用程序的入口,但是往往要先使用端口号来找到对应的端口,再根据端口连接上对应的进程
  • 协议: 多个进程之间网络传输的规则
  • tcp: 传输控制协议(TCP,Transmission Control Protocol)是一种面向连接的、可靠的、基于字节流的传输层通信协议
  •  udp: 用户数据报协议(UDP,User Datagram Protocol)是一种无连接的、不可靠的、之间发送封装的 IP 数据包的通信协议.

4. SSH原理

  • SSH协议: 文件传输协议secret file transfer protocol, Secure FTP或SFTP是一种数据流连线档案存取、传输和管理功能的网络传输协议。
  • OpenSSH: 是 SSH(Secure SHell)协议的免费开源实现.SSH协议族可以用来进行远程控制,或在计算机之间传送文件。
  • Secure Shell:(安全外壳协议,简称SSH)是一种加密的网络传输协议,可在不安全的网络中为网络服务提供安全的传输环境。
  • 常用命令: ssh-keygen: 生成公钥(rsa.pub)和私钥(rsa)
  • 服务名称: sshd

5. linux基础命令操作(重点)

https://blog.csdn.net/2301_80004159/article/details/134224168?spm=1001.2014.3001.5502

6. vi及vim编译器(重点)

 vi编译三大步

  • 打开文件: vim 文件名.后缀名     注意: 如果文件存在就打开,不存在就创建
  • 编辑文件: 输入i进入文件进行编辑
  • 保存文件:

        1.先进入命令模式(i): 按ESC键  

        2.进入底线命令模式: 输入冒号:   

        3.输入命令: w(保存)  q(退出)  q!(强制退出)  wq(保存并退出)   wq!(强制保存并退出)

其他常用vi操作: 复制:yy    粘贴:p   跳至首行:gg  调制尾行:G   删除光标所在行内容:dd

移动光标至本行开头: 0   移动光标至本行结尾:$

7. 帮助手册(重点)

        help查看帮助: 命令 --help       解释:会列出ls命令的帮助文档   
            举例: ls --help

        man查看手册:  man  命令         解释: man(manual, 手册)命令查看详细手册
            举例: man ls

8. 用户及用户组操作

        ①用户基本操作(help,man)

  • 需要在超级管理员root用户下操作
  • 添加用户(不指定组): useradd 用户名        

    注意: 默认在/home目录下创建了一个以用户名命名的文件夹,此文件夹就是对应用户的家目录
    注意: 如果添加用户的时候没有指定所属组,默认自动生成了一个以此用户名命名的组

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

    注意: 如果不加-r,用户被删除后,它的家目录依然存在
    注意: 如果用户所属组是添加用户的时候自动生成的,那么删除用户的对应的组也会自动删除

  • 查看所有用户快捷方式: getent passwd  
  • 查看所有用户普通方式: cat /etc/passwd    用户名:密码(x):用户ID:组ID:描述信息(无用):HOME目录:执行终端(默认bash)

        ②切换用户 SU(Switch User )

  • 切换到指定用户语法: su [-] 用户名

        注意: 使用普通用户,切换到其它用户需要输入密码,如切换到root用户
        注意: 使用root用户切换到其它用户,无需密码,可以直接切换

  • 拓展 sudo 及 passwd

        sudo 其他命令 : 告知系统将使用临时超级管理员权限执行命令,真正实现:

  1. 切换到root用户,执行visudo命令,会自动通过vi编辑器打开:/etc/sudoers
  2. 快捷方式: visudo
  3. 在文件的最后添加:
  4. 其中最后的NOPASSWD:ALL 表示使用sudo命令,无需输入密码
  5. 最后通过 wq 保存

        passwd 用户名     ->用于修改密码  建议设置123456,提示少于八个字符不用理会完成设置

  • 退出当前用户: exit 或者 ctrl+d

        拓展如何在root用户下给普通用户添加密码:  passwd 用户名   就会提示输入2次密码

用户授权

root用户给普通用户授权:

  • root用户下打开sudoers文件

        进入/etc/sudoers快捷方式: visudo

        进入/etc/sudoers普通方式: vi /etc/sudoers

  • 在文件最后添加以下内容并保存

        格式: 普通用户名    ALL=(ALL)    NOPASSWD:ALL

        举例:  binzi     ALL=(ALL)   NOPASSWD:ALL

  • 普通用户下使用root权限

        格式: sudo 其他命令  注意:即使前面授权了使用的时候,没有添加sudo,依然是权限不够

        ③用户组操作

  • 添加用户组: groupadd 组名
  • 删除用户组: groupdel 组名
  • 查看所有用户组快捷方式: getent group  
  • 查看所有用户组普通方式: cat /etc/group      组名称:组认证(显示为x):组ID
  • 修改文件/目录的所属组: chgrp 组名 指定文件/目录路径

        ④用户和组

  • 创建新用户同时指定组:  useradd 用户名 -g 组名

    注意: 多个用户可以指定同一个组
    注意: 如果添加用户的时候手动指定了组,删除该用户的时候,组依然存在

  • 添加已存在用户到指定组: usermod -aG 组名 用户名

    注意: 一个用户可以属于多个组

9. 修改权限(重点)

chmod

  • 修改权限方式1: chmod [-R] +rwx 文件     注意: w只能给当前用户加上
  • 修改权限方式2: chmod [-R] 777 文件      以数字方式给文件设置最高权限

        注意: r  read :4 只读      w  write :2 写入     x excute:1 执行      无权限:0

  • 修改权限方式3: chmod [-R] u=rwx,g=rwx,o=rwx 文件    以符号方式给文件设置最高权限

        -R: 对文件夹内的全部内容应用同样的操作

chown

  • 修改用户和用户组:  chown [-R] 用户:用户组 文件
  • 修改用户:  chown [-R] 用户 文件
  • 修改用户组:  chown [-R] :用户组 文件
  • -R: 对文件夹内的全部内容应用同样的操作

10. linux系统中安装软件

        两种方式:rpm(离线) 和yum(联网)

  • rpm:全称Redhat Package Manager,红帽包管理器。一般都是用于离线安装,不能解决依赖问题   
  • yum:全称Yellowdog Updater Modified,黄狗更新器基于rpm,一般用于在线安装,能够解决依赖问题(主要掌握)          格式:     yum  [install]/[update]/[remove]   下载/更新/移除

        yum在线安装tree程序: yum [-y] install tree           
        yum在线安装lrzsz上传下载程序: yum -y install lrzsz

        yum在线安装ntpd网络时间服务: yum -y install ntp

        注意:-y:下载中的提示全部确认

11. systemctl 命令控制(重点)

  1. Linux系统很多软件(内置或第三方)均支持使用systemctl命令控制:启动、停止、开机自启...
  2. 能够被systemctl管理的软件,一般也称之为:服务
  3. 语法: systemctl  [start | stop | restart | status | disable | enable] 服务名
  4. 常见的内置服务:
  • firewalld.service,防火墙服务
  • NetworkManager,主网络服务
  • network,副网络服务
  •  sshd,ssh的服务(客户端远程登录Linux使用的就是这个服务)
  • 主要掌握:status状态, start开始, stop停止, disable禁止自启, enable自启,restart重启

        示例:

  • 1.关闭和禁用防火墙(必须做)
        关闭当前运行防火墙服务: systemctl stop firewalld.service

        禁用防火墙服务开机自启: systemctl disable firewalld.service

        查看当前运行防火墙状态: systemctl status firewalld.service
  • 2.关闭和禁用主网络服务(可选做)
       关闭主网络服务: systemctl stop NetworkManager        

        禁用主网络服务: systemctl disable NetworkManager    

        查看状态: systemctl status NetworkManager

        重启网卡: systemctl restart network
  • 3.查看副网络服务状态: systemctl status network
  • 4.查看ssh的服务状态: systemctl status sshd

12. 软连接与硬连接

  • 软连接(类似快捷方式): ln -s 要被连接文件或者目录的绝对路径  存放软连接目标路径位置

        注意: 如果软连接的被指向的源文件或者目录丢失,软连接就失效了

  • 硬连接(类似复制备份): ln  要被连接文件或者目录的绝对路径  存放的硬连接目标路径位置

        注意: 如果硬连接的被指向的源文件或者目录丢失,硬连接不受影响

13. 日期(重点)

        ①基本操作

  • 查看当前的系统时间: date
  • 查看加后的系统时间: date -d "+1 day"    
  • 注意: day位置还可以是year,month,hour,minute,second
  • 查看减后的系统时间: date -d "-1 day"    
  • 注意: day位置还可以是year,month,hour,minute,second
  • 格式化显示系统时间: date [-d "+1 day"] "+%Y/%m/%d %H:%M:%S"
  • 格式化字符串:通过特定的字符串标记,来控制显示的日期格式
  •     %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 到现在的秒数

        ②修改校准时间

  • 如何修改时区: 使用root权限,执行如下命令,修改时区为东八区时区,将系统自带的localtime文件删除,并将/usr/share/zoneinfo/Asia/Shanghai文件链接为localtime文件即可.
        [root@binzi~]# rm -f /etc/localtime

        [root@binzi~]# ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
  • 我们可以通过ntp程序自动校准系统时间

        安装ntp服务: yum -y install ntp       注意: 安装ntp服务会自动安装ntpdate工具

  • 启动ntpd服务: systemctl start ntpd
  • 设置开机自启: systemctl enable ntpd
  • 当ntpd启动后会定期的帮助我们联网校准系统的时间
  • 通过阿里云提供的服务网址配合ntpdate命令自动校准(需root权限): ntpdate -u ntp.aliyun.com

14. ip和主机名

  1. ip地址作用: 每台网络设备在网络中的唯一标识(大白话就是根据ip能够找到对应网络设备)     
  2. 查看主机名:  cat /etc/hostname
  3. 修改主机名方式1: vi /etc/hostname      
  4. 修改主机名方式2: hostnamectl set-hostname 新主机名

15. 域名解析

  1. 域名: 可以理解成就是ip地址的别名
  2. 注意: 访问域名本质就是访问该域名对应的ip地址
  3. 先查看本机的记录(私人地址本)

        Windows看: C:\Windows\System32\drivers\etc\hosts             Linux看: /etc/hosts

     4.再联网去DNS服务器(如114.114.114.114,8.8.8.8等)询问

        举例: 给统一虚拟机配置本地域名,把以下三行复制粘贴到C:\Windows\System32\drivers\etc\hosts文件中

        192.168.88.161 node1.itcast.cn node1

        192.168.88.162 node2.itcast.cn node2

        192.168.88.163 node3.itcast.cn node3

16. 配置固定IP

  1. 当前我们虚拟机的Linux操作系统,其IP地址是通过DHCP服务获取的。 ==DHCP==: 动态主机配置协议 全称(Dynamic Host Configuration Protocol) 每次重启设备后都会获取一次ip,可能导致IP地址频繁变更.
  2. 如何配置固定ip: 1: 在VMware软件上nat网关 举例: 192.168.88.2 2: 打开ifcfg-ens33文件进行修改
[root@node1 /]# vim /etc/sysconfig/network-scripts/ifcfg-ens33

TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
# 1.把原来的dhcp修改static
BOOTPROTO="static"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33"
UUID="dfd8991d-799e-46b2-aaf0-ed2c95098d58"
DEVICE="ens33"
ONBOOT="yes"
# 2.添加以下内容
IPADDR="192.168.88.101"
PREFIX="24"
GATEWAY="192.168.88.2"    
NETMASK="255.255.255.0"
DNS1="8.8.8.8"
DNS2="114.114.114.114"
IPV6_PRIVACY="no"

直接重启网卡服务
[root@node1 ~]# systemctl restart network
# 注意: 如果重启后,ip地址已经变化,需要用客户端重新连接!!!
查看ip地址
[root@node1 /]# ifconfig

17. ping/wget/curl

        1. 使用ping命令可以测试到某服务器是否可联通
                语法:选项:-c,测试的次数
        2. 使用wget命令可以进行网络文件下载
                语法:选项:-b,后台下载
        3. 使用curl命令可以发起网络请求
                语法:选项:-O,用于下载使用

18. 资源与进程(重点)

        ①资源

        可以通过top命令查看CPU、内存使用情况,类似Windows的任务管理器 默认每5秒刷新一次,语法:直接输入top即可,按q或ctrl + c退出

        查看磁盘资源使用情况: df -h    (如使用finalshell可直接查看左边状态栏)

        查看内存资源使用情况: free -h          -h:以更加人性化的单位显示
       mem:表示物理内存统计       buff/cache:表示物理内存的缓存统计
       swap:表示硬盘上交换内存的使用情况
      mem和swap关系: swap是mem的备份,swap是mem内存不够时,磁盘虚拟出来的内存,磁盘主要是 I/O 级别的操作,并不是系统内核级别的操作,处理速度跟 mem 区不是一个等级

        ②进程

  • 进程: 是指运行中的程序,并拥有独立的进程ID(进程号)
  • 查看进程信息: ps -ef
  • 查找指定进程信息: ps -ef | grep 关键字
  • 关闭指定进程号的进程: kill -9 进程号

19. 压缩和解压缩

①tar命令

普通打包格式: tar -cvf 包名.tar 多个文件或者目录
普通解包格式: tar -xvf 包名.tar -C 目标位置路径

普通打包:   打包并使用gzip压缩            打包并使用bzip2压缩

gzip压缩格式:  tar -zcvf 包名.tar.gz 多个文件或者目录
gzip解压格式:  tar -zxvf 包名.tar.gz -C 目标位置路径

bzip2压缩格式:  tar -jcvf 包名.tar.bz2 多个文件或者目录
bzip2解压格式:  tar -jxvf 包名.tar.bz2 -C 目标位置路径

参数

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

②zip和unzip命令

        打包并压缩

  • zip压缩格式:  zip -r 包名.zip 多个文件或者目录
  • zip解压格式:  unzip 包名.zip -d 目标位置路径
  • 参数

    -r: 压缩目录的时候递归进入            -d: 选择解压的目的地

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值