linux云自动化运维基础知识4(系统结构,vim,管理输入输出,正则表达式)

简介:
  1. linux系统结构 
       linux是一个倒树结构
       linux中所有的东西都是文件
       这些文件都在系统顶级目录“/” /就是根目录
      /目录以下为二级目录这些目录都是系统装机时系统自动建立的
    如图wKiom1lvayuS9PhpAAFcI89mDag721.png



2.二级目录的作用
/bin    ##二进制可执行文件也就是系统命令
/sbin   ##系统管理命令存放位置
/boot   ##启动分区,负责系统启动
/dev    ##设备管理文件
/etc    ##大多数系统管理文件
/home   ##普通用户的家目录
/lib    ##32位系统库文件存放位置
/lib64  ##64位系统库文件存放位置
/media  ##系统临时设备挂载点                                                                                 
/mnt    ##系统临时设备挂载点
/run    ##系统临时设备挂载点
/opt    ##第三方软件安装位置
/proc   ##系统信息
/root   ##超级用户家目录
/srv,/var      ##系统数据
/sys    ##系统管理,主要是关于内核的
/tmp    ##系统临时文件存放位置
/usr    ##系统用户相关信息数据及用户自定义软件存放位置
3.文件的寻址
  (1) 绝对路径
     文件在系统的真实位置,文件名字以“/”开头

   (2)相对路径
     文件相对与当前所在位置的一个名字的简写,这个名字不会以/开头,而且名字会自动添加pwd显示的值.
4.正则表达式
  (1)通配符
     *                ###匹配0到任意字符
     ?                ###匹配单个字符
     [[:alpha:]]    ###匹配单个字母
     [[:lower:]]    ###匹配单个小写字母
     [[:upper:]]    ###匹配单个大写字母
     [[:digit:]]    ###匹配单个数字
     [[:alnum:]]    ###匹配单个数字或字母
     [[:punct:]]    ###匹配单个符号
     [[:space:]]    ###匹配单个空格
   (2){}表示不存在的或者存在的
{1..9}        ###1-9
{a..f}        ###a-f
{1,3,5}        ###135
{a,c,e}        ###a c e
{1..3}{a..c}    ###1a 2a 3a 2a 2b 2c 3a 3b 3c    乘法运算


wKioL1lvdhWgSz4tAACu04bXMn0854.png

wKiom1lvdhXB82-1AABtt5vPUNM644.png



[]表示存在的
[a-C]        ###aA bB cC
[a-c]        ###aA或者bB或者c
[1-3]        ###1或者2或者3
[145]        ###1或者4或者5
[^abc]|[!abc]    ###除了a并且除了b并且除了c

~        ###当前用户家目录
~username    ###指定的用户家目录
~+        ###当前目录
~-        ###当前目录之前所在目录

