linux创建文件

2023-11-03

转载自:https://www.cnblogs.com/lclq/p/5741852.html

Linux命令(1)-创建文件


1.可以使用cat创建一个新的文件

  命令:cat>>filename

  使用cat创建文件时,以系统默认的文件属性作为新文件的属性,并接受键盘输入作为文件的内容。输入结束时按Ctrl+d退出并保存文件。

  

  另外,使用cat filename命令可以查看文件内容。

  cat file1 file2 >> file3 命令也可将多个文件合并到一个新的文件当中。首先创建一个newfile1并输入内容然后合并。

  

2.使用touch命令创建文件

  首先,touch命令用的并不多,主要用于修改指定文件的访问和修改时间属性(Update the access and modification times of each FILE to the current time)。

  当文件不存在时,则创建一个新的文件。touch只能创建空文件。

  touch filename 以当前时间作为访问和修改时间属性值创建一个文件。

  touche -r existfilename filename 根据existfilename的访问和修改时间属性确定filename的访问和修改时间属性。

  

  可以看到newfile与tfile2的修改时间属性相同。

3.创建连接文件

  Linux 系统引入了两种链接:硬链接 (hard link) 与软链接(又称符号链接,即 soft link 或 symbolic link)。

  在Linux的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号(Inode Index)。在Linux中,多个文件名指向同一索引节点是存在的。一般这种连接就是硬连接。硬连接的作用是允许一个文件拥有多个有效路径名,这样用户就可以建立硬连接到重要文件,以防止“误删”的功能。其原因如上所述,因为对应该目录的索引节点有一个以上的连接。只删除一个连接并不影响索引节点本身和其它的连接,只有当最后一个连接被删除后,文件的数据块及目录的连接才会被释放。也就是说,文件真正删除的条件是与之相关的所有硬连接文件均被删除。 

由于硬链接是有着相同 inode 号仅文件名不同的文件,因此硬链接存在以下几点特性:

 

  • 文件有相同的 inode 及 data block;
  • 只能对已存在的文件进行创建;
  • 不能交叉文件系统进行硬链接的创建;
  • 不能对目录进行创建,只可对文件创建;
  • 删除一个硬链接文件并不影响其他有相同 inode 号的文件

 

软链接文件有类似于Windows的快捷方式。它实际上是一个特殊的文件。在符号连接中,文件实际上是一个文本文件,其中包含的有另一文件的位置信息。

  Linux使用ln命令创建连接文件,可以使用ln --help查看ln命令使用说明。

ln [参数] [-T] [源文件] [连接文件]
ln [参数] [源文件] 
ln [参数] [源文件] [新建连接文件所在的目录]
ln [参数] [-t] [新建连接文件所在的目录] [源文件]

 

  

  创建newfile的连接文件后使用 ll -i命令可以看到源文件与连接文件都指向同一个节点。

  参数:

  --help:显示帮助信息

  -b或者 --backup=[Control] :对已经存在的目标连接文件进行备份。

      [Control]:

    none, off never make backups (even if --backup is given)
    numbered, t make numbered backups (linktonew.~1~、linktonew.~2~....)

    existing, nil numbered if numbered backups exist, simple otherwise
    simple, never always make simple backups

 

  如果连接文件已经存在,则首先对该连接文件进行备份,默认在文件尾追加~。

  

  -S<备份文件名结尾>或 --suffix=<备份文件名结尾>:备份文件会以该字符串结尾。

ln -S .old newfile linktonew

 

  备份文件将以.old结尾,即linktonew.old。

 

  -f或者--force :创建连接时,先将与目标连接文件同一目录下的同名文件删除,不管该文件为何种类型。

  -i:覆盖既有文件之前先询问

  -s或者--symbolic:对源文件创建软连接。

  

   可以看到,软连接文件的索引节点和大小均与源文件不同。

  -n:将连接到目录的软连接做为普通文件。

  

  -T:将连接文件看做普通文件。

  -v:显示指令执行过程。

  -t或者 --target-directory=DIRECTORY :制定连接文件创建的目录。默认在用户当前所在的目录。

  

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

