Linux笔记

Linux的目录结构

  1. Linux的目录是一个树形结构
  2. Linux没有盘符这个概念,只有一个根目录==/==,所有文件都在它下面
  3. image-20240121175917599
  4. 在Linux系统中,路径之间的层级关系,使用:==/==来表示
  5. 如:==/user/hello.txt==

Linux命令

Linux命令基础格式

  1. 命令:即Linux操作指令,是系统内置的程序,可以以字符化的形式去使用
  2. 命令行:即Linux终端,可以提供字符化的操作页面共命令执行

Linux命令的通用格式

1
command [-options] [paramenter]
  • 命令本体,即命令本身
  • 可选项,控制命令的行为细节
  • 可选参数,控制命令的指向目标

ls命令入门

  1. 作用:列出目录下的内容

  2. 语法:

    1
    ls [-a -l -h] [Linux路径]
    • -a -l -h是可选的选项
    • Linux路径是此命令可选的参数
  3. 当不适用选项和参数,直接使用ls命令本体,表示:以平铺形式,列出当前工作目录下的内容。

  1. Home目录:每一个用户在Linux系统的专属目录,默认在:/home/用户名
  2. 当前工作目录:Linux命令行在执行命令的时候,需要一个工作目录,打开命令行程序(终端)默认设置工作目录在用户的HOME目录。
  1. ls命令的参数的作用:可以指定要查看的文件夹(目录)的内容,如果不给定参数,就查看单钱工作目录的内容
  2. ls命令的选项
    1. -a 选项,可以展示出隐藏的内容, 以==.==开头的文件或文件夹默认被隐藏,需要-a才能显示 出来。
    2. -l 选项,以列表的形式展示内容,并展示更多细节
    3. -h 选项,需要和-l选项搭配使用,以更加人性化的形式显示文件的大小单位
  3. 命令的选项的组合使用:如:ls -alh,等同于 ls -a -l -h。

cd命令(change directory)

  1. 作用:切换当前工作目录

  2. 语法:

    1
    cd [linux路径]
    1. 没有选项,只有参数,表示目标路径
    2. 使用参数,切换到指定路径
    3. 不使用参数,切换工作目录到当前用户的HOME

pwd查看当前工作目录(print work directory)

  1. 作用: 输出当前所在的工作目录
  2. 没有选项,没有参数,直接使用即可

相对路径和绝对路径

  1. 相对路径:以根目录做起点,描述路径的方式,路径以==/==开头
  2. 相对路径:以当前目录做起点,描述了解你的方式,路径不需要以==/==开头
  3. 特殊路径符:
    • . 表示当前目录,比如cd . 或cd ./Desktop
    • .. 表示上一级目录,比如: cd .. 或cd ../..
    • ~ 表示用户的HOME目录,比如:cd ~ 或cd ~/Desktop

mkdir创建新目录(文件夹)(make directory)

  1. 作用:创建新的目录

  2. 语法:

    1
    mkdir [-p] [Linux路径]
    1. 参数必填,表示要创建的目录的路径,相对、绝对、特殊路径符都可以使用

    2. -p 选项的作用:可选,表示自动创建不存在的父目录,适用于创建连续多层级的目录。

touch创建文件

  1. 作用:创建文件

  2. 语法:

    1
    touch [linux路径]
    1. touch命令无选项,参数必填,表示要创建的文件路径,相对,绝对,特殊路径符均可以使用

cat查看文件内容

  1. 作用:查看文件内容

  2. 语法:

    1
    cat [linux路径]
    1. cat没有选项,只有必填参数,参数表示:被查看的文件路径,相对,绝对,特殊路径符 都可以使用。

more命令查看文件内容

  1. 作用:用于查看文件内容,可翻页查看

  2. 语法:

    1
    more [Linux路径]
    1. 参数必填,表示要查看的文件的路径,相对,绝对,特殊路径符都可以使用
    2. 使用空格进行分页,使用q退出查看

cp命令复制文件文件夹copy

  1. 作用:复制文件、文件夹

  2. 语法:

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

mv移动文件或文件夹 move

  1. 作用:移动文件或文件夹

  2. 语法:

    1
    mv 参数1 参数2
    1. 参数1,Linux路径,表示被移动的文件或文件夹
    2. 参数2,Linux路径,表示要移动到的地方,如果目标不存在,则进行改名。

