文件管理
 ● cp 复制文件
cp /路径(原文件) /路径(复制文件)/文件重命名(可选)
   -i:覆盖前询问
   -r:递归复制目录及内部内容
  -a:归档,相当于-dr --preserv=all
  -d:只复制链接,不复制原文件
  -v:查看复制过程
  -f:强制覆盖(复制文件并重新命名时,若文件名存在,将原文件删除再建)
  -u:只复制源比目标文件更新或目标不存在的文件
  -b:如目标存在,覆盖前先备份,形式为filename~
  --backup=numbered:目标如存在,覆盖前先备份加数字后缀
  --preserv
  =mode:权限
  =ownership:所有者所属组
  =timestamp:时间
  -p:等同于--preserv=mode,ownership,timestamp


● 文件类型

   -:普通
   b:块文件
   s:套接文件
   l:软连接文件
   d:文件夹,目录
   c:字符文件
   p:管道文件


~bash.rc:别名存放目录
alias cp ='cp -i' 定义别名
\cp:使用原始cp命令,不使用别名


● mv (move)移动/重命名文件
   -i:交互式
   -f:强制
   -b:若目标存在,覆盖前先备份


● rm 删除
rm [ OPTION ]... FILE...
   -i:交互式,删除时询问
   -f:强制删除,不提示
   -r:递归删除,从父目录开始



目录操作
● tree 显示目录结构
   -d:只显示文件夹
   -L:制定显示的层级数(tree -d /路径 -L 层级数)
   -P:建立多级目录,如上级目录不存在,则自动建立。


● mkdir 建目录
   -p:存在于不报错,且可自动创建所需的各目录
   -v:显示详细信息
   -m:创建目录时直接指定权限


● rmdir 删除空目录
   -p:递归删除父空目录,从下级向上级删除
   -v:显示详细信息



索引节点
● 节点编号
   ls -il:查看文件节点编号
   \df -i:查看节点编号使用率



硬链接、软连接
● 硬链接:
   ln filename [ linkname ]
● 软连接
   ln -s filename [ linkname ]


确定文件内容
 ● file [ OPTIONS ]<filename>
   -b 列出文件辨识结果时,不显示文件名称
   -f filelist 列出文件filelist中文件名的文件类型
   -F 使用指定分隔符号替换输出文件名后默认的”:”分隔符
   -L 查看对应软链接对应文件的文件类型



vim 文本编辑器

vim [ OPTION ]... FILE...
   +# 打开文件后,让光标处于第#行的行首,+默认行尾
   +/PATTERN 让光标处于第一个被PATTERN匹配到的行的行首
   –b file 二进制方式打开文件
   –d file1 file2… 比较多个文件
   -m file 只读打开文件


● 三种主要模式:
 ●命令(Normal)模式:默认模式,移动光标,剪切/粘贴文本

●插入(Insert)或编辑模式:修改文本

●扩展命令(extended command )模式:保存,退出等

常见命令:
   w 写(存)磁盘文件
   wq 写入并退出
   x 写入并退出
   q 退出
   q! 不存盘退出,即使更改都将丢失
   r filename 读文件内容到当前文件中
   w filename 将当前文件内容写入另一个文件
   !command 执行命令
   r!command 读入命令的输出

● 模式转化
   命令模式 --> 插入模式
   i insert, 在光标所在处输入
   I 在当前光标所在行的行首输入
   a append, 在光标所在处后面输入
   A 在当前光标所在行的行尾输入
   o 在当前光标所在行的下方打开一个新行
   O 在当前光标所在行的上方打开一个新行
 ● 关闭文件
   >扩展命令模式:
   :q 退出
   :q! 强制退出,丢弃做出的修改
   :wq 保存退出
   :x 保存退出
   >命令模式:
   ZZ 保存退出
   ZQ 不保存退出

● 字符间跳转:
h: 左 l: 右 j: 下 k: 上
COMMAND:跳转由#指定的个数的字符

● 单词间跳转:
  w:下一个单词的词首
  e:当前或下一单词的词尾
  b:当前或前一个单词的词首
COMMAND:由#指定一次跳转的单词数

● 当前页跳转:
  H:页首 M:页中间行 L:页底
  zt:将光标所在当前行移到屏幕顶端
  zz:将光标所在当前行移到屏幕中间
  zb:将光标所在当前行移到屏幕底端

● 行首行尾跳转:
  ^ 跳转至行首的第一个非空白字符
  0 跳转至行首
  $ 跳转至行尾

● 行间移动:
  #G 或者扩展命令模式下:# 跳转至由第#行
  G 最后一行
  1G, gg 第一行

