Linux

一、初识Linux

操作系统概述

  1. 硬件与软件

    计算机是由: 硬件和软件所组成。
    硬件:计算机系统中由电子,机械和光电元件等组成的各种物理 装置的总称。
    软件:是用户和计算机硬件之间的接口和桥梁,用户通过软件与 计算机进行交流而操作系统就是软件的一类

  2. 操作系统

    操作系统是计算机软件的一种,它主要负责:作为用户和计算机硬件之间的桥梁,调度和管理计算机硬件进行工作而计算机如果没有操作系统,就是一堆无法使用的塑料而已

    当计算机拥有了操作系统,就相当于拥有了灵魂,操作系统可以:

    • 调度CPU进行工作
    • 调度内存进行工作
    • 调度硬盘进行数据存储
    • 调度网卡进行网络通讯
    • 调度音响发出声音
    • 调度打印机打印内容
      用户使用操作系统,操作系统安排硬件干活
  3. Linux内核
    下载Linux:https://www.kernel.org
    Linux系统的组成如下:

    • Linux系统内核
      内核提供系统最核心的功能,如: 调度CPU、调度内存、调度文件系统、调度网络通讯等
    • 系统级应用程序
      系统级应用程序,可以理解为出厂自带程序,可供用户快速上手操作系统,如:文件管理器、任务管理器、图片查看、音乐播放等。

二、Linux基础命令

Linux目录结构

Linux的目录结构是一个树型结构
Windows 系统可以拥有多个盘符,如 C盘、D盘、E盘
在windows系统中,路径之间的层级关系,使用:\来表示
注意:

  • D:表示D盘
  • \表示层级关系
    在这里插入图片描述
    Linux没有盘符这个概念,只有一个根目录 /所有文件都在它下面
    在Linux系统中,路径之间的层级关系,使用:/来表示
    注意:
  • 开头的/表示根目录
  • 后面的/表示层级关系
    在这里插入图片描述

Linux命令基础

  1. ls命令的参数的作用

    可以指定要查看的文件夹(目录)的内容如果不给定参数,就查看当前工作目录的内容

  2. ls命令的选项

    • -a选项,可以展示出隐藏的内容
      • 以.开头的文件或文件夹默认被隐藏,需要-a才能显示出来-[选项],以列表的形式展示内容,并展示更多细节
    • -h选项,需要和-l选项搭配使用,以更加人性化的方式显示文件的大小单位
  3. 命令的选项组合使用

    命令的选项是可以组合使用的,比如: ls -lah,等同于 ls -a -l -h

  4. cd命令的作用

    • cd命令来自英文: Change Directory
    • cd命令可以切换当前工作目录,语法是:

    cd [Linux路径]

    • 没有选项,只有参数,表示目标路径
    • 使用参数,切换到指定路径
    • 不使用参数,切换工作目录到当前用户的HOME
  5. pwd命令的作用

    • pwd命令来自英文: Print Work Directory
    • pwd命令,没有选项,没有参数,直接使用即可
    • 作用是:输出当前所在的工作目录
  6. 相对路径和绝对路径

    • 绝对路径:以根目录做起点,描述路径的方式,路径以/开头
    • 相对路径:以当前目录做起点,描述路径的方式,路径不需以/开头
  7. 特殊路径符有哪些?

    • .表示当前目录,比如cd.或 cd ./Desktop
    • . . 表示上一级目录,比如: cd … 或 cd . ./. .
    • ~表示用户的HOME目录,比如: cd ~或 cd ~/Desktop
  8. mkdir命令的语法和功能

    • mkdir用以创建新的目录(文件夹)
    • 语法: mkdir [-p] Linux路径
    • 参数必填,表示要创建的目录的路径,相对、绝对、特殊路径符都可以使用
    • p选项的作用可选,表示自动创建不存在的父目录,适用于创建连续多层级的目录
  9. touch命令

    • 用于创建一个新的文件
    • 语法:touch Linux路径
    • 参数必填,表示要创建的文件的路径,相对、绝对、特殊路径符都可以使用
  10. cat命令

    • 用于查看文件内容
    • 语法: cat Linux路径
    • 参数必填,表示要查看的文件的路径,相对、绝对、特殊路径符都可以使用
  11. more命令

    • 用于查看文件内容,可翻页查看
    • 语法: more Linux路径
    • 参数必填,表示要查看的文件的路径,相对、绝对、特殊路径符都可以
    • 使用空格进行翻页,使用q退出查看
  12. cp命令

    • 用于复制文件或文件夹
    • 语法: cp [-r] 参数1 参数2
    • -r选项,可选,用于复制文件夹使用,表示递归
    • 参数1,Linux路径,表示被复制的文件或文件夹
    • 参数2,Linux路径,表示要复制去的地方
  13. mv命令

    • 用于查看文件内容
    • 语法: mv 参数1 参数2
    • 参数1,Linux路径,表示被移动的文件或文件夹
    • 参数2,Linux路径,表示要移动去的地方,如果目标不存在,则进行改名,确保目标存在
  14. rm命令

    • 用于复制文件或文件夹
    • 语法: rm [-r -f] 参数1 参数2 参数N
    • -r选项,可选,文件夹删除
    • -f选项,可选,用于强制删除(不提示,一般用手root用户)
    • 参数,表示被删除的文件或文件夹路径,支持多个,空格隔开
    • 参数也支持通配符*,用以做模糊匹配
      test*:表示匹配任何以test开头的内容
      *test:表示匹配任何以test结尾的内容
      test:表示匹配任何包含test的内容
  15. which命令

    • 查找命令的程序文件
    • 语法: which 要查找的命令
    • 无需选项,只需要参数表示查找哪个命令
  16. find命令

    • 用于查找指定的文件
    • 按文件名查找:find 起始路径 -name “被查找文件名”
      • 支持通配符
    • 按文件大小找: find 起始路径 -size +/-n[kMG]
    • 参数也支持通配符*,用以做模糊匹配
      test*:表示匹配任何以test开头的内容
      *test:表示匹配任何以test结尾的内容
      test:表示匹配任何包含test的内容
  17. grep命令

    • 从文件中通过关键字过滤文件行
    • 语法:grep [-n] 关键字 文件路径
    • 选项-n,可选,表示在结果中显示匹配的行的行号。
    • 参数,关键字,必填,表示过滤的关键字,建议使用””将关键字包围起来参数,文件路径,必填,表示要过滤内容的文件路径,可作为管道符的输入
  18. wc命令

    • 命令统计文件的行数、单词数量、字节数、字符数等
    • 语法: wc [-c -m -l -w] 文件路径
    • 不带选项默认统计:行数、单词数、字节数
    • -c字节数、-m字符数、-l行数、-w单词数
    • 参数,被统计的文件路径,可作为管道符的输入
  19. 管道符 |

    • 将管道符左边命令的结果,作为右边命令的输入
      -组合键 shift+\
  20. echo命令

    • 可以使用echo命令在命令行内输出指定内容
    • 语法: echo 输出的内容
    • 无需选项,只有一个参数,表示要输出的内容,复杂内容可以用" "包围
  21. `反引号符

    • 被`包围的内容,会被作为命令执行,而非普通字符

