Linux指令(小白版)

Linux指令

  • Tips

    • 在终端机模式中,如果你知道某个指令,但却忘记了相关选项与参数,请先善用 --help 的功能来查询相关信息;
    • 当有任何你不知道的指令或文件格式这种玩意儿,但是你想要了解他,请赶快使用 man 或者是 info 来查询!
    • 而如果你想要架设一些其他的服务,或想要利用一整组软件来达成某项功能时,请赶快到/usr/share/doc 底下查一查有没有该服务的说明档喔!

编码相关

系统编码
分类 相关设置
Linux系统默认支持语系 /etc/locale.conf
终端界面(bash) LANG,LC_ALL
开启终端的软件 各自配置文件中
文件原始编码 utf-8,big-5,ASCII(Linux下的纯文本,由0,1转换)

文件编码转换
  • 查询文件编码file + filename
  • 转换文件编码iconv
参数 含义
--list 列出支持编码
-f from,原本的编码格式
-t to,转换为新编码的格式
-o file 保留原文件,输出新编码文件file
- eg:iconv -f big5 -t utf8 oldfile -o newfile 

基本指令
  1. 显示日期与时间的指令:date

  2. 显示日历得指令:cal

  • cal [month] [year]
  1. 计算器:bc
  • 显示小数点 scale=number ,未开启则无法进行结果含小数得运算

  • eg:scale=3 计算1/10时,则会保留小数点后三位

  1. [Tab] 按键:
  • 补全文件或路径
  • 连按两次会显示包含以键入命令的所有字段的命令
    • eg:g +两个Tab
  1. [Ctrl]-c 按键
  • 中断目前运行程序
  1. [Ctrl]-d 按键
  • 退出终端
  1. [shift]+{[PageUP]|[Page Down]} 按键
  • 翻页
  • [Ctrl]-f 与[Ctrl]-b也可翻页
  1. 指令+ --help
  • 显示指令说明帮助信息(显示的是曾经用过的指令)
  1. man + 指令
  • 显示指令详细帮助信息,相关帮助信息介绍
  • 翻页 按空格或者按[Ctrl]-f/b的组合键
  • q退出
  • 帮助指令中『DATE(1)』,1 代表一般账号可用指令,8 代表系统管理员常用指令,5 代表系统配置文件格式,9 跟kernel有关的文件
  1. info
  • 指令帮助信息,比man帮助信息更友好,易读。 man page一口气输出一堆信息,info page 是将文件数据拆成一个一个的段落,每个段落用自己的页面来撰写, 并且在各个页面中还有类似网页的『超链接』来跳到各不同的页面中,每个独立的页面也被称为一个节点(node)
  1. 开关机
  • shotdown -h now
  • 很多Linux的distributions版本中,非root用户也可以直接使用shutdown指令关机,不必切换到root。
  1. 权限指令
  • 语法,指令+路径(如果文件是目录,则在指令后添加[ -R] 表示递归)

  • 数字改变权限 r:4 w:2 x:1 ,按照想赋予权限自由组合

  • 符号类型改变权限,(1)user (2)group(3)others 三种身份,可以由 u, g, o 来代表三种身份的权限!此外, a 则代表 all 亦即全部的身份!那么读写的权限就可以写成 r, w, x

    • eg:chmod u=rwx,go=rx ~/.test.txt
  • chgrp , 改变文件群组
  • chown,改变文件所属者(拥有者)
    • chmod,改变文件的权限。SUID,SGID,SBIT等等的特性
  1. 相对路径、绝对路径
  • 以[ / ] 开始的路径是绝对路径,以用户lucky举例

    • eg:cd /home/lucky

    • pwd(查看当前目录)

  • 以[ . ]或[ ../ ] 开头的路径为相对路径,从home目录进入lucky目录

    • eg:cd ./lucky

    • pwd(查看当前目录)

  • cd [-] 或cd [/]都可从任意目录切换到root目录,cd 或 cd [~]切回用户目录

  1. 建立新目录mkdir
  • mkdir + [-option] + 目录名称
    • 参数:

    • [-m] 直接设置权限

    • [-p] 直接将所需要的目录(包含上层目录)递归建立起来

  1. touch 创建文件

  2. rmdir(删除[空]目录)

    语法:rmdir +[-options]+路径

    options:

    [-p] 递归删除

    [-r] 删除非空目录

    [-f] 强制删除

  3. cp指令

    语法:cp + [-options] + 文件来源路径 + 目的地路径

    tips:执行cp指令后用ls + [-l] + 文件来源路径 + 目的地路径,观察权限

    options:

    [-a]复制后的文件与复制前的文件属性、权限一模一样。即完全复制

    [-r]递归复制。用于复制目录(文件夹),但是复制后的文件权限可能改变

    [-s]符号链接(symbolic link)。复制后的文件相当于源文件的快捷方式,权限也变更了,有一个(->)链接到源文件的符号

    [-l]实体链接(hard link)。复制后的文件与源文件权限相同,但link数+1了

    [ ]空参数时(默认状态),复制的是源文件,复制后权限可能会变更,是非链接文件属性

    [-d] 复制后的文件是链接文件属性。

    [-u]用于备份。目标文件与源文件有差异时才会复制

    注意:执行cp指临时,务必清楚执行指令的用户以及权限

  4. rm指令

    语法:rm + [options] + 源文件路径

    options:

    [-r]:递归删除(删除文件夹时使用)

    [-f]:强制删除,忽略不存在的文件

    [-i]:删除前会询问

  5. mv指令,移动文件或更名

    语法:mv + [-options] + 源文件路径 + 目标文件路径

    options:

    [-f]:强制的意思,若目标文件已存在,直接覆盖

    [-i]:若目标文件已存在会询问

    [-u]:更新目标文件(源文件比较新时)

  6. 获取文件名与目录名称

    获取文件名:bashname + 文件路径

    获取目录名:dirname +文件路径

  7. 文件内容查阅

    cat 由第一行开始显示文件内容

    tac 最后一行开始显示文件内容

    nl 显示的时候输出行号

    more 一页一页的显示内容

    less 一页一页显示内容,但是可以向前翻页(常用)

    head 只看头几行(默认前十行)

    tail 只看尾部几行

    od 以二进制的方式读取内容

    options:以上指令部分可用参数

    [-b]:列出行号,空白行不标记行号

    [-n]:列出行号,空白行标记行号

    [-E]:将结尾的断行字符$显示出来

    [-T]:将[Tab]按键以 ^[ 显示出来

    [-v]:列出一些看不出来的特殊字符

    [-A]:-vET的整合,列出一些特殊字符而不是空白

    注意:一般文件推荐使用 less 或 more 查阅,DOS文件有特殊符号,需加 [-A]参数

    more 查阅文件的按键:

    • 空格键 (space):代表向下翻一页;
    • Enter :代表向下翻『一行』;
    • /字符串 :代表在这个显示的内容当中,向下搜寻『字符串』这个关键词;
    • :f :立刻显示出文件名以及目前显示的行数;
    • q :代表立刻离开 more ,不再显示该文件内容。
    • b 或 [ctrl]-b :代表往回翻页,不过这动作只对文件有用,对管线无用。

    less 查阅文件的按键:

    • 空格键 :向下翻动一页;

    • [pagedown]:向下翻动一页;

    • [pageup] :向上翻动一页;

    • /字符串 :向下搜寻『字符串』的功能;

    • ?字符串 :向上搜寻『字符串』的功能;

    • n :重复前一个搜寻 (与 / 或 ? 有关!)

    • N :反向的重复前一个搜寻 (与 / 或 ? 有关!)

    • g :前进到这个资料的第一行去;

    • G :前进到这个数据的最后一行去 (注意大小写);

    • q :离开 less 这个程序;

    查阅前或后几行:

    • head/tail + [-n] + 数字(行数) +文件路径

    tips:

    • 行数为负数。总共20行,行数设置为-5,则只查阅前15行
    • 管线[ | ]查阅第11到20行。head -n 20 /etc/man_db.conf | tail -n 10 (管线是将[ | ]前输出的信息交有[ | ]的指令继续使用 )

    非纯文本档查阅:od

    语法:od + [-t TYPE] + 文件

    -t 后接的各种[TYPE]的输出:

    • a :利用默认的字符来输出
    • c :使用 ASCII 字符输出
    • d[size]:利用十进制(decimal)来输出数据,每个整数占用 size bytes;
    • f[size]:利用浮点数(floating)来输出数据,每个数占用 size bytes;
    • o[size]:利用八进制(octal)来输出数据,每个整数占用 size bytes;
    • x[size]:利用十六进制(hexadecimal)来输出数据,每个整数占size bytes;
  8. 文件预设权限:umask

    服务器通用:通过该指令设定权限,群组间协同开发

    查看文件或目录的权限:umask(推荐) 或者 umask -S

    • 结果为0002,后三位与权限有关,r:4 w:2 x:1

      注意:后三位数字分别表示用户/群组/others 缺失的权限

      0002表示others没有写的权限,但有读和执行权限

    • 实战(同一主机),领导将 /home/class/ 目录作为共同开发专题目录,如果通过umask查询结果为0022,则同组人员无法开发,因为写的权限被拿掉了,所以管理员终端必须将该目录权限更改才能开发,管理员终端输入 [umask 002],赋予同群组开发人员写的权限

  9. 修改文件时间或建置新文件:touch

    文件时间属性(可通过ls 指令看到常见文件时间,默认显示的是该文件的mtime)

    语法:ls + l + [--time=[option] ]+文件路径

    • modification time (mtime):
      当该文件的『内容数据』变更时,就会更新这个时间!内容数据指的是文件的内容,而不是文件的属性或权限喔!
    • status time (ctime):
      当该文件的『状态 (status)』改变时,就会更新这个时间,举例来说,像是权限与属性被更改了,都会更新这个时间啊。
    • access time (atime):
      『该文件的内容被取用』时,就会更新这个读取时间 (access)。举例来说,我们使用 cat 去读取/etc/man_db.conf , 就会更新该文件的 atime 了。
  10. 文件隐藏属性

    1. 配置文件隐藏属性chattr

      语法:chattr + [ +-=][options] + 文件或目录名称

      常用options:

      • [a]当设定a后,这个文件只能增加数据,而不能也不能修改数据,只有root才能设定这个属性
      • [i]可以让一个文件不能被删除、改名、设定连接、也无法写入或新增数据,对于系统安全性有很大帮助,只有root能设定
      • [u] 用u来配置文件隐藏属性。当该文件被删除了,则数据其实还在磁盘中,可以使用救援模式恢复该文件
      • [c] 设置此属性后,将会自动将文件压缩,在读取时会自动解压缩,但是在存储时会先压缩在存储(大文件可考虑使用)
    2. 显示文件隐藏属性(lsattr)

      语法:lsattr + [-options] +文件或目录

      • [-a]将隐藏文件的属性展示出来

      • [-d]如果接的是目录,仅列出目录本身的属性而非目录内的文件名

      • [-R]连同子目录的数据也一并列出来

  11. 文件特殊权限:SUID,SGID,SBIT

    1. SUID对文件的特殊权限(用户可暂时获得root权限)
    • SUID 权限 仅对二进制程序 (binary program)有效;
    • 执行者对于该程序需要具有 x 的可执行权限;
    • 本权限仅在执行该程序的过程中有效 (run-time);
    • 执行者将具有该程序拥有者 (owner) 的权限
    1. SGID对文件(目录)的特殊权限
    • SGID 对二进制程序有用

    • 程序执行者对于该程序来说,需具备 x 的权限;

    • 执行者在执行的过程中将会获得该程序群组的支持!

    • 用户若对于此目录具有 r 与 x 的权限时,该用户能够进入此目录

    • 用户在此目录下的有效群组(effective group)将会变成该目录的群组;

    • 用途:(重要)若用户在此目录下具有 w 的权限(可以新建文件),则使用者所建立的新文件,该新文件的群组与此目录的群组相同。

    1. SBIT对文件(目录)的特殊权限
    • (重要)此目录下的用户只能增删改、移动自己建立的目录或文件,而无法删除他人的文件/目录

    • 当用户对于此目录具有 w, x 权限,亦即具有写入的权限时;

    • 当用户在该目录下建立文件或目录时,仅有自己与 root 才有权力删除该文件

    1. SUID/SGID/SBIT 权限设定
    • 4 为 SUID

    • 2 为 SGID

    • 1 为 SBIT

      用法:在权限指令前添加数字赋予文件或目录特殊权限

      eg:假设要将一个文件权限改为『-rwsr-xr-x』时,由于 s 在用户权力中,所以是 SUID ,因此,在原先的 755 之前还要加上 4 ,也就是:『 chmod 4755 filename 』来设定!

    注意:SUID是用在二进制文件上,不是用在目录上的;SBIT是用在目录上的,不是用在文件上的

  12. 查看文件类型指令:file

    语法:file + 文件路径

  13. 指令与文件搜索

    1. which(寻找执行档(程序),完整文件名)
    • 指令是根据『PATH』这个环境变量所规范的路径,去搜寻『执行档』的档名(个人理解是程序名),无法找到『bash 内建的指令』(不是程序名)

    • [-a],添加该参数,所有PATH目录中可以找到的指令均列出。不加参数的话,默认显示第一个被找到的指令名称

    1. whereis(在特定目录查找文件)

      语法:whereis + [-options] + 文件或目录名

      options:

      • [-l] 列出指定去查询的几个目录

      • [-b] 只找binary格式的文件

      • [-m] 只找在说明文件 manual 路径下的文件

      • [-s] 只找 source 来源的文件(原始码)

      • [-u] 搜寻不在上述三个项目当中的其他特殊文件

      ps:不加任何参数,默认列出所有数据,但是有些文件是找不到的,whereis 主要是针对 /bin /sbin 底下的执行档, 以及 /usr/share/man 底下的 man page 文件,跟几个比较特定的目录来处理而已。所以速度当然快的多

      注意:一般查找文件用whereis 或 locate 指令 ,find 指令对于比较老旧的硬盘,查询很耗时

    2. locate / updatedb(模糊查找文件)

      语法:locate + [-options] + 部分文件名

      options:

      • [-i] 忽略大小写
      • [-c] 不输出文件名,只计算找到的文件数量
      • [-l] 仅输出几行记录。例如,输出5行则是 -l 5
      • [-S] 输出 locate 所使用的数据库的相关信息(数据库记录的文件/目录数量等)
      • [-r] 后面可接正规表示法的显示方式

      ps:locate 寻找的数据是由『已建立的数据库 /var/lib/mlocate/』 里面的数据所搜寻到的,而数据库的建立默认是在每天执行一次 (每个 distribution 都不同,在数据库更新之前搜寻该当天的文件可能会找不到,可通过直接终端输入[ updatedb ]手动更新数据库,更新成功后即可找到。

      注意:

      • updatedb:根据 /etc/updatedb.conf 的设定去搜寻系统硬盘内的文件名,并更新 /var/lib/mlocate 内的数据库文件;
      • locate:依据 /var/lib/mlocate 内的数据库记载,找出用户输入的关键词文件名。
    3. find (列出所有相关文件)

      • 文件变动信息查询

        find + 路径 + [-options] + [actions]

        与时间有关的选项:有[-atime] [-ctime] [-mtime],以[-mtime]说明

        [-mtime] n : 在n天之前被更动过内容的文件;

        [-mtime] +n:列出在n天之前(不含n天本身)被更动过的文件;

        [-mtime] -n:列出在n天之内(含n天本身)被更动过的文件;

        [- newer file] : file 为一个存在的文件,列出比file还要新的文件

      • 与使用者或组名有关的参数:

        [-uid n] n 即UID ,在/etc/passwd 里面

        [-gid n] n 即GID,在/etc/group 里面

        [-user name] name 为使用者账号名称

        [-group name] name 为组名

        [-nouser] 寻找文件的拥有者(不存在 /etc/passwd 的人)

        [-nogourp] 寻找文件的拥有群组不存在于 /etc/group 的文件

      • 与文件权限及名称有关的参数

        [-name filename] 搜寻文件名为filename的文件

        [-size [+-]SIZE ] 搜寻比SIZE 还要大(+)/小(-)的文件。SIZE 的规格有: c 代表 byte ,k 代表 1024bytes。例如,找比50KB还要大的文件,就是[ -size +50k]

      • 查询结果能够进行额外的动作(action)![1569933870267](C:\Users\home\Pictures\Saved Pictures\1569933870267.png)

        {} 代表的是『由 find 找到的内容』,如上图所示,find 的结果会被放置到 {} 位置中;

        -exec 一直到 ; 是关键词,代表 find 额外动作的开始 (-exec) 到结束 (😉 ,在这中间的就是 find 指令内
        的额外动作。

        因为『 ; 』在 bash 环境下是有特殊意义的,因此利用反斜杠来跳脱。

  14. 压缩与解压缩

    语法:

    • 压缩:tar [-z| -j | -J] [cv] [-f] filename

    • 查询:tar [-z| -j | -J] [tv] [-f ] filename

    • 解压:tar [-z| -j | -J] [xv] [-f ] filename [-C] 解压缩后的位置(目录)

      • [-z] 透过 gzip 的支持进行压缩/解压缩。规范档名为 * .tar.gz

      • [-j] 透过 bzip 的支持进行压缩/解压缩。规范档名为 * .tar.bz2

      • [-J] 透过 xz 的支持进行压缩/解压缩。规范档名为* .tar.xz

        -z、-j、-J 不可以同时出现在一串指令列中

      • [-v] 在压缩/解压缩的过程中,将正在处理的文件名显示出来

      • [-f] filename, -f 后面必须是要被处理的档名

      • [-c] 建立打包文件

      • [-C] 目录,在特定目录解压缩

      • [-p] 保留备份数据的原本权限与属性 常用于备份重要的配置文件

      • [-P] 保留绝对路径。即允许备份数据中含有根目录存在之意。

      • --exclude=FILE,在压缩的过程中,不要将 FILE 打包

      常用命令:

      • 压 缩:tar -jcv -f filename.tar.bz2 要被压缩的文件或目录名称

      • 查 询:tar -jtv -f filename.tar.bz2

      • 解压缩:tar -jxv -f filename.tar.bz2 -C 欲解压缩的目录

        • 仅备份某日期后的文件
          • tar -jcv -f filename.tar.bz2 --newer="2019/12/5"
          • tar -jcv -f filename.tar.bz2 --newer-mtime="2019/12/5"
  15. 软件安装

  • tar xzf redis-3.0.7.tar.gz
  • ln -s redis-3.0.7 redis ,建立目录的软连接,不把redis目录固定在指定的版本上,有利于版本升级,养成安装软件的好习惯
  • make && make install 会将Redis的相关运行文件放到/usr/local/bin 目录下,相当与导入了PATH环境变量,可以在任何目录下执行Redis命令

群组与文件权限

Linux系统中,默认的情况下,所有的系统上的账号与一般身份使用者,以及root的相关信息,都是记录在/etc/passwd 文件内,个人密码记录在/etc/shadow 文件内,所有组名都记录在/etc/group

目录结构

  1. 第一个字符代表这个文件是『目录、文件或链接文件等等』:
    o 当为[ d ]则是目录,例如上表档名为『.config』的那一行;
    o 当为[ - ]则是文件,例如上表档名为『initial-setup-ks.cfg』那一行;
    o 若是[ l ]则表示为连结档(link file);
    o 若是[ b ]则表示为装置文件里面的可供储存的接口设备(可随机存取装置);
    o 若是[ c ]则表示为装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)。

  2. 接下来的字符中,以三个为一组,且均为『rwx』 的三个参数的组合。其中,[ r ]代表可读(read)、[ w ]代表可写(write)、[ x ]代表可执行(execute)。 要注意的是,这三个权限的位置不会改变,如果没有权限,就会出现减号[ - ]而已。
    o 第一组为『文件拥有者可具备的权限』,以『initial-setup-ks.cfg』那个文件为例, 该文件的拥有者可以读写,但不可执行;
    o 第二组为『加入此群组之账号的权限』;
    o 第三组为『非本人且没有加入本群组之其他账号的权限』。

  3. Linux 文件 长度限制 :
    在 Linux 底下,使用传统的 Ext2/Ext3/Ext4 文件系统以及近来被 CentOS 7 当作预设文件系统的 xfs而言,针对文件的档名长度限制为:

    • 单一文件或目录的最大容许文件名为 255bytes,以一个 ASCII 英文占用一个 bytes 来说,则大约可达 255个字符长度。
    • 若是以每个中文字占用 2bytes 来说, 最大档名就是大约在 128 个中文字之谱!
  4. Linux 文件名的限制:
    由于 Linux 在文字接口下的一些指令操作关系,一般来说,你在设定 Linux 底下的文件名时, 最好可以避免一些特殊字符比较好!例如底下这些:

    * ? > < ; & ! [ ] | \ ' " ( ) { }
    因为这些符号在文字接口下,是有特殊意义的!另外,文件名的开头为小数点『.』时, 代表这个文件为『隐藏档』喔!同时,由于指令下达当中,常常会使用到 -option 之类的选项, 所以你最好也避免将文件档名的开头以 - 或 + 来命名啊!

    目录配置


  1. 磁盘与目录的容量
  • 列出文件系统的整体磁盘使用量

    语法:df + [-options] + 目录或文件名

    options:

    • [-h] 以GBytes、MBytes、KBytes等格式自行显示
    • [-i] 不用磁盘容量,而以 innode 的数量显示
    • [-k] 以KBytes 列出容量显示
  • 评估文件系统的磁盘使用量(常用在推估目录所占容量)

    语法:du + [-options] + 目录或文件名

    options:

    [-s] 列出总量而已,而不列出每个个别的目录占用容量

    [-S] 不包括子目录下的总计

    [-h] 以人们较易读的容量格式(G/M)显示

    [-k] 以KBytes 列出容量显示

    [-m] 以MBytes 列出容量显示

  1. link 链接指令

    语法:ln +[-options] 源目录 + 与原始目录建立链接的目录(新目录)

    • 第一种:hard link ,不加参数。新目录与源目录两者同一inode,且源目录的link数+1(ls -il + 路径 指令可观察),因为同一inode指向同一个block,所以建立连接后,源目录若是删除了,则新目录仍然能访问 block ,可以正常使用使用。

    • 第二种:Symbolic Link(符号链接),加参数[-s],新目录相当于源目录的快捷方式,新目录与源目录inode 不同,新目录指向源目录的inode,然后通过源目录访问 block 的资源。若是删除源目录,则新目录无法使用,若在新目录中增删改文件,则对应的源目录中的文件信息也随之改变。

  2. 磁盘分区相关( root 才能执行)

    • 观察磁盘分区状态

      lsblk 列出磁盘上所有的磁盘列表

      blkid 列出装置的UUID

      parted /dev/sda print 列出磁盘的分区表类型及分区信

    • 磁盘分区工具(错分区工具会使分区记录全部死掉,必须知分区类型操作)

      gdisk GPT分区表使用该工具

      fdisk MBR分区表使用该工具

      • gdisk 分区工具的使用(在输出信息后输入 ? 即可增删改分区,q,不保存离开;w,保存操作后离开),不需要背指令

        gdisk dev/sda

    • GPT 分区工具gdisk增加/删除分区 实例 ,千万不要去处理一个正在使用的分区槽

      • a. lsblk 查出所有文件系统(磁盘是sda 或vda 或其它类型),本机sda

      • b. parted /dev/sda print 列出 /dev/sda 磁盘的相关数据,若 Partition Table :gpt 则分区表格式是GPT,接下来的分区工具使用gdisk,若显示分区表是mbr,则接下来的分区工具使用fdisk

      • c. gdisk /dev/sda 在输出的信息中再次确认GPT:present ,有此信息才能使用gdisk工具

      • d. 承上,在Command(? for help) :输入[ ? ],即可查询gdisk的增删改分区的指令,[n] 增加分区,[d] 删除分区,[p] 打印出分区表信息,分好区后[q]不保存分区信息离开,[w]保存离开。通过[L] 可查询到你想分区的文件系统类型对应的数字,如 8300 代表 Linux预设文件系统(xfs),8200 代表Linux swap 交换系统,0700 代表可同时被windows与Linux识别的Microsoft basic data 文件系统(vfat)

        注意:新手初次查阅信息避免误操作,查阅后[q]键离开,数据无价,谨慎操作

      • e. n 增加分区 在Last sector后输入新分区容量,本人键入[ +1G] 即新分区大小为1G,回车。在Hex code .... 后输入新分区槽使用哪个文件系统,如上一步中 8300 或 8200 或0700 (通过L 可查询文件系统对应数字),回车,输入[p] 打印出新的分区,即增加分区操作成功,若此时不想保留新分区,键入[q]则上述分区记录不会保存,Linux 不会增加新分区;若想保留新分区,键入[w] 保存分区信息离开。

        partprobe -s 手动更新 Linux 分区表信息,lsblk /dev/sda 可查看到添加分区后实际磁盘分区状态,cat /proc/partitions 可查看核心的分区记录。

        至此,增加分区成功

      • f. d 删除分区,先键入[p],打印出分区信息,在Number一列中选出你要删除的分区编号,键入[编号],再次键入[p],确认分区已删除,[w] 保存离开。

        partprobe -s 手动更新 Linux 分区表信息,lsblk /dev/sda 可查看到删除分区后实际磁盘分区状态,cat /proc/partitions 可查看核心的分区记录。

        至此删除分区完毕。

    • MBR 分区工具 fdisk 使用

      • 因为 fdisk 跟 gdisk 使用的方式几乎一样!只是一个使用 ? 作为指令提示数据,一个使用 m 作为提示这样而已。 此外,fdisk 有时会使用磁柱 (cylinder) 作为分区的最小单位,与 gdisk 默认使用
        sector 不太一样!大致上只是这点差别! 另外, MBR 分区是有限制的 (Primary, Extended, Logical...)
    • 分区完毕后进行文件系统格式化(建置文件系统),这样才能使新分区可使用

      • XFS 文件系统 mkfs.xfs(mkfs 即 make filesystem)

        格式化:mkfs.xfs /dev/sda4 (注:新建分区为xfs Linux格式使用此指令)

      • EXT4 文件系统 mkfs.ext4

        格式化:mkfs.ext4 /dev/sda5(注:新建分区为ext4 Linux 文件系统使用该指令)

      • 其他文件系统 mkfs

        mkfs 其实是个综合指令,终端输入 mkfs 连按两下[Tab] 即可知道系统还支持哪种文件系统的格式化功能。例如,当我们使用 mkfs -t xfs 时,它就会跑去找 mkfs.xfs 相关的参数给我们使用。

        例如:可将上述格式化后ext4 格式的sda5 格式化为 vfat 格式

        mkfs -t vfat /dev/sda5 格式化操作

        blkid /dev/sda5 查看该分区,可看到TYPE="vfat",格式化成功

        例如:再次将vfat 格式的 sda5 分区格式化为 ext4

        mkfs.ext4 /dev/sda5 或者(mkfs -t ext4 /dev/sda5)

        blkid /dev/sda5 查看该分区,可看到TYPE="ext3",格式化成功

posted @ 2020-04-19 18:11  雪梨加冰  阅读(215)  评论(0编辑  收藏  举报