linux创建文件 的相关文章

  • 使用 sed 更新 xml 属性(Windows + cygwin 和 Linux)?

    我需要使用 sed 命令对 xml 文件进行更新 但我在这方面遇到了麻烦 它需要在 Windows 使用 cygwin 和 Linux 上运行 XML 具有以下元素
  • Linux 可执行文件与 OS X“兼容”吗?

    如果您在基于 Linux 的平台上用 C 语言编译一个程序 然后将其移植以使用 MacOS 库 它会工作吗 来自编译器的核心机器代码在 Mac 和 Linux 上兼容吗 我问这个问题的原因是因为两者都是 基于 UNIX 的 所以我认为这是真
  • 为arm构建WebRTC

    我想为我的带有arm926ej s处理器的小机器构建webrtc 安装 depot tools 后 我执行了以下步骤 gclient config http webrtc googlecode com svn trunk gclient s
  • PHP 无法打开流:是一个目录

    非常简单的 PHP 脚本 我在我亲自设置的 Ubuntu Web 服务器上的 EE 模板中运行 我知道这与权限有关 并且我已经将我尝试写入的目录的所有者更改为 Apache 用户 我得到的错误是 遇到 PHP 错误 严重性 警告 消息 fi
  • SSE:跨页边界的未对齐加载和存储

    我在页面边界旁边执行未对齐加载或存储之前读过某处 例如使用 mm loadu si128 mm storeu si128内在函数 代码应首先检查整个向量 在本例中为 16 个字节 是否属于同一页 如果不属于同一页 则切换到非向量指令 我知道
  • 在我的 index.php 中加载 CSS 和 JS 等资源时出现错误 403

    我使用的是 Linux Elementary OS 并在 opt 中安装了 lampp My CSS and JS won t load When I inspect my page through browser The console
  • 我的线程图像生成应用程序如何将其数据传输到 GUI?

    Mandelbrot 生成器的缓慢多精度实现 线程化 使用 POSIX 线程 Gtk 图形用户界面 我有点失落了 这是我第一次尝试编写线程程序 我实际上并没有尝试转换它的单线程版本 只是尝试实现基本框架 到目前为止它是如何工作的简要描述 M
  • 如何通过ssh检查ubuntu服务器上是否存在php和apache

    如何通过ssh检查Ubuntu服务器上apache是 否安装了php和mysql 另外如果安装的话在哪个目录 如果安装了其他软件包 例如 lighttpd 那么它在哪里 确定程序是否已安装的另一种方法是使用which命令 它将显示您正在搜索
  • 在脚本内使用不带密码的 sudo

    由于某种原因 我需要作为用户在没有 sudo 的情况下运行脚本 script sh 该脚本需要 root 权限才能工作 我认为将 sudo 放入 script sh 中是唯一的解决方案 让我们举个例子 script sh bin sh su
  • Linux 上有关 getBounds() 和 setBounds() 的 bug_id=4806603 的解决方法?

    在 Linux 平台上 Frame getBounds 和 Frame setBounds 的工作方式不一致 这在 2003 年就已经有报道了 请参见此处 http bugs java com bugdatabase view bug do
  • 如何使用 GOPATH 的 Samba 服务器位置?

    我正在尝试将 GOPATH 设置为共享网络文件夹 当我进入 export GOPATH smb path to shared folder I get go GOPATH entry is relative must be absolute
  • 如何在 Bash 中给定超时后终止子进程?

    我有一个 bash 脚本 它启动一个子进程 该进程时不时地崩溃 实际上是挂起 而且没有明显的原因 闭源 所以我对此无能为力 因此 我希望能够在给定的时间内启动此进程 如果在给定的时间内没有成功返回 则将其终止 有没有simple and r
  • 当 grep "\\" XXFile 我得到“尾随反斜杠”

    现在我想查找是否有包含 字符的行 我试过grep XXFile但它暗示 尾随反斜杠 但当我尝试时grep XXFile没关系 谁能解释一下为什么第一个案例无法运行 谢谢 区别在于 shell 处理反斜杠的方式 当你写的时候 在双引号中 sh
  • MySQL 中的创建/写入权限

    我的设备遇到一些权限问题SELECT INTO OUTFILE陈述 当我登录数据库并执行简单的导出命令时 例如 mysql gt select from XYZ into outfile home mropa Photos Desktop
  • 按进程名称过滤并记录 CPU 使用情况

    Linux 下有选项吗顶部命令 https www man7 org linux man pages man1 top 1 html我可以在哪里按名称过滤进程并将每秒该进程的 CPU 使用情况写入日志文件 top pgrep 过滤输出top
  • Linux - 从第二个选项卡获取文本

    假设我们有这样的文件 一些文本11 一些文本12 一些文本13 一些文本21 一些文本22 一些文本23 文本由制表符分隔 我们知道第 1 列中的一些文本 但希望从第 2 列中获取文本 我知道我可以通过以下方式获取线路 grep somet
  • 在两次之间每分钟执行一次 Cronjob

    我需要在 crontab 中每分钟运行一个 bash 脚本8 45am and 9 50am每天的 Code 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 8 home pull sh gt ho
  • 进程退出后 POSIX 名称信号量不会释放

    我正在尝试使用 POSIX 命名信号量进行跨进程同步 我注意到进程死亡或退出后 信号量仍然被系统打开 在进程 打开它 死亡或退出后是否有办法使其关闭 释放 早期的讨论在这里 当将信号量递减至零的进程崩溃时 如何恢复信号量 https sta
  • 子目录中的头文件(例如 gtk/gtk.h 与 gtk-2.0/gtk/gtk.h)

    我正在尝试使用 GTK 构建一个 hello world 其中包括以下行 include
  • 快速像素绘图库

    我的应用程序以每像素的方式生成 动画 因此我需要有效地绘制它们 我尝试过不同的策略 库 但结果并不令人满意 尤其是在更高分辨率的情况下 这是我尝试过的 SDL 好的 但是慢 OpenGL 像素操作效率低下 xlib 更好 但仍然太慢 svg

