文件处理命令

touch

  • 命令名称:touch
  • 执行权限:所有用户
  • 功能描述:创建空文件
  • 语法:touch [文件名]

touch创建文件的时候命名不推荐存在空格,如下面的情况

1touch program files
2这将创建两个文件,program和files。不过,这也说明我们可以用touch同时创建多个文件
3
4如果想要创建带空格的文件,应该这样写
5touch "program files"
6
7不过,在实际操作中,除非必要,否则不推荐起含有空格文件名的文件。

cat

  • 命令名称:cat
  • 执行权限:所有用户
  • 功能描述:显示文件内容
  • 语法:cat [文件名]
  • -n:显示行号

cat适合查看内容较少的文件,如果文件内容过多推荐使用more命令或less命令

tac

  • 命令名称:tac
  • 执行权限:所有用户
  • 功能描述:显示文件内容(倒过来显示,从最后一行开始)
  • 语法:tac [文件名]

more

  • 命令名称:more
  • 执行权限:所有用户
  • 功能描述:分页显示文件内容
  • 语法:more [文件名]
  • 操作:
  • 空格或f:翻页(一页一页显示)
  • b:前一页
  • enter:换行(一行一行显示)
  • q或Q:退出

less

  • 命令名称:less
  • 执行权限:所有用户
  • 功能描述:分页显示文件内容
  • 语法:less [文件名]

与more命令一样也是分页显示文件,它可以向上翻页(通过PgUp键),它也可以搜索某个字段在文件中出现的位置,用/你要搜索的字段来搜索

head

  • 命令名称:head
  • 执行权限:所有用户
  • 功能描述:显示文件前几行内容
  • 语法:head [文件名]
  • -n:指定行数

默认查询前十行

tail

  • 命令名称:tail
  • 执行权限:所有用户
  • 功能描述:显示文件后几行内容
  • 语法:tail [文件名]
  • -n:指定行数
  • -f:动态显示文件末尾内容

默认查询后十行

-f显示的文件最后几行后并没有返回到命令行,当这个文件发生变化的时候(如新增),这个变化也会动态的显示在屏幕上。

ln

  • 命令名称:ln
  • 英文原意:link
  • 执行权限:所有用户
  • 功能描述:生成链接文件
  • 语法:ln -s [原文件] [目标文件]
  • -s:创建软链接
1root@atomy-virtual-machine:/tmp# ln -s /etc/issue /tmp/issue.soft
2root@atomy-virtual-machine:/tmp# ln /etc/issue /tmp/issue.hard

上面两条命令,第一条是生成issue文件的软链接(软链接要加上-s),第二条是生成文件的硬链接。

硬链接

硬链接是通过索引节点进行的链接。在Linux中,多个文件指向同一个索引节点是允许的,像这样的链接就是硬链接。硬链接只能在同一文件系统中的文件之间进行链接,不能对目录进行创建。如果删除硬链接对应的源文件,则硬链接文件仍然存在,而且保存了原有的内容,这样可以起到防止因为误操作而错误删除文件的作用。由于硬链接是有着相同 inode 号仅文件名不同的文件,因此,删除一个硬链接文件并不影响其他有相同 inode 号的文件。

硬链接可由命令 link 或 ln 创建,如:

1link oldfile newfile 
2ln oldfile newfile

软链接

软链接(也叫符号链接)与硬链接不同,文件用户数据块中存放的内容是另一文件的路径名的指向。软链接就是一个普通文件,只是数据块内容有点特殊。软链接可对文件或目录创建。

软链接主要应用于以下两个方面:一是方便管理,例如可以把一个复杂路径下的文件链接到一个简单路径下方便用户访问;另一方面就是解决文件系统磁盘空间不足的情况。例如某个文件文件系统空间已经用完了,但是现在必须在该文件系统下创建一个新的目录并存储大量的文件,那么可以把另一个剩余空间较多的文件系统中的目录链接到该文件系统中,这样就可以很好的解决空间不足问题。删除软链接并不影响被指向的文件,但若被指向的原文件被删除,则相关软连接就变成了死链接。

使用-s选项的ln命令即可创建符号链接,命令如下:

1ln -s old.file soft.link
2ln -s old.dir soft.link.dir

扩展

inode叫做索引节点号,这是Linux文件系统管理文件的方式。在建立文件系统时,会建立一个索引节点表,里面包含一定数量的索引节点。每当建立一个文件时,就会为他分配一个索引节点号,相当于文件的地址。

简单来说,软链接就是原文件的一种快捷方式,它的权限是lrwxrwxrwx,所占用的内存很小;硬链接就除了 文件存放位置不同,几乎和原文件一样。

硬链接和cp的不同(硬链接的特征)

  1. 相当于拷贝cp -p + 同步更新
  2. 通过i节点识别
  3. 不能跨分区
  4. 不能针对目录使用

