3.linux基础(下)

Posted java and go

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了3.linux基础(下)相关的知识,希望对你有一定的参考价值。

3 linux基础(下)

1.数据操作

1.1 grep 命令:筛选数据

  • grep 全局搜索一个正则表达式并打印
  • 文件中查找关键字,并显示关键字所在的行
  1. grep简单用法(区分大小写)
    • grep text file
    • text 搜索的内容,file 搜索的文件
    • text 中有空格需要加双引号
    • 例如 grep path /etc/profile
  2. 参数
    • -i参数:忽略大小写(ignore)
    • -n :显示行号
    • -v:只显示文本不在的行(invert)
    • -r:递归查找 file换成目录 == rgrep
  3. 配合正则
  • -E参数:使用正则表达式== egrep

  • 正则参数
    • 加号前面的元素必须出现1次或以上
    • grep -E [0-4] /etc/profile
    • grep -E [a-zA-Z] /etc/profile
    • . 匹配除"\n"以外的单个字符
    • ^ 行首 grep -E ^path /etc/profile
    • $ 行尾
    • [] 中括号中的任意字符
    • ?问号前面的元素出现0次或1次
    • * 星号前面的元素出现0,1或多次

    • | 逻辑或
    • () 表达式的分组

1.2 sort 为文件排序(不区分大小写)

  • sort 文件名 对文件中的内容排序
  • -o 写入新文件 ouput
    • sort -o name_sort.txt name.txt
  • -r 倒叙排列
  • -R 随机排序
  • -n 对数字排序 按1-9排序
    • sort -n num.txt

1.3 wc命令:文件的统计

  • wc 可统计单词数,行数,字符数,字节数
  • wc +文件名 wc name.txt
    10   8      43      name.txt
    行数 单词数 字节数  文件名
    • -l  统计行数
    • -w  统计单词数
    • -c  统计字节数
    • -m  统计字符数

1.4 uniq命令:删除文件中的重复内容

  • 只能把连续的重复行写到一行
  • 把去重文件保存 uniq repeat.txt rep.text
  • -c参数:统计重复的行数 uniq -c repeat.txt
  • -d参数:显示重复的行

1.5 cut命令 剪切文件的一部分内容

  • -c 根据字符数来剪切
    • cut -c 2-4 name.txt
  • -d :分隔符
  • -f:区域
[thomas@bhz111 ~]$ cut -d , -f 1 notes.csv
mark
mata
lili
hahah
[thomas@bhz111 ~]$ cut -d , -f 1,3  notes.csv
mark,很不错
mata,很差
lili,快及格了
hahah,进步很大

2.流 管道 重定向

2.1 重定向

  • 把本来要显示到终端的命令输送到别的地方
  • 重定向到文件或另外一个命令的输入
  1. 重定向符号输出
    • cut -d , -f 1,3 notes.csv >> student.txt
    • >重定向到新的文件 cut -d , -f 1,3 notes.csv > student.txt
    • >注意事项,文件不存在新建,存在就覆盖
    • /dev/null 黑洞文件
    • >  重定向到文件
    • >> 追加到文件夹末尾
  2. stdin,stdout,stderr
    [thomas@bhz111 redirect]$ cat result.txt
    cat: no_such_file.csv: 没有那个文件或目录
    • cat no_such_file.csv > result.txt 2>&1
    • cat no_such_file.csv >> result.txt 2>&1
    • 2>>标准错误输出重定向文件末尾
    • 2>&1 合并输出
    • 终端接受键盘输入的命令,会产生两种输出
    • 标准输出:stdout。指终端输出的信息(不包括错误信息)
    • 标准错误输出:stderr。指终端输出的错误信息。
    • 2> 标准错误输出重定向
  3. <,<<: 从文件或键盘读取
    • 将命令的输入重定向为键盘输入
    • sort -n << END
    • wc -w <<end
    • 用于指令命令的输入
    • cat < notes.csv 打印
    • < : 从文件中读取

    • <<

      [thomas@bhz111 redirect]$ sort -n << END
      > 12
      > 234
      > 111
      > 444
      > 5567
      > 88
      > END
      12
      88
      111
      234
      444
      5567
      [thomas@bhz111 redirect]$ wc -w <<end
      > asd
      > asd
      > end
      2