随机推荐

  • DAO VC能成为股权众筹市场杀手级应用吗?Syndicate协议集体化VC怎么玩

    DAOVC本身不是新鲜事物 在DeFi领域 DAOVC有另外一个称呼 DeVC 去中心化VC 随着NFT市场的成熟以及GameFi被推向巅峰 DAO概念开始升温 YGG YieldGuildGames 是其中的知名代表 美国加密游说活动也助
  • OpenCV项目3-图像处理之信用卡数字识别

    OpenCV项目3 图像处理之信用卡数字识别 1 图片显示函数 2 模板读取 3 模板灰度化 二值化 4 模板轮廓计算 绘画 排序 5 模板取数字 尺寸resize 6 信用卡读取 7 信用卡尺寸resize 8 信用卡灰度化 卷积核 形态
  • CentOS 安装MariaDB的安装过程---离线安装

    CentOS 安装MariaDB的安装过程 离线安装 我使用在线安装的方式 怎么也成功不了 于是只能改成离线安装 然后发现离线安装其实也挺方便的 在这里和大家分享一下 1 首先要下载七个离线包 千万别下错了 http yum mariadb
  • Datax使用rdbmsreader支持clickhouse的读取

    参考链接 22条消息 使用datax的rdbmsreader实现读取clickhouse Sleten09的博客 CSDN博客 背景 想要把click house的数据源同步到HDFS 发现Datax没有clickhousereader组件
  • string与int之间转换

    一 int 转换为 string 1 使用to string 函数 格式 string str to string number 需引入头文件 include
  • 栈和队列-P79-10【2014统考真题】

    队列两端均可以入队和出队 那么也就是说对头在哪都可以 不一定在两端 严格的说并没有两端 因为是循环队列
  • Envoy基础与快速入门-Day 02

    1 Envoy介绍 1 1 什么是Envoy 官方文档 https www envoyproxy io docs envoy latest intro what is envoy Envoy本身是一种L7 层 HTTP HTTPS 的反向代
  • vue3 driver.js 引导页 使用方法

    先展示一下效果 ps 不要在意没对齐 第一步 下载 deiver js npm i driver 第二步 在组件中引入 import Driver from driver js import driver js dist driver mi
  • 交叉熵理解

    Likelihood 似然 与 Maximun Likelihood Estimation 似然与概率 概率是已知模型的参数 求某个事情发生的可能性 概率可以表示为 p x p x Thet
  • 《关基保护要求》实施,应用层零信任将发挥重要作用

    2023年5月1日起 国家标准 GB T 39204 2022 信息安全技术 关键信息基础设施安全保护要求 正式实施 这是继 关键信息基础设施安全保护条例 发布后首个正式发布的针对性标准 也代表着关键信息基础设施保护工作部门开展监管 运营者
  • VS2022集成代码规范组件StyleCop.Analyzers应用于解决方案

    背景 项目团队刚刚组件 每个人的代码编写习惯都不一样 希望用一款代码规范的检查插件来规范团队成员编写代码的习惯 在网上找了一遍之后 感觉StyleCop Analyzers比较适用 集成方法 1 NuGet搜索StyleCop Analyz
  • python 中range(10)什么意思_range什么意思python编程【面试题详解】

    今天爱分享给大家带来range什么意思python编程 面试题详解 希望能够帮助到大家 今天来谈一谈关于Python中range 的作用 和我个人的理解 range的中文意思是 范围 幅度 或者是在xxx之间变动 函数原型 range st
  • linux 更改用户权限

    最近一直在忙项目上的事情 没时间更新 项目基本上已经接近尾声 主要是一些部署的收尾工作 在部署的过程中 也遇到了一些问题 先慢慢记录吧 今天主要记录的是 如何提升普通运行为管理员身份 在日常开发过程中 调用第三方程序 该程序由于内部实现的原
  • Dynamics CRM和企业微信集成(一)理论方案

    Dynamics CRM和企业微信集成 一 理论方案 方案简述 工具类都差不多就位了 那么今天开始写点有用的东西 之前的项目有做过CRM和企业微信集成 现在总结一下吧 方案简述 关键是登陆时 把微信ID和CRM用户做绑定 阅读企业微信的AP
  • 小米笔记本pro 双硬盘双系统 opencore引导安装黑苹果

    个人情况说明 小米笔记本PRO 15 6 项目 参数 CPU i5 8250U GPU MX150 内存 8G 硬盘1 三星pm961 256g 硬盘2 intel 240g 注意事项 三星pm981装黑苹果会有问题 嫌麻烦的话建议直接换硬
  • webpack打包后引用cdn的js_webpack系列-externals配置使用(CDN方式引入JS)

    如果需要引用一个库 但是又不想让webpack打包 减少打包的时间 并且又不影响我们在程序中以CMD AMD或者window global全局等方式进行使用 一般都以import方式引用使用 那就可以通过配置externals 这样做的目的
  • commitlint无效 commit-msg不执行

    一 安装commitlint yarn add commitlint config conventional commitlint cli D 二 commitlint无效 commit msg不执行 解决办法 1 删除package js
  • 【spring5学习笔记】-----bean的多实例与单实例

    bean的多实例与单实例 首先介绍概念 什么是spring中bean的多实例和单实例 在上面这个例子中 我们两次调用context的getBean 方法得到的两个对象的引用值是相等的 这说明此时spring是单实例的 两次调用方法得到的是同
  • tensorflow生成随机数及实现随机采样

    文章目录 1 生成随机数 2 随机采样 2 1 实例代码 3 随机打乱数据 1 生成随机数 参考1 tf random normal 从正态分布中输出随机值 tf random normal shape mean 0 0 stddev 1
  • linux创建文件

    转载自 https www cnblogs com lclq p 5741852 html Linux命令 1 创建文件 1 可以使用cat创建一个新的文件 命令 cat gt gt filename 使用cat创建文件时 以系统默认的文件