• Linux操作系统(基础操作)


    • Linux文件系统和目录
      linux是树形结构的文件系统,其中 / 是系统的根目录,其他目录都是它的子节点
    • linux的命令帮助信息
      command --help (相对简洁)
      man command (详细)

    一、文件操作命令

    1. 目录和文件操作
    • 查看目录
    ls # 列举当前目录的文件内容
    ls - lha # 以列表方式,更加人性化,显示所有文件
    l和h需要配合使用
    ls -lha /usr/bin # 查看/usr/bin中的文件内容
    
    • 1
    • 2
    • 3
    • 4
    • 通配符
      * :表示匹配0到多个任意字符
      ?:表示匹配单个任意字符
      [abcd]:表示匹配括号内(abcd中)任意的一个字符
      [a-d]:a-d表示从a到d的范围,也就是abcd中匹配任意一个字符

    在这里插入图片描述

    • 切换目录
    cd 或 cd~: 切换到当前用户的主目录(/home/用户目录)
    cd . : 切换到当前目录
    cd .. : 切换到上一级目录
    cd - : 切换到上一次所在的目录
    
    • 1
    • 2
    • 3
    • 4

    在这里插入图片描述

    • 创建文件
      touch 文件名 (多个文件名之间用空格隔开)
      • 如果创建的文件名不存在,则新建一个文件
      • 如果创建的文件已存在,则更新文件修改的时间
    • 创建目录
      mkdir 目录名称(多个目录之间用空格隔开)
      • 使用-p选项,可以递归创建
      • 如果创建的目录名称已存在,则创建失败
    • 删除文件或目录 – rm
    -r: 表示交互式执行,删除前会询问是否删除
    -f: 表示强制删除,忽略不存在的文件,无需提示
    -r: 表示删除文件夹及文件夹下所有的内容
    
    • 1
    • 2
    • 3

    在这里插入图片描述

    • 复制文件 cp
      cp 源文件 目标文件
    -f :强制覆盖已存在的文件而不提示
    -i :覆盖已存在的文件时,会提示用户是否确认
    -r :复制目录及目录下所有内容时,需要带上-r参数
    
    • 1
    • 2
    • 3

    在这里插入图片描述

    • 文件或目录的移动 mv
      mv 源文件 目标文件
      在这里插入图片描述
    2. 查看文件内容
    • cat
    cat:适用于查看较少内容的文件,可以用来查看文件、创建文件、合并文件、追加文件等功能
     常用选项说明:
    	 b:对非空行输出行编号
    	 n:对所有行输出行编号
    
    • 1
    • 2
    • 3
    • 4
    • more
    more:适用于查看内容较多的文件,用于分屏显示文件内容
    常用快捷键操作:
    	- 空格:显示下一页内容
    	- enter: 滚动显示下一行
    	- b: 显示上一页内容
    	- f: 显示下一页内容
    	- q: 退出
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • grep
    grep: 是一个强大的文本搜索工具,允许对文本进行模式查找(正则表达式)
    常用选项说明:
    	-v: 显示不包含匹配文本的所有行(相当于取反)
    	-n: 显示匹配的行及行号
    	-i: 忽略大小写
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • grep常用的正则表达式:
      ^a:搜索行首内容以a文本开头的行,eg: grep -n '^a’1.txt
      ke$:搜索行尾内容以ke文本结尾的行,eg:grep -n ‘ke$’1.txt
      [Ss]igna[Ll]:匹配[]中的任意一个字符,搜索匹配单词为SignaL、Signal、signaL、signal的行,eg: grep -n ‘[Ss]igna[Ll]’
    3. 重定向
    • linux允许将命令执行结果重定向到另一个文件中
    • > 重定向符号,表示输出到新文件中,会覆盖文件原有内容
    • >>重定向符号,表示追加到新文件中,不会覆盖文件原有内容
      在这里插入图片描述
    4. 管道
    • linux允许将一个命令的输出结果通过管道作为另一个命令的输入
    • 常用的管道命令:
      more:分屏显示执行结果 (eg: ls -l /usr/bin | more)
      grep:通过grep过滤执行结果的内容 (eg: ls /usr/bin | grep ‘^au’)
      在这里插入图片描述
    • 拓展:回显echo
      echo ’ ’ > /var/log/message :通过回显删除文件内容

    二、信息系统相关命令

    • 重启和关机(了解)
      • 重启:reboot
      • 关机:shutdown
      • shutdown -r now 表示重启时,会给其他用户发送提示信息
      • shutdown -h now 表示立刻关机
      • shutdown -h 20.15 表示定时关机
      • shutdown -h +10 表示从当前时再往后10分钟进行关机
    1. 查看系统进程 – ps
    • ps -aux
      - a:显示终端上所有进程,包括其他用户的进程
      -u:显示进程的详细状态
      -x:显示没有控制终端的进程

    • ps命令一般结合grep使用,来查找特点应用程序的进程
      ps -aux|grep bin
      ps -ef|grep bin

    • top
      快捷键(shift+m)可以按内存的使用率降序排列显示进程的信息
      快捷键(shift+p)可以按cpu的使用率降序排列显示进程的信息

    • kill
      kill -9 进程ID
      进程id可以通过ps命令去查到
      -9 表示的是强制关闭对应的进程
      注意:普通用户不能关闭其他用户的进程,只能关闭自己打开的进程

    2. 查看系统监听端口 – netstat
    • netstat [-anptu] | grep ‘关键字’ (root用户操作)
      -a 选项:查看所有已打开的端口
      -n 选项:以数字方式显示已打开的端口,不显示别名(http:80 https:443)
      -p 选项:显示对应进程的pid
      -t 选项:显示出tcp协议的端口
      -u 选项:显示出udp协议的端口
    • lsof -i (root用户操作)
      -i:表示查看所有已打开的进程的端口
      lsof -i:端口号 表示查看特定的端口是否已打开
      • 查看系统中3306端口是否已打开:lsof -i:3306
      • 查看系统中http服务器的端口是否已打开:lsof -:80
        在这里插入图片描述
    • 使用场景:当我们去启动某个应用程序时,该应用程序的端口有可能被其他程序所占用,那么此时就可以通过netstat或者lsof查看对应的端口被谁占用了,然后关闭对应的进程,重新启动要启动的应用程序即可。
    3. 查看日志信息命令 – head / tail
    • 格式:head 文件名
    • 说明:
      • 默认显示日志文件的前10行内容
      • head -20 文件名:显示日志文件的前20行内容
    • tail 文件名
    • 说明:
      • 默认显示日志文件最后10行的内容
      • tail -15 文件名:显示日志文件最后15行内容
      • tail -f 文件名:实时显示日志的文件信息
    • eg:
      tail -30 log.log:查看当前目录下log.log文件的最后30条信息
      tail -f log.log:实时查看当前目录下log.log文件的日志信息

    三、用户权限和管理

    1. linux中的权限
    权限英文缩写数字代号
    readr4
    writew2
    执行executex1
    无权限--0

    在这里插入图片描述

    2.修改用户权限chmod
    1. 字母法(了解)
    • 格式:chmod u+rwx 1.txt
    • 用户选项:
      u:表示的是所属的用户
      g:表示的是所属的用户组
      o:表示的是其他用户
      a:表示的是所有用户
    • 设置选项:
      +:表示增加权限
      - :表示撤销权限
      =:表示设置权限
    • 例子:
      chmod u+w 1.txt:表示对当前目录下的1.txt文件的当前用户增加写的权限
      chmod g-x 1.txt:表示对当前目录下的1.txt文件撤销用户组的执行权限
      chmod o=rwx 1.txt:表示对当前目录下的1.txt文件的其他用户权限设置为可读可写可执行
      在这里插入图片描述
      在这里插入图片描述
    1. 数字法(重要)
      在这里插入图片描述
    3.增加用户、查看登录用户
    1. 新增用户:useradd 用户名
    • 命令说明:
      useradd admin123:创建一个普通账户admin123
      useradd -g root admin2:创建用户admin2,并指定用户的组为root
    1. 查看登录用户:who
    • 选项说明:
      -q或–count:只显示用户的登录账号和登录用户的数量
      -u或者–heading:显示列标题
    1. 删除用户
      userdel -r 用户名,-r 作用把用户目录都删除
    4. 切换用户、修改密码、退出
    1. 切换用户:su - 或者 su 用户名
    • 命令说明:
      su - :切换到root用户
      su 用户名:切换到指定用户下
      注意:由普通用户切换到其他用户时,需要输入密码
      在这里插入图片描述
      在这里插入图片描述
    1. 设置密码:passwd 或者 passwd 用户名
    • 命令说明:
      passwd:用于设置当前用户的密码
      passwd 用户名:用于设置指定用户的密码(执行命令的用户必须为root)
      在这里插入图片描述
    1. 用户退出 exit
      当前用户无上一个用户,输入exit会退出shell
      在这里插入图片描述

    四、其他常用命令

    1. 文件查找和软链接
    1. 查找文件命令
    • 命令格式:find [路径] -name 文件名
      路径省略掉表示在当前目录下查找文件
      文件名可以通过通配符来表示
    • 案例:
      find . -name test.sh 查找当前目录下所有名为test.sh的文件
      find . -name ‘*.sh’ 查找当前目录下所有后缀为.sh的文件
      在这里插入图片描述
    1. 软链接:ln
    • 命令格式:ln -s 源文件 链接文件
      • 软链接只是指向源文件的一个链接,相当于windows的快捷方式
      • 源文件要使用绝对路径,不能使用相对路径,这样可以方便移动链接文件后,仍然能够正常使用
      • 软链接可以链接目录
    • 硬链接简介
      • ln命令不带-s参数时,创建的是硬链接
      • 硬链接的文件大小和源文件相同,即使删除源文件,链接文件依然存在
      • 硬链接只能是普通文件,不能是文件夹
    [white@localhost ~]$ mkdir mike
    [white@localhost ~]$ ln -s /home/white/mike  mike_link
    [white@localhost ~]$ ls -l
    
    • 1
    • 2
    • 3

    在这里插入图片描述

    • 删除源文件后,软链接无意义
      在这里插入图片描述
    2. 打包和解包【知道】
    • 格式:
      tar -cvf 打包文件名 文件或目录 (打包)
      tar -xvf 打包文件名 (解包)
    • 选项说明:
      -c:创建打包文件
      -v:显示出打包或解包的进度
      -f:用于指定打包文件名 (一般f放在选项的最后,用于指定打包的文件名)
      -x:表示解包对应的文件
    [white@localhost ~]$ touch 1.txt 2.txt 1.png 2.png
    # 打包文件
    [white@localhost ~]$ tar -cvf mike.tar *.txt *.png
    1.txt
    2.txt
    1.png
    2.png
    [white@localhost ~]$ rm *.txt *.png
    [white@localhost ~]$ ls 
    Desktop    Downloads  Music     Public    Templates
    Documents  mike.tar   Pictures  software  Videos
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    在这里插入图片描述

    # 解包,不指定路径,则放在当前路径
    [white@localhost ~]$ tar -xvf mike.tar 
    1.txt
    2.txt
    1.png
    2.png
    [white@localhost ~]$ ls
    1.png  2.png  Desktop    Downloads  Music     Public    Templates
    1.txt  2.txt  Documents  mike.tar   Pictures  software  Videos
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    在这里插入图片描述

    [white@localhost ~]$ mkdir abc
    # 指定解包后文件的存放目录 -C
    [white@localhost ~]$ tar -xvf mike.tar -C abc/
    1.txt
    2.txt
    1.png
    2.png
    [white@localhost ~]$ ls abc/
    1.png  1.txt  2.png  2.txt
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    3. 压缩解压缩

    1. gzip

    • gzip命令格式:gzip [选项] 被压缩的文件
      选项说明:
      -r:压缩所有子目录
      -d:解压
      • 注意:实际应用是在tar选项中增加一个-z选项来调用gzip实现打包和压缩的过程
    • 压缩文件:tar -zcvf 压缩文件名.tar.gz 被压缩的文件或目录
      -z选项:调用gzip实现打包和压缩的过程
    • 解压缩文件:tar -zxvf 压缩文件名
      将压缩文件解压到指定的目录:tar -zxvf 压缩文件名 -C 目标路径
      在这里插入图片描述
      在这里插入图片描述
      2. biz2
    • 说明:tar与biz2命令结合实现文件打包、压缩,压缩后的扩展名为xxx.tar.bz2
      • 注意:实际应用是在tar选项中增加一个-j选项来调用gzip实现打包和压缩的过程
    • 压缩文件:tar -jcvf 压缩文件名.tar.bz2 被压缩的文件或目录
      -z选项:调用gzip实现打包和压缩的过程
    • 解压缩文件:tar -jxvf 打包文件.tar.bz2
      在这里插入图片描述
      在这里插入图片描述
      3. zip、unzip【知道】
    • 压缩文件:zip [-r] 压缩文件名 文件或目录
      -r:表示压缩的是一个目录
      压缩的文件名可以不带后缀名
    • 解压缩:unzip -d 解压目录 压缩的文件名
      在这里插入图片描述
    4. vi 编辑器
    • 简介:vi是linux系统下的命令行工具(vi和vim是同一个编辑器)
    • 三种模式:
      • 命令行模式:通过对应的快捷键或者命令来管理文件(首次进入)
      • 插入模式:在插入模式下主要是用来对文件进行增加、修改操作
      • 末行模式:主要是用来保存文件或者退出文件
    • vi三种模式的切换
      • 可以通过i、I、a、A进入到插入模式,在插入模式中按ESC可以回到命令行模式
      • 可以通过shift +:进入到末行模式
        w:表示保存文件并回到命令行模式
        q:退出vi编辑器
        !:表示的是强制
        wq!:表示强制保存并退出
    • 快捷键(命令模式下使用)
      yy:复制
      p:粘贴
      dd:剪切,如果只剪切不粘贴,就变成删除
  • 相关阅读:
    【原创】java+swing+mysql个人日记管理系统设计与实现
    C++程序入门(helloworld.cpp编写)
    jenkins定时任务
    nacos集群搭建
    Ubuntu-18.04本地化部署Rustdesk服务器
    【基础架构】part-1 高可用策略和知识点总结
    rman 恢复数据报ORA-19573: cannot obtain exclusive enqueue for ...
    Java线程池ThreadPoolExecutor详解(一篇就够了)
    Tensorrt笔记(五)c++代码收集整理
    10.0 SpringMVC源码分析之MVC 模型由来
  • 原文地址:https://blog.csdn.net/qq_41663996/article/details/127947451