rm删除文件、文件夹remove

  1. 作用:用于删除文件,文件夹

  2. 语法:

    1
    rm [-r -f]参数1 参数2 ...参数N
    • 同cp一样,-r选项用于删除文件夹
    • -f表示force,强制删除(不会弹出提示确认信息)
      • 普通用户删除内容不会弹出提示,只有root管理员用户删除内容会有提示
      • 所以一般普通用户用不到-f选项
    • 参数1、参数2、…表示要删除的文件或文件夹路径,按照空格隔开。
  3. 通配符==*==用来模糊匹配,例如:

    1. test*, 不是匹配任何以test开头的 内容
    2. *test,表示匹配任何以test结尾的内容
    3. *test *,表示匹配任何包含test的内容。

which命令

  1. 作用:查看所使用的一系列命令的程序文件存放在哪里

  2. 语法:

    1
    which [要查找的命令]

find命令

  1. 按文件名查找文件

    1. 作用:根据文件名查找文件

    2. 语法:

      1
      find 起始路径 -name "被查找文件名"
    3. 可使用通配符

  2. 按文件大小查找文件

    1. 语法:

      1
      find 起始路径 -size +或-n[KMG]
      • +、-表示大于和小于
      • n表示大小数字
      • KMG表示大小单位,k表示kb,M表示MB,G不是GB

grep命令

  1. 作用:从文件中通过关键字过滤文件行

  2. 语法:

    1
    grep [-n] 关键字 文件路径
    1. 选项-n,可选,表示在结果中显示匹配的行的行号
    2. 参数,关键字,必填,表示过滤的关键字,带有空格或其他特殊符号,建议使用==“”==将关键字包围起来。
    3. 参数,文件路径,必填,表示要过滤内容文件路径,可作为==内容输入端口==。

wc命令

  1. 作用:统计文件的行数,单词数量等

  2. 语法:

    1
    wc [-c -m -l -w] 文件路径
    1. 选项,-c,统计bytes数量
    2. 选项,-m,统计字符数量
    3. 选项,-l,统计行数
    4. 选项,-w,统计单词数量
    5. 参数,文件路径,被统计的文件,可作为==内容输入端口==。

管道符 |

含义:将管道符左边命令的结果,作为左边命令 的输入。


echo命令

  1. 作用:输出指定内容(同编程语句print)
  2. 语法:echo 输出的内容

