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
原文地址:https://www.cnblogs.com/lijianming180/p/12376116.html