# Linux系统启动,命令,文件详解(更新) ## Linux系统的启动 ### 引导 我们在打开电源后,计算机会寻找在ROM芯片(保存计算机最基本的输入输出以及开机自检,自启动程序的芯片)上的程序BIOS(Basic Input Output System ),它从CMOS芯片(保存计算机基本信息,比如日期,时间,启动设置等等)中读取信息。BIOS 将MBR(Main Boot Record ,在磁盘的最前边的引导代码,可以指明操作系统所在的磁盘位置,在硬盘分区时使用) 读取并执行 boot Loader(开机引导程序,如grup,spfdisk),接下来操作系统会通过引导接管计算机。 > 与主启动记录 (MBR) 分区方法相比,GPT 具有更多的优点,因为它允许每个磁盘有多达 128 个分区,因为Windows系统最多只允许划分128个分区,支持高达 18 千兆兆字节的卷大小,允许将主磁盘分区表和备份磁盘分区表用于冗余,还支持唯一的磁盘和分区 ID (GUID),支持2TB以上的大硬盘。 ### 运行 接管计算机后,会首先读取 `/boot` 目录下的内核文件,并启动 init(这是Linux操作系统中所有进程的起点,如果没有该进程,系统就不会启动其他任何进程)进程。 init 进程首先会读取配置文件 /etc/init,然后根据配置启动需要开机启动的程序(比如启动桌面程序) 此外,Linux系统启动时还需要做大量的初始化工作,网络设置,挂载文件系统和交换分区等工作  # **常用命令** | 描述 | 命令 | 命令全称 | 举个栗子 | | ---------- | ----- | ----------------------- | ------------------------------------------------------------ | | 当前目录 | pwd | print working directory | pwd | | 切换目录 | cd | change directory | cd cd .. cd / cd ../../etc | | 列出文件 | ls | list files | ls -al | | | | | | | 新建目录 | mkdir | make directory | mkdir stone mkdir /home/stone | | 移动目录 | mv | move | mv /usr/lib/* /zone mv /usr/lib/*.txt /zone | | 删除目录 | rm | remove | rm -rf /usr/lib | | 重命名目录 | mv | move | mv /a /b/c | | 复制目录 | cp | copy | cp -R file1 file2 | | | | | | | 新建文件 | touch | | touch file.txt | | 移动文件 | mv | move | mv file /usr/lib mv * ../ 移动当前目录下所有文件懂上一级目录 | | 删除文件 | rm | remove | rm file | | 重命名文件 | mv | move | mv file1 /usr/lib mv file new | | 复制文件 | cp | copy | cp file1 file2 | # 文件系统 | 文件夹 | 作用 | | -------------- | ------------------------------------------------------------ | | /bin | 二进制可执行命令 | | /dev | 设备特殊文件 | | /etc | 系统管理和配置文件 | | /etc/rc.d | 启动的配置文件和脚本 | | /home | 用户主目录的基点,比如用户user的主目录就是/home/user,可以用~user表示 | | /lib | 标准程序设计库,又叫动态链接共享库,作用类似windows里的.dll文件 | | /sbin | 系统管理命令,这里存放的是系统管理员使用的管理程序 | | /tmp | 公用的临时文件存储点 | | /root | 系统管理员的主目录 | | /mnt | 临时挂载其他的文件系统 | | /lost+found | 这个目录平时是空的,系统非正常关机而留下“无家可归”的文件(windows下叫什么.chk)就在这里 | | /proc | 虚拟的目录,是系统内存的映射。可直接访问这个目录来获取系统信息。 | | /var | 某些大文件的溢出区,比方说各种服务的日志文件 | | /usr | 最庞大的目录,要用到的应用程序和文件几乎都在这个目录 | | /usr/x11r6 | 存放x window的目录 | | /usr/bin | 众多的应用程序 | | /usr/sbin | 超级用户的一些管理程序 | | /usr/doc | linux文档 | | /usr/include | linux下开发和编译应用程序所需要的头文件 | | /usr/lib | 常用的动态链接库和软件包的配置文件 本地增加的库 | | /usr/man | 帮助文档 | | /usr/src | 源代码,(linux内核的源代码就放在/usr/src/linux里) | | /usr/local/bin | 本地增加的命令 | | /usr/local/lib | /usr/local/lib | ## 文件类型 在终端输入`ls -al`,在第一列显示的字母,代表一种文件类型 ```shell $ ls -al 总用量 7111184 drwxr-xr-x 41 baimoc baimoc 4096 9月 30 10:50 . drwxr-xr-x 4 root root 4096 6月 5 2017 .. -rw-rw-r-- 1 baimoc baimoc 591413392 5月 31 02:36 Anaconda2-5.2.0-Windows-x86_64.exe ``` | 种类 | 英文 | 简写 | 介绍 | | ---------- | ------------ | ---- | ------------------------------------------------------------ | | 普通文件 | regular file | - | Linux中最多的一种文件类型, 包括 纯文本文件(ASCII);二进制文件(binary);数据格式的文件(data);各种压缩文件.第一个属性为 [-] | | 目录文件 | directory | d | 目录 | | 块设备文件 | binary | b | 存储数据以供系统存取的接口设备,比如硬盘或者U盘 | | 字符设备 | character | c | 串行端口的接口设备,比如键盘或鼠标 | | 套接字文件 | socket | s | 用于网络数据连接 | | 管道文件 | pipeline | p | 用于解决多个程序同时存取一个文件所造成的错误 | | 链接文件 | link | l | 类似 Windows 中的快捷方式 | ## 文件属性 | 属性 | 含义 | | ------------ | --------------------------------------------------- | | 文件类型 | `drwxrwxr-x`,第一个字母,`d`代表目录 | | 文件权限 | `drwxrwxr-x`,后续六个字母,`rwxrwxr-x`代表文件权限 | | 硬链接个数 | 连接数是3,就是他本身 | | 文件属主 | 文件所属的用户 | | 文件属组 | 文件所属的用户组 | | 文件大小 | 文件占用空间,4.0k | | 文件修改时间 | 文件创建,内容更新,文件名更新都会修改这个时间 | | 文件或目录名 | 目录名字 | ## 常见文件扩展名 | 扩展名 | 介绍 | | ---------------------------------- | -------------- | | .tar、.tar.gz、.tgz、.zip、.tar.bz | 压缩文件 | | .sh | shell脚本文件 | | .pl | perl语言文件 | | .py | python语言文件 | | .html、.htm、.php、.jsp、.do | 网页语言的文件 | | .conf | 系统配置文件 | | .rpm | rpm安装包文件 | Last modification:August 15th, 2020 at 03:47 pm © 允许规范转载 Support 众筹催更 ×Close Appreciate the author Sweeping payments Pay by AliPay Pay by WeChat