进入京东运维组实习,收到了很多同事的热心指导,自己也努力学习,按照他们给出的学习计划,真的很充实,学到了很多不只是开发方面的知识。
以下简单记录下自己的笔记,方便以后查阅。
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
变量的删除、替换
# 和 #
|
|
% / %%
|
|
替换
|
|
> 和 >>
数据流重定向:> 覆盖, >> 末尾追加
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