nux学习笔记:有用的linux命令

 发表于 2018-06-25 |  分类于 linux|

 字数统计: 1,269 |  阅读时长 ≈ 6

写在前面

这着笔记,整理一些网上搜集到有用的linux笔记。

sosreport命令

sosreport命令用于收集系统构架及配置信息,并打包输出为诊断文档。当我们系统中出现问题,自己无法搞定的时候,可以使用这个命令搜集全面的系统诊断信息。

安装sosreport

1
[root@local-linux02 ~]# yum install -y sos

使用

1
2
3
4
5
6
7
8
9
10
11
//生成报告  期间会有几次提示,直接enter即可
[root@local-linux02 sosreport]# sosreport

//复制报告到指定文件夹
[root@local-linux02 sosreport]# mkdir -p /home/sosreport && cp /var/tmp/sosreport-local-linux02-20180625142856.tar.xz /home/sosreport/

//解压报告
[root@local-linux02 sosreport]# tar -Jxvf sosreport-local-linux02-20180625142856.tar.xz

//重命名报告
[root@local-linux02 sosreport]# mv sosreport-local-linux02-20180625142856 sosreport
  • 查看报告

1
2
3
4
[root@local-linux02 sosreport]# cat uname
Linux local-linux02 3.10.0-862.3.2.el7.x86_64 #1 SMP Mon May 21 23:36:36 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
[root@local-linux02 sosreport]# cat uptime
14:29:04 up 23:09, 1 user, load average: 0.22, 0.08, 0.06

diff命令

用来比较两个文件的异同,常见用法有两种:

用法一: diff –brief 判断两个文件是否相同

  • 文件准备a.txt、b.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
[root@local-linux02 test]# cat a.txt
www.baidu.com
www.163.com
www.qq.com
www.yaho.com
www.google.com
[root@local-linux02 test]# cat b.txt
www.baidu.com
www.163.com
www.qq.com
www.yahoo.com
www.google.com
cafevf
3e2edwefew

查看是否相同

1
2
[root@local-linux02 test]# diff --brief a.txt b.txt
Files a.txt and b.txt differ

用法二: diff -c 判断文件哪里不同

stat 命令 和 touch 命令

注意:这里有一个非常重要的知识点,就是linux文件系统的三个时间。

mtime 文件内容的修改时间;

ctime 文件权限或属性的更改时间;

atime 文件的读取时间;

stat 命令用来查看文件时间信息。

命令行格式:

1
stat [fileName]

示例:

1
2
3
4
5
6
7
8
9
[root@local-linux02 ~]# stat anaconda-ks.cfg
File: ‘anaconda-ks.cfg’
Size: 1421 Blocks: 8 IO Block: 4096 regular file
Device: 803h/2051d Inode: 25165890 Links: 1
Access: (0600/-rw-------) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2018-06-25 14:28:57.699307060 +0800
Modify: 2018-04-03 19:01:25.048986365 +0800
Change: 2018-04-03 19:01:25.048986365 +0800
Birth: -

touch 命令 用来新建文件或设置文件的时间。

命令行格式:

1
touch [参数] [filename]
参数 说明
-a 仅更改“读取时间” atime
-m 仅更改“修改时间” mtime
-d 同时更改atime和mtime

示例:先用ls -l 查看文件的mtime,之后修改文件,最后在通过touch -d指定文件的mtime和atime

1
2
3
4
5
6
7
8
9
10
11
12
13
//通过ls -l查看文档的mtime
[root@local-linux02 test]# ls -l a.txt
-rw-r--r-- 1 root root 65 Jun 25 15:06 a.txt

//修改文档内容
[root@local-linux02 test]# echo 'this is test' >> a.txt
[root@local-linux02 test]# ls -l a.txt
-rw-r--r-- 1 root root 78 Jun 25 15:23 a.txt

//touch -d设置mtime和atime
[root@local-linux02 test]# touch -d '2018-6-25 15:06' a.txt
[root@local-linux02 test]# ls -l a.txt
-rw-r--r-- 1 root root 78 Jun 25 15:06 a.txt

