热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

【Linux】Linux初识

Linux文件目录结构一览表Linux系统的根目录()最为重要,下面还有一级目录:Linux挂载详解Linux系统中“一
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 十分类似&#xff0c;都用来浏览文本文件中的内容&#xff0c;不同之处在于&#xff0c;使用 more 命令浏览文件内容时&#xff0c;只能不断向后翻看&#xff0c;而使用 less 命令浏览&#xff0c;既可以向后翻看&#xff0c;也可以向前翻看。

tail显示文件结尾的内容

tail [选项] 文件名

tail 命令选项及含义

选项

含义

-n K

这里的 K 指的是行数&#xff0c;该选项表示输出最后 K 行。

-c K

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

-f

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


grep命令详解&#xff1a;查找文件内容

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

正则表达式的通配符

通配符

功能

c*

将匹配 0 个&#xff08;即空白&#xff09;或多个字符 c&#xff08;c 为任一字符&#xff09;。

.

将匹配任何一个字符&#xff0c;且只能是一个字符。

[xyz]

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

[^xyz]

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

^

锁定行的开头。

$

锁定行的结尾。

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

 

grep [选项] 模式 文件名

grep 命令常用选项及含义

选项

含义

-c

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

-i

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

-l

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

-n

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

-v

列出没有匹配模式的行。

-w

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


Linux用户和用户组管理

useradd新建用户。

useradd lamp

useradd命令常用选项

选项

含义

-u UID

手工指定用户的 UID&#xff0c;注意 UID 的范围&#xff08;不要小于 500&#xff09;。

-d 主目录

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

-c 用户说明

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

-g 组名

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

-G 组名

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

-s shell

手工指定用户的登录shell&#xff0c;默认是 /bin/bash&#xff1b;

-e 曰期

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

-o

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

-m

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

-r

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


passwd修改用户密码

passwd [选项] 用户名

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

usermod修改用户信息

usermod [选项] 用户名

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

chage修改用户密码状态

chage [选项] 用户名

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

userdel删除用户

userdel -r 用户名

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

id查看用户的UID和GID

id 用户名

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

su命令&#xff1a;用户间切换

su [选项] 用户名

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

groupadd添加用户组

groupadd [选项] 组名

  1. -g GID&#xff1a;指定组 ID&#xff1b;
  2. -r&#xff1a;创建系统群组。

groupmod修改用户组

groupmod [选现] 组名

  1. -g GID&#xff1a;修改组 ID&#xff1b;
  2. -n 新组名&#xff1a;修改组名&#xff1b;

groupde刪除用户组

groupdel 组名

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

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

gpasswd 选项 组名

gpasswd命令各选项及其功能

选项

功能

 

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

-A ser1,...

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

-M user1,...

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

-r

移除群组的密码&#xff0c;仅 root 用户可用。

-R

让群组的密码失效&#xff0c;仅 root 用户可用。

-a user

将 user 用户加入到群组中。

-d user

将 user 用户从群组中移除。


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

newgrp切换用户的有效组

newgrp 组名

权限管理

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

chgrp [-R] 所属组 文件名&#xff08;目录名&#xff09;

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

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

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

chmod修改文件或目录的权限

chmod [-R] 权限值 文件名

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

或者

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

 

例如&#xff1a;chmod u&#61;rwx,go&#61;rx bashrc chmod a&#43;w .bashrc

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

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

