- A+
0x01 linux 系统可以用来查阅全部文件的三种命令: cat 、 more 、 less
more 命令 :可以让屏幕在显示满一屏幕时,此时可按空格健继续显示下一个画面,或按 Q 键停止显示。
less 命令 :可以分页显示文件,和 more 命令的区别就在于它支持上下键卷动屏幕,当结束浏览时,只要在 less 命令的提示符“ : ”下按 Q 键即可。
cat 命令 :主要有三大功能
- 一次显示整个文件: $ cat filename
- 从键盘创建一个文件: $ cat > filename
- 将几个文件合并为一个文件: $ cat file1 file2 > file
0x02 定义bash环境的用户文件是
~/.bash_profile:每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件. 此文件类似于/etc/profile,也是需要需要重启才会生效,/etc/profile对所有用户生效,~/.bash_profile只对当前用户生效。 ~/.bashrc:该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该文件被读取.(每个用户都有一个.bashrc文件,在用户目录下) 此文件类似于/etc/bashrc,不需要重启生效,重新打开一个bash即可生效, /etc/bashrc对所有用户新打开的bash都生效,但~/.bashrc只对当前用户新打开的bash生效。
- /ect/profile
- 此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行.并从 /etc/profile.d 目录的配置文件中搜集shell的设置.
- /etc/bashrc
- 为每一个 运行bash shell 的用户执行此文件.当bash shell被打开时,该文件被读取.
- ~/.bash_profile
- 每个用户都可使用该文件输入 专用于 自己使用的shell信息, 当用户登录时,该文件仅仅执行一次 !默认情况下,他设置一些环境变量,执行~/.bashrc文件.
- ~/.bashrc
- 该文件包含专用于用户的bash shell的bash信息 ,当登录时以及每次打开新的shell时,该该文件被读取 .
- ~/.bash_logout
- 当每次退出系统(退出bash shell)时,执行该文件.
0x03 Linux进程相关联的用户ID
与一个进程相关联的用户 ID 有如下几种:
实际用户ID实际组ID | 我们实际是谁(即执行程序的用户) |
有效用户ID有效组ID附加组ID | 用于文件存取许可权检查 |
保存设置-用户-ID保存设置-组-ID | 由exec函数保存 |
- n 通常情况下,有效用户 ID 等于实际用户 ID ,有效组 ID 等于实际组 ID。
- n 文件权限中有一个特殊标志,定义为“ 当执行此文件时 , 将进程的有效用户 ID 设置为文件的所有者 ”,与此类似,组 ID 也有类似的情况。这两个标志位称为:“设置用户 ID ”和“设置组 ID ”,这两位都包含在 stat 信息中的 st_mode 中,可用 S_ISUID,S_ISGID 测试。
- n 例如 passwd 命令,不论执行该命令的用户是谁都会具有修改 / etc / passwd 文件(由超级用户创建)的权限。
0x04 cp拷贝命令的-f参数含义为
-r 递归处理,将指定目录下的文件与子目录一并处理
-v 或 --verbose 显示执行过程
-f 或 --force 强行复制文件或目录, 不论目的文件或目录是否已经存在
0x05 Linux系统大致启动流程
uEFI-> MBR -> grub -> initrd
采用uEFI的计算机可以支持MBR,但是需要在BIOS中打开CSM之类的。之后->grub->initrd就是常规操作。但是说grub也不太合适,毕竟bootloader有很多,例如clover、rEFland之类的。比较新的linux内核可以支持直接从内核启动,这种引导方式叫做EFISTUB贴一段Archlinux的UEFI启动过程的wiki:
- 系统开机 - 上电自检(Power On Self Test 或 POST)。
- UEFI 固件被加载,并由它初始化启动要用的硬件。
- 固件读取其引导管理器以确定从何处(比如,从哪个硬盘及分区)加载哪个 UEFI 应用。
- 固件按照引导管理器中的启动项目,加载UEFI 应用。
- 已启动的 UEFI 应用还可以启动其他应用(对应于 UEFI shell 或 rEFInd 之类的引导管理器的情况)或者启动内核及initramfs(对应于GRUB之类引导器的情况),这取决于 UEFI 应用的配置
Linux系统下,一切都是文件,硬件设备也是文件