dd 命令:通过数据块的大小和格式来生成文件

命令行格式:

1
dd [选项]

常见选项包括:

  • if =输入文件(或设备名称);

  • of =输出文件(或设备名称);

  • bs = bytes 同时设置读/写缓冲区的字节数(等于设置ibs和obs);

  • count=blocks 只拷贝输入的blocks块;

常见用法:

应用场景一:生成swap交换空间

1
2
3
4
5
6
7
8
9
10
11
//创建一个大小为256M的文件:
dd if=/dev/zero of=/swapfile bs=1024 count=262144

//把这个文件变成swap文件:
mkswap /swapfile

//启用这个swap文件:
swapon /swapfile

//编辑/etc/fstab文件,使在每次开机时自动加载swap文件:
/swapfile swap swap default 0 0

说明:/dev/zero 是linux系统中一个很神奇的文件,它本身不占用系统存储空间,却可以生出任意大小的存储空间。

应用场景二: 制作光盘镜像

  • 第一步:将U盘插到电脑上,然后打开终端,输入命令sudo fdisk -lsudo parted -l命令查看U盘的设备号

  • 第二步:执行以下命令制作光盘镜像

1
sudo dd if=Downloads/ubuntu-14.10-desktop-amd64.iso of=/dev/sdb

grep 命令:与管道连用,用来过滤搜索结果

三种使用场景:

  • -n 显示搜索信息的行号
1
2
3
[root@local-linux02 ~]# cat /etc/passwd | grep -n root
1:root:x:0:0:root:/root:/bin/bash
10:operator:x:11:0:operator:/root:/sbin/nologin
  • ‘-v’ 反选,即不包括搜索关键词的行
1
2
3
4
5
6
7
[root@local-linux02 ~]# cat /etc/passwd | grep -v nologin
root:x:0:0:root:/root:/bin/bash
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
user1:x:1000:1000::/home/user1:/bin/bash
user2:x:1001:1001::/home/user2:/bin/bash
  • ‘-i’ 忽略大小写
1
2
3
4
5
6
7
8
9
10
11
12
[root@local-linux02 test]# cat ~/test/a.txt | grep -i qq
www.qq.com
www.QQ.com

[root@local-linux02 test]#cat ~/test/a.txt
www.baidu.com
www.163.com
www.qq.com
www.yaho.com
www.google.com
this is test
www.QQ.com
  • 本文作者: Steve Yuan