chattr [&#43;-&#61;] [属性] 文件或目录名

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

lsattr查看文件系统属性

lsattr [选项] 文件或目录名

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

sudo系统权限管理

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

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

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

Linux文件系统管理

df用法详解&#xff1a;查看文件系统硬盘使用情况

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

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

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

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

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

mount挂载Linux系统外的文件

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

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

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

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

表mount 命令选项及功能

选项

功能

rw/ro

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

async/sync

此文件系统是否使用同步写入&#xff08;sync&#xff09;或异步&#xff08;async&#xff09;的内存机制&#xff0c;默认为异步 async。

dev/nodev

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

auto/noauto

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

suid/nosuid

设定文件系统是否拥有 SetUID 和 SetGID 权限&#xff0c;默认是拥有。

exec/noexec

设定在文件系统中是否允许执行可执行文件&#xff0c;默认是允许。

user/nouser

设定此文件系统是否允许让普通用户使用 mount 执行实现挂载&#xff0c;默认是不允许&#xff08;nouser&#xff09;&#xff0c;仅有 root 可以。

defaults

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

remount

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


umount卸载文件系统

umount 设备文件名或挂载点

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

fsck检测和修复文件系统

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

fsck命令常用选项及其功能

选项

功能

-a

自动修复文件系统&#xff0c;没有任何提示信息。

-r

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

-A&#xff08;大写&#xff09;

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

-t 文件系统类型

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

-C&#xff08;大写&#xff09;

显示检查分区的进度条。

-f

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

-y

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


fdisk给硬盘分区

fdisk 设备文件名

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

  1. a 设置可引导标记
  2. b 编辑 bsd 磁盘标签
  3. c 设置 DOS 操作系统兼容标记
  4. d 删除一个分区
  5. l 显示已知的文件系统类型。82 为 Linux swap 分区&#xff0c;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 附加功能&#xff08;仅专家&#xff09;
  17.  

Linux系统管理

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


推荐阅读
  • 帝国CMS中的信息归档功能详解及其重要性
    本文详细解析了帝国CMS中的信息归档功能,并探讨了其在内容管理中的重要性。通过归档功能,用户可以有效地管理和组织大量内容,提高网站的运行效率和用户体验。此外,文章还介绍了如何利用该功能进行数据备份和恢复,确保网站数据的安全性和完整性。 ... [详细]
  • 本文深入解析了Linux系统中常用的文件和目录操作命令,包括但不限于`ls`、`cd`等。通过详细讲解每个命令的功能、语法及应用场景,帮助读者掌握这些基本工具的使用方法,提升在Linux环境下的操作效率。此外,文章还介绍了如何结合选项和参数来实现更复杂的文件管理任务,为初学者提供了丰富的实践示例和技巧。 ... [详细]
  • 卓盟科技:动态资源加载技术的兼容性优化与升级 | Android 开发者案例分享
    随着游戏内容日益复杂,资源加载过程已不仅仅是简单的进度显示,而是连接玩家与开发者的桥梁。玩家对快速加载的需求越来越高,这意味着开发者需要不断优化和提升动态资源加载技术的兼容性和性能。卓盟科技通过一系列的技术创新,不仅提高了加载速度,还确保了不同设备和系统的兼容性,为用户提供更加流畅的游戏体验。 ... [详细]
  • 在Ubuntu系统中安装Android SDK的详细步骤及解决“Failed to fetch URL https://dlssl.google.com/”错误的方法
    在Ubuntu 11.10 x64系统中安装Android SDK的详细步骤,包括配置环境变量和解决“Failed to fetch URL https://dlssl.google.com/”错误的方法。本文详细介绍了如何在该系统上顺利安装并配置Android SDK,确保开发环境的稳定性和高效性。此外,还提供了解决网络连接问题的实用技巧,帮助用户克服常见的安装障碍。 ... [详细]
  • 在Linux系统中,压缩命令与Windows系统存在显著差异。本文将详细介绍ZIP压缩命令的使用方法及其应用场景。首先,通过`unzip`命令可以将文件解压到指定目录,例如 `unzip monitor-0.8.2.zip -d /目标目录/`。此外,还将涵盖其他常用的ZIP相关命令和选项,帮助用户高效地管理和操作压缩文件。 ... [详细]
  • 数字图书馆近期展出了一批精选的Linux经典著作,这些书籍虽然部分较为陈旧,但依然具有重要的参考价值。如需转载相关内容,请务必注明来源:小文论坛(http://www.xiaowenbbs.com)。 ... [详细]
  • 如何在Linux系统中实现Windows风格的桌面环境:将Ubuntu 18.04定制为Windows主题界面
    如果您是从Windows转到Linux系统的用户,可能会觉得默认的Ubuntu主题和桌面环境缺乏吸引力和可定制性。尤其是对于习惯了Windows风格的任务栏和主题的用户,Ubuntu 18.04的橙色主题可能显得过于简洁。为了提升用户体验,可以通过安装特定的桌面环境和主题来实现类似Windows的界面效果。本文将详细介绍如何在Ubuntu 18.04中配置和定制桌面环境,使其具备Windows风格的外观和功能。 ... [详细]
  • Tablacus:高效能文件管理器的全新选择
    Tablacus Explorer 是一款轻量级且功能丰富的标签式文件管理器,支持多种插件扩展。其主要特点包括:1、多标签页支持,用户可以通过双击操作轻松锁定标签页,提高工作效率;2、界面简洁友好,易于上手;3、高度可定制,用户可以根据需求安装各种插件,增强功能。此外,Tablacus Explorer 还具备快速搜索和文件预览功能,进一步提升了文件管理的便捷性和效率。 ... [详细]
  • 在尝试为 Unity 编译一个简单的 Java 库时,运行 `ant jar` 命令后遇到了 Java I/O 异常。具体错误信息为“无法启动程序 ${aAPT},错误代码 2”,这通常表示指定的文件或目录不存在。此问题可能是由于环境配置不正确或路径设置有误导致的。建议检查相关路径和环境变量,确保所有依赖项都已正确安装和配置。 ... [详细]
  • 2016-2017学年《网络安全实战》第三次作业
    2016-2017学年《网络安全实战》第三次作业总结了教材中关于网络信息收集技术的内容。本章主要探讨了网络踩点、网络扫描和网络查点三个关键步骤。其中,网络踩点旨在通过公开渠道收集目标信息,为后续的安全测试奠定基础,而不涉及实际的入侵行为。 ... [详细]
  • 服务器部署中的安全策略实践与优化
    服务器部署中的安全策略实践与优化 ... [详细]
  • Web开发框架概览:Java与JavaScript技术及框架综述
    Web开发涉及服务器端和客户端的协同工作。在服务器端,Java是一种优秀的编程语言,适用于构建各种功能模块,如通过Servlet实现特定服务。客户端则主要依赖HTML进行内容展示,同时借助JavaScript增强交互性和动态效果。此外,现代Web开发还广泛使用各种框架和库,如Spring Boot、React和Vue.js,以提高开发效率和应用性能。 ... [详细]
  • 如何撰写适应变化的高效代码:策略与实践
    编写高质量且适应变化的代码是每位程序员的追求。优质代码的关键在于其可维护性和可扩展性。本文将从面向对象编程的角度出发,探讨实现这一目标的具体策略与实践方法,帮助开发者提升代码效率和灵活性。 ... [详细]
  • 本文详细介绍了如何在Java Web服务器上部署音视频服务,并提供了完整的验证流程。以AnyChat为例,这是一款跨平台的音视频解决方案,广泛应用于需要实时音视频交互的项目中。通过具体的部署步骤和测试方法,确保了音视频服务的稳定性和可靠性。 ... [详细]
  • 技术日志:Ansible的安装及模块管理详解 ... [详细]
author-avatar
mobiledu2502876651
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有