Linux Shell 脚本编程学习之【第2章 Linux文件系统和文本编辑器(第一部分)】

第2章 Linux文件系统和文本编辑器

  • 1 用户和用户组
    • 1.1 概念
    • 1.2 命令
      • 用户组 (groupadd+groupdel+groupmod)
      • 用户 (useradd+adduser+userdel+usermod)
  • 3 文件和文件夹
    • 3.1 概念
    • 3.2 文件操作命令
      • 文件清单命令(ls)
      • 文件复制命令(cp)
      • 文件移动命令(mv)
      • 文件删除目录(rm)
    • 3.3 目录操作命令
      • 创建目录命令(mkdir)
      • 删除目录命令(rmdir)
      • 目录切换命令(cd)

1 用户和用户组

1.1 概念

1、root用户

系统唯一,是真实的。该用户既可以登录系统,可 以操作系统任何文件和命令,拥有最高权限。

2、虚拟用户

这类用户也被称为伪用户或假用户,与真实用户区分开来,这类用户不 具有登录系统的能力,但却是系统运行不可缺少的用户,比如 bin、daemon、adm、 ftp、mail等;这类用户是系统自身拥有的,而非后来添加的,当然,我们也可以添 加虚拟用户。

3、普通真实用户

这类用户能登录系统,但只能操作其根目录的内容,权限受到限制, 这类用户都是系统管理员自行添加的。

1.2 命令

用户组 (groupadd+groupdel+groupmod)

// 创建用户组
[root@localhost ~]# groupadd -g 808 xjgroup
[root@localhost ~]# cat /etc/group | grep xjgroup
xjgroup:x:808:
// 修改用户组
[root@localhost ~]# cat /etc/group |grep xj
xjgroup:x:808:
[root@localhost ~]# groupmod -g 809 xjgroup 
[root@localhost ~]# cat /etc/group |grep xj
xjgroup:x:809:
[root@localhost ~]# 

// 删除用户组
[root@localhost ~]# groupdel xjgroup
[root@localhost ~]# cat /etc/group |grep xjgroup
[root@localhost ~]# 

用户 (useradd+adduser+userdel+usermod)

// 创建用户root。命令useradd等同于adduser
-- [-u] 指定用户ID
-- [-g] 指定用户所属组
-- [-d] 指定家目录
[root@localhost ~]# useradd -u 808 -g xjgroup -d /home/xj xj
[root@localhost ~]# adduser -u 809 -g xjgroup -d /home/xj1 xj1
[root@localhost ~]# cat /etc/passwd | grep xj
xj:x:808:808::/home/xj:/bin/bash
xj1:x:809:808::/home/xj1:/bin/bash
[root@localhost ~]# 

// 设置用户密码后适用用户
[root@localhost ~]# passwd xj1

// 删除用户。root用户操作。
[root@localhost ~]# userdel xj xj1

// 修改用户。usermod
-- 修改用户有效期为3[root@localhost ~]# usermod -e 3 xj
-- 修改用户登录的初始目录
[root@localhost ~]# usermod -d /home/xj1 xj
-- 修改用户密码
[root@localhost ~]# usermod -p Xj123@22 xj

3 文件和文件夹

3.1 概念

1、文件名
由字母、数字、下画线和圆点组成的字符串 构成。长度要求:小于255个字符。
2、扩展名
文件名与扩展名之间用圆点分开。如:test.txt,txt为扩展名。
3、文件目录
是将所有文件的说明信息采用树形结构组织起来,即我们常说的目录。

整个文件系统有一个“根” (root), 然后在根上分“权” (directory), 任何一个分权上都可以再分权,权上也可以长出“叶子”。 “根”和“杈”在Linux 中被称 为“目录”或“文件夹”,而“叶子”则代表一个个的文件。

4、路径path
路径的主要构成是目录名称,中间 用“/”符号分开。对文件进行访问时使用。

任一文件在文件系统中的位置都是由相应的路径决定的。用户在对文件进 行访问时,要给出文件所在的路径,这又分相对路径和绝对路径。相对路径是从用户工作目 录开始的路径;绝对路径是指从“根”开始的路径,也称为完全路径。

3.2 文件操作命令

文件清单命令(ls)

