• Linux常用指令(三)


    进入京东运维组实习,收到了很多同事的热心指导,自己也努力学习,按照他们给出的学习计划,真的很充实,学到了很多不只是开发方面的知识。

    以下简单记录下自己的笔记,方便以后查阅。

    1.文件系统

    Linux系统,类Unix系统,“一切皆文件”这句话不是开玩笑的。

    属性

    文件系统有一下几个属性:

    • inode: 记录文件属性和对应的block
    • block: 文件内容
    • super block: 记录文件系统的整体信息,block的使用量等

    硬连接和符号连接的区别

    • 硬连接只支持文件,并且连接的文件占有同一个 inode
    • 符号连接使用用新的 inode 和 block

    磁盘相关

    • 查看磁盘信息: df du
    • 挂载相关 mount remount umount
    • 格式化 mkfs
    • 分区 fdisk
    • 开机挂载在/etc/fatab /etc/mtab

    压缩解压

    • gzip, zcat查看
    • bzip2,bzcat查看
    • tar 打包参数 -jcv 解压 -jxv

    文本流处理

    • tr -d 删除指定字符
    • col -x 替换tab为空格 -b 去除斜杠后保留斜杠后的字符
    • cut 裁剪字符串
    • grep 对每行根据正则表达式选取信息
    • sort -n 数字排序 -t 指定分割符默认为tab -k 3 以区间3排序
    • wc 获取文档行数、字、字符数
    • uniq -c 进行计数 -i 忽略大小写
    • join 根据每行分隔符拼接两行数据 -t 指定分割符 -1 第一个文件指定字符分析 -2 第二个文件指定字符分析
    • paste 直接在行后以tab隔开拼接两文件的字符串
    • expand 将tab转化为空格

    2 shell

    常用的shell有bash、zsh等,为用户提供了强大的功能访问系统功能。

    用户登录和欢迎信息主要在这两个文件夹: /etc/issue /etc/motd

    变量的删除、替换

    # 和 #

    1
    2
    3
    4
    ${value#*pattern/}
    # 从前往后匹配,查找最长匹配文字后删除
    ${value##*pattern/}

    % / %%

    1
    2
    3
    4
    # 从后往前匹配,查找最 大专栏  Linux常用指令(三)短匹配文字后删除
    ${value#*pattern/}
    # 从后往前匹配,查找最长匹配文字后删除
    ${value##*pattern/}

    替换

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    # 第一个匹配替换
    ${value/pattern/new_string}
    # 全部替换
    ${value//pattern/new_string}
    # 变量替换, 若变量未定义
    ${value-new_value}
    # 若变量未定义或为空字符串
    ${value:-new_value}
    # + 与 - 相反

    > 和 >>

    数据流重定向:> 覆盖, >> 末尾追加
    input: < <<

    3 awk sed

    • awk -F 按指定符号分割字符
    • NF 字段数量
    • NR 行数
    • sed ‘s/pattern/xxx/‘ file 替换操作 [-g 全局替换 -i 仅替换第一个]
    • sed ‘/pattern/d file 删除
    • & 已匹配字符串的标记
    • 子串匹配标记
    • , 选定行
    • a 行下追加
    • i 行上追加

    系统相关指令

    • ps/ps aux 查看进程
    • top 动态查看进程变化
    • free 查看内存使用情况
    • uname 查看系统与内核相关信息
    • uptime 查看系统启动时间和工作负载

    kill

    kill不仅仅可以杀掉进程,后面的参数也有意思, kill -1 xxx

    代号 名称 内容
    1 SIGNUP 启动被终止的进程,并重新读取配置文件,相当于重启
    2 SIGINT 相当于 ctrl c 终止进程
    9 SIGKILL 强制终端进程进行,如果进程进行到一半,未完成的部分会有“半成品”产生,比如 vim 的 swap文件
    15 SIGTERM 以正常方式结束进程
    17 SIGSTOP 相当于 ctrl z 暂停进程

    netstat

    查看网络情况

    参数

    • -a 列出所有连接、监听、socket
    • -t 列出 TCP 网络数据包的数据
    • -u 列出 UDP 的
    • -n 不列出进程,以端口号显示
    • -l 列出正在监听的服务
    • -p 列出进程 pid
  • 相关阅读:
    Java 集合系列06之 Vector详细介绍(源码解析)和使用示例
    Java 集合系列05之 LinkedList详细介绍(源码解析)和使用示例
    Java 集合系列04之 fail-fast总结(通过ArrayList来说明fail-fast的原理、解决办法)
    linked-list-cycle-ii-LeetCode
    reorder-list-LeetCode
    sum-root-to-leaf-numbers-LeetCode
    binary-tree-maximum-path-sum-LeetCode
    机器人的运动范围-剑指Offer
    矩阵中的路径-剑指Offer
    滑动窗口的最大值-剑指Offer
  • 原文地址:https://www.cnblogs.com/lijianming180/p/12376116.html
Copyright © 2020-2023  润新知