linux文件目录指令


前言

以下是有关Linux文件目录的相关指令,相关学习来自于B站韩顺平老师。
【小白入门 通俗易懂】2021韩顺平 一周学会Linux


提前知识:绝对地址与相对地址

在介绍指令之前,我觉得有必要说一下绝对地址与相对地址,因为在下面的指令中都会涉及这个问题。

绝对地址

绝对地址可以理解为文件或文件夹的绝对目录

举个简单的例子,我们很多人应该在电脑上安装过软件,安装软件时候填写的目录就是绝对地址,比如我这个

D:\googleDownloads

在Linux系统下,在指令后的地址如果以绝对地址形式输入,您可以在其他位置来执行操作。
比如我现在在root目录下,我想在home里面创建一个animal文件夹,那我就可以写成绝对地址方式

mkdir /home/animal

这样写比我直接去home目录里会更加省事一点

相对地址

相对地址是相对于上一级的地址,比如我在home目录里面有个tom目录
,而现在我恰好在home目录里面,如果我想把tom目录删除,那就就可以直接写

rm tom

而不用写成

rm /home/tom

会更加省事一点。

注意,下面需要写地址的都适用于这两条,下面在介绍指令时我不再详细说明地址问题了。

一、pwd指令

pwd指令的作用是显示当前我们处于位置的绝对地址

比如,我现在在是在 etc 下面的 abrt 目录,pwd指令就会显示为/etc/abrt

二、ls指令

ls指令会显示当前目录下,所有未隐藏的文件与文件夹

如果想查看隐藏的文件,在后面加上 -a
如果想以列表的方式来查看,还可以在后面加上 -l

两个可以以 ls -a -l 的方式同时使用

三、cd指令

1、cd指令是用来进入文件夹的,和退出文件夹的。
cd指令的后面要跟上我们想去文件夹的绝对地址或相对地址。

比如,我想去etc中的abrt文件夹,而我现在在根目录下,那我就可以写

cd /etc/abrt
或者
	  cd etc
然后再 cd abrt

2、

cd ~ 或 cd 用于回到当前用户下的家目录

比如我现在是以root用户来登录现在的操作系统,那就是输入cd 就是回到 /root
或者我现在是tom 用户,那就是回到 /home/tom

3、

cd .. 是返回当前目录的上一级目录

比如你现在在etc中的abrt目录,你就可以这样回到root目录

cd ../../root 

四、mkdir指令

mkdir指令用来创建目录,目录的创建分为创建一个目录和创建多级目录.

比如,我想在 home 里面创建animal目录,那它就是创建了一个目录,但是我想在创建animal的同时创建dog目录,那就是创建多级目录

如果创建多级目录,那我们需要在mkdir后面加上 -p 这个参数才能创建,否则会报错。

在这里我想强调一点,Linux涉及到地址问题,据我这个小白观察,似乎都可以使用相对地址与绝对地址。
比如我现在在home里,那我就可以写成

mkdir -p animal/dog

但我现在不在home里,那我就可以写成

mkdir -p /home/animal/dog

五、rmdir指令

rmdir用于删除空的目录
这里需要解释一下空的目录,比如上面的 /home/animal/dog 里面什么东西都没有,所以dog是一个空目录,但是animal里面有dog所以,animal就不是空目录。如果删除animal它会报错

rmdir /home/animal/dog

注意:下面介绍如何删除非空目录
如果需要删除非空目录,就需要使用到rm -rf
比如我要删除 animal目录,那就是

rm -rf /home/animal

请注意!!!
rm -rf 是强制删除指令,非常危险,请小心谨慎!!!

六、touch指令

touch用于创建一个空文件
比如

touch hello.txt

就会在当前目录下创建一个hello.txt的空文件。

当然,也可以使用vim 或者vi来创建。

七、cp指令

cp指令是将文件拷贝到指定目录下

比如我在root目录下有一个hello.txt文件,想拷贝到opt目录下,那我就可以写

cp /root/hello.txt /opt

如果我在root目录下有一个bbb文件夹想copy到opt目录时,我就可以这样写

cp -r /home/bbb /opt

注意,在实际应用中,我们很有可能会遇到将同一个文件在不同的时间点copy到同一个文件夹的问题,也就是覆盖问题,在Linux系统中,它会询问你是否要覆盖文件,如果你想把所有的文件都给覆盖掉,那就可以这样写

\cp -r /home/bbb /opt

注意,写这句话之前要想清楚,之前的文件到底需不需要

八、rm指令

rm指令用于删除文件或者目录

rm有两个常用选项

-r:递归删除整个文件夹
-f:强制删除不提示

例:

1.如果你只是想删除一个文件

比如将/home/hello.txt删除,就可以写成

rm /home/hello.txt

注:在每次删除的时候,Linux系统都会提示你是否删除

2.如果你想删除整个文件夹

比如删除/home/bbb,就可以这样写

rm -r /home/bbb

说明:因为删除文件与文件夹是会提示的,所以如果要删除的1个文件夹里有n个文件,你就要输入n+2个y,比较麻烦。

3.如果你想一个文件删除且不带提示

比如将/home/hello.txt删除

rm -f /home/hello.txt