Linux学习笔记:Linux命令之文件处理命令的更多相关文章

  1. Linux学习笔记-Linux系统简介

    Linux学习笔记-Linux系统简介 UNIX与Linux发展史 UNIX是父亲,Linux是儿子. UNIX发行版本 操作系统 公司 硬件平台 AIX IBM PowerPC HP-UX HP P ...

  2. Linux学习笔记(一):常用命令

    经过统计Linux中能够识别的命令超过3000种,当然常用的命令就远远没有这么多了,按照我的习惯,我把已经学过的Linux常用命令做了以下几个方面的分割: 1.文件处理命令 2.文件搜索命令 3.帮助 ...

  3. linux 学习3 第四讲 文件常用命令

    好几天没有在网上总结了.我把ppt先誊写在本子上,这样听的时候记录就方便很多,添些东西就可以. 我想先看shell那部分,但是没有之前几章的准备,是没法跟着视频动手操作的.所以还是按部就班得学习. 虽 ...

  4. Linux学习笔记(一):常用命令(1)

    经过统计Linux中能够识别的命令超过3000种,当然常用的命令就远远没有这么多了,按照我的习惯,我把已经学过的Linux常用命令做了以下几个方面的分割: 1.文件处理命令 2.文件搜索命令 3.帮助 ...

  5. #Linux学习笔记# Linux系统查看文件内容的命令

    1.cat 连结多个文件的内容并显示在屏幕上:如果没有指定文件或文件名为“-”,则读取标准输入.语法如下: cat [option] ... [file] ... 常用的选项有: 选项-n:编号所有行 ...

  6. linux达人养成计划学习笔记(二)—— 文件查找命令

    一.locate命令 1.命令格式: locate 文件名 2.locate在后台数据库中按文件名搜索,速度快,locate命令所搜索的后台数据库 /var/lib/mlocate 3.后台数据库跟新 ...

  7. Linux学习笔记——切换并取代用户身份命令——su

        再次从头好好的学习Linux,本着以免轻易忘记,以备后用的原则,将我觉得常用或者好玩的linux命令记录在这,注意:我的实验环境是 Ubuntu 14.04.1 su 这个命令我经常使用,因为 ...

  8. Linux学习笔记(二)——文件/目录/VIM

    文件和目录管理 及 VI编辑器的使用 文件和目录管理,刚开始学这块的时候感觉内容很多很杂,但是学完进行总结后,发现其实很有条理的而且没什么难度,只是熟练掌握这些常用的命令就行了.至于Vim编辑器,不得 ...

  9. Linux学习笔记(6)-文件I/O

    持续一个礼拜的出差终于结束了,本次出差真是收益良多,不仅品尝了正宗的大闸蟹,同时也是第一次体验了产品的现场实施流程. 明天开始继续学习Linux! ----------------------分割线- ...

  10. Linux学习笔记(14)文件系统管理

    1 回顾分区与系统 (1)分区类型 Linux的分区一般包括主分区,扩展分区和逻辑分区.其中: 主分区最多只能分4个: 扩展分区只能有一个,也算作主分区的一种,即主分区加扩展分区最多有4个.但扩展分区 ...

随机推荐

  1. AZscaaner源码解读之数据库连接(一)

    准备开个新坑,但是可能近期不会更新,先写一篇开个头. sqlalchemy 目前在Python中使用得比较多的是sqlalchemy,sqlalchemy是一个对象关系映射(ORM).sqlalche ...

  2. Nacos使用 MySQL 8.0 提示Public Key Retrieval is not allowed

    原因如下(参考官网给出的连接选项): 如果用户使用了 sha256_password 认证,密码在传输过程中必须使用 TLS 协议保护,但是如果 RSA 公钥不可用,可以使用服务器提供的公钥:可以在连 ...

  3. 异常检测算法Robust Random Cut Forest(RRCF)关键定理引理证明

    摘要:RRCF是亚马逊发表的一篇异常检测算法,是对周志华孤立森林的改进.但是相比孤立森林,具有更为扎实的理论基础.文章的理论论证相对较为晦涩,且没给出详细的证明过程.本文不对该算法进行详尽的描述,仅对 ...

  4. 项目展示$\alpha$

    项目 内容 课程:北航-2020-春-软件工程 博客园班级博客 要求 强制转会与项目展示 我们在这个课程的目标是 提升团队管理及合作能力,开发一项满意的工程项目 这个作业在哪个具体方面帮助我们实现目标 ...

  5. Java7中Switch为什么只支持byte、short、char、int、String

    Java 7中,switch的参数可以是String类型了,这对我们来说是一个很方便的改进.到目前为止switch支持这样几种数据类型:byte short int char String .但是,作 ...

  6. 企业是否可以用CRM做邮件营销?

    最近总有一些从事外贸,跨境电商的朋友问小Z:"我的企业能用CRM做邮件营销吗?" 我回答:"能,Zoho CRM系统不但能用来发营销邮件,还发得聪明.发得到位." ...

  7. [bug] vscode output 输出乱码

    参考 https://blog.csdn.net/qq_34192032/article/details/105077173 https://blog.csdn.net/a19990412/artic ...

  8. 047.Python前端html

    一  HTTP协议 1.1 HTTP请求 URL: 协议/IP:端口/路径?GET参数 基于请求响应 请求协议格式 GET URL路径?a=1&b=2 HTTP # 请求首行 user-age ...

  9. MyBatis 动态SQL(十二)

    动态条件查询 以下是我们数据库表 tb_user 的记录: 假设现在有一个需求,就是根据输入的用户年龄和性别,查询用户的记录信息.你可能会说,这太简单了,脑袋里立马蹦出如下的 SQL 语句: SELE ...

  10. mysql事务实现方式

    事务是由一组SQL语句组成的逻辑处理单元,事务具有4属性,通常称为事务的ACID属性. 原子性(Actomicity):事务是一个原子操作单元,其对数据的修改,要么全都执行,要么全都不执行. 由und ...