wsxk / wsxk.github.io

MIT License
5 stars 0 forks source link

linux basic #180

Open wsxk opened 4 months ago

wsxk commented 4 months ago

https://wsxk.github.io/linux_basic/

写在前面

  1. Command Line
  2. process、program、filesystem、directories
  3. absolute/relative path 4 environment varibles
  4. symbolic/hard links
  5. pipes
  6. input/ouput redircetion

写在前面 虽然学习网络安全四年有余了,至今让你提起linux的一些关键概念,还是有些不了解linux系统中的某些关键概念,倍感羞耻

  1. Command Line 俗称shell,是一种与用户交互的界面,本质上也是一个进程(运行中的程序) 用户可以在如下界面输入程序,如cat flag(寻找叫做cat的程序,以flag作为参数运行)

  2. process、program、filesystem、directories process(进程)指运行中的program(程序) program指的是存储在文件系统(filesystem)中的文件 linux中的文件系统布局通常如下图所示

刚刚说program存储在文件系统中,更准确的来说,存储在文件系统的directories(目录)中

  1. absolute/relative path 绝对路径absolute path指的是文件在系统中的存放位置 相对路径relative path指的是文件相对于当前工作目录下的存放位置

关于目录,.表示当前目录,..表示上一级目录,/开头的表示根目录(即最初始的目录) 我们可以通过ls -l查看文件的类型,常见类型如下:

4 environment varibles environment varibles是一组键值对(key-value)的集合,在每个程序被执行时,会传递给程序 可以通过env程序查看当前的环境变量

*但凡我们执行诸如 cat flag这样的命令,然而cat又不在当前目录下,我们也没有输入cat的路径,cat的路径都已经保留在环境变量当中

  1. symbolic/hard links symbolic links软链接,指的是创建一个特殊类型的文件,指向另一个文件,通过读取这个软链接相当于读取目标文件

当然,也可以链接目录 注意陷阱: 软连接创建时,如果路径使用相对路径时,在使用该软连接进行文件操作时,寻找真的文件时,使用的相对路径会是你当前的动作目录,所以如果移动了软连接的位置,就用不了了 如下图所示:

hard links硬链接,与软链接有所不同,创建的是一个指向目标文件的真实的引用 如下图所示:

从图示中也可以看出,文件类型-,表示普通文件 实际原理跟inode相关

  1. pipes pipes(管道)是一种单向的信息流通机制 管道分为两种:

  2. Unnamed pipes(匿名管道): 最常用于把一个命令的数据 传递到 另一个命令

  3. Named pipes(命名管道):也被称为 FIFOS 可以使用