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

前言

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

系统分区

启动分区

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

根分区

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

/bin:Binaries,普通命令,如文件操作。如图可以看到有很多熟悉的命令~
可以调用execl,execle,execlp,execv,execve等函数来调用执行文件/命令。
《【呆萌の整理】Linux入门知识点整理之系统、编程》

/sbin:System-only binaries 系统命令。
《【呆萌の整理】Linux入门知识点整理之系统、编程》

/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 一般是用于让用户自己挂载其他文件系统,挂载后装置图标不会出现在桌面窗口的左边栏。
《【呆萌の整理】Linux入门知识点整理之系统、编程》

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

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

用户分区

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

交换分区

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

系统文件passwd

/etc目录下的passwd文件,用于记录用户信息。
《【呆萌の整理】Linux入门知识点整理之系统、编程》
可以看到就是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 – 当厌倦了在一个循环体内单步跟踪时,这 个命令可以运行程序直到退出循环体。

    原文作者:MOCHIKO
    原文地址: https://segmentfault.com/a/1190000012562771
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