内容来自:Linux介绍
视频推荐:[Linux基础入门教程-linux命令-vim-gcc/g++ -动态库/静态库 -makefile-gdb调试](
目录
- day03
- 17、创建删除目录
- 创建目录
- 删除目录
- 18、文件的拷贝
- 19、mv 命令
- 20、查看文件内容的相关命令
- 21、给文件创建软连接或硬链接
day03
17、创建删除目录
创建目录
目录的创建分为两种, 一种是创建单个目录, 另一种是一次性创建多层目录, 使用的命令是mkdir
, 后边参数是要创建的目录的名字, 如果是多层目录需要添加参数-p
。
# 单层目录
$ mkdir 新目录的名字
# 多层目录, 需要加参数 -p
$ mkdir parent/child/baby1/baby2 -p
删除目录
如果要删除已经存在的路径一共有两种方式, 可以使用rmdir
或者rm
rmdir
: 只能删除空目录,有点low,不好用rm
: 可以删除文件也可以删除目录, 如果删除的的是目录, 需要加参数-r
, 意思是递归(recursion)
rm
命令还有另外两个经常使用的参数:
-i
: 删除的时候给提示-f
: 强制删除文件, 没有提示直接删除并且不能恢复, 慎用
# 1. low, 矮穷矬, 只能删除空目录
$ rmdir 目录名
# 2. 高大上, 可以删除目录也可以删除文件
# 删除目录需要加参数 -r, 递归的意思, 删除之后是不能恢复的
$ rm 目录名 -r
示例:
# 删除时不给提示
rm -rif c
# 删除时给提示
rm -rfi c
tips:i
和 f
同时用的话,谁写在后面谁生效。
18、文件的拷贝
cp 就是copy, 拷贝, 使用这个命令可以拷贝文件也可以拷贝目录
-
拷贝文件 =>
文件不存在得到新文件, 文件存在就覆盖
# `语法: cp 要拷贝的文件 得到的文件` # `场景1: 文件A, 将A拷贝一份得到文件B` $ cp 文件A 文件B # `场景2: 文件A存在的, 文件B也是存在的, 执行下边的拷贝 ==> 文件A覆盖文件B` $ cp 文件A 文件B
-
拷贝目录 ==>
目录不存在得到新目录, 该目录被拷贝到存在的目录中
# 拷贝目录需要参数 -r # 场景1: 目录A, 通过拷贝得到不存在的目录B $ cp 目录A 目录B -r # 场景2: 目录A存在的, 目录B也是存在的, 执行下边的拷贝 ==> 目录A会被拷贝并将其放到目录B中 $ cp 目录A 目录B -r # 场景3: 把A目录里的某一个或者多个文件拷贝到B目录中 $ cp A/a.txt B # 拷贝 A目录中的 a.txt 到目录B中 $ cp A/* B -r # 拷贝 A目录中的所有文件到目录B中, 不能确定A目录中是否有子目录, 因此需要加 -r
19、mv 命令
mv 就是move, 这个Linux命令既能移动文件所在目录也可以给文件改名。
-
文件的移动
# 语法: mv 要移动的文件目录 # 有一个文件A, 移动到目录B中 # 其中A可以是文件也可以是目录, B必须是目录而且必须是存在的 $ mv A B
-
文件改名
# 语法: mv 要改名的文件 新名字(原来是不存在的,这点很重要) # 其中A可以是文件也可以是目录,并且是存在的, B原来是不存在的 $ mv A B
-
文件覆盖
# 语法: mv 存在文件A 存在的文件B # 其中A是文件(非目录)并且是存在的, B也是一个文件(非目录)并且也存在 # A文件中的内容覆盖B文件中的内容, A文件被删除, 只剩下B文件 $ mv A B
20、查看文件内容的相关命令
如果想要查看文件内容方式有很多, 最常用的是
vim
, 下面介绍一下vim
以外的一些的一些方式:
-
cat
该命令可以将文件内容显示到终端, 由于终端是有缓存的, 因此能显示的字节数也是受限制的。
如果文件太大数据就不能完全显示出来了,因此该命令适合查看比较小的文件内容。
$ cat 文件名
-
more
该命令比
cat
要高级一点, 我们可以以翻屏的方式查看文件中的内容,使用方式如下:$ more 文件名 # 快捷键 - 回车: 显示下一行 - 空格: 向下滚动一屏 - b: 返回上一屏 - q: 退出more
-
less
该命令和
more
命令差不多, 我们可以以翻屏的方式查看文件中的内容,使用方式如下:$ less 文件名 # 快捷键 - b: 向上翻页 - 空格: 向后翻页 - 回车: 显示下一行 - 上下键: 上下滚动 - q:退出
-
head
使用该命令可以查看文件头部的若干行信息, 使用方式如下:
# 默认显示文件的前10行 $ head 文件名 # 指定显示头部的前多少行 $ head -行数 文件名
-
tail
使用该命令可以查看文件尾部的若干行信息, 使用方式如下:
# 默认显示文件的后10行 $ tail 文件名 # 指定显示尾部的最后多少行 $ tail -行数 文件名
21、给文件创建软连接或硬链接
链接分两种类型:
软连接
和硬链接
。软连接相当于windows中的快捷方式,硬链接前边也已经介绍过了文件并不会进行拷贝,只是多出一个新的文件名并且硬链接计数会加1。
-
软连接
基本语法格式:
ln -s 源文件路径 软链接文件的名字(可以带路径)
示例:
# 查看目录文件 [root@VM-8-14-centos ~/luffy]# ll total 8 drwxr-xr-x 3 root root 4096 Jan 25 17:27 get -rw-r--r-- 1 root root 37 Jan 25 17:26 onepiece.txt # 给 onepiece.txt 创建软连接, 放到子目录 get 中 [root@VM-8-14-centos ~/luffy]# ln -s /root/luffy/onepiece.txt get/link.lnk [root@VM-8-14-centos ~/luffy]# ll get total 4 lrwxrwxrwx 1 root root 24 Jan 25 17:27 link.lnk -> /root/luffy/onepiece.txt drwxr-xr-x 2 root root 4096 Jan 24 21:37 onepiece
在创建软链接的时候, 命令中的
源文件路径
建议使用绝对路径, 这样才能保证创建出的软链接文件在任意目录中移动都可以访问到链接的那个源文件。tips:软链接文件以
.lnk
结尾,且软链接更换目录后会失效。 -
硬链接
基本语法格式:
ln 源文件 硬链接文件的名字(可以带路径)
示例:
# 创建硬链接文件, 放到子目录中 [root@VM-8-14-centos ~/luffy]# ln onepiece.txt get/link.txt # 查看链接文件和硬链接计数, 从 1 --> 2 [root@VM-8-14-centos ~/luffy]# ll get total 8 lrwxrwxrwx 1 root root 24 Jan 25 17:27 link.lnk -> /root/luffy/onepiece.txt -rw-r--r-- 2 root root 37 Jan 25 17:26 link.txt drwxr-xr-x 2 root root 4096 Jan 24 21:37 onepiece
硬链接和软链接不同, 它是通话文件名直接找对应的硬盘地址, 而不是基于路径, 因此
源文件
使用相对路径即可, 无需为其制定绝对路径。tips:
- 创建硬链接后,硬链接计数会增加;
- 目录是不允许创建硬链接的;
- 硬链接源文件路径不需要绝对路径,只需要相对路径;
- 软链接源文件路径使用绝对路径。