文章目录
- pwd显示当前工作路径的绝对路径
- ls列出目录的内容
- cd切换目录
- mkdir 创建一个新的目录
- 删除一个空的目录
- touch创建新文件
- cp复制文件或目
- rm删除文件或目录
- mv移动文件与目录,重命名文件
- cat查看文件内容,创建新文件
- more文件内容分屏查看
- less分屏显示文件内容
- echo 输出内容
- head 显示文件的头部信息
- tail输出文件尾部内容
- > 输出重定向和 >> 追加
- ln 软链接
 
写在前面:文章讲解了Linux文件操作相关的命令
Shell 可以看作成一个命令解释器,为我们提供了交互式的文本控制界面,我们可以通过控制台来输入命令,由sell进行解释并最终交给内核执行。类似于python的交互窗口,即输出即输出,每一步命令都会立即执行并返回结果。
pwd显示当前工作路径的绝对路径
全称:print working directory 打印工作目录的绝对路径
 用法:pwd
实例:
 
 拓展知识:
 绝对路径:相对的根节点的路径,是在计算机上真是存在唯一确定的路径
 相对路径:相对于工作路径的路径,只是相对于某个目录的文件位置,参考的目录不同结果也不同
ls列出目录的内容
全称:list 列出目录内容
 用法:ls [选项][目录文件]
| 选项 | 作用 | 
|---|---|
| -a | 显示所有文件 | 
| -l | 显示更加详细的文件信息 ls -l简写形式ll | 
还有一些其他的选项,
实例:
 
 选项可以同时用
 
 查看指定目录下的结构
 
拓展知识:
 以.开头的文件夹是隐藏文件夹
 ..上一级目录(cd 命令会用到)
 .当前目录
cd切换目录
全称:Change directory 切换工作路径
 用法:cd [参数]
| 命令 | 作用 | 
|---|---|
| cd 绝对路径/相对路径 | 根据给的路径进行切换路径 | 
| cd .. | 回到当前目录的上一级目录 | 
| cd - | 返回上一次所在的目录 | 
| cd | 回到该用户的家目录 | 
| cd . | 当前目录 | 
实例:
 
mkdir 创建一个新的目录
全称:make directory 创建一个新的目录
 用法:mkdir [选项] 需要创建的目录名
| 选项 | 作用 | 
|---|---|
| -p | 创建多级目录 | 
实例:
 创建一个目录,创建多级目录
 
删除一个空的目录
全称:remove directory 删除一个空目录
 用法:rmdir 需要删除的目录
| 选项 | 作用 | 
|---|---|
| -p | 删除多级目录 | 
实例:
 删除上面创建的fish1 和fish2文件夹,注意这个命令只能删除空目录,如果目录不为空,会发生报错
 
 可以同时删除多个目录,目录之间用空格隔开
# 同时删除dir1 dir2
rmdir dir1 dir2
通过-p参数可以实现多级目录的删除,删除多级目录的时候只有目录为空才可以删除
 例: 删除aa/bb/cc 先判断cc目录是否为空,为空删除,然后判断bb目录,为空删除,若非空,退出删除,后面依次循环上述操作
 
touch创建新文件
全称:touch
 用法:touch 需要创建的文件名
 实例:在当前目录下创建aa.txt文件
 
 在root文件夹下创建aa.txt文件
 
 拓展知识:
 使用vim,vi,也可以创建文件,
 许多指令结合 > 、>>都可以创建文件和向文件中写入内容
cp复制文件或目
全称:copy 复制文件
 用法:cp [选项] source dest 复制source到 dest
| 选项 | 作用 | 
|---|---|
| -r | 递归复制整个文件夹 | 
source 源文件/目录
 dest 目标文件/目录
 实例:
 将aa.txt复制到aa目录下
 
 当最后指定的不是一个目录而是一个文件的时候,会让你选择是否覆盖:y覆盖n不覆盖取消复制
 
 复制整个目录下的文件夹到另一个目录
 
拓展知识:
 \cp 强制覆盖且不提示
rm删除文件或目录
全称:remove 删除一个目录或文件
 用法:rm [选项] 需要删除的目录/文件
| 选项 | 作用 | 
|---|---|
| -r | 递归删除目录中所有的内容 | 
| -f | 强制执行删除,不提示 | 
| -v | 显示指令的详细执行过程 | 
实例:
 删除一个普通的文件
 
 删除目录中的所有内容(该目录也会被删除)
 
