写在前面:文章讲解了Linux文件操作相关的命令
Shell 可以看作成一个命令解释器,为我们提供了交互式的文本控制界面,我们可以通过控制台来输入命令,由sell进行解释并最终交给内核执行。类似于python的交互窗口,即输出即输出,每一步命令都会立即执行并返回结果。
全称:print working directory
打印工作目录的绝对路径
用法:pwd
实例:
拓展知识:
绝对路径:相对的根节点的路径,是在计算机上真是存在唯一确定的路径
相对路径:相对于工作路径的路径,只是相对于某个目录的文件位置,参考的目录不同结果也不同
全称:list 列出目录内容
用法:ls [选项][目录文件]
选项 | 作用 |
---|---|
-a | 显示所有文件 |
-l | 显示更加详细的文件信息 ls -l 简写形式 ll |
还有一些其他的选项,
拓展知识:
以.
开头的文件夹是隐藏文件夹
..
上一级目录(cd 命令会用到)
.
当前目录
全称:Change directory 切换工作路径
用法:cd [参数]
命令 | 作用 |
---|---|
cd 绝对路径/相对路径 | 根据给的路径进行切换路径 |
cd .. |
回到当前目录的上一级目录 |
cd - |
返回上一次所在的目录 |
cd |
回到该用户的家目录 |
cd . |
当前目录 |
全称:make directory 创建一个新的目录
用法:mkdir [选项] 需要创建的目录名
选项 | 作用 |
---|---|
-p | 创建多级目录 |
全称:remove directory 删除一个空目录
用法:rmdir 需要删除的目录
选项 | 作用 |
---|---|
-p | 删除多级目录 |
实例:
删除上面创建的fish1 和fish2文件夹,注意这个命令只能删除空目录,如果目录不为空,会发生报错
可以同时删除多个目录,目录之间用空格隔开
# 同时删除dir1 dir2
rmdir dir1 dir2
通过-p
参数可以实现多级目录的删除,删除多级目录的时候只有目录为空才可以删除
例: 删除aa/bb/cc 先判断cc目录是否为空,为空删除,然后判断bb目录,为空删除,若非空,退出删除,后面依次循环上述操作
全称:touch
用法:touch 需要创建的文件名
实例:在当前目录下创建aa.txt
文件
在root文件夹下创建aa.txt文件
拓展知识:
使用vim,vi,也可以创建文件,
许多指令结合 >
、>>
都可以创建文件和向文件中写入内容
全称:copy 复制文件
用法:cp [选项] source dest 复制source到 dest
选项 | 作用 |
---|---|
-r | 递归复制整个文件夹 |
source
源文件/目录
dest
目标文件/目录
实例:
将aa.txt复制到aa目录下
当最后指定的不是一个目录而是一个文件的时候,会让你选择是否覆盖:y
覆盖n
不覆盖取消复制
复制整个目录下的文件夹到另一个目录
拓展知识:
\cp 强制覆盖且不提示
全称:remove 删除一个目录或文件
用法:rm [选项] 需要删除的目录/文件
选项 | 作用 |
---|---|
-r | 递归删除目录中所有的内容 |
-f | 强制执行删除,不提示 |
-v | 显示指令的详细执行过程 |
实例:
删除一个普通的文件
删除目录中的所有内容(该目录也会被删除)
拓展知识:
删除一个目录下的所有文件可以使用
/* * 代表所有的内容
全称:move 移动文件或者重名文件
用法:
mv 原文件名 新文件名
重命名mv 原文件地址 要移动到的地址
移动文件夹实例:
将aa.txt,重命名为bb.txt
将bb.txt文件移动到根目录下,移动之后本地就没有了
移动并且重命名
全称:concatenate 查看文件内容,从第一行开始显示
用法:cat [选项] 要查看的文件
选项 | 作用 |
---|---|
-n | 显示所有行的行号,包括空行 |
-b | 显示行号,不包括空行 |
-s | 当遇到有连续两行以上的空白行,就代换为一行的空白行。 |
实例:
查看文件内容
创建文件并写入数据
向文件最后追加内容
拓展知识:
cat看可以查看文件,创建文件,清空文件,追加文件内容
cat通常用于查看文件内容较小的,内容不多的
全称:more 基于vi编辑器的文本过滤器,它以全屏幕的方式按页显示文件内容
用法:more 要查看的文件
操作 | 作用 |
---|---|
空格 | 向下翻页 |
Enter | 向下一行 |
b | 向上翻页 |
q | 退出more |
= | 输出屏幕中最下面一行的行号 |
:f | 输出文件名和当前行号 |
Ctrl +F | 向下滚动一屏 |
Ctrl +B | 向上滚动一屏 |
全称:less 与more非常相似,功能比more更加的强大,less在加载文件的时候,并不是一次性加载完,而是根据需要进行加载。
用法:less 要查看文件
实例:
操作 | 作用 |
---|---|
空格 | 向下翻页 |
Enter | 向下一行 |
b | 向上翻页 |
q | 退出more |
G | 跳转到末尾 |
g | 跳转到开头 |
/关键字 | 查找关键字 n向下,N向上 |
= | 输出屏幕中最下面一行的行号 |
:f | 输出文件名和当前行号 |
Ctrl +F | 向下滚动一屏 |
Ctrl +B | 向上滚动一屏 |
拓展知识:
对于大文件使用less相比使用more的效率更高。
全称:echo 输出内容到控制台
用法:echo [选项] [输出内容]
选项 | 作用 |
---|---|
-e | 支持转义字符 |
实例:
拓展知识:
配合 >
>>
,可以将输出的内容写入到文件中,文件不存在可以创建文件
全称:head 用于显示文件开头部分的内容,默认显示前10行
用法:head [选项] 文件 显示文件的前少行内容
选项 | 作用 |
---|---|
-n 数字 | 指定显示文件头部的行数 |
全称:tail 显示文件尾部的内容,默认文件末尾的后10行
用法:tail [选项] 文件
选项 | 作用 |
---|---|
-n 数字 | 指定显示文件尾部的行数 |
-f | 实时追踪该文档 所有的更新 |
拓展知识:
tail -f 文件
适合用于监控日志文件,执行后并不会退出,一直监控内容的变化
需要配合其他命令的使用
操作 | 作用 |
---|---|
ls -l > 文件 | 将输出的内容写入指定文件中,文件不存在则创建文件,文件存在则覆盖文件 |
ls -al >> 文件 | 将输出的内容追加到文件的最后 |
cat 文件1 > 文件2 | 将文件1中的内容覆盖到文件2 |
echo 内容 >> 文件 | 将输出的内容追加到指定文件中 |
… | … |
能输出到控制台的都可以使用 >
>>
将内容写进文件内
相应的操作有好多
ln:link
软链接也称为符号链接,类似于windows里的快捷方式
基本语法
ln -s 原文件或目录 软链接名
给原文件创建一个软链家
删除软链接
rm -rf 软链接名
千万不能使用 rm -rf 软链接名/
这样就代表删除的是原文件的内容
关于Linux文件操作的指令就到这里,文章只是说明一些在使用过程中最常见的一些命令和选项,日常操作已经够用了。文章中如果有出错的地方也欢迎大家指出来