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

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

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. 51nod 1393:0和1相等串

    1393 0和1相等串 基准时间限制:1 秒 空间限制:131072 KB 分值: 20 难度:3级算法题  收藏  关注 给定一个0-1串,请找到一个尽可能长的子串,其中包含的0与1的个数相等. I ...

  2. clion之CMakeLists的学习

    什么是CMake CMake是一个跨平台的安装(编译)工具,可以用简单的语句来描述所有平台的安装(编译过程).他能够输出各种各样的makefile或者project文件,能测试编译器所支持的" ...

  3. Java 接口理解

    学习Spring有一段时间了,对java也有了一点了解,最不能理解的就是接口, 即使是写了接口并实现了它,依然无法理解它到底有什么用?看了其他几篇博客,总结了一下自己的理解. 在JAVA编程语言中是一 ...

  4. Microsoft SQL Server Management Studio连接后报“ viewInfo (Microsoft.SqlServer.Management.SqlStudio.Expl”

    解决办法: 在路径:C:\Users\你的用户名\AppData\Local\Temp\”新建文件夹并命名为2,如果已经有 2 则看清楚是否是文件而不是文件夹,删掉文件改为文件夹: 如果是找不到\Us ...

  5. JDBC<android studio,kotlin>

    工具:mysql 5.6.19,mysql-connector-java-5.1.48.jar,android stuido&android studio自带模拟器 1.在mysql数据库中新 ...

  6. 22. docker 数据持久化 Data Volume

    1 . 使用场景 在docker 容器被删除的时候  希望数据不丢失 2 . Volume 的使用 * 注意 在 mysql 的 Dockerfile 内 定义了 VOLUME ["var/ ...

  7. h5-携程页面小案例-伸缩盒子

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  8. Python说文解字_继承过程中的参数集合

    1. 先看一段属性继承的代码: class User: def __init__(self,name,age): self.name = name self.age = age class User1 ...

  9. error: snap "electronic-wechat" has "install-snap" change in progress

    今天因为要使用 wechat ,但是因为 wechat 并没有官方的 Ubuntu 版本,幸好有大神出了 electronic-wechat ,可以直接在应用商店中搜到,然后直接安装,也可以命令行安装 ...

  10. C到C++转变简述

    从 C 到 C++ 语言的转变 1.平时使用还以 printf, scanf 为主 printf 和 scanf 与 cin cout 相比效率更快 2.头文件改成如下,C++对C语言兼容 #incl ...