● 句间移动:
  ) 下一句 ( 上一句

● 段落间移动:
  } 下一段 { 上一段


● 命令模式翻屏操作
   Ctrl+f 向文件尾部翻一屏
   Ctrl+b 向文件首部翻一屏
   Ctrl+d 向文件尾部翻半屏
   Ctrl+u 向文件首部翻半屏

● 命令模式操作
   >字符编辑:
   x 删除光标处的字符
   #x 删除光标处起始的#个字符
   xp 交换光标所在处的字符及其后面字符的位置
   ~ 转换大小写
   J 删除当前行后的换行符

>替换命令(r, replace)
   r 替换光标所在处的字符
   R 切换成REPLACE模式

> 删除命令:
   d 删除命令,可结合光标跳转字符,实现范围删除
   d$ 删除到行尾
   d^ 删除到非空行首
   d0 删除到行首
   dw
   de
   db
   #COMMAND

dd:删除光标所在的行
   #dd 多行删除

D:从当前光标位置一直删除到行尾,等同于d$

2019.5.13-5.17知识点:文件管理、目录操作、索引节点、软硬链接,vim文本编辑 知识点的更多相关文章

  1. 2019年9月17 发布 Java 13

    Java 13 明天发布,最新最全新特性解读   2017年8月,JCP执行委员会提出将Java的发布频率改为每六个月一次,新的发布周期严格遵循时间点,将在每年的3月份和9月份发布. 目前,JDK官网 ...

  2. Java 9 ← 2017,2019 Java → 13 ,都发生了什么?

    距离 2019 年结束,只剩下 35 天了.你做好准备迎接 2020 年了吗? 一到年底,人就特别容易陷入回忆和比较之中,比如说这几天, 的对比挑战就火了! 这个话题登上了微博的热搜榜,也刷爆了朋友圈 ...

  3. Java 9 ← 2017,2019 → Java 13,来看看Java两年来的变化

    距离 2019 年结束,只剩下 33 天了.你做好准备迎接 2020 年了吗? 一到年底,人就特别容易陷入回忆和比较之中,比如说这几天的对比挑战就火了! 这个话题登上了微博的热搜榜,也刷爆了朋友圈, ...

  4. 13.1.17 CREATE TABLE Syntax

    13.1.17 CREATE TABLE Syntax 13.1.17.1 CREATE TABLE ... LIKE Syntax 13.1.17.2 CREATE TABLE ... SELECT ...

  5. 每日一练ACM 2019.04.13

    2019.04.13 第1002题:A+B Proble Ⅱ Problem DescriptionI have a very simple problem for you. Given two in ...

  6. mac文本操作小技巧——2019年10月17日

    声明:看的别人博主写的,自己整理的,非原创,只是自用. mac文本操作技巧 官方指导文档:https://support.apple.com/zh-cn/HT201236 1.光标移动 1.1 行首. ...

  7. Shell命令-文件及目录操作之ls、cd

    文件及目录操作 - ls.cd 1.ls:列出目录的内容及其内容属性信息 ls命令的功能说明 ls命令用于列出目录的内容及其内容属性信息. ls命令的语法格式 ls [OPTION]... [FILE ...

  8. [Beautifulzzzz的博客目录] 快速索引点这儿O(∩_∩)O~~,红色标记的是不错的(⊙o⊙)哦~

    3D相关开发 [direct-X] 1.direct-X最小框架 [OpenGL] 1.环境搭建及最小系统 [OpenGL] 2.企业版VC6.0自带的Win32-OpenGL工程浅析 51单片机 [ ...

  9. Shell命令-文件及目录操作之touch、tree

    文件及目录操作 - touch.tree 1.touch:创建文件或更改文件时间戳 touch命令的功能说明 touch命令用于创建新的空文件或改变已有文件的时间戳属性. touch命令的语法格式 t ...

随机推荐

  1. git显示不出来图标标志

    git操作的文件夹,发现没有显示出来是否上传的绿色图标,这样导致不清楚哪些文件是否修改,是否上传. 以下方法让我的问题解决了,但我并不知道是不是所有人的问题都适用这种方法,如果你也遇到这种问题,可以尝 ...

  2. springboot整合es客户端操作elasticsearch(二)

    在上章节中整合elasticsearch客户端出现版本问题进行了处理,这章来进行springboot整合得操作 环境:elaticsearch6.2.1,springboot 2.1.8 客户端版本采 ...

  3. ip地址查询python3小工具_V0.0.1

    看到同事在一个一个IP地址的百度来确认导出表格中的ip地址所对应的现实世界的地址是否正确,决定给自己新开一个坑.做一个查询ip“地址”的python小工具,读取Excel表格,在表格中的后续列输出尽可 ...

  4. idea配置glassFish

    FIile ---> settings ---> 查找Application Server .. 点击加号,, 点击glassFish Server.. 找到glassFish存放路径 点 ...

  5. Kubernetes基石-pod容器

    引用三个问题来叙述Kubernetes的pod容器 1.为什么不直接在一个Docker容器中运行所有的应用进程. 2.为什么pod这种容器中要同时运行多个Docker容器(可以只有一个) 3.为什么k ...

  6. 通过模板创建一个ABP项目

    ⒈下载 进入ABP模板页面,选择模板后下载 ⒉运行 1.初始化数据库 修改xxxx.Migrator.xxxx.Web.Host appsettings.json中的连接字符串 2.还原数据库 在Nu ...

  7. Invoker(小DP)

    题意:http://acm.hdu.edu.cn/showproblem.php?pid=6739 尽量让他们连起来. 思路: 直接dp,其中一个状态是以什么结尾. #define IOS ios_b ...

  8. django F与Q查询 事务 only与defer

    F与Q 查询 class Product(models.Model): name = models.CharField(max_length=32) #都是类实例化出来的对象 price = mode ...

  9. 在Windows平台上运行Tomcat

    从之前的学习中知道,可以调用Bootstrap类将Toomcat作为一个独立的应用程序来运行,在Windows平台上,可以调用startup.bat批处理文件来启动Tomcat,或运行shutdown ...

  10. mybatis+oracle批量插入报不符合协议和sql未正确结束

    在Java中循环save,需要加useGeneratedKeys="false",否则报错不符合协议 mybatis批量插入,也需要在insert里加入 useGeneratedK ...