拓展知识:
 删除一个目录下的所有文件可以使用
 /* * 代表所有的内容
mv移动文件与目录,重命名文件
全称:move 移动文件或者重名文件
 用法:
- mv 原文件名 新文件名重命名
- mv 原文件地址 要移动到的地址移动文件夹
实例:
 将aa.txt,重命名为bb.txt
 
 将bb.txt文件移动到根目录下,移动之后本地就没有了
 
 移动并且重命名

cat查看文件内容,创建新文件
全称:concatenate 查看文件内容,从第一行开始显示
 用法:cat [选项] 要查看的文件
| 选项 | 作用 | 
|---|---|
| -n | 显示所有行的行号,包括空行 | 
| -b | 显示行号,不包括空行 | 
| -s | 当遇到有连续两行以上的空白行,就代换为一行的空白行。 | 
实例:
查看文件内容
 
 创建文件并写入数据
 
 向文件最后追加内容
 
 拓展知识:
 cat看可以查看文件,创建文件,清空文件,追加文件内容
 cat通常用于查看文件内容较小的,内容不多的
more文件内容分屏查看
全称:more 基于vi编辑器的文本过滤器,它以全屏幕的方式按页显示文件内容
 用法:more 要查看的文件
| 操作 | 作用 | 
|---|---|
| 空格 | 向下翻页 | 
| Enter | 向下一行 | 
| b | 向上翻页 | 
| q | 退出more | 
| = | 输出屏幕中最下面一行的行号 | 
| :f | 输出文件名和当前行号 | 
| Ctrl +F | 向下滚动一屏 | 
| Ctrl +B | 向上滚动一屏 | 
实例:
 
less分屏显示文件内容
全称:less 与more非常相似,功能比more更加的强大,less在加载文件的时候,并不是一次性加载完,而是根据需要进行加载。
 用法:less 要查看文件
 实例:
| 操作 | 作用 | 
|---|---|
| 空格 | 向下翻页 | 
| Enter | 向下一行 | 
| b | 向上翻页 | 
| q | 退出more | 
| G | 跳转到末尾 | 
| g | 跳转到开头 | 
| /关键字 | 查找关键字 n向下,N向上 | 
| = | 输出屏幕中最下面一行的行号 | 
| :f | 输出文件名和当前行号 | 
| Ctrl +F | 向下滚动一屏 | 
| Ctrl +B | 向上滚动一屏 | 
拓展知识:
 对于大文件使用less相比使用more的效率更高。
echo 输出内容
全称:echo 输出内容到控制台
 用法:echo [选项] [输出内容]
| 选项 | 作用 | 
|---|---|
| -e | 支持转义字符 | 
实例:

 查看系统变量
 
 输出系统的PATH
 
 将环境变量写入到文件中
 
拓展知识:
 配合 > >>,可以将输出的内容写入到文件中,文件不存在可以创建文件
head 显示文件的头部信息
全称:head 用于显示文件开头部分的内容,默认显示前10行
 用法:head [选项] 文件 显示文件的前少行内容
| 选项 | 作用 | 
|---|---|
| -n 数字 | 指定显示文件头部的行数 | 
实例:
 显示文件的前10行和前3行
 
tail输出文件尾部内容
全称:tail 显示文件尾部的内容,默认文件末尾的后10行
 用法:tail [选项] 文件
| 选项 | 作用 | 
|---|---|
| -n 数字 | 指定显示文件尾部的行数 | 
| -f | 实时追踪该文档 所有的更新 | 
实例:
 输出文件的后10行和后4行
 
拓展知识:
 tail -f 文件 适合用于监控日志文件,执行后并不会退出,一直监控内容的变化
> 输出重定向和 >> 追加
需要配合其他命令的使用
| 操作 | 作用 | 
|---|---|
| ls -l > 文件 | 将输出的内容写入指定文件中,文件不存在则创建文件,文件存在则覆盖文件 | 
| ls -al >> 文件 | 将输出的内容追加到文件的最后 | 
| cat 文件1 > 文件2 | 将文件1中的内容覆盖到文件2 | 
| echo 内容 >> 文件 | 将输出的内容追加到指定文件中 | 
| … | … | 
能输出到控制台的都可以使用 > >>将内容写进文件内
 相应的操作有好多
ln 软链接
ln:link
 软链接也称为符号链接,类似于windows里的快捷方式
基本语法
 ln -s 原文件或目录 软链接名 给原文件创建一个软链家
删除软链接
rm -rf 软链接名 千万不能使用 rm -rf 软链接名/ 这样就代表删除的是原文件的内容
实例
 创建软链接
 
关于Linux文件操作的指令就到这里,文章只是说明一些在使用过程中最常见的一些命令和选项,日常操作已经够用了。文章中如果有出错的地方也欢迎大家指出来




