22.重定向符

  • > 将左侧命令的结果,覆盖写入到符号右侧指定的文件中
  • >>将左侧命令的结果,追加写入到符号右侧指定的文件中
  1. tail命令

    • 查看文件尾部内容,并可以持续跟踪
    • 语法: tail [-f -num] Linux路径
    • 选项,-f表示持续追踪
    • 选项,-num表示查看尾部多少行,不填默认10行
  2. vi/vim编辑器
    什么是vi/vim编辑器

    • vi/vim编辑器,就是命令行模式下的文本编辑器,用来编辑文件
    • vim是vi的升级版,一般用vim即可,包含全部vi功能
      在这里插入图片描述

基础命令

  • vi 文件路径
  • vim 文件路径

运行模式

  • 命令模式,默认的模式,可以通过键盘快捷键控制文件内容
  • 输入模式,通过命令模式进入,可以输入内容进行编辑,按esc退回命令
  • 模式底线命令模式,通过命令模式进入,可以对文件进行保存、关闭等操作

命令模式快捷键

模式命令描述
命令模式i在当前光标位置,进入输入模式
命令模式a在当前光标位置之后,进入输入模式
命令模式I在当前行的开头,进入输入模式
命令模式A在当前行的结尾,进入输入模式
命令模式o在当前光标下一行,进入输入模式
命令模式O在当前光标上一行,进入输入模式
输入模式esc任何情况下输入esc 都能回到命令模式
命令模式键盘上、键盘k向上移动光标
命令模式键盘下、键盘j向下移动光标
命令模式键盘左、键盘h向左移动光标
命令模式键盘右、键盘l向后移动光标
命令模式0移动光标到当前行的开头
命令模式$移动光标到当前行的结尾
命令模式pageup(PgUp)向上翻页
命令模式pangdown(PgDn)向下翻页
命令模式/进入搜索模式
命令模式n向下继续搜索
命令模式N向上继续搜索
命令模式dd删除光标所在行的内容
命令模式nddn是数字,表示删除当前光标向下n行
命令模式yy复制当前行
命令模式nyyn是数字,复制当前行和下面的n行
命令模式p粘贴复制的内容
命令模式u撤销修改
命令模式ctrl+r反向撤销修改
命令模式gg跳到首行
命令模式G跳到行尾
命令模式dG从当前行开始,向下全部删除
命令模式dgg从当前行开始,向上全部删除
命令模式d$从当前光标开始,删除到本行的结尾
命令模式d0从当前光标开始,删除到本行的开头
底线命令模式:wq保存并退出
底线命令模式:q仅退出
底线命令模式:q!强制退出
底线命令模式:w仅保存
底线命令模式:set nu显示行号
底线命令模式:set paste设置粘贴模式

