【Linux】Linux初识

    技术2022-07-12  73

    Linux文件目录结构一览表

    Linux 系统的根目录(/)最为重要,下面还有一级目录:

     

     

     

    Linux挂载详解

    Linux 系统中“一切皆文件”,所有文件都放置在以根目录为树根的树形目录结构中。在 Linux 看来,任何硬件设备也都是文件,它们各有自己的一套文件系统(文件目录结构)。当在 Linux 系统中使用这些硬件设备时,只有将Linux本身的文件目录与硬件设备的文件目录合二为一,硬件设备才能为我们所用。合二为一的过程称为“挂载”。

    Linux文件和目录管理

    在文件系统中,有两个特殊的目录,一个是用户所在的工作目录,即当前目录,可用一个点“.”表示;另一个是当前目录的上一层目录,也叫父目录,用两个点“..”表示。如果一个目录或文件名是以一个点开始,就表示这个目录或文件是一个隐藏目录或文件。目录名或文件名是区分大小写的。

    Linux 系统并不以文件的扩展名开分区文件类型。

    在Linux 系统中,硬件设备也是文件,也有各自的文件名称。Linux 系统内核中的 udev 设备管理器会自动对硬件设备的名称进行规范,目的是让用户通过设备文件的名称,就可以大致猜测处设备的属性以及相关信息。

    命令提示符

    [root@localhost ~]#

    这就是 Linux 系统的命令提示符。那么,这个提示符的含义是什么呢?

    []:这是提示符的分隔符号,没有特殊含义。root:显示的是当前的登录用户,笔者现在使用的是 root 用户登录。@:分隔符号,没有特殊含义。localhost:当前系统的简写主机名(完整主机名是 localhost.localdomain)。~:代表用户当前所在的目录,此例中用户当前所在的目录是家目录。#:命令提示符,Linux 用这个符号标识登录的用户权限等级。如果是超级用户,提示符就是 #;如果是普通用户,提示符就是 $。

    命令的基本格式

    [root@localhost ~]# 命令[选项][参数]

    cd 用来切换工作目录。

    pwd 显示当前绝对路径。

    ls 查看目录下文件。

    命令常用选项及功能

    选项

    功能

    -a

    显示全部的文件,包括隐藏文件

    -A

    显示全部的文件,连同隐藏文件,但不包括 . 与 .. 这两个目录。

    -d

    仅列出目录本身,而不是列出目录内的文件数据。

    -f

    ls 默认会以文件名排序

    -F

    在文件或目录名后加上文件类型的指示符号,例如,* 代表可运行文件,/ 代表目录,= 代表SOCKET文件,| 代表 FIFO 文件。

    -h

    以人们易读的方式显示文件或目录大小

    -i

    显示 inode 节点信息。

    -l

    使用长格式列出文件和目录信息。

    -n

    以 UID 和 GID 分别代替文件用户名和群组名显示出来。

    -r

    将排序结果反向输出

    -R

    连同子目录内容一起列出来,等於将该目录下的所有文件都显示出来。

    -S

    以文件容量大小排序,而不是以文件名排序。

    -t

    以时间排序,而不是以文件名排序。

    --color=never --color=always --color=auto

    never 表示不依据文件特性给予颜色显示。 always 表示显示颜色,ls 默认采用这种方式。 auto 表示让系统自行依据配置来判断是否给予颜色。

    --full-time

    以完整时间模式 (包含年、月、日、时、分)输出

    --time={atime,ctime}

    输出 access 时间或改变权限属性时间(ctime),而不是内容变更时间。

    mkdir创建目录。

    [root@localhost ~]# mkdir [-mp] 目录名

    -m 选项用于手动配置所创建目录的权限。 mkdir -m 711 test2-p 选项递归创建所有目录。 mkdir -p lm/movie/jp/cangls

    rmdir删除空目录

    rmdir [-p] 目录名

    -p 选项用于递归删除空目录。

    touch创建文件及修改文件时间戳

    touch [选项] 文件名

    -a:只修改文件的访问时间;-c:仅修改文件的时间参数(3个时间参数都改变),如果文件不存在,则不建立新文件。-d:后面可以跟欲修订的日期,而不用当前的日期,即把文件的 atime 和 mtime 时间改为指定的时间。-m:只修改文件的数据修改时间。-t:命令后面可以跟欲修订的时间,而不用目前的时间,时间书写格式为 YYMMDDhhmm

    ln在文件之间建立链接

    ln 命令用于给文件创建链接,根据 Linux 系统存储文件的特点,链接的方式分为以下 2 种:

    软链接:类似于 Windows 系统中给文件创建快捷方式。硬链接:文件的基本信息都存储在inode中,而硬链接指的就是给一个文件的inode分配多个文件名。

    ln [选项] 源文件 目标文件

    -s:建立软链接文件。如果不加 "-s" 选项,则建立硬链接文件;-f:强制。如果目标文件已经存在,则删除目标文件后再建立链接文件;

    这里需要注意,软链接文件的源文件必须写成绝对路径,而不能写成相对路径(硬链接没有这样的要求);否则软链接文件会报错。

    cp复制

    cp [选项] 源文件 目标文件

    -a:相当于 -d、-p、-r 选项的集合;-d:如果源文件为软链接(对硬链接无效),则复制出的目标文件也为软链接;-i:询问,如果目标文件已经存在,则会询问是否覆盖;-l:把目标文件建立为源文件的硬链接文件,而不是复制源文件;-s:把目标文件建立为源文件的软链接文件,而不是复制源文件;-p:复制后目标文件保留源文件的属性(包括所有者、所属组、权限和时间);-r:递归复制,用于复制目录;-u:若目标文件比源文件有差异,则使用该选项可以更新目标文件,此选项可用于对文件的升级和备用。

    rm删除文件或目录

    rm[选项] 文件或目录

    -f:强制删除(force)。-i:和 -f 正好相反,在删除文件或目录之前,系统会给出提示信息。-r:递归删除,主要用于删除目录,可删除指定目录及包含的所有内容,包括所有的子目录和文件。

    mv移动文件或改名

    mv [选项]源文件 目标文件

    -f:强制覆盖;-i:交互移动,询问用户是否覆盖(默认选项);-n:如果目标文件已经存在,则不会覆盖移动,而且不询问用户;-v:显示文件或目录的移动过程;-u:若目标文件已经存在,但两者相比,源文件更新,则会对目标文件进行升级;

    打包和压缩详解

    打包和压缩不同。

    tar

    打包:tar [选项] 源文件或目录

    tar 打包命令常用选项及含义

    选项

    含义

    -c

    将多个文件或目录进行打包。

    -A

    追加 tar 文件到归档文件。

    -f 包名

    指定包的文件名。包的扩展名是用来给管理员识别格式的,所以一定要正确指定扩展名;

    -v

    显示打包文件过程;

    tar -cvf anaconda-ks.cfg.tar anaconda-ks.cfg

    把anacondehks.cfg打包为 anacondehks.cfg.tar文件

    解打包:tar [选项] 压缩包

    解打包常用选项及含义

    选项

    含义

    -x

    对 tar 包做解打包操作。

    -f

    指定要解压的 tar 包的包名。

    -t

    只查看 tar 包中有哪些文件或目录,不对 tar 包做解打包操作。

    -C 目录

    指定解打包位置。

    -v

    显示解打包的具体过程。

    其实解打包和打包相比,只是把打包选项 "-cvf" 更换为 "-xvf"。我们来试试:

    tar -xvf anaconda-ks.cfg. tar

    解打包到当前目录下

     

    tar [选项] 压缩包 源文件或目录

    -z:压缩和解压缩 ".tar.gz" 格式;tar -zcvf tmp.tar.gz /tmp/-j:压缩和解压缩 ".tar.bz2"格式。

    zip

    zip [选项] 压缩包名 源文件或源目录列表

    zip 命令常用选项及含义

    选项

    含义

    -r

    递归压缩目录,及将制定目录下的所有文件以及子目录全部压缩。

    -m

    将文件压缩之后,删除原始文件,相当于把文件移到压缩文件中。

    -v

    显示详细的压缩过程信息。

    -q

    在压缩的时候不显示命令的执行过程。

    -压缩级别

    压缩级别是从 1~9 的数字,-1 代表压缩速度更快,-9 代表压缩效果更好。

    -u

    更新压缩文件,即往压缩文件中添加新文件。

    unzip

    unzip [选项] 压缩包名

    unzip 命令常用选项及含义

    选项

    含义

    -d 目录名

    将压缩文件解压到指定目录下。

    -n

    解压时并不覆盖已经存在的文件。

    -o

    解压时覆盖已经存在的文件,并且无需用户确认。

    -v

    查看压缩文件的详细信息,包括压缩文件中包含的文件大小、文件名以及压缩比等,但并不做解压操作。

    -t

    测试压缩文件有无损坏,但并不解压。

    -x 文件列表

    解压文件,但不包含文件列表中指定的文件。

    gzip

    gzip [选项] 源文件

    gzip 命令常用选项及含义

    选项

    含义

    -c

    将压缩数据输出到标准输出中,并保留源文件。

    -d

    对压缩文件进行解压缩。

    -r

    递归压缩指定目录下以及子目录下的所有文件。

    -v

    对于每个压缩和解压缩的文件,显示相应的文件名和压缩比。

    -l

    对每一个压缩文件,显示以下字段:

    压缩文件的大小;

    未压缩文件的大小;

    压缩比;

    未压缩文件的名称。

    -数字

    用于指定压缩等级,-1 压缩等级最低,压缩比最差;-9 压缩比最高。默认压缩比是 -6。

    gunzip

    gunzip [选项] 文件

    gunzip 命令常用选项及含义

    选项

    含义

    -r

    递归处理,解压缩指定目录下以及子目录下的所有文件。

    -c

    把解压缩后的文件输出到标准输出设备。

    -f

    强制解压缩文件,不理会文件是否已存在等情况。

    -l

    列出压缩文件内容。

    -v

    显示命令执行过程。

    -t

    测试压缩文件是否正常,但不对其做解压缩操作。

    bzip2

    bzip2 [选项] 源文件

    bzip2 命令常用选项及含义

    选项

    含义

    -d

    执行解压缩,此时该选项后的源文件应为标记有 .bz2 后缀的压缩包文件。

    -k

    bzip2 在压缩或解压缩任务完成后,会删除原始文件,若要保留原始文件,可使用此选项。

    -f

    bzip2 在压缩或解压缩时,若输出文件与现有文件同名,默认不会覆盖现有文件,若使用此选项,则会强制覆盖现有文件。

    -t

    测试压缩包文件的完整性。

    -v

    压缩或解压缩文件时,显示详细信息。

    -数字

    这个参数和 gzip 命令的作用一样,用于指定压缩等级,-1 压缩等级最低,压缩比最差;-9 压缩比最高

    bunzip2

    bunzip2 [选项] 源文件

    bunzip2 命令选项及含义

    选项

    含义

    -k

    解压缩后,默认会删除原来的压缩文件。若要保留压缩文件,需使用此参数。

    -f

    解压缩时,若输出的文件与现有文件同名时,默认不会覆盖现有的文件。若要覆盖,可使用此选项。

    -v

    显示命令执行过程。

    -L

    列出压缩文件内容。

    命令总结:

    .tar

    解包:tar xvf FileName.tar

    打包:tar cvf FileName.tar DirName

    (注:tar是打包,不是压缩!)

    ———————————————

    .zip

    解压:unzip FileName.zip

    压缩:zip FileName.zip DirName

    ———————————————

    .rar

    解压:rar x FileName.rar

    压缩:rar a FileName.rar DirName

    ———————————————

    .gz

    解压1:gunzip FileName.gz

    解压2:gzip -d FileName.gz

    压缩:gzip FileName

    ———————————————

    .tar.gz 和 .tgz

    解压:tar zxvf FileName.tar.gz

    压缩:tar zcvf FileName.tar.gz DirName

    ———————————————

    .bz2

    解压1:bzip2 -d FileName.bz2

    解压2:bunzip2 FileName.bz2

    压缩: bzip2 -z FileName

    ———————————————

    .tar.bz2

    解压:tar jxvf FileName.tar.bz2

    压缩:tar jcvf FileName.tar.bz2 DirName

    ———————————————

    .bz

    解压1:bzip2 -d FileName.bz

    解压2:bunzip2 FileName.bz

    压缩:未知

    ———————————————

    .tar.bz

    解压:tar jxvf FileName.tar.bz

    压缩:未知

    ———————————————

    文本处理

    cat 连接文件并打印输出到标准输出设备

    cat [选项] 文件名

    cat 文件1 文件2 > 文件3

    cat 命令常用选项及含义

    选项

    含义

    -A

    相当于 -vET 选项的整合,用于列出所有隐藏符号;

    -E

    列出每行结尾的回车符 $;

    -n

    对输出的所有行进行编号;

    -b

    同 -n 不同,此选项表示只对非空行进行编号。

    -T

    把 Tab 键 ^I 显示出来;

    -V

    列出特殊字符;

    -s

    当遇到有连续 2 行以上的空白行时,就替换为 1 行的空白行。

    more 分屏显示内容

    more [选项] 文件名

     

    more 命令选项及含义

    选项

    含义

    -f

    计算行数时,以实际的行数,而不是自动换行过后的行数。

    -p

    不以卷动的方式显示每一页,而是先清除屏幕后再显示内容。

    -c

    跟 -p 选项相似,不同的是先显示内容再清除其他旧资料。

    -s

    当遇到有连续两行以上的空白行时,就替换为一行的空白行。

    -u

    不显示下引号(根据环境变量 TERM 指定的终端而有所不同)。

    +n

    从第 n 行开始显示文件内容,n 代表数字。

    -n

    一次显示的行数,n 代表数字。

    head命令:显示文件开头的内容

    head [选项] 文件名

    head 命令常用选项及含义

    选项

    含义

    -n K

    K表示行数,该选项用来显示文件前 K 行的内容;

    -c K

    这里的 K 表示字节数,该选项用来显示文件前 K 个字节的内容;

    -v

    显示文件名;

    less 查看文件内容

    less [选项] 文件名

    less 命令选项及含义

    选项

    选项含义

    -N

    显示每行的行号。

    -S

    行过长时将超出部分舍弃。

    -e

    当文件显示结束后,自动离开。

    -g

    只标志最后搜索到的关键同。

    -Q

    不使用警告音。

    -i

    忽略搜索时的大小写。

    -m

    显示类似 more 命令的百分比。

    -f

    强迫打开特殊文件,比如外围设备代号、目录和二进制文件。

    -s

    显示连续空行为一行。

    -b <缓冲区大小>

    设置缓冲区的大小。

    -o <文件名>

    将 less 输出的内容保存到指定文件中。

    -x <数字>

    将【Tab】键显示为规定的数字空格。

    less 命令的作用和 more 十分类似,都用来浏览文本文件中的内容,不同之处在于,使用 more 命令浏览文件内容时,只能不断向后翻看,而使用 less 命令浏览,既可以向后翻看,也可以向前翻看。

    tail显示文件结尾的内容

    tail [选项] 文件名

    tail 命令选项及含义

    选项

    含义

    -n K

    这里的 K 指的是行数,该选项表示输出最后 K 行。

    -c K

    这里的 K 指的是字节数,该选项表示输出文件最后 K 个字节的内容。

    -f

    输出文件变化后新增加的数据。

    grep命令详解:查找文件内容

    从文件中找到包含指定信息的那些行。

    正则表达式的通配符

    通配符

    功能

    c*

    将匹配 0 个(即空白)或多个字符 c(c 为任一字符)。

    .

    将匹配任何一个字符,且只能是一个字符。

    [xyz]

    匹配方括号中的任意一个字符。

    [^xyz]

    匹配除方括号中字符外的所有字符。

    ^

    锁定行的开头。

    $

    锁定行的结尾。

    需要注意的是,在基本正则表达式中,如通配符 *、+、{、|、( 和 )等,已经失去了它们原本的含义,而若要恢复它们原本的含义,则要在之前添加反斜杠 \,如 \*、\+、\{、\|、\( 和 \)。

     

    grep [选项] 模式 文件名

    grep 命令常用选项及含义

    选项

    含义

    -c

    仅列出文件中包含模式的行数。

    -i

    忽略模式中的字母大小写。

    -l

    列出带有匹配行的文件名。

    -n

    在每一行的最前面列出行号。

    -v

    列出没有匹配模式的行。

    -w

    把表达式当做一个完整的单字符来搜寻,忽略那些部分匹配的行。

    Linux用户和用户组管理

    useradd新建用户。

    useradd lamp

    useradd命令常用选项

    选项

    含义

    -u UID

    手工指定用户的 UID,注意 UID 的范围(不要小于 500)。

    -d 主目录

    手工指定用户的主目录。主目录必须写绝对路径,而且如果需要手工指定主目录,则一定要注意权限;

    -c 用户说明

    手工指定/etc/passwd文件中各用户信息中第 5 个字段的描述性内容,可随意配置;

    -g 组名

    手工指定用户的初始组。一般以和用户名相同的组作为用户的初始组,在创建用户时会默认建立初始组。一旦手动指定,则系统将不会在创建此默认的初始组目录。

    -G 组名

    指定用户的附加组。我们把用户加入其他组,一般都使用附加组;

    -s shell

    手工指定用户的登录shell,默认是 /bin/bash;

    -e 曰期

    指定用户的失效曰期,格式为 "YYYY-MM-DD"。也就是 /etc/shadow 文件的第八个字段;

    -o

    允许创建的用户的 UID 相同。例如,执行 "useradd -u 0 -o usertest" 命令建立用户 usertest,它的 UID 和 root 用户的 UID 相同,都是 0;

    -m

    建立用户时强制建立用户的家目录。在建立系统用户时,该选项是默认的;

    -r

    创建系统用户,也就是 UID 在 1~499 之间,供系统程序使用的用户。由于系统用户主要用于运行系统所需服务的权限配置,因此系统用户的创建默认不会创建主目录。

    passwd修改用户密码

    passwd [选项] 用户名

    -S:查询用户密码的状态,也就是 /etc/shadow 文件中此用户密码的内容。-l:暂时锁定用户,该选项会在 /etc/shadow 文件中指定用户的加密密码串前添加 "!",使密码失效。-u:解锁用户,和 -l 选项相对应,--stdin:可以将通过管道符输出的数据作为用户的密码。-n 天数:设置该用户修改密码后,多长时间不能再次修改密码。-x 天数:设置该用户的密码有效期。-w 天数:设置用户密码过期前的警告天数。-i 日期:设置用户密码失效日期。

    usermod修改用户信息

    usermod [选项] 用户名

    -c 用户说明:修改用户的说明信息,即修改 /etc/passwd 文件目标用户信息的第 5 个字段;-d 主目录:修改用户的主目录,即修改 /etc/passwd 文件中目标用户信息的第 6 个字段,需要注意的是,主目录必须写绝对路径;-e 日期:修改用户的失效曰期,格式为 "YYYY-MM-DD",即修改 /etc/shadow 文件目标用户密码信息的第 8 个字段;-g 组名:修改用户的初始组,即修改 /etc/passwd 文件目标用户信息的第 4 个字段(GID);-u UID:修改用户的UID,即修改 /etc/passwd 文件目标用户信息的第 3 个字段(UID);-G 组名:修改用户的附加组,其实就是把用户加入其他用户组,即修改 /etc/group 文件;-l 用户名:修改用户名称;-L:临时锁定用户(Lock);-U:解锁用户(Unlock),和 -L 对应;-s shell:修改用户的登录 Shell,默认是 /bin/bash。

    chage修改用户密码状态

    chage [选项] 用户名

    -l:列出用户的详细密码状态;-d 日期:修改 /etc/shadow 文件中指定用户密码信息的第 3 个字段,也就是最后一次修改密码的日期,格式为 YYYY-MM-DD;-m 天数:修改密码最短保留的天数,也就是 /etc/shadow 文件中的第 4 个字段;-M 天数:修改密码的有效期,也就是 /etc/shadow 文件中的第 5 个字段;-W 天数:修改密码到期前的警告天数,也就是 /etc/shadow 文件中的第 6 个字段;-i 天数:修改密码过期后的宽限天数,也就是 /etc/shadow 文件中的第 7 个字段;-E 日期:修改账号失效日期,格式为 YYYY-MM-DD,也就是 /etc/shadow 文件中的第 8 个字段。

    userdel删除用户

    userdel -r 用户名

    -r 选项表示在删除用户的同时删除用户的家目录。

    id查看用户的UID和GID

    id 用户名

    id 命令可以查询用户的UID、GID 和附加组的信息。

    su命令:用户间切换

    su [选项] 用户名

    -:当前用户不仅切换为指定用户的身份,同时所用的工作环境也切换为此用户的环境(包括 PATH 变量、MAIL 变量等),使用 - 选项可省略用户名,默认会切换为 root 用户。-l:同 - 的使用类似,也就是在切换用户身份的同时,完整切换工作环境,但后面需要添加欲切换的使用者账号。-p:表示切换为指定用户的身份,但不改变当前的工作环境(不使用切换用户的配置文件)。-m:和 -p 一样;-c 命令:仅切换用户执行一次命令,执行后自动切换回来,该选项后通常会带有要执行的命令。

    groupadd添加用户组

    groupadd [选项] 组名

    -g GID:指定组 ID;-r:创建系统群组。

    groupmod修改用户组

    groupmod [选现] 组名

    -g GID:修改组 ID;-n 新组名:修改组名;

    groupde刪除用户组

    groupdel 组名

    不能使用 groupdel 命令随意删除群组。此命令仅适用于删除那些 "不是任何用户初始组" 的群组,换句话说,如果有群组还是某用户的初始群组,则无法使用 groupdel 命令成功删除。

    gpasswd把用户添加进组或从组中删除

    gpasswd 选项 组名

    gpasswd命令各选项及其功能

    选项

    功能

     

    选项为空时,表示给群组设置密码,仅 root 用户可用。

    -A ser1,...

    将群组的控制权交给 user1,... 等用户管理,也就是说,设置 user1,... 等用户为群组的管理员,仅 root 用户可用。

    -M user1,...

    将 user1,... 加入到此群组中,仅 root 用户可用。

    -r

    移除群组的密码,仅 root 用户可用。

    -R

    让群组的密码失效,仅 root 用户可用。

    -a user

    将 user 用户加入到群组中。

    -d user

    将 user 用户从群组中移除。

    从表 1 可以看到,除 root 可以管理群组外,可设置多个普通用户作为群组的管理员,但也只能做“将用户加入群组”和“将用户移出群组”的操作。

    newgrp切换用户的有效组

    newgrp 组名

    权限管理

    chgrp修改文件和目录的所属组

    chgrp [-R] 所属组 文件名(目录名)

    chown修改文件和目录的所有者和所属组

    当只需要修改所有者时,可使用如下 chown 命令的基本格式:chown [-R] 所有者 文件或目录

    如果需要同时更改所有者和所属组,chown 命令的基本格式为:chown [-R] 所有者:所属组 文件或目录

    chmod修改文件或目录的权限

    chmod [-R] 权限值 文件名

    -R 选项表示连同子目录中的所有文件,也都修改设定的权限。

    或者

    chmod 命令中用 u、g、o 分别代表 3 种身份

     

    例如:chmod u=rwx,go=rx bashrc chmod a+w .bashrc

    chattr修改文件系统的权限属性

    专门用来修改文件或目录的隐藏属性,只有 root 用户可以使用。

    chattr [+-=] [属性] 文件或目录名

    i 如果对文件设置 i 属性,那么不允许对文件进行删除、改名,也不能添加和修改数据;如果对目录设置 i 属性,那么只能修改目录下文件中的数据,但不允许建立和删除文件;a 如果对文件设置 a 属性,那么只能在文件中増加数据,但是不能删除和修改数据;如果对目录设置 a 属性,那么只允许在目录中建立和修改文件,但是不允许删除文件;u 设置此属性的文件或目录,在删除时,其内容会被保存,以保证后期能够恢复,常用来防止意外删除文件或目录。s 和 u 相反,删除文件或目录时,会被彻底删除(直接从硬盘上删除,然后用 0 填充所占用的区域),不可恢复。

    lsattr查看文件系统属性

    lsattr [选项] 文件或目录名

    -a:后面不带文件或目录名,表示显示所有文件和目录(包括隐藏文件和目录)-d:如果目标是目录,只会列出目录本身的隐藏属性,而不会列出所含文件或子目录的隐藏属性信息;-R:和 -d 恰好相反,作用于目录时,会连同子目录的隐藏信息数据也一并显示出来。

    sudo系统权限管理

    sudo 命令默认只有 root 用户可以运行。

    sudo [-b] [-u 新使用者账号] 要执行的命令

    -b  :将后续的命令放到背景中让系统自行运行,不对当前的 shell 环境产生影响。-u  :后面可以接欲切换的用户名,若无此项则代表切换身份为 root 。-l:此选项的用法为 sudo -l,用于显示当前用户可以用 sudo 执行那些命令。

    Linux文件系统管理

    df用法详解:查看文件系统硬盘使用情况

    df [选项] [目录或文件名]

    -a 显示所有文件系统信息,包括系统特有的 /proc、/sysfs 等文件系统;-m 以 MB 为单位显示容量;-k 以 KB 为单位显示容量,默认以 KB 为单位;-h 使用人们习惯的 KB、MB 或 GB 等单位自行显示容量;-T 显示该分区的文件系统名称;-i 不用硬盘容量显示,而是以含有 inode 的数量来显示。

    du统计目录或文件所占磁盘空间大小

    du [选项] [目录或文件名]

    -a:显示每个子文件的磁盘占用量。默认只统计子目录的磁盘占用量-h:使用习惯单位显示磁盘占用量,如 KB、MB 或 GB 等;-s:统计总磁盘占用量,而不列出子目录和子文件的磁盘占用量

    mount挂载Linux系统外的文件

    mount [-l] 显示出系统中已挂载的设备信息,使用 -l 选项,会额外显示出卷标名称。

    mount -a -a 选项的含义是自动检查 /etc/fstab 文件中有无疏漏被挂载的设备文件,如果有,则进行自动挂载操作。

    mount [-t 系统类型] [-L 卷标名] [-o 特殊选项] [-n] 设备文件名 挂载点

    -t 系统类型:指定欲挂载的文件系统类型。如果不指定具体类型,挂载时 Linux 会自动检测。-L 卷标名:除了使用设备文件名(例如 /dev/hdc6)之外,还可以利用文件系统的卷标名称进行挂载。-n:在默认情况下,系统会将实际挂载的情况实时写入 /etc/mtab 文件中,但在某些场景下,为了避免出现问题,会刻意不写入,此时就需要使用这个选项;-o 特殊选项:可以指定挂载的额外选项,比如读写权限、同步/异步等,如果不指定,则使用默认值(defaults)。具体的特殊选项参见表;

    表mount 命令选项及功能

    选项

    功能

    rw/ro

    是否对挂载的文件系统拥有读写权限,rw 为默认值,表示拥有读写权限;ro 表示只读权限。

    async/sync

    此文件系统是否使用同步写入(sync)或异步(async)的内存机制,默认为异步 async。

    dev/nodev

    是否允许从该文件系统的 block 文件中提取数据,为了保证数据安装,默认是 nodev。

    auto/noauto

    是否允许此文件系统被以 mount -a 的方式进行自动挂载,默认是 auto。

    suid/nosuid

    设定文件系统是否拥有 SetUID 和 SetGID 权限,默认是拥有。

    exec/noexec

    设定在文件系统中是否允许执行可执行文件,默认是允许。

    user/nouser

    设定此文件系统是否允许让普通用户使用 mount 执行实现挂载,默认是不允许(nouser),仅有 root 可以。

    defaults

    定义默认值,相当于 rw、suid、dev、exec、auto、nouser、async 这 7 个选项。

    remount

    重新挂载已挂载的文件系统,一般用于指定修改特殊权限。

    umount卸载文件系统

    umount 设备文件名或挂载点

    当已经进入了挂载点,因此,如果要卸载某硬件设备,在执行 umount 命令之前,用户须退出挂载目录。

    fsck检测和修复文件系统

    fsck [选项] 分区设备文件名

    fsck命令常用选项及其功能

    选项

    功能

    -a

    自动修复文件系统,没有任何提示信息。

    -r

    采取互动的修复模式,在修改文件前会进行询问,让用户得以确认并决定处理方式。

    -A(大写)

    按照 /etc/fstab 配置文件的内容,检查文件内罗列的全部文件系统。

    -t 文件系统类型

    指定要检查的文件系统类型。

    -C(大写)

    显示检查分区的进度条。

    -f

    强制检测,一般 fsck 命令如果没有发现分区有问题,则是不会检测的。如果强制检测,那么不管是否发现问题,都会检测。

    -y

    自动修复,和 -a 作用一致,不过有些文件系统只支持 -y。

    fdisk给硬盘分区

    fdisk 设备文件名

    千万不要在当前的硬盘上尝试使用 fdisk,这会完整删除整个系统,一定要再找一块硬盘,或者使用虚拟机。

    a 设置可引导标记b 编辑 bsd 磁盘标签c 设置 DOS 操作系统兼容标记d 删除一个分区l 显示已知的文件系统类型。82 为 Linux swap 分区,83 为 Linux 分区m 显示帮助菜单n 新建分区o 建立空白 DOS 分区表P 显示分区列表q 不保存退出s 新建空白 SUN 磁盘标签t 改变一个分区的系统 IDu 改变显示记录单位V 验证分区表w 保存退出X 附加功能(仅专家) 

    Linux系统管理

    http://c.biancheng.net/linux_tutorial/14/

    Processed: 0.056, SQL: 9