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

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

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

Linux常用指令(三)的更多相关文章

  1. linux常用指令

    整理下来的linux常用指令 mount [-t 文件系统] 设备文件名 挂载点挂载命令,一般用于在挂载ISO,或者其他比如U盘等设备时使用,[-t iso9660]为固定格式,可写可不写,非必写项. ...

  2. ROS零门槛学渣教程系列(二)——Linux常用指令:mkdir、tar、 unzip、cp、scp、mv、rm、find、apt、ssh

    Linux常用指令通过上一教程,我们获得了ubuntu系统.Linux是一个很大的领域.但不要紧张,我们一步步来就是了,跟着教程,需要能用到新知识,会提前介绍给大家.下面学习几个常用的Linux指令. ...

  3. Linux常用指令【转载】

    [收藏]Linux常用指令[转载] $ 命令行提示符 粗体表示命令 斜体表示参数 filename, file1, file2 都是文件名.有时文件名有后缀,比如file.zip command 命令 ...

  4. 【ZZ】Linux常用指令

    linux常用指令 - 个人文章 - SegmentFault 思否 https://segmentfault.com/a/1190000011068772 查看目录下有什么文件信息 ls //lis ...

  5. linux常用命令三

    linux常用命令三 系统信息 arch 显示机器的处理器架构(1) uname -m 显示机器的处理器架构(2) uname -r 显示正在使用的内核版本 dmidecode -q 显示硬件系统部件 ...

  6. Linux常用指令整理

    Linux常用命令整理 快捷键 [Tab] [Tab] 接在一串指令的第一个字的后面,则为"命令补全": [Tab] 接在一串指令的第二个字以后时,则为"文件补齐&quo ...

  7. Linux常用指令全集

    Linux简介及Ubuntu安装 常见指令 系统管理命令 打包压缩相关命令 关机/重启机器 Linux管道 Linux软件包管理 vim使用 用户及用户组管理 文件权限管理 大牛笔记-www.weix ...

  8. xshell-常用指令汇总 linux 常用指令

    suse linux 常用命令  (1)命令ls——列出文件  ls -la 给出当前目录下所有文件的一个长列表,包括以句点开头的“隐藏”文件  ls a* 列出当前目录下以字母a开头的所有文件  l ...

  9. Linux常用指令总结

    概述 因为平时不是经常使用Linux系统,每次用到都需要重新温习一遍,这里对自己平时经常使用到的指令做个小结,方便后面直接查阅. 常用指令 登陆root指令 sudo su - 安装软件及卸载指令 d ...

随机推荐

  1. 吴裕雄--天生自然 JAVASCRIPT开发学习:字符串

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  2. python函数-函数初识

    python函数-函数初识 1.函数的定义 语法 def 函数名(参数1,参数2,参数3,...): '''注释''' 函数体 return 返回的值 2.函数的使用原则---先定义后调用 #定义阶段 ...

  3. 腾讯大佬告诉你,写Python到底用什么IDE合适

    不管你是 Python 新手还是老鸟,肯定纠结过一个问题: 到底用什么编辑器写 Python 代码好? 为此,我们调查了数十位鹅厂程序猿们爱用的 Python IDE,从他们对每款编辑器的看法中,也许 ...

  4. CodeForces 51C 二分搜索

    校队选拔神马的事情就不说了,哥们反正是要崛起的人了! 感谢何骐的提醒. 校队选拔的时候又被二分给坑了,所以还想做几道二分搜索的题目来练练手. C - Three Base Stations Time ...

  5. idea创建远程分支

    1.先从远程拉取一个完整的分支,master或dev 2.新建一个分支,new,新建的同时checkout 出来 3.把新建的分支push到远程 4.如果新建完分支后写代码了,需要先把代码提交然后一起 ...

  6. __init__.py在Python中的用处

    1.Python中的package定义很简单,其层次结构与程序所在目录的层次结构相同, 这一点与Java类似,唯一不同的地方在于,python中的package必须包含一个__init__.py的文件 ...

  7. 用CNN及MLP等方法识别minist数据集

    用CNN及MLP等方法识别minist数据集 2017年02月13日 21:13:09 hnsywangxin 阅读数:1124更多 个人分类: 深度学习.keras.tensorflow.cnn   ...

  8. 对Java面向对象中多态的理解

    理解的要点:多态意味着父亲的变量可以指向子类对象 面向对象程序设计的三大支柱是封装.继承和多态 封装对外把相应的属性和方法实现的细节进行了隐藏.继承关系使一个子类继承父亲的特征,并且加上了一些新的特征 ...

  9. inotifywait命令详解及安装

    https://www.cnblogs.com/pyrene/p/6414724.html     安装 https://www.cnblogs.com/martinzhang/p/4126907.h ...

  10. JDK11 JAVA11下载安装与快速配置环境变量教程

    https://blog.csdn.net/weixin_40928253/article/details/83590136 1.到Oracle官网下载jdk11,并安装.搜索“jdk",选 ...