三、Linux权限管理

  1. Linux系统的超级管理员用户是:root用户

  2. su命令

    • 可以切换用户,语法:su [-] [用户名]
    • -表示切换后加载环境变量,建议带上
    • 用户可以省略,省略默认切换到root
  3. sudo命令

    • 可以让一条普通命令带有root权限,语法:sudo 其它命令
    • 需要以root用户执行visudo命令,增加配置方可让普通用户有sudo命令的执行权限
      为普通用户配置sudo认证
      执行visudo命令会自动通过vi编辑器打开:/etc/sudoers
      在文件的最后添加:
      普通用户名 ALL=(ALL) NOPASSWD : ALL
      其中最后的NOPASSWD:ALL 表示使用sudo命令,无需输入密码
  4. 用户和用户组
    Linux系统中可以:

    • 配置多个用户
    • 配置多个用户组
    • 用户可以加入多个用户组中

    Linux中关于权限的管控级别有2个级别,分别是:

    • 针对用户的权限控制
    • 针对用户组的权限控制

    用户组管理
    以下命令需要root用户执行

    # 创建用户组
    groupadd 用户组名
    # 删除用户组
    groupdel 用户组名
    

    用户管理
    以下命令需要root用户执行

    # 创建用户
    useradd [-g -d] 用户名
    #选项:-g指定用户的组,不指定-g,会创建同名组并自动加入,	指定-g需要组已经存在,如已存在同#名组,必须使用-g
    #选项:-d指定用户HOME路径,不指定,HOME目录默认在: 	/home/用户名
    
    # 删除用户
    userdel [-r] 用户名
    #选项:-r,删除用户的HOME目录,不使用-r,删除用户时,			HOME目录保留
    
    # 查看用户所属组
    id [用户名]
    # 参数:用户名,被查看的用户,如果不提供则查看自身
    
    # 修改用户所属组
    usermod -aG 用户组 用户名
    #将指定用户加入指定用户组
    
    # getent 可以查看当前系统中有哪些用户及用户组
    getent pwd
    getent group
    

    gentent pwd共有7份信息,分别是:用户名:密码(x):用户ID:组ID:描述信息(无用):HOME目录:执行终端(默认bash)
    getent group同样可以查看当前系统中有哪些用户组包含3份信息,组名称:组认证(显示为X):组ID

  5. 查看权限控制信息
    在这里插入图片描述

    • 序号1,表示文件、文件夹的权限控制信息
    • 序号2,表示文件、文件夹所属用户
    • 序号3,表示文件、文件夹所属用户组
      在这里插入图片描述
      举例:drwxr-xr-x,表示:
    • 这是一个文件夹,首字母d表示
    • 所属用户(第一个图序号2)的权限是:有r有w有x,rwx
    • 所属用户组(第一个图序号3)的权限是:有r无w有x,r-x (-表示无此权限)
    • 其它用户的权限是: 有r无w有x,r-x

    rwx
    那么,rwx到底代表什么呢?

    • r表示读权限
    • w表示写权限
    • x表示执行权限

    针对文件、文件夹的不同,rwx的含义有细微差别

    • r,针对文件可以查看文件内容
      • 针对文件夹,可以查看文件夹内容,如ls命令
    • w,针对文件表示可以修改此文件
      • 针对文件夹,可以在文件夹内: 创建、删除、改名等操作
    • x,针对文件表示可以将文件作为程序执行
      • 针对文件夹,表示可以更改工作目录到此文件夹,即cd进入
  6. chmod命令

    使用chmod命令,修改文件、文件夹的权限信息。
    注意:只有文件、文件夹的所属用户或root用户可以修改。
    语法:

    chmod [-R] 权限 文件或文件夹
    选项:-R,对文件夹内的全部内容应用同样的操作

    例子:

    # 将文件权限修改为:rwxr-x--x
    chmod u=rwx,g=rx,o=x hello.txt
    # u:表示user所属用户权限,g表示group组权限,o表示other其他用户权限
    
    # 将文件夹test以及文件夹内全部内容权限设置为:rwxr-x--x
    chmod -R u=rwx,g=rx,o=x test
    

    权限的数字序号
    权限可以用三位数字来代表,第一位数字表示用户权限,第二 位表示用户组权限,第三位表示其它用户权限。

    数字的细节如下:
    r记为4,w记为2,x记为1

    • 0:无任何权限,即—
    • 1:仅有x权限,即–x
    • 2:仅有w权限,即 -W-
    • 3:有w和x权限,即-WX
    • 4:仅有r权限,即r–
    • 5:有r和x权限,即r-x
    • 6:有r和w权限,即 rw-
    • 7:有全部权限即rwx
  7. chown命令

    功能:使用chown命令,可以修改文件、文件夹的所属用户和用户组

    限制:普通用户无法修改所属为其它用户或用户组,所以此命令只适用于root用户执行

    语法:

    chown [-R] [用户][:][用户组] 文件或文件夹
    

    选项,-R,同chmod,对文件夹内全部内容应用相规则
    选项,用户,修改所属用户
    选项,用户组,修改所属用户组
    :用于分隔用户和用户组

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值