Linux- 系统随你玩之--操作文件和目录

1、前言

上二篇我们讲解了系统用户、用户组及登录用户相关知识本节我们以用户登录系统后常用的文件操作进行介绍。

2、文件、目录相关的指令

2.1、当前所在目录

pwd指令 会显示自己目前所在的工作目录的绝对路径名称。
在这里插入图片描述

2.2、当前目录所有的文件和目录

使用方式 : ls [选项] [目录或是文件]
常用选项:

 -a 显示当前目录所有的文件和目录包括隐藏的 (文件名以.开头就是隐藏)-l 以列表的方式显示信息
 -h : 显示文件大小时以 k , m, G 单位显示

在这里插入图片描述

2.3、切换当前工作目录

使用方式 : cd [dirName]
dirName 为目录名称可为绝对路径或相对路径。若目录名称省略则切换至home 目录。

~ 也表示为 home 目录的意思 
. 则是表示当前所在的目录 
.. 则表示当前目录位置的上一层目录
 ../..跳转至当前目录的上二层。

在这里插入图片描述

2.4、 创建目录与文件

mkdir 指令 目录
通过 mkdir 命令可以实现在指定位置创建以 DirName(指定的文件名)命名的文件夹或目录。要创建文件夹或目录的用户必须对所创建的文件夹的父文件夹具有写权限。并且所创建的文件夹(目录)不能与其父目录(即父文件夹)中的文件名重名即同一个目录下不能有同名的(区分大小写)。

1:创建一个目录 /home/csdn/fyydlz
mkdir /home/csdn/fyydlz
2:创建多级目录 /home/csdn/fyydlz/text
mkdir -p /home/csdn/fyydlz/text

在这里插入图片描述

touch 创建空文件
touch 指令
一、用来创建新的空文件。
二、用于把已存在文件的时间标签更新为系统当前的时间(默认方式它们的数据将原封不动地保留下来;
1: 创建一个空文件 text.txt
touch text.txt
说明如果文件存在则表示刷新该文件的修改时间

![在这里插入图片描述](https://img-blog.csdnimg.cn/2ee61087862b45de8c885c9be545d691.png)

## 2.5、删除目录与文件
**1、rmdir 指令 [remove directory]**
rmdir 指令从一个目录中删除一个或多个子目录项即有空目录要删除删除某目录时也必须具有对父目录的写权限。
注意删除空目录如果目录下有内容时无法删除的。

```powershell
例子删除一个目录 /home/fyydlz
rmdir /home/fyydlz[要求 /home/fyydlz空目录]

**2、rm 文件名 **
rm: 为删除一个目录中的一个或多个文件或目录它也可以将某个目录及其下的所有文件及子目录均删除。对于链接文件只是删除了链接原有文件均保持不变。
默认rm不允许删除目录可以使用参数 -r 删除目录。
参数如下

-d或–directory     直接把欲删除的目录的硬连接数据删成0删除该目录。
-f或–force       强制删除文件或目录忽略不存在的文件不提示确认。
-i或–interactive   删除既有文件或目录之前先询问用户。
-I          在删除超过三个文件或者递归删除前要求确认。此选项比-i 提示内容更少但同样可以阻止大多数错误发生。
-r或-R或–recursive  递归删除将指定目录下的所有文件及子目录一并删除。

**例子**
rm -f 文件名 【暴力删除】
rm -r 文件夹
rm -rf 文件或文件夹

2.6 、拷贝文件

cp 指令拷贝文件到指定目录。
命令格式为cp 源文件 目标文件(夹
参数

-a此选项通常在复制目录时使用它保留链接、文件属性并复制目录下的所有内容。其作用等于dpR参数组合。
-d复制时保留链接。这里所说的链接相当于 Windows 系统中的快捷方式。
-f覆盖已经存在的目标文件而不给出提示。
-i与 -f 选项相反在覆盖目标文件之前给出提示要求用户确认是否覆盖回答 y 时目标文件将被覆盖。
-p除复制文件的内容外还把修改时间和访问权限也复制到新文件中。
-r若给出的源文件是一个目录文件此时将复制该目录下所有的子目录和文件。
-l不复制文件只是生成链接文件。

指令 cp 将当前目录 fyydlz/ 下的所有文件复制到新目录 newtest 下输入如下命令

$ cp –r fyydlz/ newtest  

3 、文本查看

cat | head | tail 查看文件内容

3.1、cat 查看文件内容

查看文件内容一般适合于查看文件内容较少的文件。
cat 文件名
-n 显示行号
在这里插入图片描述

3.2、head 查看前n行内容

head -n 文件名
head 用于显示文件的开头部分内容默认情况下 head 指令显示文件的前 10 行内容。

head 文件 (功能描述查看文件头 10 行内容)
head -n 5 文件
例: 查看/etc/profile 的前面 5 行代码
head -n 5 /etc/profile

在这里插入图片描述

3.3、tail 查询后n行内容

tail -n 文件名
tail 用于输出文件中尾部的内容默认情况下 tail 指令显示文件的后 10 行内容。

  • tail 文件 (功能描述查看文件头 10 行内容
  • tail -n 5 文件 (功能描述查看文件头 5 行内容 5 可以是任意行数
  • tail -f 文件 (功能描述实时追踪该文档的所有更新使用Xshell写该命令当linux对该文档有更新时会在Xshell显示

在这里插入图片描述

4、文本编辑

4.1、vi 指令

vi 文件名
进入命令模式[不能输入内容]---->i----->编辑模式【可以输入内容】---->Esc推到命令模式
—:wq[保存退出]
—:q![退出不保存]

vi fyydlz.txt

4.2、more 指令

more 指令是一个基于 VI 编辑器的文本过滤器它以全屏幕的方式按页显示文本文件的内容。
more功能上类似 cat cat命令是整个文件的内容从上到下显示在屏幕上。 more会以一页一页的显示方便使用者逐页阅读而最基本的指令就是按空白键(space就往下一页显示按 b 键就会往回(back一页显示而且还有搜寻字串的功能 。more命令从前向后读取文件因此在启动时就加载整个文件。

命令参数
+n 从笫n行开始显示
-n 定义屏幕大小为n行
+/pattern 在每个档案显示前搜寻该字串(pattern然后从该字串前两行之后开始显示
-c 从顶部清屏然后显示
-d 提示“Press space to continue’q’ to quit(按空格键继续按q键退出”禁用响铃功能
-l 忽略Ctrl+l(换页字符
-p 通过清除窗口而不是滚屏来对文件进行换页与-c选项相似
-s 把连续的多个空行显示为一行
-u 把文件内容中的下画线去掉
在这里插入图片描述

4.3、less 指令

less [参数] 文件
less 指令用来分屏查看文件内容它的功能与 more 指令类似但是比 more 指令更加强大支持各种显示终端。
less 指令在显示文件内容时并不是一次将整个文件加载之后才显示而是根据显示需要加载内容对于显示数据量极大的文件具有较高的效率。
命令参数:

-e文件内容显示完毕后自动退出;
-f强制显示文件;
-g不加亮显示搜索到的所有关键词仅显示当前显示的关键字以提高显示速度;
-l搜索时忽略大小写的差异;
-N每一行行首显示行号;
-s将连续多个空行压缩成一行显示;
-S在单行显示较长的内容而不换行显示;
-x<数字>将TAB字符显示为指定个数的空格字符。

在这里插入图片描述

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6
标签: linux

“Linux- 系统随你玩之--操作文件和目录” 的相关文章