资讯专栏INFORMATION COLUMN

【呆萌の整理】Linux入门知识点整理之系统、编程

yzd / 3110人阅读

摘要:组标识号当前用户的缺省工作组标识。后续对文件的操作只需通过该文件描述符,内核记录有关这个打开文件的信息。一个进程启动时,默认打开了个文件,标准输入标准输出标准错误,对应文件描述符是这些常量定义在头文件中。

前言

大部分文字资料均来自网络。

系统分区 启动分区

/boot
存放启动Linux时使用的一些核心文件,
一般为100M左右(50M~200M)。

根分区

/根目录必须与/bin, /sbin, /lib, /dev, /etc这5个目录在同一分区。

/bin:Binaries,普通命令,如文件操作。如图可以看到有很多熟悉的命令~
可以调用execl,execle,execlp,execv,execve等函数来调用执行文件/命令。

/sbin:System-only binaries 系统命令。

/lib:Libraries 开机时会用到的函式库,以及/bin或/sbin下的指令会用到的函式库。

/dev:Devices 在linux中任何装置与周边设备都是以档案的型态存在于这个目录当中,如/dev/tty, /dev/hd, /dev/sd等。

/etc:Etcetera 系统的所有配置文件,包括通过系统自动安装的程序的配置文件,如nginx,mysql等配置文件。

/media:Media 一般是系统自动挂载可移除的装置,挂载后装置图标会出现在桌面窗口的左边栏。如软碟、光碟、DVD、U盘、移动硬盘(/media/floppy, /media/cdrom)。

/mnt:Mount 一般是用于让用户自己挂载其他文件系统,挂载后装置图标不会出现在桌面窗口的左边栏。

可以发现cdrom是挂载光盘、hgfs()、usb挂载U盘

/tmp:Temporary files 临时目录,系统会定期或目录大小到达一定上线后自动清理。(因为读写比较频繁,容易损坏磁盘,可多带带分区)

用户分区

home
Home 除root用户之外其他用户的home目录。

交换分区

swap
Swap 交换分区、虚拟内存,一般为物理内存的1.5~2倍

系统文件passwd

/etc目录下的passwd文件,用于记录用户信息。

可以看到就是7个字段。

 注册名:口令:用户标识号:组标识号:用户名:用户主目录:命令解释程序

详细解释:

1.注册名(login_name):在同一系统中注册名是唯一的。字母大小写是敏感的。
2.口令(passwd):系统用口令来验证用户的合法性。超级用户root或某些高级用户可以使用系统命令passwd来更改系统中所有用户的口令,普通用户也可以在登录系统后使用passwd命令来更改自己的口令。现在的Unix/Linux系统中,口令不再直接保存在passwd文件中,通常将passwd文件中的口令字段使用一个“x”来代替,**将/etc
/shadow作为真正的口令文件*,shadow文件只有超级用户才有权读取。如果passwd字段中的第一个字符是“”,表示账号被查封。
3.用户标识号(UID):一个数值,用于区别不同的用户。在系统内部管理进程和文件保护时使用 UID字段。注册名和UID都可以用于标识用户,对于系统来说UID更为重要,对于用户来说注册名使用起来更方便。在某些特定目的下,系统中可以存在多个拥有不同注册名、但UID相同的用户,这些使用不同注册名的用户实际上是同一个用户。
4.组标识号(GID):当前用户的缺省工作组标识。具有相似属性的多个用户可以被分配到同一个组内,每个组都有自己的组名,且以自己的组标 识号相区分。每个用户可以同时属于多个组,在/etc/group文件中指明一个组所包含用户。
5.用户名(user_name):包含有关用户的一些信息,如用户的真实姓名、办公室地址、联系电话等。在Linux系统中,mail和finger等程序利用这些信息来标识系统的用户。
6.用户主目录(home_directory):定义了个人用户的主目录,当用户登录后,他的Shell将把该目录作为用户的工作目录。在Unix/Linux系统中,超级用户root的工作目录为/root;而其它个人用户在/home目录下均有自己独立的工作环境,系统在该目录下为每个用户配置了自己的主目录。个人用户的文件都放置在各自的主目录下。
7.命令解释程序(Shell):Shell是当用户登录系统时运行的程序名称,通常是一个Shell程序的全路径名,如/bin/bash。
文件与I/O