选 项 意 义
-a 显示指定目录下所有的子目录与文件,包括隐藏文件
-A 显示指定目录下所有的子目录与文件,包括隐藏文件,且不列出“. ”和“. ”
-b 对文件名中的不可显示字符用八进制逃逸字符显示
-c 按文件的修改时间排序
-C 分成多列显示各项
-d 如果参数是目录,只显示其名称,而不显示其下的各文件。往往与1选项一起使用,以得到目录的详 细信息
-f 不排序,该选项将使ts选项失效,使用aU选项有效
-i 在输出的第一列显示文件的i节点号
-1 以长格式来显示文件的详细信息,每行列出的信息依次是:文件类型与权限、链接数、文件属主、文 件属组、文件大小、最近修改的时间、名字
-L 若指定的名称为一个符号链接文件,则显示链接所指向的文件
-m 输出按字符流格式,文件跨页显示,以逗号分开
-n 输出格式与1选项相同,只不过在输出文件属主和属组是用相应的UID号和GID号来表示,而不是 实际的名称
-0 与1选项相同,只是不显示拥有者信息
-p 在目录后面加一个“/”
-q 将文件名中的不可显示字符用“?”代替
-r 按字母逆序或最早优先的顺序显示输出结果
-R 递归式地显示指定目录的各个子目录中的文件
-s 给出每个目录项所用的块数,包括间接块
-t 显示时按修改时间(最近优先)而不是按名字排序;若文件修改时间相同,则按字典顺序,修改时间 取决于是否使用了c或u选顶。默认的时间标记是最后一次修改时间
-u 显示时按文件上次存取的时间(最近优先)而不是按名字排序。即将-t的时间标记修改为最后一次访 问的时间
-x 按行显示出各排序项的信息

文件复制命令(cp)

选 项 意 义
-a 该选项通常在复制目录时使用,它保留链接、文件属性,并递归地复制目录
-d 复制时保留链接
-f 删除已经存在的目标文件而不提示
-i 在覆盖目标文件之前将给出提示要求用户确认。回答y时,目标文件将被覆盖,是交互式复制
-p 此时cp除复制源文件的内容外,还将把其修改时间和访问权限也复制到新文件中
-r 若给出的源文件是目录文件,此时cp将递归复制该目录下所有的子目录和文件。此时目标文件必须 为一个目录名
-1 不进行复制操作,只是链接文件

文件移动命令(mv)

选 项 意 义
-i 交互方式操作。如果mv操作将导致对已存在的目标文件的覆盖,此时系统询问是否重写,要求用 户回答y或n,这样可以避免误覆盖文件
-f 禁止交互操作。在mv操作要覆盖某已有的目标文件时不给任何指示,指定此选项后,i选项将不 再起作用
-p 移动时保持权限

文件删除目录(rm)

选 项 意 义
-f 忽略不存在的文件,从不给出提示
-r 指示rm将参数中列出的全部目录和子目录均递归地删除
-i 进行交互式删除

3.3 目录操作命令

创建目录命令(mkdir)

选 项 意 义
-m 对新建目录设置存取权限
-p 可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录
-v 每次创建新目录都显示信息
[rootalocalhost   shell]#mkdir -p testdir/test

删除目录命令(rmdir)

选 项 意 义
-p 递归删除。当子目录删除后,其父目录为空时,也将会一同被删除。如果整个路径被删除 或者由于某种原因保留部分路径,则系统会在标准输出上显示相应的信息
–ignore-fail-on-non-empty 忽略非空目录的错误信息

rmdir 仅仅能删除父目录中只包含空子目录的情况,如果目录中存在文件,则使用 rmdir和 rmdir -p命令是无法删除该目录的,这时候使用:rm -rf [directoryName]

目录切换命令(cd)

选 项 意 义
cd 返回登录目录
cd~ 同样是返回登录目录
ed/ 返回系统根目录
cd /root 返回到根用户或超级用户(在安装时创建的账号)的主目录,但必须是根用户才能访问该目录
ed /home 返回到home目录,home目录通常为用户登录目录的上级目录
ed . 向上移动一级目录
cd- 返回上次访问的目录

你可能感兴趣的:(Shell,linux,学习,运维)