2.2 管道 |

  • 把两个命令连起来使用,一个命令的输出作为另外一个命令的输入
  • cut -d , -f 1 notes.csv | sort > result.txt

3. 进程与系统监控

3.1 w 都有谁,在做什么

  • w 都有谁,在做什么
  • uptime 负载
  • who

3.2 ps和top 列出运行的程序

3.2.1 ps 进程的静态列表、

  • ps
    • PID 进程号
    • TTY 进程所在的终端
    • TIME 进程运行的时间
    • CMD 产生进程的命令
  • 参数
    [thomas@bhz111 ~]$ ps -u thomas
       PID TTY          TIME CMD
      2014 pts/0    00:00:00 bash
      2075 pts/0    00:00:00 bash
      2142 pts/0    00:00:00 bash
      2220 pts/0    00:00:00 bash
     44814 pts/0    00:00:00 bash
     94504 pts/0    00:00:00 ps
    • --sort 排序
    • 据cpu排序 ps -aux --sort -pcpu |less
    • 据内存 ps -aux --sort -pmem |less
    • 综合 ps -aux --sort -pcpu,+pmem|head
    • -aux 通过cpu和内存使用过
    • pstree 以树形结构显示
    • UID 用户名
    • PID 进程号
    • PPID 父进程
    • ps-ef | less
    • -ef 列出所有进程
    • -efh 按乔木状
    • -u 加用户

3.3 top:进程的动态列表

  • 快捷键
    • q 退出
    • h 帮助
    • B 大写B加粗某些信息
    • f 添加或删除某些列
    • u 按用户过滤
    • k 结束某个进程
    • s 改变刷新页面的时间

3.4 glances软件

  • 安装
-yum install epel* -y

yum install python-pip python-devel -y

yum install glances -y
  • glances

3.5 htop软件

yum install -y  htop
  • htop

3.5 ctrl+c 或 kill

  1. ctrl+c
  • 停止终端中正在运行的程序
  1. kill命令:结束一个进程
  • kill + 进程号1 进行号2
  • kill -9 进程号1 强制结束
  • killall+程序名 结束多个进程
    • killall find

3.6 halt 和 reboot

  1. halt 关闭系统(root)
  2. reboot 重启系统(root)
  3. poweroff关机

4. 后台进程 & nohup

4.1 & nohup 后台运行

  1. & 后台运行
    • cp file.txt file_c.txt &
  2. nohup 使进程和终端分离
    • nohup cp file.txt file_c.txt &
    • 输出至nohup.out中

4.2 Ctrl+z 转到后台并停止进程

4.3 bg 使进程转到后台

  • bg 1 指定标号的进程

5. 压缩 解压缩 tar

5.1 tar

  1. tar 归档
    • c 创建
    • v 显示操作细节
    • f 指定归档文件
    • -cvf 创建一个tar归档 tar -cvf compression.tar compression/
    • tf:显示归档里的内容,并不解开归档
    • -rvf 追加文件到归档
    • xvf 解开归档
  2. tar 压缩
  • gzip compression.tar 压缩
  • guzip compression.tar.gz 解压缩
  • ==tar -zcvf 归档并压缩==
  • ==tar -zxvf 解压缩与归档==
  • zip/unzip 压缩解压缩zip文件
  1. 查看压缩文件 zcat


以上是关于3.linux基础(下)的主要内容,如果未能解决你的问题,请参考以下文章

[vscode]--HTML代码片段(基础版,reactvuejquery)

逆向及Bof基础实践

20155307刘浩《网络对抗》逆向及Bof基础

20155311高梓云《网络对抗》逆向及Bof基础

20145301赵嘉鑫《网络对抗》逆向及Bof基础

3.linux基础(下)