sosreport命令 然后diff 正常的操作系统例如centos的更多相关文章

  1. 每天一个linux命令(49)--diff命令

    diff 命令是 Linux 上非常重要的工具,用于比较文件的内容,特别是比较两个版本不同的文件以找到改动的地方.diff 在命令行中打印每一个行的改动.最新版本的diff还支持二进制文件,diff ...

  2. linux 命令——36 diff(转)

    diff命令是 linux上非常重要的工具,用于比较文件的内容,特别是比较两个版本不同的文件以找到改动的地方.diff在命令行中打印每一个行的改动.最新版本的diff还支持二进制文件.diff程序的输 ...

  3. Linux命令之---diff

    命令介绍 diff命令可以酌行比较纯文本文件内的内容,并输出文件的差异. 命令格式 diff [option] [file1] [file2] 举例子 1)比较俩文本文件 [root@king ~]# ...

  4. 使用sosreport命令生成诊断包

    [RHEL]-7-常用系统状态检测命令 引言 这篇文章介绍RHEL中最常用的几个系统状态检测命令,包括:网络状态.内存.主机名及其架构.系统负载及其用户登录状态等. 文章目录 0×1.查看网络状态 0 ...

  5. Linux命令之diff

    1.命令格式: diff[参数][文件1或目录1][文件2或目录2] 2.命令功能: diff命令能比较单个文件或者目录内容.如果指定比较的是文件,则只有当输入为文本文件时才有效.以逐行的方式,比较文 ...

  6. linux常用命令:diff 命令

    diff 命令是 linux上非常重要的工具,用于比较文件的内容,特别是比较两个版本不同的文件以找到改动的地方.diff在命令行中打印每一个行的改动.最新版本的diff还支持二进制文件.diff程序的 ...

  7. Mac系统打开命令行终端及查看操作系统版本号的方法

    Mac系统打开命令行终端的方法: 应用程序 --> 实用工具 --> 终端 Mac系统终端查看操作系统版本号的方法: 输入:#more /System/Library/CoreServic ...

  8. git 命令 git diff 查看 Git 区域文件的具体改动

    查看 Git 区域文件的具体改动 git diff git status 只能让我们知道文件在 Git 区域内的改动状态,但如果我们想查看某个文件内具体改了什么(也可以理解为在不同 Git 区域中的差 ...

  9. linux的管道 |和grep命令以及一些其他命令(diff,echo,cat,date,time,wc,which,whereis,gzip,zcat,unzip,sort)

    linux提供管道符号“|”,作用是命令1的输出内容作为命令2的输入内容.通常与grep命令一起使用. 格式:命令1 |命令2 grep命令:全称为global regular expression ...

随机推荐

  1. 201871030139-于泽浩 实验二 个人项目D{0-1} KP

    201871030139-于泽浩 实验二 个人项目D{0-1} KP 项目 内容 课程班级博客连接 2018级卓越班 这个作业要求连接 软件工程个人项目 我的课程学习目标 (1)掌握软件项目个人开发流 ...

  2. 通过Dapr实现一个简单的基于.net的微服务电商系统

    本来想在Dpar 1.0GA时发布这篇文章,由于其他事情耽搁了放到现在.时下微服务和云原生技术如何如荼,微软也不甘示弱的和阿里一起适时推出了Dapr(https://dapr.io/),园子里关于da ...

  3. 1W字|40 图|硬核 ES 实战

    前言 上篇我们讲到了 Elasticsearch 全文检索的原理<别只会搜日志了,求你懂点检索原理吧>,通过在本地搭建一套 ES 服务,以多个案例来分析了 ES 的原理以及基础使用.这次我 ...

  4. RE.从单链表开始的数据结构生活(bushi

    单链表 单链表中节点的定义 typedef struct LNode{ int data;//数据域 struct LNode *next;//定义一个同类型的指针,指向该节点的后继节点 }LNode ...

  5. day16.网络编程1

    1 osi七层,tcp/ip 5层 1 cs架构和bs架构 2 互联网 3 osi七层.5层(5层名字记住:重点) -物理层 -网线,光纤 -数据链路层 -网卡 -网络层 -路由器 -传输层(运输层) ...

  6. C++ Primer Plus(第6版)中文版电子版awz+epub+mobi三版

    电子书资源:C++ Primer Plus(第6版)中文版 书籍简介:   C++是在C语言基础上开发的一种集面向对象编程.通用编程和传统的过程化编程于一体的编程语言,是C语言的超集.<C++ ...

  7. C++ sort()函数使用简介

    Sort函数简介 ​   sort()函数是C++的一个排序函数,可以对传入参数给定的区间的所有元素进行排序,默认是升序,也可以是降序,如果需要其他排序规则需要自行编写compare()函数作为参数. ...

  8. JAVAEE_Servlet_04_在service()方法中连接数据库获取表信息

    在service()方法中连接数据库获取表信息 代码: package com.shige.controller; import javax.servlet.*; import java.io.IOE ...

  9. 【故障公告】数据库服务器 CPU 100% 引发网站故障

    悄悄地它又突然来了 -- 数据库服务器 CPU 100% 问题,上次光临时间是 3-30 8:48,这次是 4-28 9:41. 这次我们做出了快速反应,发现后立即进行主备切换,这次一次切换成功,CP ...

  10. Laravel路由中不固定数量的参数如何实现?

    前言 laravel是个好框架,我也在学习和使用,并且在公司里推广,最近在读 Laravel 源码的时候,发现了一个段特别有趣的代码,大家请看: ... 这三个点是做什么用的呢?我查了 PHP 的手册 ...