什么是I/O?
输入/输出是主存和外部设备之间拷贝数据的过程
设备->内存 (输入操作)
内存->设备 (输出操作)
高级I/O :ANSI C提供的标准I/O库称为高级I/O,通常也称为带 缓冲的I/O
低级I/O:通常也称为不带缓冲的I/O

对于Linux而言,所有对设备或文件的操作都是通 过文件描述符进行的。
当打开或者创建一个文件的时候,内核向进程返回一个文件描述符(非负整数)。后续对文件的操作只需通过该文件描述符,内核记录有关这个打开文件的信息。
一个进程启动时,默认打开了3个文件,标准输入、 标准输出、标准错误,对应文件描述符是0 (STDIN_FILENO)、1(STDOUT_FILENO)、 2(STDERR_FILENO),这些常量定义在unistd.h 头文件中。

gdb

调试运行:

run arg1 arg2

查看源码:
查看最近10行

list

设置断点:

break 行号

删除n行的断点:

delete n

单步调试
continue(c) - 运行至下一个断点
step(s) - 单步跟踪,进入函数,类似于VC中的 step in
next(n) - 单步跟踪,不进入函数,类似于VC中的 step out
finish - 运行程序,直到当前函数完成返回。并打
印函数返回时的堆栈地址和返回值及参数值等信 息。
until - 当厌倦了在一个循环体内单步跟踪时,这 个命令可以运行程序直到退出循环体。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/33372.html

相关文章

  • 萌の整理Linux入门识点整理常用命令

    摘要:前言这个学期开了课,知识点很多也比较杂乱容易忘记。我发现有时候在网上找某个指令或者写法也很繁杂,很不方便,所以我想自己来一个适合自己学习记忆的知识整理。比支持更多的控制命令。节号从哪一节查找该命令的相关信息。 前言 这个学期开了Linux课,知识点很多也比较杂乱容易忘记。我发现有时候在网上找某个指令或者写法也很繁杂,很不方便,所以我想自己来一个适合自己学习记忆的知识整理(●◡●)。 目...

    Awbeci 评论0 收藏0
  • 萌の研究】操作系统实验进程创建

    摘要:然后我们来看结果我们就会发现,子程序确实像复制了一份父进程,输出的内容都和父进程一样除了用来区分的标识外,是父进程新创建子进程的进程,是子进程运行时出现的。 前言 这里是偶尔呆蠢的小年糕童鞋,虽然是课内的实验,但是想好好完成然后研究一番,也算是珍惜一个机会来提升一下自己的理解吧(๑•̀ㅂ•́)و✧。本实验主要是在Linux下进行的一些小编程实验,来搞懂一些关于进程的知识。 疑问の产生 ...

    Sike 评论0 收藏0
  • 萌の体验】vue.js初次体验

    摘要:官方默认项目是存放了一个为的打开文件夹有一个,还有一个名为组件的文件夹,里面放了一个文件。部分我们会发现这几排字就是显示在页面的几排文字部分这其中的这个文件引入了,还有上述的。结合查询其他说法,就是说它会把是的元素以形式替换。 前言 我很早就想来学习学习vue.js啦,终于有了那么一些空闲的时间可以拿来学习,于是从前天开始我就每天抽一个多小时来体验vue.js。当然啦,因为是小白入门,...

    wdzgege 评论0 收藏0
  • 萌の研究】JavaScriptの闭包

    摘要:为什么会产生闭包究其根本,是因为代表的函数包含的作用域。而在作用域链中,外部函数的活动对象始终处于第二位,外部函数的外部函数的活动对象处于第三位直到作为作用域链终点的全局执行环境。 前言 此文的内容主要是来自看书的总结+小小的实践哦~会不断更新总结。 什么是闭包 书上是这样定义闭包的: 有权访问另一个函数作用域中变量的函数。 举一个例子: function test(){ va...

    CHENGKANG 评论0 收藏0
  • 萌の研究】JavaScript常见的继承方式

    摘要:构造函数构造操作符调用的函数就是构造函数。其和其构造函数的指向相同。而构造函数属性指向的对象带有属性,指向函数自身。,回归构造函数继承,仔细看看诞生的嘻嘻和哈哈两位同学可以看到两个实例都拥有了和两个属性,因为方法的运行类似于执行了和。 最近在看《JavaScript设计模式》,然后开篇复习了JavaScript中的几种继承方式,自己似乎也没有怎么仔细探究过,目前自己没怎么碰到过应用的场...

    马永翠 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<