文件处理命令

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. hdu5256序列变换(非递减子序列)

    题意(中文直接粘吧)序列变换 Problem Description     我们有一个数列A1,A2...An,你现在要求修改数量最少的元素,使得这个数列严格递增.其中无论是修改前还是修改后,每个元 ...

  2. UVA11427玩纸牌(全概率+递推)

    题意:       一个人玩纸牌游戏,他每天最多玩n局,枚举获胜的概率是a/b,每天玩牌只要获胜概率达到p,那么他今天就不玩了,明天接着玩,如果有一天他的概率没有达到p,(没有达到p的话他今天一定是玩 ...

  3. Access+Mssql+Oracle数据库注入

    Access数据库注入 前言:在常见的注入测试中,由于每个数据库内置架构和应用不同,导致数据库类型将决定注入的手法,Access数据库是小型数据库类型,普遍用于小型WEB应用,其中Access注入手法 ...

  4. JSON数据显示在jsp页面上中文乱码的解决办法

    在@RequestMapping属性添加属性produces = "text/html;charset=utf-8",设置字符集为utf-8即可 代码如下: @RequestMap ...

  5. JDBC相关配置和操作

    获取数据库连接的几种方式 ps.数据库URL : String url = "jdbc:mysql://localhost:3306/dailytext?useSSL=false&s ...

  6. 大学四年因为分享了这些软件测试常用软件,我成了别人眼中的(lei)大神(feng)!

    依稀记得,毕业那天,我们辅导员发给我毕业证的时候对我说"你可是咱们系的风云人物啊",哎呀,别提当时多开心啦????,嗯,我们辅导员是所有辅导员中最漂亮的一个,真的???? 不过,辅 ...

  7. 【Mybatis源码解析】- 整体架构及原理

    整体架构 version-3.5.5 在深入了解Mybatis的源码之前,我们先了解一下Mybatis的整体架构和工作原理,这样有助于我们在阅读源码过程中了解思路和流程. 核心流程 在上一遍的入门程序 ...

  8. [bug] python3 pip 安装 MarkupSafe==1.0 失败:ImportError:cannot import name 'Feature' from 'setpools'

    解决 先升级pip到最新版本 python -m pip install --upgrade pip 再升级setuptools pip install --upgrade pip setuptool ...

  9. nohup /usr/local/node/bin/node /www/im/chat.js >> /usr/local/node/output.log 2>&1 &

    nohup和&后台运行,进程查看及终止   &后台运行 登出ssh终端,进程会被自动kill掉 但是nohup >>XX.log 2>&1 & 登出终 ...

  10. 【转载】在Linux系统下用dd命令制作ISO镜像U盘启动盘

    #### 将U盘插入USB接口 #umount /dev/sdb* #dd if=/iso存放路径/XXX.iso of=/dev/sdb bs=1M ##### [转载]在Linux系统下用dd命令 ...