2021-08-09~2021-08-13总结(Linux基础一)

工作总结

前言

上周学习nginx的时候是部署在linux系统上,发现自己对linux的熟悉程度并不好,所以本周来对linux进行学习。

技术探索

1.Linux介绍
1.1 Linux简介

Linux是一款操作系统,免费、开源、安全、高效、稳定、处理高并发强。现在很多企业级的项目都部署在linux服务器运行。Rehat使用Linux的内核,开发出了 Centos,Redhat。

1.2 Linux目录结构

linux的文件系统采用级层式的树状目录结构,在此结构中最上层的根目录"/",在此目录下可以创建其他目录。(linux世界里,一切皆文件

  1. 根目录 /
  2. /boot 启动linux时使用的一些核心文件,包含一些连接文件以及镜像文件
  3. /bin 常用的指令
  4. /etc 存放配置文件
  5. /home 创建用户的时候会产生对应的文件
  6. /lib、/lib64 动态库
  7. /opt 需要安装的软件所摆放的目录
  8. /usr/local 安装软件过后的文件目录
  9. /proc 内核文件不要动
  10. /root root用户的文件
  11. /selinux 安全子系统,安全加强目录(有黑客入侵会自动触发)
  12. /usr 安装软件以及应用程序软件存放处
  13. /sbin 高权限用户使用的文件、存放系统管理员使用的系统管理程序
  14. /dev 管理设备 (cpu、disk)把服务器的硬件映射成文件来管理
  15. /media 管理硬件(dvd、usb),当识别后linux会把识别的设备挂载道这个目录下
  16. /mnt 系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将外部的存储挂载在/mnt上,然后进入该目录就可以查看里的内容了。(识别共享文件)
  17. /var 日志文件存放
总结
  • linux系统有且仅有一个根目录
  • linux的各个目录存放的内容是规划好,不要乱放文件
  • linux是以文件形式管理我们的设备的,因此linux一些皆为文件
2.Linux使用
2.1 Linux vi与vim编辑器

所有的程序都有vi编辑器,vim具有程序编辑功能,可以看错vi的增强版本。
vi和vim三钟常见模式

  1. 正常模式
    以vim打开一个文档就直接进入正常模式,可以使用删除字符以及删除整行来管理文档,也可以使用 复制 粘贴来处理文档。
  2. 插入模式
    该模式下程序员可以输入内容。按i、o、r等任意一个字母之后会进入编辑模式,一般来说输入i即可。
  3. 命令行模式
    在这个模式中,可以提供相关指令、完成读取、存盘、替换、离开 vim 、显示行号等动作。
    在这里插入图片描述
案例
  • 命令行
    wq :保存退出
    w:保存文件
    q:退出(如对内容有修改无法按此方法退出)
    q!:强制退出
  • vi与vim快捷键(常用) 在一般模式中
    yy 复制当前行 5yy 复制当前行向下五行 p 粘贴
    dd 删除当前行 5dd 删除当前行向下五行 dw 删除一个词语 == v删除光标处
    命令行 / 输入要
    查询==的内容 回车进行匹配 输入 n查找下一个
    命令行 :set nu 设置行号 :set nonu 取消行号
    G文件末行 gg文件首行
    0 行首 $行末
    撤回 u 取消撤回动作 crtl+r
    跳转到文件的某行 输入行号 shift+g
2.2 Linux关机以及重启命令
  • shutdown
    shutdown -h now 立刻关机
    shutdown -h 1 “hello1分钟后会关机”
    shutdown -r now 现在重新启动计算机
  • halt
    直接关机,等价于关机
  • reboot
    重启系统
  • syn(关机或重启的时候执行)
    把内存数据同步磁盘(把为保存的数据保存)
  • logout注销登录
2.3用户管理

Linux可以创建不同的用户,每个用户至少要属于一个组。每个用户创建过后会生成自己同名的(/home)家目录,不同用户在登录的时候会自动进入自己的家目录

  1. 添加用户
    useradd 用户名
  2. 设置用户的密码
    passwd 用户
  3. 删除用户
    userdel 用户名 (家目录保留) userdel -r 用户名(同时删除家目录)
  4. 查询用户信息
    id 用户名
  5. 切换用户
    su - 用户名 (exit返回切换前的用户)
  6. 查看当前用户
    who am i
2.4用户组

类似于角色,系统可以对有共性的多个用户进行统一管理。

  1. 增加组
    groupadd 组名
  2. 删除组
    groupdel 组名
  3. 添加用户的时候指定组(组名必须提前建好)
    useradd -g 用户组 用户名
  4. 修改用户的组
    usermod -g 用户组 用户名
2.5用户配置文件
  1. /etc/passwd 用户配置文件(用户信息)
    在这里插入图片描述

  2. /etc/group 组配置文件(组信息)
    在这里插入图片描述

  3. /etc/shadow 口令配置文件(密码以及登录信息,已加密)

2.6Linux运行级别
  • 0 关机
  • 1 单用户(找回丢失密码)
  • 2 多用户无网络服务
  • 3 多用户有网络服务
  • 4 保留
  • 5 图形界面
  • 6 重启
    系统的运行级别配置文件 /etc/inittab (id:5 initdefault:)
    切换到指定运行级别的指令: init[012356] (例如 init 3)
    案例:如何找回丢失的root密码
    1.开机在引导时输入回车键进入单用户模式修改密码(必须用服务器操作)
2.7帮助指令
  1. man 查看指令的参数使用 (man [命令或配置文件])
  2. help 获取shell内置命令的帮助信息(help 命令)
2.8文件目录指令
  • pwd 指令 (显示所在地址
    显示当前工作目录的绝对路径
  • ls 指令(显示文件目录
    ls [选项] [目录或是文件]
    ls -al 显示当前目录的所有文件和目录,保护隐藏的
    ls -l 以列表的方式显示信息
  • cd(打开文件夹
    cd [参数]
    cd ~ 返回家目录
    cd …返回上一级目录
  • mkdir (创建文件夹)
    mkdir [选项] 所需创建的目录
    mkdir -p 创建多级目录
  • rmdir (删除文件夹)
    rmdir [选项] 所需删除的目录 rmdir 文件 只能删除空文件
    rm -rf 目录 可以删除目录下的内容
  • touch(创建空文件)
    touch 文件.类型 (可创建多个)
  • cp指令(复制文件)
    cp [选项] source(源) dest(目标)
    cp -r source(源) dest(目标) 递归复制整个目录
    \cp -r source(源) dest(目标) 针对已有文件强制覆盖
  • rm(移除文件或者目录
    移除文件或者目录
    rm [选项] 要删除的文件或目录
    常用选项
    -r 递归删除整个文件夹
    -f 强制删除不提示
  • mv(== 移动文件或重命名==)
    移动文件或重命名
    mv oldFile newFile (重命名,同文件中就是重命名文件)
    mv 地址/文件名 地址 (移动文件,目标地址不带文件名)
  • cat(查看文件
    查看文件内容
    cat [选项] 要查看的文件
    cat -n 文件 (显示行号)
    cat -n 文件 | more (分页显示,空格翻页)
    -more(查看文件
    是一个基于vi编辑器的文本过滤器,它以全屏的方式按页显示文本文件的内容
    more 要查看的文件 (ctrl+b 上一页 ctrl+f下一页 q离开文件)
  • less(大文件量的时候用less查看
    用来分屏查看文件,它的功能于more类似,支持各种显示终端,less根据显示的需要加载内容
    less 文件 (pagedown 向下翻页 pageup 向上翻页 /字符串 ?字符串 向上或向下查找 n N控制)
  • > 与 >> (追加与覆盖
    > 输出重定向 (会覆盖原来文件)
    > > 追加 (追加文件的尾部)
    ls -l > 文件 (列表的内容写入文件中(覆盖))
    ls -al >> 文件 (列表的内容追加到文件的末尾)
    cat 文件1 >文件2 (文件1的内容覆盖文件2的内容)
    echo “内容” >>文件 (双引号的内容追加到文件末尾)
  • echo(输出内容到控制台)
    echo [选项] [输出内容]
    echo $PATH (输出环境变量)
  • head (查看文件头
    用来查看文件开头内容
    head 文件(默认查看文件开头前10行)
    head -n 5 文件(查看文件的前5行)
  • tail(查看文件尾
    查看文件的末尾内容
    tail 文件(默认查看文件的最后10行)
    tail -n 5 文件(查看文件的最后5行)
    tail -f 文件(实时查看文件追加内容,可用于查看日志
  • ln(软连接
    软连接指令,主要用来存放文件路径(类似windos的快捷方式)
    ln -s [源文件/目录] [软连接名]
    rm -rf 软连接名 (删除软连接)
    -history (历史执行命令
    查看系统执行过的指令
    history 10 显示10个
    !行号 (执行history查看行号的指令)
2.9 时间日期类
  • date(显示日期
    显示当前日期
    date+"%Y" 当前年
    date+"%m" 当前月
    date+"%d" 当前天
    date +"%Y %m %d %H%M%S"
    date -s “2021-10-10 12:12:12” 设置系统时间
    -cal(显示日历
    以日历的样式 显示时间
    cal 年份 (显示该年份的日历)
2.10 搜索查找类
  • find(查询子文件夹)
    从指定文件夹递归向下查询所有的子文件夹,最终将匹配的文件显示到终端
    find [搜索范围] [选项]
    选项:
    -name (根据文件名字查询) 例子: find /root -name hello.txt
    -user (根据用户查询) 例子: find /root -user root
    -size(根据文件的大小查询) 例子: find /root -size +20m/20k (大于 + 小于 - 等于 不写)
    -locate(快速查询文件)
    locate指令根据事先建立的所有文件名及路劲的locate数据库实现快速定位文件。
    locate 文件名(进行文件的搜索)
    前置条件:安装 1. yum install locate 2.updatedb
  • grep 与 | 管道符
    grep过滤查找,管道符 | 表示将前一个命令的处理结果输出传递给后面的命令处理
    grep [选项] 查找内容 源文件
    选项:
    -n 显示行号
    -i 忽略字母大小写
    cat hello.txt | grep -n yes / cat hello.txt | grep -ni yes(在文件hello.txt查找yes是否存在)
2.11 压缩与解压缩类
  • gzip与gunzip
    gzip 文件(将文件压缩为 .gz文件,该指令压缩后不会保留原来的文件
    gunzip 文件.gz(解压压缩文件)
  • zip与unzip
    zip [选项] xxx.zip 文件(压缩文件及目录
    unzip [选项] 压缩文件(解压文件)
    选项
    -r 递归压缩 压缩子文件夹
    -d<目录> 指定解压后的文件存放到哪个文件夹
    unzip -d 解压后的地址 压缩文件
  • tar
    tar是打包指令打包完的文件是.tar.gz
    tar [选项] xxx.tar.gz
    选项:
    -c 产生打包文件
    -v 显示详细信息
    -f 指定压缩后的文件名
    -z打包同事压缩
    -x解压
    案例:
    将a.txt文件与b.txt文件 压缩成 home.tar.gz :tar -zcvf home.tar.gz a.txt b.txt
    将整个文件夹压缩 tar -zcvf home.tar.gz /home/
    解压到当前文件夹 tar -zxvf home.tar.gz
    解压到指定的文件夹 tar -zxvf home.tar.gz -c /home/

总结

1、这次算是第一次比较系统的对linux进行学习,受益良多。
2、下周会发布下一篇有关linux的学习总结笔记。

寻找方式,探索前行--zwx
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值