Linux基础 | 青训营笔记

68 阅读2分钟

Linux分为用户空间和内核空间

学习Linux的价值

Linux是现代化应用程序交付的首选平台 熟悉Linux基础指令,有助于熟悉运维前端常用服务(Nginx,Node.js)

Linux基本组成

  • 内核
  • Shell(!)
  • 文件系统
  • 应用程序

内核是硬件与软件之间的中间层,管理资源

Linux系统结构

进程(一个进程内部分为用户进程,内核进程)

  • 查看启动的nginx进程 ps -ef| grep nginx
  • 查看进程具体信息 top -p
  • close a process: kill
  • 全部进程实时管理图:top

进程调度

(为何进程数可以超过CPU数?) CPU调度(拉起、关闭)进程

状态表:

  • R 可执行状态(就绪,等待)
  • S 可中断的睡眠状态(e.g. nginx等候用户指令)
  • D 不可中断的睡眠状态(e.g. 进程等候某次io的完成)
  • T 暂停状态或跟踪状态
  • Z 退出状态,僵尸进程
  • X 退出状态,开始销毁

频繁在用户态和内核态切换,调用不同的资源

文件系统

Linux中一切皆是文件,这样做的好处就是启动指令的时候比较统一,read和write就可以读写文件,读写socket和pipe等

  • /bin dev root......
  • #返回文件类型 df -T或者mount
  • #查看文件夹下内容 ls
  • #创建文件夹 mkdir
  • #move to : mv demo /home
  • #delete: re -r
  • #create blank file: touch <file.txt>
  • #copy file 从A复制B: cp <file.txt> <file_bak.txt>

用户权限

  • #查看当前登录号用户信息 w
  • #查看当前用户所属的组 groups
  • #查看用户uid信息 id
  • 文件权限:所有者,所在组,其他人。每个用户权限不同:读写执行(RWX)
  • drwxr-xr-x(d为类型,每后面三个为不同用户的权限)

软件包

  • 软件包通常指的是一个应用程序。
  • 软件包管理系统
  • 底层工具
  • 上层工具
  • 熟悉Debian apt常用命令
  • 配置Debian软件源

个人心得

终于弄懂了掘金这个发布文章是markdown格式的,那为啥随手记这么难用哈哈哈。Linux说到底也是个操作系统,比windows和macOS简洁稳定,在开发场景中经常用到。了解了Linux的基本组成、结构、以及一些简单操作之后,最终还是要应用到实战中去。个人觉得这些内容可以在课程中多讲一点,不然有点枯燥、有点空中楼阁。纸上得来终觉浅,绝知此事要躬行呀。