文件管理
 ● 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. three.js 之 透明物体不能正常显示

    这几天遇到一个需求,类似这个案例:http://www.hightopo.com/demo/FaultDetection/ 就是这个透明渐变呼吸光柱,看到之后就想着写个shader材质实现透明度渐变, ...

  2. git合并时忽略某个文件

    因为开发现场跟部署的环境不同,有很多ip地址每次都要改来改去;于是开两个分支master(用来保存部署现场的ip)和dev(开发环境的ip),开发功能时在dev分支,然后使用master合并,每个分支 ...

  3. MariaDB基本知识点总结01--介绍+语句

    一.概念 1.数据库介绍: 简单的说,数据库就是一个存放数据的仓库,这个仓库是按照一定的数据结构(数据结构是指数据的组织形式或数据之间的联系)来组织,存储的,我们可以通过数据库提供的多种方法来管理数据 ...

  4. Apache配置同一IP使用多域名对应多个网站

    CentOS下的Apache的配置是/etc/httpd/conf/httpd.conf vi /etc/httpd/conf/httpd.conf 添加 <VirtualHost *:80&g ...

  5. 基于JAVA Socket的底层原理分析及工具实现

    前言 在工作开始之前,我们先来了解一下Socket 所谓Socket,又被称作套接字,它是一个抽象层,简单来说就是存在于不同平台(os)的公共接口.学过网络的同学可以把它理解为基于传输TCP/IP协议 ...

  6. flume部署

    参考: 笔记 https://www.cnblogs.com/yinzhengjie/p/11183988.html 官网: http://flume.apache.org/documentation ...

  7. 小记--------spark的worker原理分析及源码分析

     

  8. Yii2.0 组件

    框架之所以是框架,是因为其强大,其封装了很多实用的功能,开发者可以开箱即用. 下边列举Yii2.0的部分组件: var_dump(Yii::$app->session->getId()); ...

  9. django 模块创建 同步数据表 使用方法

    1 配置数据库   100行左右 DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', # 'NAME': 'student ...

  10. Lua 截取字符串(截取utf-8格式字符串)

    对utf-8完全没概念的可以看看我上一篇随笔:简单说说utf-8编码格式 另外,还要知道string.sub 和 string.byte 的用法. 先上完整代码: local StringHelper ...