Linux文件目录指令
文件目录指令 \color{blue}{\huge{文件目录指令}} 文件目录指令
绝对路径和相对路径
linux
文件目录结构图:
假如当前在/home
目录下,如果想要访问a.txt
文件,使用绝对路径和相对路径两种方法:
①. 使用绝对路径:
/home/tom/a.txt
绝对路径描述就是从
/
根目录开始定位
\color{blue}{绝对路径描述就是从/根目录开始定位}
绝对路径描述就是从/根目录开始定位
cd /home/tom
:使用绝对路径进入tom
的目录并创建文件hello.txt
②. 使用相对路径:
tom/a.txt
相对路径描述就是从当前目录开始定位
\color{blue}{相对路径描述就是从当前目录开始定位}
相对路径描述就是从当前目录开始定位
相关操作
Ⅰ.pwd
Ⅱ.ls
Ⅲ.cd
cd ~ 或者 cd
:回到自己用户的家目录(
适当前使用的用户而定
\color{red}{适当前使用的用户而定}
适当前使用的用户而定)
cd ../
:返回到上一级目录(
使用的是绝对路径
\color{olive}{使用的是绝对路径}
使用的是绝对路径)返回的时候,最多返回到/
根目录。
已经返回到了根目录的话,再次使用cd ..
也只会显示/
。
案例三(绝对路径实现):
cd ../../root
:
第一次..
:从tom
目录下返回到home
目录
第二次..
:从home
目录返回到/
目录下
root
:进入到root
目录
Ⅳ. mkdir
mkdir /home/dog
:
在/home
目录下创建一个dog
❗❗❗
❗❗❗
❗❗❗不加其他关键词的mkdir
,
最多只能创建一级目录
\color{blue}{最多只能创建一级目录}
最多只能创建一级目录
mkdir
创建多级目录:
mkdir -p /home/animal/tiger
:
Ⅶ. rmdir
rmdir
指令
只能够删除空的目录
\color{blue}{只能够删除空的目录}
只能够删除空的目录
rmdir /home/dog
:成功!
rmdir /home/animal/
:失败!
因为animal
目录中不是空的,还含有tiger
如果要强制删除的话,可以使用rm -rf
递归强制删除
rm -rf /home/animal
:成功!
r
m
−
r
f
这个操作非常危险!!!
\color{blue}{\huge{rm \space -rf这个操作非常危险!!!}}
rm −rf这个操作非常危险!!!
使用rm -rf
进行强制删除的时候,还请务必谨慎谨慎再谨慎!!!
Ⅷ. touch
touch 文件名
:只是在当前目录创建一个空文件而已。
Ⅸ. cd
基本语法
cp source(拷贝源) dest(拷贝目标目录)
-r
:递归复制整个文件夹
案例
1
1
1:
案例
2
2
2:
❗❗❗cp
进行全部文件复制的时候,如果复制地址存在,那么直接复制到该地址之下,如果复制地址不存在,那么会将拷贝源的文件夹改名为复制地址的名字,之后拷贝到上一级。
ASD
目录根本不存在,可以知道,当执行cp -r /opt/bbb /home/ASD
,后要复制的bbb
被改名为ASD
,并且复制到了home
目录下。
\cp
:强制覆盖指令。如果重复执行一个cp
操作的话,会有是否重复覆盖的确认选项,如果覆盖的文件较多,每次都重复确认也会很累。\cp
就可以执行强制全部覆盖,
不会再有是否重复覆盖提示
\color{blue}{不会再有是否重复覆盖提示}
不会再有是否重复覆盖提示。
Ⅹ. rm
单独的rm
是无法删除一个目录的。
rm bbb
:失败!
rm -r bbb
:经过多次确认之后,可以删除成功。
rm -rf ASD
:不用确认,直接全部删除。
ⅩⅠ
.
ⅩⅠ.
ⅩⅠ.mv
①. mv
的两个文件同属于同一位置,其实显示出来的效果就是
改名
\color{red}{改名}
改名。
②. mv
两个文件不属于同一个位置,这就是移动文件位置。
mv
可以移动改名同时进行。
mv pig.txt /root/cow.txt
:将pig.txt
移动到root
目录下并且改名为cow.txt
。
❗❗❗
❗❗❗
❗❗❗rm
也可以移动整个目录,并且移动整个目录的时候不需要添加任何符号。
ⅩⅡ
.
ⅩⅡ.
ⅩⅡ.cat
cat
指令用于查看文件的内容,并且
只能够查看不能够进行修改
\color{blue}{只能够查看不能够进行修改}
只能够查看不能够进行修改。非常安全!!!
cat -n 文件名
:查看文件,并且显示行号。
cat -n 文件名 | more
:使用more
文本过滤器来查看该文件,查看效果更好。
ⅩⅢ
.
ⅩⅢ.
ⅩⅢ.more
和less
①.more
指令
more
一般就是用来与cat
进行组合使用的。
②.less
指令
less
文本过滤器因为有动态加载的特点,所以使用less
去读数据量很大的文本的时候,非常节约内存空间。
非常适合读取大数据
\color{blue}{非常适合读取大数据}
非常适合读取大数据。
echo
echo
命令用于在控制台上输出信息。
echo $HOSTNAME
:输出你当前的主机号。
echo "hello,world"
:向控制台打印出hello,world
。
head
head
用于查看文本的默认前
n
n
n行(
n
n
n默认是
10
\color{blue}{10}
10)。
head -n 5 /etc/profile
:查看profile
前
5
5
5行数据。
tail
tail
用于查看文件后
n
n
n行的数据(默认
n
n
n是
10
10
10)。
tail -n 5 /etc/profile
:查看profile
最后
5
5
5行数据。
💥💥💥tail
还具有
实时监控文件修改情况的功能
\color{blue}{实时监控文件修改情况的功能}
实时监控文件修改情况的功能。
tail -f mydata.txt
:对于mydata.txt
进行实时监控。
最初监控情况:
mydata.txt
文件之中只有hello
一行数据。
当在linux
的终端对mydata.txt
进行修改的时候,比如添加数据:
在终端中进行数据重定向到mydata.txt
中,输入后:
监控区
实时
\color{blue}{实时}
实时检测出文件内容发生了动态变化:内容增加了hello,world
。
ctrl + c
:退出监控状态。
(此功能多用于监测服务器的动态更新日志)
数据重定向
>>
:添加数据的时候呈追加式
>
:添加数据的时候呈覆盖式
可以理解为前面的显示指令ls
、cat
等,
不但会将数据显示在控制台上,并且他们像函数一般的返回值也是这些值本身
\color{blue}{不但会将数据显示在控制台上,并且他们像函数一般的返回值也是这些值本身}
不但会将数据显示在控制台上,并且他们像函数一般的返回值也是这些值本身。
可以将上面的"返回值"重定向写入文件之中。
ls -l /home > /home/info.txt
:使用ls
指令将/home
路径下的文件目录信息,写入到info.txt
中。
cal
:显示当前日期的日历。
cal >> /home/mycal.txt
:将信息追加到mycal.txt
之中。
首先新建一个mycal.txt
文件,输入hello
,之后cal
将数据重定向到mycal.txt
,并进行数据显示,是数据追加的情况。
ln
从上图中可以看到,ln -s /root myroot
,在/home
目录下创建了一个对于/root
目录的软连接(
类似于快捷方式
\color{blue}{类似于快捷方式}
类似于快捷方式)。当cd myroot
的时候,进入myroot
目录,执行ls
,发现和/root
目录下的文件完全一致。现在这种情况访问/myroot
相当于访问/root
目录。
但是在/myroot
目录下执行pwd
指令,确确实实进入的是/home/myroot
的目录。
通过多个文件向一个文件建立连接来实现文件的共享。
history
语法格式:
history
:查看已经执行过的命令。
history n
:查看最后执行的n
条命令。
!n
:执行编号为n
的指令。