目录
一、删除目录rm
短选项删除目录(并查看)
二、创建用户并设置密码
1、创建用户的命令格式useradd
2、给用户设置密码的命令格式passwd
3、查看用户是否存在id
示例:查看
编辑
4、删除用户userdel
示例:删除(可以 -f 和 -r 一起使用)
5、修改用户信息usermod
示例:修改用户id
三、用户组的管理
1、新增用户组groupadd
示例:指定新建用户组的ID
2、删除用户组groupdel
示例:删除用户组
3、修改用户组属性groupmod
示例:修改组名
示例:将用户组k305的组ID改为660
4、用户组的切换newgrp
示例:组的切换
5、用户组管理gpasswd
示例:将k306用户添加到k305组中
四、用户切换
1、su
示例:以k307用户为例
2、sudo
五、文件操作
1、pwd
示例:查看当前目录
2、cd
示例
3、ls
示例:显示当前目录下的所有文件(包括隐藏文件)信息
4、touch
示例:
5、mkdir
示例:
6、cp
示例:将 a.txt 复制并且改名为 c.txt
7、rm
示例:删除文件
8、mv
示例:将 w.txt 移动到 xxx 目录下
9、rmdir
六、查看文件
1、cat
示例:打印etc目录下passwd文件中的内容
2、more
3、less
4、head
示例:查看etc目录下passwd文件的前3行内容
5、tail
示例:查看etc目录下passwd文件的后3行内容
6、wc
示例:统计passwd文件的行数
七、文件搜索
1、which
示例:搜索 ls 命令所在路径
2、find
示例:
3、locate
4、grep
示例:
查找 /etc/passwd 文件中包含root的行
统计 /etc/passwd 文件中包含root的行数
八、权限管理
1、chmod
对同组用户添加 w 写权限
对其他用户减去 r 读权限
对拥有者添加 x 执行权限
使用数值形式表示权限
示例:使用chmod命令数值表示法为其添加权限的方式
2、chown
chown:更改文件属主,也可以同时更改文件属组
3、chgrp
九、查看目录结构
1、 ls /
2、 ls /etc
3、 ls /bin
4、 ls /home
5、 ls /usr
6、 ls /dev
7、 ls /root
8、 ls /lib
9、 ls /boot
10、 ls /mnt
11、 ls /proc
12、 ls /opt
13、 ls /tmp
14、 ls /swap
学习删除目录、创建用户并设置密码、用户组的管理、用户切换、文件操作、查看文件、文件搜索、权限管理、查看目录结构
一、删除目录rm
删除目录的命令格式: rm -r dir
删除目录dir,其中rm为命令的名称,用于删除文件;r为选项,表示删除目录中的文件和子目录;dir为命令作用的对象,该对象是一个目录。Linux系统中的命令都遵循以上格式,命令中的选项和参数可酌情缺省。
命令的选项有两种,分别为长选项和短选项。以上示例中的选项“ -r ”为短选项,对应的长选项为“ -recursive ”。长、短选项的区别在于:多个短选项可以组合使用,但长选项只能单独使用。例如,rm命令还有一个常用选项“ -f ”,表示在进行删除时不再确认,该选项可与“ -r ”组成组合选项“ -rf ”,表示直接删除目录中的文件和子目录,不再一一确认;若使用长选项实现以上功能,则需要使用以下命令:
rm --recursive --force 目录名
与短选项相比,长选项显然比较麻烦,因此Linux命令中通常不使用长选项。
短选项删除目录(并查看)
删除前,能看到还有abc目录存在
删除后,看不到abc目录了
二、创建用户并设置密码
1、创建用户的命令格式useradd
useradd [ 选项 ] 用户名
该命令支持的选项有:
选项 | 说明 |
-d | 指定用户登录时的目录 |
-c | 指定账户的备注文字 |
-e | 指定账号的有效期限 |
-f | 缓冲天数,密码过期时在指定的天数后关闭该账号 |
-g | 指定用户所属组 |
-G | 指定用户所属的附加用户组 |
-m | 自动建立用户的登录目录 |
-r | 创建系统账号 |
-s | 指定用户的登录shell |
-u | 指定用户ID。若添加-o选项,则用户ID可与其他用户重复 |
2、给用户设置密码的命令格式passwd
命令格式:passwd [ 选项 ] 用户名
该命令支持的选项有:
选项 | 说明 |
-l | 锁定密码,锁定后密码失效,无法登录(新用户默认锁定) |
-d | 删除密码,仅系统管理员可使用 |
-S | 列出密码相关信息,仅系统管理员可使用 |
-f | 强行执行 |
3、查看用户是否存在id
命令格式:id [ 选项 ] [ 用户名 ]
示例:查看
该命令支持的选项有:
选项 | 说明 |
-g | 显示用户所属的群组的id |
-G | 显示用户所属附加群组的id |
-n | 显示用户、、所属群组、附加群组的名称 |
-r | 显示实际id |
-u | 显示用户id |
-help | 显示帮助信息 |
-version | 显示版本信息 |
注意:id 命令可以显示真实有效的用户ID(UID)。UID 是对一个用户的单一的身份标识。组ID(GID)则对应对个UID,因为一个组可以多个用户。
4、删除用户userdel
命令格式:userdel [ 选项 ] [ 用户名 ]
该命令支持的选项有:
选项 | 说明 |
-f | 强制删除用户,即便用户为当前用户 |
-r | 删除用户的同时,删除与用户相关的所有文件 |
示例:删除(可以 -f 和 -r 一起使用)
5、修改用户信息usermod
命令格式:usermod [ 选项 ] [ 用户 ]
该命令支持的选项有:
选项 | 说明 |
-c | 修改用户账号的备注信息 |
-d | 修改用户登录目录 |
-e | 修改账号的有效期限 |
-f | 修改缓冲天数,即修改密码过期后关闭账号的时间 |
-g | 修改用户所属组 |
-G | 修改用户所属的附属组 |
-l | 修改用户账号名称 |
-L | 锁定用户密码,使密码失效 |
-s | 修改用户登录后使用的Shell |
-u | 修改用户ID |
-U | 解除密码锁定 |
示例:修改用户id
三、用户组的管理
1、新增用户组groupadd
命令格式:groupadd [ 选项 ] 参数
该命令支持的选项有:
选项 | 说明 |
-g | 指定新建用户组的ID |
-r | 创建系统用户组,组ID取值范围为1~499 |
-o | 允许创建组ID已存在的用户组 |
示例:指定新建用户组的ID
查找用户组cat
命令格式:cat /etc/group
660和550是用户组的ID
2、删除用户组groupdel
使用groupdel命令可以删除多余的用户组
命令格式:groupdel 用户组名
示例:删除用户组
可以用 cat /etc/group 查看是否删除成功
3、修改用户组属性groupmod
命令格式:groupmod [ 选项 ] 参数
该命令支持的选项有:
选项 | 说明 |
-g | 为用户组指定新的组ID |
-n | 修改用户组的组名 |
-o | 允许创建组ID已存在的用户组 |
示例:修改组名
示例:将用户组k305的组ID改为660
4、用户组的切换newgrp
命令格式:newgrp 用户组
示例:组的切换
5、用户组管理gpasswd
命令格式:gpasswd [ 选项 ] 参数
该命令支持的选项有:
选项 | 说明 |
-a | 添加用户到用户组 |
-d | 从用户组中删除用户 |
-r | 删除密码 |
-R | 限制用户登录入组,只有组中的成员才可以用newgrp加入用户组 |
需要说明的是,使用usermod命令的-g 选项为用户设置附属组时,将会覆盖用户原有的附属组,若想为用户设置多个附属组,需要使用gpasswd命令将用户逐个添加到不同的用户组中。
示例:将k306用户添加到k305组中
四、用户切换
1、su
命令格式:su [ 选项 ] [ 用户名 ]
该命令支持的选项有:
选项 | 说明 |
-c | 执行完指定的命令后,切换回原来的用户 |
-l | 切换用户的同时,切换到对应用户的工作目录,变量环境也会随之改变 |
-m ,-p | 切换用户时,不改变环境变量 |
-s | 指定要执行的shell |
若选项和用户名缺省,则表示切换到root用户,但此时仍保留原来用户的工作环境;若使用“ su - ” ,则表示从当前用户切换到root用户,并切换到root用户的工作目录。
使用su命令时,由root用户切换到其他用户,可以不输入密码;由普通用户切换到标准用户时,需要输入目标用户的密码。
示例:以k307用户为例
从k307切换回root
从k307切换root ,并更改工作目录
2、sudo
命令格式:sudo [ 选项 ] [ 参数 ]
该命令支持的选项有:
选项 | 说明 |
-b | 在后台执行命令 |
-h | 显示帮助 |
-H | 将HOME环境变量设置为新身份的HOME环境变量 |
-k | 结束密码的有效期限 |
-l | 列出目前用户可执行与无法执行的命令 |
-p | 改变询问密码的提示符号 |
-s | 执行指定的shell |
-u | 以指定的用户作为新的身份,即切换到指定用户。默认切换到root用户 |
sudo可使当前用户以其他身份来执行命令,若不指定用户名,则默认以root身份执行。
五、文件操作
1、pwd
pwd用于显示当前工作目录的绝对路径,通常不添加参数,直接在命令行中使用。
示例:查看当前目录
2、cd
cd更改目录,若执行该命令的用户具有切换目录的权限,cd命令将更改当前工作目录到对象目录。
命令格式:cd 参数
示例
- 切换工作路径到当前目录下的(目录)中
格式:cd ./ 目录名
- 切换工作路径到上一级目录(pwd查看)
格式:cd ..
- 切换工作路径到etc目录下的yum目录中(pwd查看)
格式:cd /etc/yum
- 切换工作路径为当前用户的家目录(pwd查看)
格式:cd ~
3、ls
命令格式:ls [ 选项 ] [ 参数 ]
该命令支持的常用选项有:
选项 | 说明 |
-l | 以详细信息的形式展示出当前目录下的文件 |
-a | 显示当前目录下的全部文件(包括隐藏文件) |
-d | 查看目录属性 |
-t | 按创建时间顺序列出文件 |
-i | 输出文件的 inode 编号 |
-R | 列出当前目录下的所有文件信息,并以递归的方式显示各个子目录中的文件和子目录信息 |
示例:显示当前目录下的所有文件(包括隐藏文件)信息
也可以ls -al 一起使用
4、touch
若指定的文件不存在,该命令将会创建一个新文件,所以该命令有个附加功能,即创建新的空文件。
可以用来创建的文件
命令格式:touch 参数
示例:
使用 ls -al 查看
5、mkdir
用来创建目录
命令格式:mkdir [ 选项 ] 参数
mkdir 命令的参数一般为目录或路径名,当参数为目录时,为保证新目录可成功创键,使用该命令前应确保新建目录不与其同路径下的目录重名;当参数为路径时,需保证路径中的目录都已存在,或通过选项创建路径中缺失的目录。
该命令支持的选项有:
选项 | 说明 |
-p | 若路径中的目录不存在,则先创建目录 |
-v | 查看文件创建过程 |
示例:
6、cp
cp 命令的功能为将一个或多个源文件复制到指定的目录
命令格式:cp [ 选项 ] [ 源文件或目录 ] [ 目的目录 ]
该命令支持的选项有:
选项 | 说明 |
-R | 递归处理,将指定目录文件及子目录一并处理 |
-p | 复制的同时不修改文件属性,包括所有者、所属组、权限和时间 |
-f | 强行复制文件或目录,无论目标文件或目录是否已经存在 |
示例:将 a.txt 复制并且改名为 c.txt
将 b.txt 复制到 xxx
7、rm
rm功能为删除目录中的文件或目录,该命令可同时删除多个对象
命令格式:rm [ 选项 ] 文件或目录
若要使用 rm 命令删除目录,需在参数前添加 -r 选项。
该命令支持的选项有:
选项 | 说明 |
-f | 强制删除文件或目录 |
-rf | 选项 -r 与 -f 结合,删除目录中文件和子目录,并且不一一确认 |
-i | 在删除文件或目录时对要删除的内容逐一进行确认(y/n) |
示例:删除文件
强制删除
8、mv
mv命令用于移动文件或目录,若同时指定两个以上的文件或目录,且最后的目标是一个已经存在的目录,则该命令会将前面指定的多个文件或目录复制到最后一个目录中;若该命令操作的对象是相同路径下的两个文件,则其功能为修改文件名。
命令格式:mv [ 选项 ] 源文件/目录 目标目录
该命令支持的选项有:
选项 | 说明 |
-b | 若目标目录中文件已存在,则覆盖前为其创建一个备份 |
-f | 若目标文件或目录与现有的文件或目录重复,则直接覆盖现有的文件或目录 |
-i | 若源文件与目标文件或目录中的文件重名,则在覆盖文件或目录前,对要覆盖大的内容逐一进行确认(y/n) |
-u | 只要源文件比目标文件新,或目标文件不存在时,才执行移动操作 |
示例:将 w.txt 移动到 xxx 目录下
9、rmdir
与rm命令类似,该命令仅用于删除目录。
命令格式:rmdir [ -p ] 目录
rmdir 命令可删除指定路径中的一个或多个空目录,若在命令中添加参数-p ,则此条命令将会在删除指定目录后检测其上层目录,若该目录的上层目录已变成空目录,则将该目录的上层目录一并删除。
六、查看文件
1、cat
即连接和显示文件,cat 的功能为将文件中的内容打印输出设备
命令格式:cat 文件名
示例:打印etc目录下passwd文件中的内容
2、more
more 命令用于分页显示文件内容
命令格式:more [ 文件名 ]
可以使用快捷键进行翻页等操作:
快捷键 | 说明 |
f / Space | 显示下一页 |
Enter | 显示下一行 |
q / Q | 退出 |
3、less
使用more命令只能向下翻页,若想实现向前翻页的功能,则应使用 less 命令查看文件内容。用 less 命令显示文件时,使用 PageUp 键可向上翻页,使用 PageUp 键可向下翻页,使用 Q 键可退出分页显示。
less命令的用法例如:
4、head
head命令用于查看指定文件前n行内容
命令格式:head -n filename
以上格式中的n为要查看的行数,filename为待查看文件的文件名
示例:查看etc目录下passwd文件的前3行内容
5、tail
tail 命令用于查看指定文件的后n行内容
命令格式:tail -n filename
以上格式中的n为查看的行数,filename为待查看文件的文件名
示例:查看etc目录下passwd文件的后3行内容
6、wc
使用wc命令可计算文件的字节数、字数和列数
命令格式:wc [ 选项 ] 参数
该命令支持的选项有:
选项 | 说明 |
-c | 统计指定文件中文本的字节数 |
-l | 统计指定文件中文本的行数 |
-w | 统计指定文件中文本的字数 |
wc命令的参数一般是文件名,若不指定文件名,或文件名为“ - " ,则wc命令会从标准输入设备读取数据。
示例:统计passwd文件的行数
由运行结果可知,有24行
七、文件搜索
1、which
使用which命令可以获取指定命令的绝对路径
命令格式:which 命令
示例:搜索 ls 命令所在路径
2、find
命令格式:find [ 搜索路径 ] [ 选项 ] 搜索关键字
该命令支持的选项有:
选项 | 说明 |
-name | 根据文件名查找 |
-size | 根据文件大小查找 |
-user | 根据文件所有者查找 |
若不指定搜索路径,则 find 命令默认在当前路径下搜索。若当前路径下存在目录,则 find 命令会进入目录中逐级搜索。find 命令使用的搜索关键字可以是文件名、文件大小、文件所有者等,通过选项可以指定 find 的搜索方式。
示例:
- 按文件名passwd在etc目录下搜索
- 在当前目录下寻找大于500M小于2G的文件
- 查找带有a的文件
3、locate
locate 命令同样可以借助搜索关键字查找文件或目录
命令格式:locate [ 选项 ] 搜索关键字
locate命令的搜索效率相当高,因为它搜索的是一个包含所有本地文件信息的数据库而非具体目录,这个数据库名为locatedb ,由Linux 系统自动创建,存储在 /var/lib 目录中,若不额外指定,locate命令默认搜索这个数据库,用户也可以通过 -d 选项指定搜索路径。
4、grep
命令格式:grep [ 选项 ] 指定字符 源文件
该命令支持的选项有:
选项 | 说明 |
-c | 统计文本中指定字符串匹配的行数 |
-E | 使用扩展正则表达式进行匹配 |
-i | 不区分大小写 |
示例:
查找 /etc/passwd 文件中包含root的行
统计 /etc/passwd 文件中包含root的行数
八、权限管理
权限说明
权 限 | 对应字符 | 文 件 | 目 录 |
读权限 | r | 可查看文件内容 | 可以列出目录中的内容 |
写权限 | w | 可修改文件内容 | 可以在目录中创建、删除文件 |
执行权限 | x | 可执行该文件 | 可以进入目录 |
使用” ls -l “ 命令可列出文件的属性信息,用户可借此查看不同用户对文件的权限。
示例:查看 xxx(文件名) 的属性信息
“ rw- ”“ rw- ” “ r- ”3组,分别表示文件所有者权限、同组用户权限和其他用户权限;每组中的3个字符又依次对应用户的读、写和执行权限,若对应权限为“ _ ”,则表示用户没有此项权限。
常用的权限管理命令有chmod、chown、chgrp等,默认情况下,普通用户不能使用权限管理命令,下面分别对这3个权限管理命令进行讲解。
1、chmod
chmod功能为变更文件或目录的权限
命令格式:chmod [ 选项 ] [ { augo } { + - = } ] [ 文件或目录 ]
以上格式中的 a 即 all ,表示所有用户; u 即 user ,表示用户名 user ;g 即 gruop,表示组名group;o 即 other,表示其他用户或其他用户组;“ + ”表示添加权限;“ - ”表示取消权限;“ = ”表示设定权限。
该命令支持的选项有:
选项 | 说明 |
-f | 不显示错误信息 |
-v | 显示指令执行过程 |
-R | 递归处理,处理指定目录及其中所有文件与子目录 |
对同组用户添加 w 写权限
对其他用户减去 r 读权限
对拥有者添加 x 执行权限
使用数值形式表示权限
读权限对应的数值为4,写权限对应的数值为2,执权限对应的数值为1 简单来说,若设置某个文件的权限为777,则表示所有用户对该文件或目录都有读权限、写权限和可执行权限。
从左至右用 0-9 这些数字来表示。
第 0 位确定文件类型,第 1-3 位确定属主(该文件的所有者)拥有该文件的权限。
第4-6位确定属组(所有者的同组用户)拥有该文件的权限,第7-9位确定其他用户拥有该文件的权限。
其中,第 1、4、7 位表示读权限,如果用 r 字符表示,则有读权限,如果用 - 字符表示,则没有读权限;
第 2、5、8 位表示写权限,如果用 w 字符表示,则有写权限,如果用 - 字符表示没有写权限;第 3、6、9 位表示可执行权限,如果用 x 字符表示,则有执行权限,如果用 - 字符表示,则没有执行权限。
示例:使用chmod命令数值表示法为其添加权限的方式
在管理权限时,若权限的变动较小,则可以使用字符方式进行方式进行设置;若权限的变动较大多个对象的多项权限都要发生改变,则使用数值表示进行设置更为方便。
2、chown
chown功能为更改文件或目录的所有者。默认情况下文件的所有者为创建该文件的用户,或在文件被创建时通过命令指定的用户,但在需要时,可使用chown对文件的所有者进行修改。
命令格式:chown [ 选项 ] [ 用户 ] [ 文件或目录 ]
该命令支持的选项有:
选项 | 说明 |
-f | 不显示错误信息 |
-v | 显示指令执行过程 |
-R | 递归处理,处理指定目录及其中所有文件与子目录 |
示例:
chown:更改文件属主,也可以同时更改文件属组
语法格式:
chown [–R] 属主名 文件名
chown [-R] 属主名:属组名 文件名
3、chgrp
可通过chgrp命令更改文件的所属组。
命令格式:chgrp 组名 文件或目录
九、查看目录结构
1、 ls /
查看根目录,只包含目录,不包含具体文件。
2、 ls /etc
主要包括系统管理文件和配置文件。
3、 ls /bin
存放可执行的文件,如常用命令 ls 、mkdir 、rm 等的二进制文件都存放在目录中。
4、 ls /home
普通用户的工作目录,每个用户都有一个 /home 目录。
5、 ls /usr
包含所有的用户程序(/usr/bin)、库文件(/usr/lib)、文档(/usr/share/doc)等,是占用空间最大的目录。
6、 ls /dev
存放设备文件,包括块设备文件(如磁盘对应的文件)、字符设备文件(如键盘对应的文件等)。
7、 ls /root
超级用户,即管理员的工作目录。
8、 ls /lib
主要存放动态链接共享库文件,类似于Windows中的 .dll 文件,该目录中的文件一般以 .a 、 .dll 、 .so 结尾(后缀不代表文件类型),也会存放于内核模块相关的文件。
9、 ls /boot
存放操作系统启动时需要用到的文件,如内核文件、引导程序文件等。
10、 ls /mnt
存储挂载存储设备的挂载目录。
11、 ls /proc
存放系统内存的映射,可直接通过访问该目录来获取系统信息。
12、 ls /opt
存放附加的应用程序软件包。
13、 ls /tmp
存放临时文件,重启系统后该目录的文件不会被保存。每个用户都能创建该目录,但不能删除其他用户的 /tmp。
14、 ls /swap
存放虚拟内存交换时所有文件。