文章目录
- 一、前言
- 1.1、Linux的文件结构是一颗从 根目录/ 开始的一个多叉树。
- 1.2、绝对路径与相对路径
- 1.3、命令的本质是可执行文件。
- 1.4、家目录
- 二、文件管理
- 2.1、文件操作
- 1、pwd
- 2、ls
- 3、cd
- 4、touch
- 5、mkdir
- 6、cp
- 7、rm
- 8、mv
- 9、rmdir
- 2.2、查看文件
- 1、cat
- 2、more
- 3、less
- 4、head
- 5、tail
- 6、wc
- 2.3、文件搜索
- 1、which
- 2、find
- 3、locate
- 4、grep
- 三、用户与用户组管理
- 3.1、用户管理
- 1、useradd 添加用户
- 2、passwd设置用户密码
- 3、su 用户切换
- 4、删除用户
- 3.2、用户组管理
- 1、新增用户组
- 2、删除用户组
- 3、修改用户组属性
- 四、谢谢观看!
一、前言
上一篇博客介绍了centos7与Finalshell的安装,本篇命令介绍也使用Finalshell连接。
快捷键:alt+enter :Finalshell的进入/退出全屏。
1.1、Linux的文件结构是一颗从 根目录/ 开始的一个多叉树。
叶子节点:一定是普通文件或空目录
非叶子节点:一定是非空目录
1.2、绝对路径与相对路径
绝对路径:直接将文件的路径点出来,例:cd /etc/yum,直接切换到yum目录
相对路径:以非根目录为参照位置,定位一个文件,例:在etc目录下进行cd ./yum,切换到当前目录(etc)下的yum目录
1.3、命令的本质是可执行文件。
1.4、家目录
在Linux系统中,家目录(Home Directory)是分配给每个用户的个人目录,用于存储个人文件、配置文件、下载内容等。每个用户都有一个独特的家目录,通常位于/home目录下,其名称与用户的用户名相同。例如,用户jyan的家目录通常是/home/jyan。当然,root用户除外。
二、文件管理
命令 --help #查找该命令的用法
2.1、文件操作
1、pwd
# pwd #打印当前工作目录
显示当前目录的绝对路径
2、ls
# ls #显示该目录下文件的属性信息
ls 命令后可以写入不同的参数,会有不同的作用。
ls命令用法很多,我们这里只讲解常用用法。
# ls #显示当前目录下的所有文件(不包含隐藏文件)
# ls -a #显示当前目录下的所有文件(包含隐藏文件)
# ls -l #显示当前目录下的所有文件与其详细信息
# ls -d #查看目录属性
# ls -t #按时间顺序列出文件
3、cd
# cd 文件路径 #切换当前工作目录到对象目录
# cd ./文件名 #切换到当前目录下的目录中
# cd .. #切换当前目录至上一级目录
# cd ~ #切换到当前用户的家目录
1、
# cd 文件路径 #更改当前工作目录到对象目录
注:cd 后有空格
将文件从 ~ 切换到 / (根目录)
将文件从 / (根目录)切换到 yum
2、
# cd ./文件名 #切换到当前目录下的目录中
etc目录下有以下文件
当前目录为etc目录,该目录下有yum文件
切换到当前目录下的yum文件中。
3、
# cd .. #切换当前目录至上一级目录
etc的上一级目录为根目录 / , 使用改命令可以回退到上级目录。
4、
# cd ~ #切换到当前用户的家目录
root用户的家目录的路径在 /root 下
4、touch
# touch 文件名 #更新文件时间,若文件不存在,则会创建一个新文件。
创建一个新文件 myfile
更新时间。
5、mkdir
创建文件。
# mkdir [选项] [参数]
[参数]:
一般为目录或路径名,若参数为目录时,要保证新建目录不与同路径下的目录重名。若参数为路径时,要保证路径下的目录存在,或通过选项创建路径缺失的目录。
[选项]:
-p #若路径中的目录不存在,则先创建目录
-v #查看文件创建过程
在当前目录下创建文件 myfile2
6、cp
copy,将一个或多个源文件复制到指定的目录。
# cp [选项] [源文件或目录] [目的目录]
[选项]:
-R #递归处理,将指定目录下的文件及子目录一并处理
-p #复制的同时不改变文件属性
-f #强行复制文件或目录
用法示例:
#将当前路径下的文件a复制到目录./dir中
# cp a ./dir
#将当前目录下的b目录复制到./home/bxg
# cp -R b ./home/bxg
7、rm
删除目录中的文件或目录
# rm [选项] 文件或目录
-r #删除文件
-f #强制删除,一般不要使用
-rf #删除文件,并且不一一确认
-i #删除时要进行一一确认
上图中,箭头指向的一行为确认删除,输入 y ,确认删除;输入 n,不删除。
8、mv
移动文件或目录。
若该命令操作是相同路径下的两个文件,其功能变为修改文件名。
# mv [选项] 源文件/目录 目标目录
[选项]:
-b #若目标目录中文件已存在,则覆盖前为其创建一个备份
-f #若目标目录与现有目录重复,直接覆盖现有目录
-i #重名,覆盖前对要覆盖的内容进行逐一确认
-u #当源文件比目标文件新或目标文件不存在时,才执行移动
用法示例:
# 将文件a移动到 目录./home/bxg中
# mv a ./home/bxg
9、rmdir
仅用于删除目录。
# rmdir [-p] 目录
2.2、查看文件
1、cat
将文件中的内容打印到输出设备上。
# cat 文件名
2、more
分页显示文件内容。
# more [文件名]
相关快捷键:
快捷键 | 说明 |
---|---|
f/Space | 显示下一页 |
Enter | 显示下一行 |
q/Q | 退出 |
3、less
more命令只能向下翻页,而less命令可以实现向前翻页的功能。
# less 文件路径
4、head
查看指定文件的前n行内容。
# head -n 文件名(路径)
其中 n 为要查找的行数
5、tail
查看指定文件的后n行内容。
# tail -n 文件名
6、wc
计算文件的字节数、字数和列数。
# wc [选项] 参数
[选项]:
-c #统计字节数
-l #统计行数
-w #统计字数
参数:一般是文件名
2.3、文件搜索
1、which
获取指定命令的绝对路径。
# which 命令
例:
搜索ls命令所在的路径
2、find
借助搜索关键字查找文件或目录
# find [搜索路径] [选项] 搜索关键字
若不指定搜索路径,则find命令默认在当前路径下搜索。若当前路径下存在目录,则find命令会进入目录中逐级搜索。
搜索关键字可以是:文件名、文件大小、文件所有者等
[选项]:
-name #根据文件名查找
-size #根据文件大小查找
-user #根据文件所有者查找
3、locate
借助搜索关键字查找文件或目录
# locate [选项] 搜索关键字
搜索效率高,因为它搜索的是一个包含所有本地文件信息的数据库而非具体目录,该数据库系统自动创建。locate命令默认搜索这个数据库。
可用 -d 来指定搜索路径
注:使用locate之前,要通过updatedb 命令来手动更新数据库。
4、grep
在文件中搜索与指定字符串匹配的行并打印到终端。
# grep [选项] 指定字符 源文件
[选项]:
-c #统计文本中与指定字符串匹配的行数
-E #使用扩展正则表达式进行匹配
-i #不区分大小写
查找 /etc/passwd 文件中包含 root 的行
三、用户与用户组管理
Linux中的用户分为两大类:root超级用户和普通用户。
要知道与用户相关的命令:
输入user,之后点击两次tab键
3.1、用户管理
1、useradd 添加用户
# useradd [选项] 用户名
[选项]:
-d #指定用户登录时的目录
-c #指定账户的备注文字
-e #指定账号的有效期限
-f #缓冲天数,密码过期时在指定天数后关闭该账号
-g #指定用户所属组
-G #指定用户所属的附加用户组
输入以下命令:创建新用户jyan,并令其ID为jyan
2、passwd设置用户密码
# passwd [选项] 用户名
#为新用户jyan设置密码
# passwd jyan
这里是刚刚创建的新用户:
3、su 用户切换
# su [选项] [用户名]
若选项和用户名缺省,表示切换到root用户,但仍保留原来用户的工作环境。
若使用 su - ,则表示从当前用户切换到root用户,并切换到root用户的工作目录。
[选项]:
-c #执行完指定指令后,切换到原来用户
-l #切换用户的同时,切换到对应用户的工作目录,环境变量改变
-m,-p #切换用户时,环境变量不变
-s #指定要执行的shell
#:表示当前为超级用户
$:表示当前为普通用户
注:使用su命令时,从root用户切换到普通用户,不用输入密码;但从普通用户切换到目标用户时,需要输入密码。
4、删除用户
# userdel [选项] 用户名
[选项]:
-f #强制删除用户
-r #删除用户的同时,删除与其相关的所有文件
3.2、用户组管理
一般将权限相同的用户放在同一个用户组里。
要知道与组相关的命令:
输入group,之后点击两次tab键
1、新增用户组
groupadd 命令主动添加。
# groupadd [选项] 参数
[选项]:
-g #指定新建用户组的组ID
-r #创建系统用户组,组ID范围在1~499
-o #创建组ID已经存在的用户组
2、删除用户组
# groupdel 用户组名
3、修改用户组属性
# groupmod [选项] 参数