4.如果你想将一个文件删除且不带提示

比如删除/home/bbb

rm -rf /home/bbb

注意!!!
在rmdir里面我说过了一次,这里再强调一遍,rm -rf非常危险,在删除前请小心谨慎,好好想一想要不要把这个文件删除!!!

九、mv指令

mv指令用于移动文件与目录或重命名
对于这个指令,可以简单的理解为剪切
如果让我详细的描述的话,我觉得很像是:把在A地点的a里的东西搬到B地点的b里
下面举例

1.重命名

假设我现在在home目录里,有个cat.txt文件,我想把它重命名pig.txt文件,我就可以写成

mv cat.txt pig.txt

2.移动文件

把/home/pig.txt文件移动到/root目录下

mv /home/pig.txt /root

3.移动文件夹

把/opt/bbb移动到/home目录下

mv /opt/bbb /home

4.在移动中重命名

把/opt/bbb移动到/home目录下,重命名为aaa

mv /opt/bbb /home/aaa

在这里我再重复一下上文说的东西,mv指令可以简单的理解为剪切,
详细的理解为把在A地点的a里的东西搬到B地点的b里。
我觉得在4里面有详细的体现

小tips:因为文件格式就在名字中,所以这个指令也可以更改文件格式。
例:把pig.png 改为 pig.jpg

mv pig.png pig.jpg

十、cat指令

cai指令用于查看文件内容,区别于vim,cat指令只能查看文件内容而无法对文件内容进行修改。

cat指令常跟 -n 一起使用,-n是用来显示行号
例:查看/etc/profile文件内容,并显示行号

cat -n /etc/profile

小tips:为了浏览方便,一般会带上管道命令 | more ,即

cat -n /etc/profile | more

more指令是为了更好的浏览进行交互,我会在下面介绍more指令。

关于cat 与more的连用交互,实测more指令中的部分相关交互是用不了的

ctrl+B向上翻页无法使用

:f 能使用但是文件显示似乎不太正常

十一、more指令

more指令是一个基于VI编辑器的文本过滤器,它以全屏幕的方式按页显示文本文件的内容,more指令中内置了若干快捷键(交互的指令)

例:比如我要查看 /etc/profile文件

more /etc/profile

关于交互,我放一个图片
在这里插入图片描述

十二、less指令

less指令主要用来查看大型文件,less指令在显示文件内容时,并不是一次将整个文件加载之后才显示,而是根据显示需要加载内容。
语法与上文相同

less /opt/斗罗大陆.txt

在这里插入图片描述

小tips:偶尔过把瘾,用less看个小说还是挺爽的。

十三、echo指令

echo指令相当于编程语言的print,将内容输出到控制台上

例,查看环境变量

echo $PATH

十四、head指令

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

head /opt/斗罗大陆.txt

注:空行也算是1行

head还可以指定显示前多少行

例,查看斗罗大陆前100行的内容

head -n 100 斗罗大陆.txt

十五、tail指令

tail指令与head指令相反,tail指令是显示文件末尾部分内容,默认情况下,tail指令显示末尾的10行内容。
tail也可以指定显示末尾的多少行内容,语法与head一样,把上面的head换成tail即可,这里不再过多赘述。

下面说一个有点意思的东西。
tail可以实时监控一个文件的更新
比如实时监控/opt/mydate.txt更新

tail -f /opt/mydate.txt

这个时候你通过另外一个窗口来更新这个文件,就会发现来监控的窗口会把更新的东西输出在窗口上面。

小tips:ctrl + c可以退出这个实时监控,ping命令也是可以的

十六、>指令与>>指令

>指令 与 >>指令可以简单的理解为覆盖写入与追加写入
举例

echo "hello" >> mydate.txt

将hello追加到mydate.txt文件里面

echo "hello" > mydate.txt

hello将覆盖mydate.txt文件里面的内容

>指令与>>指令一般还会有以下几种用法

ls -l > 文件

将列表的内容覆盖写入文件中

ls -al >> 文件

将列表的内容追加到文件的末尾

cat 文件1 > 文件2

将文件1的内容覆盖到文件2上

小tips:
1.在>指令与>>指令中,后面指向的文件如果不存在,会创建一个新文件。
2.>>指令可以在一定程度上实现cp指令

十七、ln指令

软链接也称为符号链接,类似于windows里的快捷方式,主要存放了链接其他文件的路径

举例 在home目录下创建一个软链接 myroot,链接到/root目录

ln -s /root /home/myroot

小tips:当我们处于myroot里面时,输入pwd指令时,任然看到的是软链接所在的目录,而不是软链接指向的目录。

删除软链接 myroot

rm /home/myroot

注意:软链接就相当于一个文件一样,在写地址的时候不要写成 /home/myroot/ 的形式,这样写就相当于一个目录了,rm是没法删除的。

还有一点就是,不要误打误撞写成

rm -r /home/myroot/

的形式,不然真的会把你root里面的文件给删除的。

十八、history指令

history指令主要是查看已经执行过的历史命令

1.查看历史所有命令

history

2.查看最近使用过的10个命令

history 10

3.执行历史编号为5的指令

!5

(英文下的感叹号 5)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值