.        ###当前目录
..        ###当前目录的上一级

 

  1. 管理输入输出
    在linux系统中,标准输入的编号为0,正确输出的编号为1,错误输出编号为2

    在系统中用普通用户执行 "student"
    find /etc -name passwd 
    因为student用户权限问题会有以下输出
    find: ‘/etc/pki/CA/private’: Permission denied        ##没有进入权力,报错
    find: ‘/etc/pki/rsyslog’: Permission denied
    find: ‘/etc/audit’: Permission denied
    /etc/passwd                        ##正确输出
    find: ‘/etc/polkit-1/rules.d’: Permission denied
    find: ‘/etc/polkit-1/localauthority’: Permission denied
    find: ‘/etc/dhcp’: Permission denied
    find: ‘/etc/selinux/targeted/modules/active’: Permission denied
    find: ‘/etc/lvm/archive’: Permission denied
    find: ‘/etc/lvm/backup’: Permission denied
    find: ‘/etc/lvm/cache’: Permission denied
    find: ‘/etc/grub.d’: Permission denied
    /etc/pam.d/passwd                    ##正确输出
    find: ‘/etc/audisp’: Permission denied
    find: ‘/etc/firewalld’: Permission denied
    find: ‘/etc/cups/ssl’: Permission denied
    find: ‘/etc/ipsec.d’: Permission denied
    find: ‘/etc/libvirt’: Permission denied
    find: ‘/etc/sudoers.d’: Permission denied
    find: ‘/etc/named’: Permission denied

    2.(1)输出重定向
    find /etc -name passwd > file        ##重定向正确输出   >


    find /etc -name passwd 2> fi

    le        ##重定向错误输出   2>
    find /etc -name passwd &> file        ##重定向所有输出   &>


  2. wKiom1lyDa6hXz0FAAAjrxvEMy8929.png

                           wKiom1lyDfnDgCNBAADhro1hoQw527.png


    注意: >, 2> ,&>  都会覆盖源文件内容
    >file                                   ##清空file

    find /etc -name passwd >> file        ##追加正确输出    >>
    find /etc -name passwd 2>> file        ##追加错误输出    2>>
    find /etc -name passwd &>> file        ##追加所有输出    &>>
    注意:>> 2>> &>> 不会覆盖源文件内容,会把相应的输出字符放到文件的最后



       (2)输入重定向:格式化输入内容到文件
          tr 'a-z' 'A-Z' < westos                   cat > westos <<EOF
                                                    HELLO
                                                    WORLD
                                                    EOF



    3.管道  符号:|
      管道,将前一条命令的正确输出作为管道符后面命令的标准输入

      ls /bin | wc -l        ##统计ls

    /bin 命令输出的行数

      系统中错误(stderr)的输出是无法通过管道的。
      用 2>&1 可以把错误的输出编号由2变成1

      tee    复制输出到指定位置
      date |tee file |wc -l    ###tee命令复制date命令的输出到file中,并统计输出行

    wKiom1lyFCPQH8XNAADcP9y_fos856.png

    4.vim       命令模式####

    (1)在vim的命令模式下可以配置vim的工作方式
    :set nu            ##行号添加
    :set nonu        ##取消行号
    :set mouse=a        ##添加鼠标选择
    :set cursorline        ##行线显示

    以上设定都是临时的,
    永久设定方式
    vim /etc/vimrc        ###此文件为vim的配置文件,在此文件最后加入以上参数,加到文件中的才数不需要:



    (2).vim命令模式下关键字搜索####
    /关键字
    n向下匹配
    N向上匹配

    (3).vim命令模式下字符的管理####
        (1.字符的复制
    yl        ##复制一个字母
    y3l        ##复制3个字母
    yw        ##复制一个单词
    y3w        ##复制3个单词
    yy        ##复制一行
    y3y        ##复制3行
    p        ##复制完成后按“P”粘贴

        (2.字符的删除
    dl        ##删除一个字母
    d3l        ##删除3个字母
    dw        ##删除一个单词
    d3w        ##删除3个单词
    dd        ##删除一行
    d3d        ##删除3行


       (3.字符的剪切
    cl        ##剪切一个字母
    c3l        ##剪切3个字母
    cw        ##剪切一个单词
    c3w        ##剪切3个单词
    cc        ##剪切一行
    c3c        ##剪切3行
    esc ---> p    ##剪切过后会进入到插入模式,在执行粘贴动作时一定要退出插入模式

    (4).vim的可视化模式####

    在命令模式下按“ctrl+v”进入到可视模式
    在可视模式下可以区域选择字符

    可视模式下批量添加字符
    *>> ctrl+v 选中要加入字符所在列
    *>> 按“I”进入插入模式,写入要加入的字符
    *>> 按esc

    (5).批量修改字符####

    :%s/原有字符/替换后字符        ##只替换每一行中出现的第一个原有字符
    :%s/原有字符/替换后字符/g     ##替换所有
    :%s/^\ *//g            ##把全文行首的空格去掉,"^\ *"表示行首的空格



    (6).vim的分屏功能###
    ctrl+w s     ###上下分屏
    ctrl+w v    ###左右分屏
    ctrl+w c    ###关闭光标所在屏幕
    ctrl+w 上下左右 ###光标移动到指定屏幕
    :sp file2    ##同时编辑当前文件和file2
    (7).vim光标移动#####
    在命令模式下
    :数字        ##移动到指定的行
    G        ##文件最后一行
    gg        ##文件第一行

    在插入模式下
    i        ##光标所在位置插入
    I        ##光标所在行行首
    a        ##光标所在字符的下一个位置
    A        ##光标所在行行尾
    o        ##光标所在行下一行
    O        ##光标所在行上一行
    s        ##删除光标所在字符插入
    S        ##删除光标所在行插入

    (8).vim的退出模式
    :q        ##当用vim打开文件但没有对字符作任何操作时可直接退出
    :q!        ##当用vim打开文件并对字符作操作,放弃所有操作退出
    :wq        ##保存退出
    :wq!        ##强行保存退出,对超级用户及文件所有人生效

    (9).vim手册####
    vimtutor    ##vim的手册
    :q        ##退出vimtutor

     5.gedit 


    ctrl+n            ##在gedit中打开一个新的tab
    ctrl+s            ##保存文件
    ctrl+o            ##打开文件
    ctrl+x            ##剪切字符
    ctrl+v            ##粘贴字符
    ctrl+c            ##复制字符
    yelp help:gedit        ##gedit的图形手册

本文转自 lulu2017 51CTO博客,原文链接:http://blog.51cto.com/13132425/1950088

相关文章
|
10月前
|
Ubuntu Linux Anolis
Linux系统禁用swap
本文介绍了在新版本Linux系统(如Ubuntu 20.04+、CentOS Stream、openEuler等)中禁用swap的两种方法。传统通过注释/etc/fstab中swap行的方式已失效,现需使用systemd管理swap.target服务或在/etc/fstab中添加noauto参数实现禁用。方法1通过屏蔽swap.target适用于新版系统,方法2通过修改fstab挂载选项更通用,兼容所有系统。
889 3
Linux系统禁用swap
|
10月前
|
Linux
Linux系统修改网卡名为eth0、eth1
在Linux系统中,可通过修改GRUB配置和创建Udev规则或使用systemd链接文件,将网卡名改为`eth0`、`eth1`等传统命名方式,适用于多种发行版并支持多网卡配置。
1469 3
|
Ubuntu Linux 网络安全
Linux系统初始化脚本
一款支持Rocky、CentOS、Ubuntu、Debian、openEuler等主流Linux发行版的系统初始化Shell脚本,涵盖网络配置、主机名设置、镜像源更换、安全加固等多项功能,适配单/双网卡环境,支持UEFI引导,提供多版本下载与持续更新。
957 3
Linux系统初始化脚本
|
10月前
|
安全 Linux Shell
Linux系统提权方式全面总结:从基础到高级攻防技术
本文全面总结Linux系统提权技术,涵盖权限体系、配置错误、漏洞利用、密码攻击等方法,帮助安全研究人员掌握攻防技术,提升系统防护能力。
1099 1
|
10月前
|
监控 安全 Linux
Linux系统提权之计划任务(Cron Jobs)提权
在Linux系统中,计划任务(Cron Jobs)常用于定时执行脚本或命令。若配置不当,攻击者可利用其提权至root权限。常见漏洞包括可写的Cron脚本、目录、通配符注入及PATH变量劫持。攻击者通过修改脚本、创建恶意任务或注入命令实现提权。系统管理员应遵循最小权限原则、使用绝对路径、避免通配符、设置安全PATH并定期审计,以防范此类攻击。
1386 1
|
10月前
|
Linux 应用服务中间件 Shell
二、Linux文本处理与文件操作核心命令
熟悉了Linux的基本“行走”后,就该拿起真正的“工具”干活了。用grep这个“放大镜”在文件里搜索内容,用find这个“探测器”在系统中寻找文件,再用tar把东西打包带走。最关键的是要学会使用管道符|,它像一条流水线,能把这些命令串联起来,让简单工具组合出强大的功能,比如 ps -ef | grep 'nginx' 就能快速找出nginx进程。
1018 1
二、Linux文本处理与文件操作核心命令
|
10月前
|
Linux
linux命令—stat
`stat` 是 Linux 系统中用于查看文件或文件系统详细状态信息的命令。相比 `ls -l`,它提供更全面的信息,包括文件大小、权限、所有者、时间戳(最后访问、修改、状态变更时间)、inode 号、设备信息等。其常用选项包括 `-f` 查看文件系统状态、`-t` 以简洁格式输出、`-L` 跟踪符号链接,以及 `-c` 或 `--format` 自定义输出格式。通过这些选项,用户可以灵活获取所需信息,适用于系统调试、权限检查、磁盘管理等场景。
640 137
|
10月前
|
安全 Ubuntu Unix
一、初识 Linux 与基本命令
玩转Linux命令行,就像探索一座新城市。首先要熟悉它的“地图”,也就是/根目录下/etc(放配置)、/home(住家)这些核心区域。然后掌握几个“生存口令”:用ls看周围,cd去别处,mkdir建新房,cp/mv搬东西,再用cat或tail看文件内容。最后,别忘了随时按Tab键,它能帮你自动补全命令和路径,是提高效率的第一神器。
1594 58
|
9月前
|
存储 安全 Linux
Linux卡在emergency mode怎么办?xfs_repair 命令轻松解决
Linux虚拟机遇紧急模式?别慌!多因磁盘挂载失败。本文教你通过日志定位问题,用`xfs_repair`等工具修复文件系统,三步快速恢复。掌握查日志、修磁盘、验重启,轻松应对紧急模式,保障系统稳定运行。
1490 2
|
10月前
|
Unix Linux 程序员
Linux文本搜索工具grep命令使用指南
以上就是对Linux环境下强大工具 `grep` 的基础到进阶功能介绍。它不仅能够执行简单文字查询任务还能够处理复杂文字处理任务,并且支持强大而灵活地正则表达规范来增加查询精度与效率。无论您是程序员、数据分析师还是系统管理员,在日常工作中熟练运用该命令都将极大提升您处理和分析数据效率。
802 16