反引号`

  1. 作用:被包围的内容,会被作为命令执行,而非普通字符。

重定向符

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

tail命令

  1. 作用:查看文件尾部内容,并可以持续跟踪
  2. 语法:tail [-f -num] Linux路径
    1. -f:持续跟踪
    2. -num启动的时候查看尾部多少行,默认10

vi/vim编译器

  1. 命令模式:所敲的按键编译器都理解为命令,以目录驱动执行不同的功能,此模式下,不能自由执行文本编译
  2. 输入模式:也就是所谓编辑模式,插入模式,可以对文件内容进行自由编辑
  3. 底线命令模式:以==:==开始,通常用于文件的保存,退出
  4. image-20240123205420491
  1. 语法:vi/vim 文件路径
  2. 如果文件路径不存在则编辑新文件,否则编辑已有文件。
  3. 命令模式快捷键:
    1. image-20240123210246960
    2. image-20240123210936956
    3. image-20240123210945315
  4. 底线命令模式快捷键
    1. image-20240123211441523

Linux用户和权限

su命令(Switch User)和exit命令

  1. 作用:切换root账户

  2. 语法:

    1
    su [-] [用户名]
  3. 切换用户后,可以通过exit命令退回上一个用户,也可以使用快捷键:==Ctrl + d==

sudo命令

  1. 作用:为普通的命令授权,临时一root身份执行

  2. 语法:

    1
    sudo 其他命令
    • 在其他命令之前,带上sudo,即可为这一条命令临时赋予root授权
    • 但是并不是所有的用户,都有权利使用sudo,我们需要为==普通用户配置sudo认证==

为普通用户配置sudo认证

  1. 切换到root用户,执行visudo命令,会自动通过vi编辑器打开: /etc/shudoers

  2. 在文件的最后添加:

    1
    huangchun ALL=(ALL)   NOPASSWD:ALL
  3. 其中最后的NOPASSWD: ALL表示使用sudo命令,无需输入密码

  4. 最后通过wq保存

用户组

需要root用户执行

  1. 创建用户组:

    1
    groupadd 用户组名
  2. 删除用户组:

    1
    groupdel 用户组名

用户

需要root用户执行

  1. 创建用户:

    1
    useradd [-g -d]用户名
    1. -g指定用户的组,不指定-g,会创建同名组并自动加入,指定-g需要组已将存在,如已存在同名组,必须使用-g

    2. -d指定用户HOME路径,不指定,HOME目录默认在:/home/用户名

  2. 删除用户:

    1
    userdel [-r] 用户名
    1. -r,删除用户的HOME目录,不使用-r,删除用户时,HOME目录保留
  3. 查看用户所属组:

    1
    id [用户名]
    1. 用户名,被查看的用户,如果不提供则查看自身
  4. 修改用户所属组:

    1
    usernod -aG 用户组 用户名

    —将指定用户加入指定用户组。

getent

  1. 作用:查看当前系统中有哪些用户

  2. 语法:

    1
    getent passwd
    1. 共有7份信息,分别是:用户名:密码(x):用户id:组id:描述信息:HOME目录:执行终端(默认bash)
  1. 作用:查看当前系统中有哪些用户组

  2. 语法:

    1
    getent group 

查看权限控制信息

  1. image-20240124220709826
  2. image-20240124221152968
  3. image-20240124221217088

chmod命令

  1. 作用:修改文件、文件夹的权限信息。

  2. 语法:

    1
    chmod [-R] 权限 文件或文件夹
    1. -R,对文件夹内的全部内容应用同样的操作
    2. image-20240124222704011
    3. image-20240124224126696

chown

  1. 作用:修改文件、文件夹的所属用户和用户组—==root用户执行此命令==
  2. 语法:chown [-R] [用户] [:] [用户组] 文件或文件夹
    1. -R 同chmod,对文件夹内全部内容应用相同规则
    2. 用户,修改所属用户
    3. 用户组,修改所属用户组
    4. :,用于分隔用户和用户组
    5. image-20240124224757561

快捷键

  1. ctrl+c:强制停止,退出当前输入,重新输入
  2. Ctrl+d:退出或登出
  3. history:查看历史输入过的命令,通过!前缀自动执行上一次匹配前缀的命令
  4. Ctrl+r,输入内容去匹配历史命令
  5. Ctrl+a:跳到命令开头
  6. Ctrl+e:跳到命令结尾
  7. Ctrl+左键:向左挑一个单词
  8. Ctrl+右键:向右跳一个单词
  9. 清屏:Ctrl+l,clear

yum命令

  1. 作用:RPM包软件管理器,用于自动化安装配置Linux软件,并可以自动解决依赖问题
  2. 语法:yum [-y] [install] [remove] [search] 软件名称
    1. -y,自动确认,无需手动确认安装或卸载过程
    2. install:安装
    3. remove:卸载
    4. search:搜索
  3. 需要切换到root,需要联网

systemctl命令

  1. 作用:控制内置或第三方软件的启动、停止、开机自启
  2. 语法:systemctl start | stop|status|enable|disable 服务名
    1. start:启动
    2. stop:关闭
    3. status:查看状态
    4. enable:开启开机自启
    5. disable:关闭开机自启

ln命令

  1. 作用:在系统中创建软连接,可以将文件。文件夹连接到其他位置,类似Windows系统中的快捷方式
  2. 语法: ln -s 参数1 参数2
    1. -s:创建软连接
    2. 参数1:被连接的文件或文件夹
    3. 参数2:要连接去的目的地

date命令

  1. 作用:查看系统时间
  2. 语法:date [-d] [+格式化字符串]
    1. -d按照给定的字符串显示日期,一般用于日期计算
      • image-20240125220644292
    2. 格式化字符串:通过特定字符串标记,来控制显示的日期格式
    3. image-20240125220004538
    4. 使用双引号包围格式化字符串,作为整体

修改Linux时区

image-20240125221735481

ntp的作用

自动联网同步时间


IP地址

  1. 定义:每一台联网的电脑都会有一个地址,用于和其他计算机进行通讯
  2. IPv4版本的地址格式是:a.b.c.d,其中abcd表示0-255的数字,如192.168.88.101
  3. 特殊IP地址:
    1. 127.0.0.1,这个IP地址用于代指本机
    2. 0.0.0.0
      1. image-20240128142604705

主机名

主机的名称,用于标识一个计算机

域名解析

  1. 可以通过主机名找到对应计算机的IP地址,这就是主机名映射(域名解析)

虚拟机配置固定IP

  1. 在VMware中配置IP地址网关和网段(IP地址的范围)
    1. image-20240128151055947
    2. image-20240128151111261
    3. image-20240128151126541
  2. 在Linux系统中修改固定IP
    1. image-20240128151231912

网络传输

ping命令

  1. 作用:检查指定的网络服务器是否连通
  2. 语法:ping [-c num] IP或主机名
    1. -c,检查的次数,不使用-c选项,将无限次数持续检查
    2. IP或主机名,被检查的服务器的IP地址或主机名地址

wget

  1. 作用:进行网络文件下载
  2. 语法:wget [-b] URL
    1. -b,后台下载

curl

  1. 作用:发起网络请求
  2. 语法:curl [-O] url
    1. -O,用于下载使用

端口

  1. 计算机==程序==之间的通讯,通过IP只能锁定计算机,但是无法设定具体的程序
  2. 通过端口可以设定计算机上==具体的程序==,确保程序之间进行沟通
  3. IP地址相当于小区地址,在小区可以有许多住户(程序),而门牌号(端口)就是各个住户(程序)的联系地址

image-20240128154246920

nmap命令

  1. 作用:查看指定ip的对外暴露端口
  2. 语法:nmap ip地址

netstat命令

  1. 作用:查看本机指定端口号的占用情况
  2. 语法:netstat -anp | gerp 端口号

进程

进程是指程序在操作系统呃逆运行后被注册为系统内的一个进程,并拥有独立的进程ID(进程号)

ps命令

  1. 作用:管理进程的命令
  2. 语法: ps -ef查看进程信息
    1. ps -ef|grep 关键字 过滤指定关键字进程信息
    2. kill [-9] 进程号 关闭指定进程号的进程
    3. image-20240128160439382

主机状态

top命令

  1. 作用:查看CPU
  2. 语法:top
    1. image-20240128172014391
    2. image-20240128171800291
    3. image-20240128171820356

df命令

  1. 作用:查看磁盘使用率
  2. 语法: df [-h]

iostat

  1. 作用:查看磁盘速率等信息
  2. 语法:iostat [-x] [num1] [num2]
    1. -x,显示更多信息

sar

  1. 作用:查看网络情况
  2. 语法:sar -n DEV
    1. -n,查看网络,DEV不是查看网络接口
    2. image-20240128174144331

环境变量

  1. 定义:环境变量是操作系统在运行的时候,记录的一些关键性信息,用以辅助系统运行。
  2. 在Linux系统中执行:env命令即可查看当前系统中记录的环境变量
  3. 通过$符号,可以取出环境变量的值

PATH

  1. 环境变量PATH会记录一组目录,目录之间用: 隔开。这里记录的是命令的路径,当执行命令会从记录中记录的目录中搜索要执行的命令并执行。
  2. 可以通过修改这个项目的值,加入自定义的命令搜索路径。如export PATH=$PATH:自定义路径
  3. 修改环境变量
    1. 临时生效:export 名称=值
    2. 永久生效:
      1. 针对用户:~/.bashrc文件中配置
      2. 针对全部用户:/etc/profile文件中配置
      3. 配置完成,可以通过source命令立刻生效

上传,下载文件

浏览文件系统,找到合适的文件,右键点击下载,即可传输到本地电脑

浏览文件系统,找到合适的目录,将本地电脑的文件拖拽进入,即可方便的上传数据到Linux中

rz,sz命令

  • 通过yum -y install lrzsz可以安装此命令
  • rz进行文件上传
  • sz进行文件下载

压缩、解压

tar命令

  1. 作用:进行压缩和解压缩的操作
  2. 语法:tar [-c -v -x -f -z -C] 参数1 参数2 参数N
    1. image-20240128202952817
    2. image-20240128203105226
    3. image-20240128203654650

zip

  1. 作用:压缩文件为zip压缩包
  2. 语法:zip [-r] 参数1 参数2
    1. -r,被压缩的包含文件夹的时候,需要使用-r选项,和rm,cp等命令的-r效果一致。
    2. image-20240128204310846

unzip

  1. 作用:解压zip压缩包
  2. 语法:unzip [-d] 参数
    1. -d,指定要解压去的位置,同tar的-C选项
    2. 参数,被解压的zip压缩包文件
    3. image-20240128204517688