文章目录
- 一、前言
-
- [1.1、Linux的文件结构是一颗从 根目录/ 开始的一个多叉树。](#1.1、Linux的文件结构是一颗从 根目录/ 开始的一个多叉树。)
- 1.2、绝对路径与相对路径
- 1.3、命令的本质是可执行文件。
- 1.4、家目录
- 二、文件管理
- 三、用户与用户组管理
- 四、谢谢观看!
一、前言
上一篇博客介绍了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用户除外。
二、文件管理
c
命令 --help #查找该命令的用法
2.1、文件操作
1、pwd
c
# pwd #打印当前工作目录
显示当前目录的绝对路径
2、ls
c
# ls #显示该目录下文件的属性信息
ls 命令后可以写入不同的参数,会有不同的作用。
ls命令用法很多,我们这里只讲解常用用法。
c
# ls #显示当前目录下的所有文件(不包含隐藏文件)
# ls -a #显示当前目录下的所有文件(包含隐藏文件)
# ls -l #显示当前目录下的所有文件与其详细信息
# ls -d #查看目录属性
# ls -t #按时间顺序列出文件

3、cd
c
# cd 文件路径 #切换当前工作目录到对象目录
# cd ./文件名 #切换到当前目录下的目录中
# cd .. #切换当前目录至上一级目录
# cd ~ #切换到当前用户的家目录
1、
c
# cd 文件路径 #更改当前工作目录到对象目录
注:cd 后有空格
将文件从 ~ 切换到 / (根目录)
将文件从 / (根目录)切换到 yum
2、
c
# cd ./文件名 #切换到当前目录下的目录中
etc目录下有以下文件
当前目录为etc目录,该目录下有yum文件
切换到当前目录下的yum文件中。
3、
c
# cd .. #切换当前目录至上一级目录

etc的上一级目录为根目录 / , 使用改命令可以回退到上级目录。
4、
c
# cd ~ #切换到当前用户的家目录
root用户的家目录的路径在 /root 下
4、touch
c
# touch 文件名 #更新文件时间,若文件不存在,则会创建一个新文件。

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