C C++最全【操作系统】总结(二)linux指令_脚本里面 cat 之后添加管道符,C C++推送技术解析

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • Shell 把我们输入的指令,传递给操作系统去执 行,所以 Shell 是一个命令行的用户界面。
  • bash(Bourne Again Shell),它是用 Shell 组成的程序。这里的 Bourne 是一个人名,Steve Bourne 是 bash 的发明者。

Linux 对文件目录的抽象

Linux 对文件进行了一个树状的抽象。/代表根目录,每一节目录也用/分开,所以在上图所展示 的/usr/bin/rm中,第一级目录是/根目录,第二级目录是usr目录,第三级是bin目录。最后的rm 是一个文件。

路径

  • 目标文件的绝对路径(Absolute path),也叫作完全路径(full path),是从/开始,接下来每一层 都是一级子目录,直到定位到目标文件为止。
  • 相对路径(Relative path)是以工作目录为基点的路径

几种常见的文件类型

在这里插入图片描述

  • ls -F 查看当前目录下的文件和他的类型:1. * 结尾的是可执行文件; 2. = 结尾的是 Socket 文件; 3. @ 结尾的是软链接; 4. | 结尾的管道文件; 5. 没有符号结尾的是普通文件; 6. / 结尾的是目录。
  • pwd指令查看工作目录。
  • cd指令切换工作目录。
  • which指令查找一个执行文件所在的路径。 例如which rm
  • ls显示文件信息。(list)
  • rm删除文件。(remove) rm hello 删除目录hello
  • touch修改一个文件的时间戳,如果文件不存在会触发创建文件。
  • vinano可以用来编辑文件。
  • cat查看完成的文件的内容适合小型文件。 大文件可以搭配 | more
  • more | less查看一个文件但是只读取用户看到的内容到内存,因此消耗资源较少,适合在服务器上看日志。
  • head | tail可以用来看文件的头和尾。
  • grep指令搜索文件内容。g 就是 global,全局;re 就是
  • ,正则表达式; p 就是 pattern,模式。
  • find指令全局查找文件。find / -iname "*.txt"查找所有的txt文件,-iname这个参数是用来匹配查找的,i 字母代表忽略大小写,这里也可以 用-name替代。

进程

  • ps 查看当前进程 p :processes 进程 s :snapshot
  • ps -ef 查看所有进程 -f 可以带上更多的描述字段.
    在这里插入图片描述

UID 指进程的所有者;
PID 是进程的唯一标识;
PPID 是进程的父进程 ID;
C 是 CPU 的利用率(就是 CPU 占用);
STIME 是开始时间;
TTY 是进程所在的 TTY,如果没有 TTY 就是 ?号;
TIME;执行的时间
CMD 是进程启动时的命令,如果不是一个 Shell 命令,而是用方括号括起来,那就是系统进程或者 内核过程。

  • TTY是指终端设备,是计算机系统中用于输入和输出数据的设备,如终端、控制台、串口等。在进程中,TTY指的是与该进程相关联的终端设备。当进程需要输入或输出数据时,它会通过TTY与终端设备进行交互。TTY也可以被用于控制进程的行为,如在TTY上发送信号或者中断进程。

  • 输入输出流:

    • 标准输入流(用 0 表示)可以作为进程执行的上下文(进程执行可以从输入流中获取数据)。
    • 标准输出流(用 1 表示)中写入的结果会被打印到屏幕上。
    • 进程在执行过程中发生异常,那么异常信息会被记录到标准错误流(用 2 表示)中。
  • >符号叫作覆盖重定向;>>叫作追加重定向。>每次 eg.ls -l > out

    • 假如ls1是错误指令,输出错误流, 单纯使用 > 无法 写到文件out 需要 ls1 &> out
  • 管道的作用和分类 : 管道和重定向很像,但是管道是一个连接一个进行计算,重定向是将一个文件的内容定向到另一个文 件,这二者经常会结合使用。

  • TIME;执行的时间
    CMD 是进程启动时的命令,如果不是一个 Shell 命令,而是用方括号括起来,那就是系统进程或者 内核过程。

  • 管道: 的作用是在命令和命令 之间,传递数据。

  • Linux 中的管道也是文件,有两种类型的管道:1.
    匿名管道(Unnamed Pipeline)| ,在文件系统中,只是一个存储节点,不属于任何一个目录,没有路径。

  1. 命名管道(Named Pipeline),这种管道就是一个文件,有自己的路径。
  • 管道具有 FIFO(First In First Out),FIFO 和排队场景一样,先排到的先获得。所以先流入管道文件的数据,也会先流出去传递给管道下游的进程。 从左向右执行
  • 排序 sort -r倒序
  • 去重 需要先sort 在 uniq eg.sort a.txt| uniq
  • wc -l cat xx.cpp or ls 统计行数
  • xargs从标准数据流中构造并执行一行行的指令。
    在这里插入图片描述
  • 命名管道文件:mkfifo pipe1
  • cat pipe1 & 然后 echo "xx" > pipe1 &符号代表指令在后台 执行,不会阻塞用户继续输入。

