【Linux】Linux初识

本文详细介绍了Linux系统的基础知识,包括文件目录结构、挂载、文件和目录管理、命令使用、用户和用户组管理、权限管理等内容。讲解了常用命令如cd、pwd、ls、mkdir、rmdir、touch、ln、cp、rm、mv、tar、zip、unzip、gzip、gunzip、bzip2等的用法,并阐述了文件系统管理、系统管理和权限管理的细节,是Linux初学者的入门指南。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Linux文件目录结构一览表

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

 

 

 

Linux挂载详解

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

Linux文件和目录管理

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

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

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

命令提示符

[root@localhost ~]#

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

  1. []:这是提示符的分隔符号,没有特殊含义。
  2. root:显示的是当前的登录用户,笔者现在使用的是 root 用户登录。
  3. @:分隔符号,没有特殊含义。
  4. localhost:当前系统的简写主机名(完整主机名是 localhost.localdomain)。
  5. ~:代表用户当前所在的目录,此例中用户当前所在的目录是家目录。
  6. #:命令提示符,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] 目录名

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

rmdir删除空目录

rmdir [-p] 目录名

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

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

touch [选项] 文件名

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

ln在文件之间建立链接

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

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

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

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

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

cp复制

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

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

rm删除文件或目录

rm[选项] 文件或目录

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

mv移动文件或改名

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

  1. -f:强制覆盖;
  2. -i:交互移动,询问用户是否覆盖(默认选项);
  3. -n:如果目标文件已经存在,则不会覆盖移动,而且不询问用户;
  4. -v:显示文件或目录的移动过程;
  5. -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 [选项] 压缩包 源文件或目录

  1. -z:压缩和解压缩 ".tar.gz" 格式;tar -zcvf tmp.tar.gz /tmp/
  2. -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 [选项] 用户名

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

usermod修改用户信息

usermod [选项] 用户名

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

chage修改用户密码状态

chage [选项] 用户名

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

userdel删除用户

userdel -r 用户名

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

id查看用户的UID和GID

id 用户名

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

su命令:用户间切换

su [选项] 用户名

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

groupadd添加用户组

groupadd [选项] 组名

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

groupmod修改用户组

groupmod [选现] 组名

  1. -g GID:修改组 ID;
  2. -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 [+-=] [属性] 文件或目录名

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

lsattr查看文件系统属性

lsattr [选项] 文件或目录名

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

sudo系统权限管理

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

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

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

Linux文件系统管理

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

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

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

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

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

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

mount挂载Linux系统外的文件

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

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

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

  1. -t 系统类型:指定欲挂载的文件系统类型。如果不指定具体类型,挂载时 Linux 会自动检测。
  2. -L 卷标名:除了使用设备文件名(例如 /dev/hdc6)之外,还可以利用文件系统的卷标名称进行挂载。
  3. -n:在默认情况下,系统会将实际挂载的情况实时写入 /etc/mtab 文件中,但在某些场景下,为了避免出现问题,会刻意不写入,此时就需要使用这个选项;
  4. -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,这会完整删除整个系统,一定要再找一块硬盘,或者使用虚拟机。

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

Linux系统管理

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值