linux目录和文件的基本操作

摘要

目的:

  1. 介绍文件目录类的相关指令

一、查看目录

1. pwd

  • 这是查看所有目录的指令,并不包括查看文件本身
指令 功能
pwd 显示当前工作目录的绝对路径

image-20230719165548530

2. ls、ll指令

指令 功能 选项
ls 显示当前目录中的文件/目录 -a all,显示当前目录所有的文件和目录,包括隐藏的(在linux中,隐藏文件都是以点.开头的)
-l 以列表的方式显示
-h human,以人的思维显示
ll 相当于 ls -l

二、创建文件、目录

1. 目录操作

(1) 创建目录

指令 功能
mkdir /home/dog 要创建的目录
mkdir -p /home/animal/tiger 创建多级目录

(2) 删除目录

指令 功能 选项
rmdir /home/dog 删除dog目录(要求dog是空目录,如果非空则无法删除)

rm只能删除空目录,不能删除有内容的目录

指令 功能 选项
rm -r /home/animal 递归删除/animal下面的所有内容 -r recursion,递归删除
rm -rf /home/animal 递归删除 /animal下面所有的内容,并且不需要提示 -f 不需要删除时逐一确认

要删除非空的目录,只能用rm -r

rmdir -rf 一定要慎用,要不然全部删除了

2. 文件操作

(1) 创建文件

指令 功能 选项
touch hello.txt 创建空文件,名为hello.txt

(2) 删除文件

指令 功能 选项
rm hello.txt 删除hello.txt
rm -f hello.txt 删除hello.txt,并且不需要确认 -f 删除的时候不提示

三、拷贝文件、目录

指令 功能 选项
cp hello.txt /home 将hello.txt复制到/home下
cp -r dir1/ dir2/ 将dir1/整个目录(包括dir1)都复制到dir2下面 -r recursion,递归复制
\cp -r dir1/ dir2/ 如果dir1已经复制到dir2了,那么再次cp操作就会覆盖原先的文件
\cp在覆盖的时候不需要逐一确认

复制目录必须使用 cp -r,不论目录是否为空

四、移动/重命名文件、目录

1. 移动、重命名文件

指令 功能 说明 选项
mv hello.txt world.txt 将hello.txt重命名为 world.txt 重命名:如果第一个参数和第二个参数的落点都为文件
mv hello.txt /home 将hello.txt移动到/home目录下 移动
mv hello.txt /home/world.txt 将hello.txt移动到/home目录下并更名为world.txt 重命名 + 移动

重命名

移动文件

移动 + 重命名

2. 移动目录

指令 功能 说明 选项
mv dir1/ dir2 将dir1移动到dir2内部

移动的时候是将整个目录(包括参数目录)都移动过去了

五、查看文件

1. cat指令

  • cat指令只能查看不能修改,查看重要的文件的时候比较安全
指令 功能 说明 选项
cat hello.txt 查看hello.txt文件(只能查看,不能修改)
cat -n hello.txt 查看hello.txt文件,并且显示行号 -n num
`cat -n hello.txt more` cat一般搭配more指令方便观看
只有cat -n xxx | more常用,cat xxx | more 相当于 more xxx

2. more指令

more不仅仅用于查看文件,所有在终端显示的都可以交给more

指令 功能 说明 选项
more hello.txt 查看hello.txt
`cat -n hello more` 查看hello.txt,可以显示行号

more的快捷键

操作 功能
space空格 代表向下翻一页
Enter 向下翻一行
q 代表立即离开more,不再显示文件内容
Ctrl + F 向下滚动一屏
Ctrl + B 返回上一屏
= 输出当前行号
:f 输出文件名当前行号

3. less指令

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

指令和more差不多

指令 功能 说明 选项
less hello.txt 查看hello.txt
`cat -n hello less` 查看hello.txt,可以显示行号

less的操作

操作 功能说明
space空格 向下翻动一页
pagedown 向下反动一页
pageup 向上翻动一页
/字符串 向下搜寻[字符串],n:向下查找,N:向上查找
?字符串 向上搜寻[字符串],n:向下查找,N:向上查找
q 离开less

4. head指令

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

指令 功能 说明 选项
head hello.txt 查看hello.txt的头10行内容
head -n 5 hello.txt 查看hello.txt的头5行内容 head不仅仅可以用于文件,也可以通过管道将内容给head,从而只筛选出打印到现实台的头几行 -n 可以指定行数

5. tail指令

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

指令 功能 说明 选项
tail /etc/profile 查看文件尾10行内容 默认是10行
tail -n 5 /etc/profile 查看文件尾5行内容 -n 选择行数
tail -f /etc/profile 实时追踪该文档的所有更新,Ctrl + C退出 这个操作会占据控制台 -f 追踪更新
tail -f log.txt > hello.txt 将日志打印到hello.txt中 仅仅打印日志,但是控制台仍然会被占住

六、重定向

1. 输出重定向覆盖> | 清空文件

指令 功能 说明 选项
打印到控制台的内容 > hello.txt 将 打印到控制台的内容 重定向到 hello.txt,覆盖掉原来的内容
tail -f log.txt > hello.txt 将日志打印到hello.txt中
ls -al > hello.txt 将当前目录的文件信息写入到hello.txt中
echo helloworld > hello.txt 将helloworld覆盖写到hello.txt中
echo "" > hello.txt 清空文件?实际上会保留一行
> hello.txt 真正的清空文件

2. 输出重定向追加>>

指令 功能 说明 选项
打印到控制台的内容 >> hello.txt 将 打印到控制台的内容 重定向追加到 hello.txt,覆盖掉原来的内容
ls -al > hello.txt 将当前目录的文件信息写入到hello.txt中
echo helloworld >> hello.txt 将helloworld追加到hello.txt中

将日历追加到信息

七、链接指令

相当于创建一个快捷方式

指令 功能 说明 选项
ln -s /srcdir /home/user/ln ln目录相当于srcdir的快捷方式,操作一方,另一方也会变动 当使用pwd指令查看目录时,看到的是软链接(也就是快捷方式所在)的目录 -s 必须使用的
rm ln ln是一个软链接,这样删除一个文件 软链接实际上是一个文件,删除的是文件而不是目录
rm ln/ 错误,不能有/

posted @ 2023-07-27 21:28  Crispy·Candy  阅读(62)  评论(0编辑  收藏  举报