权限

  • group 组 里面的每个用户拥有一样的权限 。
  • root 超级管理员
  • 1.读权限(r):控制读取文件。 2. 写权限(w):控制写入文件。 3. 执行权限(x):控制将文件执行,比如脚本、应用程序等。
    在这里插入图片描述
  • 问题一:初始权限问题。

文件被创建后的权限通常是: rw-rw-r-也就是用户、组维度不可以执行,所有用户可读

  • 问题二:公共执行文件的权限

ls -l /usr/bin/ls 组维度不可读写 所有用户可读写
在这里插入图片描述

  • 问题三:执行文件

可以通过输入路径的方式执行文件 但是必须要在系统配置的路径下执行 echo $PATH 查看系统配置路径

  • 问题四:可不可以都 root

不行,看内核态的总结

权限架构思想

  • 优秀的权限架构主要目标是让系统安全、稳定且用户、程序之间相互制约、相互隔离。这要求权限系统 中的权限划分足够清晰,分配权限的成本足够低。
  • 优秀的架构,应该遵循最小权限原则(Least Privilege)。权限设计需要保证系统的安全和稳 定。 如果执行最小权限原则,那么黑客即便攻破我们的 MySQL 服务,他 也只能获得最小的权限。
  • 如果使用root用户执行程序的时候,被黑客攻破, 那么后果是很严重的。

分级保护

Linux 提供了权限包围的能力。比如一个应用,临时需要高级权限,可以利用交互界面(比如让用户输 入 root 账户密码)验证身份,然后执行需要高级权限的操作,然后马上恢复到普通权限工作。这样做可 以减少应用在高级权限的时间,并做到专权专用,防止被恶意程序利用。

  • 因为内核可以直接操作内存和 CPU,因此非常危险。
    在这里插入图片描述
  • 用户权限管理指令文章

网络 (待补)

  • 远程登录的 ssh 指令;
  • 远程拷贝文件的 scp 指令;
  • 查看网络接口的 ifconfig 指令;
  • 查看网络状态的 netstat 指令;
  • 测试网络延迟的 ping 指令;
  • 可以交互式调试和服务端的 telnet 指令;
  • 两个 DNS 查询指令 host 和 dig;
  • 可以发送各种请求包括 HTTPS 的 curl 指令。

软件的安装 (安装Nginx 待补充)

在这里插入图片描述

分析web 日志 (看pdf)

查看用 less 因为太多了 比如nginx的access_lo日志
在这里插入图片描述
左到右依次是: IP 地址;时间;HTTP 请求的方法、路径和协议版本、返回的状态码;User Agent

根据今天的 access_log 分析出有哪些终端访问了这个网站,并给出分组统计结果。

根据今天的 access_log 分析出访问量 Top 前三的网页

问题

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

需要这份系统化的资料的朋友,可以添加戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 22
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值