在Linux系统的日常运维工作中,需要掌握对文件的创建、修改、复制、剪切、更名与删除等操作

1.touch命令

touch命令用于创建空白文件或设置文件的时间,格式为“touch [选项] [文件]”。

在创建空白的文本文件方面,这个touch命令相当简捷。比如,touch linuxprobe命令可以创建出一个名为linuxprobe的空白文本文件。对touch命令来讲,有难度的操作主要是体现在设置文件内容的修改时间(mtime)、文件权限或属性的更改时间(ctime)与文件的读取时间(atime)上面。touch命令的参数及其作用如表所示。

touch命令的参数及其作用

参数

作用

-a

仅修改“读取时间”(atime)

-m

仅修改“修改时间”(mtime)

-d

同时修改atime与mtime

接下来,我们先使用ls命令查看一个文件的修改时间,然后修改这个文件,最后再通过touch命令把修改后的文件时间设置成修改之前的时间:

[root@linuxprobe ~]# ls -l anaconda-ks.cfg

-rw-------. 1 root root 1213 May  4 15:44 anaconda-ks.cfg

[root@linuxprobe ~]# echo "Visit the LinuxProbe.com to learn linux skills" >>

anaconda-ks.cfg

[root@linuxprobe ~]# ls -l anaconda-ks.cfg

-rw-------. 1 root root 1260 Aug  2 01:26 anaconda-ks.cfg

[root@linuxprobe ~]# touch -d "2017-05-04 15:44" anaconda-ks.cfg

[root@linuxprobe ~]# ls -l anaconda-ks.cfg

-rw-------. 1 root root 1260 May  4 15:44 anaconda-ks.cfg

2.mkdir命令

mkdir命令用于创建空白的目录,格式为“mkdir [选项] 目录”。

在Linux系统中,文件夹是最常见的文件类型之一。除了能创建单个空白目录外,mkdir命令还可以结合-p参数来递归创建出具有嵌套叠层关系的文件目录。

[root@linuxprobe ~]# mkdir linuxprobe

[root@linuxprobe ~]# cd linuxprobe

[root@linuxprobe linuxprobe]# mkdir -p a/b/c/d/e

[root@linuxprobe linuxprobe]# cd a

[root@linuxprobe a]# cd b

[root@linuxprobe b]#

3.cp命令

cp命令用于复制文件或目录,格式为“cp [选项] 源文件目标文件”。

大家对文件复制操作应该不陌生,在Linux系统中,复制操作具体分为3种情况:

Ø   如果目标文件是目录,则会把源文件复制到该目录中;

Ø   如果目标文件也是普通文件,则会询问是否要覆盖它;

Ø   如果目标文件不存在,则执行正常的复制操作。

cp命令的参数及其作用如表2-12所示。

表2-12                                               cp命令的参数及其作用

参数

作用

-p

保留原始文件的属性

-d

若对象为“链接文件”,则保留该“链接文件”的属性

-r

递归持续复制(用于目录)

-i

若目标文件存在则询问是否覆盖

-a

相当于-pdr(p、d、r为上述参数)

接下来,使用touch创建一个名为install.log的普通空白文件,然后将其复制为一份名为x.log的备份文件,最后再使用ls命令查看目录中的文件:

[root@linuxprobe ~]# touch install.log

[root@linuxprobe ~]# cp install.log x.log

[root@linuxprobe ~]# ls

install.log x.log

4.mv命令

mv命令用于剪切文件或将文件重命名,格式为“mv [选项] 源文件 [目标路径|目标文件名]”。

剪切操作不同于复制操作,因为它会默认把源文件删除掉,只保留剪切后的文件。如果在同一个目录中对一个文件进行剪切操作,其实也就是对其进行重命名:

[root@linuxprobe ~]#mv x.log linux.log
[root@linuxprobe ~]# ls
install.log linux.log

5.rm命令

rm命令用于删除文件或目录,格式为“rm [选项] 文件”。

在Linux系统中删除文件时,系统会默认向您询问是否要执行删除操作,如果不想总是看到这种反复的确认信息,可在rm命令后跟上-f参数来强制删除。另外,想要删除一个目录,需要在rm命令后面一个-r参数才可以,否则删除不掉。我们来尝试删除前面创建的install.log和linux.log文件:

[root@linuxprobe ~]# rm install.log
rm: remove regular empty file ‘install.log’? y
[root@linuxprobe ~]# rm -f linux.log
[root@linuxprobe ~]# ls
[root@linuxprobe ~]#

6.dd命令

dd命令用于按照指定大小和个数的数据块来复制文件或转换文件,格式为“dd [参数]”。

dd命令是一个比较重要而且比较有特色的一个命令,它能够让用户按照指定大小和个数的数据块来复制文件的内容。当然如果愿意的话,还可以在复制过程中转换其中的数据。Linux系统中有一个名为/dev/zero的设备文件,这个文件不会占用系统存储空间,但却可以提供无穷无尽的数据,因此可以使用它作为dd命令的输入文件,来生成一个指定大小的文件。dd命令的参数及其作用如表2-13所示。

表2-13                                               dd命令的参数及其作用

参数

作用

if

输入的文件名称

of

输出的文件名称

bs

设置每个“块”的大小

count

设置要复制“块”的个数

例如我们可以用dd命令从/dev/zero设备文件中取出一个大小为560MB的数据块,然后保存成名为560_file的文件。在理解了这个命令后,以后就能随意创建任意大小的文件了:

[root@linuxprobe ~]# dd if=/dev/zero of=560_file count=1 bs=560M
1+0 records in
1+0 records out
587202560 bytes (587 MB) copied, 27.1755 s, 21.6 MB/s

dd命令的功能也绝不仅限于复制文件这么简单。如果您想把光驱设备中的光盘制作成iso格式的镜像文件,在Windows系统中需要借助于第三方软件才能做到,但在Linux系统中可以直接使用dd命令来压制出光盘镜像文件,将它变成一个可立即使用的iso镜像:

[root@linuxprobe ~]# dd if=/dev/cdrom of=RHEL-server-7.0-x86_64-LinuxProbe.Com.iso
7311360+0 records in
7311360+0 records out
3743416320 bytes (3.7 GB) copied, 370.758 s, 10.1 MB/s

考虑到有些读者会纠结bs块大小与count块个数的关系,下面举一个吃货的例子进行解释。假设小明的饭量(即需求)是一个固定的值,用来盛饭的勺子的大小即bs块大小,而用勺子盛饭的次数即count块个数。小明要想吃饱(满足需求),则需要在勺子大小(bs块大小)与用勺子盛饭的次数(count块个数)之间进行平衡。勺子越大,用勺子盛饭的次数就越少。由上可见,bs与count都是用来指定容量的大小,只要能满足需求,可随意组合搭配方式。

7.file命令

file命令用于查看文件的类型,格式为“file 文件名”。

在Linux系统中,由于文本、目录、设备等所有这些一切都统称为文件,而我们又不能单凭后缀就知道具体的文件类型,这时就需要使用file命令来查看文件类型了。

[root@linuxprobe ~]# file anaconda-ks.cfg 
anaconda-ks.cfg: ASCII text
[root@linuxprobe ~]# file /dev/sda
/dev/sda: block special

文件目录管理命令——touch、mkdir、cp、mv、rm、dd、file、相关推荐

  1. Linux周测(一些简单命令touch cat mkdir cp mv rm的简单练习)

    一.在/tmp目录下,新建目录director新建三个txt文件,分别命名filel,file2.file3  ,用vi编辑器分别在三个文件中输入内容. 用到touch命令,vi命令, mkdir 用 ...

  2. Linux创建目录和文件 mkdir、touch、cp、rm、mv 和 ln命令

    目录 前言 一.mkdir命令 二.touch命令 三.ln命令 3.1 软/硬链接 3.2 软链接详解 四.cp命令 五.rm命令 六.mv命令 七.rename 前言  点击此处查看 ls.cd. ...

  3. linux path 文件,linux基础,文件目录管理,PATH,cp,mv,cat

    环境变量PATH 用which可以查询到命令的路径和别名, 添加环境变量路径:PATH=$PATH:/tmp/ 修改的变量如果想永久生效就要修改 /etc/profile文件,在底部加上PATH=$P ...

  4. Linux常用的文件目录管理命令有哪些,Linux文件和目录管理常用重要命令(二)...

    二.管理文件与目录 在了解目录与路径之后,我们继续学习管理文件与目录的一些命令!文件与目录的管理上,不外乎[显示属性].[拷贝].[删除文件]及[移动文件或目录』]等等,由于文件与目录的管理在 Lin ...

  5. Linux 的基本使用(上)· 背景故事 · 环境搭建 · 常用命令 vim less cp mv等(基本能覆盖 Linux 日常使用80%场景)· Linux 文件结构的意义 · 相对路径和绝对路径

    一.Linux 背景知识 二.Linux 发行版 三.关于 Linux 我们学什么 四.Linux 环境搭建 五.Linux 常用命令 第一组命令 ls 列出该目录下所有子目录和文件命令 Linux ...

  6. Linux常用命令:cp,mv,rm

    cp(copy) cp命令可以复制文件或者目录,还可以建立链接文件. [root@Linux ~]# cp [-adfilprsu] 来源文件(source) 目标文件(destination) [r ...

  7. linux基本命令之文件浏览(cat,more,less,tail,head),文件操作命令(cp,mv,rm,find)

    linux文件浏览,文件操作命令 文件管理之文件浏览命令 1.cat命令:显示文本文件所有内容 格式:cat 文件名 适用场景:适合只有少量数据的文件,例如只有几行内容的可以使用此命令. 2.more ...

  8. 【CentOS Linux 7】实验1【Linux文件目录管理】

    目   录 一.实验目的 二.实验内容 三.实验步骤和结果 四.实验总结 一.实验目的 掌握Liunx操作系统的命令行操作界面的进入.退出和常用命令. 掌握Linux系统常用的目录查看.切换目录等命令 ...

  9. 【Linux】软硬链接 文件存储,删除,文件目录管理 (cp、mv、rm、cut、sort、uniq、wc、head、tail、split 、which、whereis、type、find)

    目录 一.文件存储 二.硬链接与软链接 硬链接 如何创建硬链接: 硬链接知识小结 软连接 如何创建软连接? 软连接知识小结: 三.文件删除的原理 四.文件目录管理命令 cp命令 mv 命令 rm 命令 ...

最新文章

  1. java 对象内存布局_Java--对象内存布局
  2. 获取 metadata 的完整例子 - 每天5分钟玩转 OpenStack(166)
  3. 与其倒推以前不如推到重建
  4. hexo d 部署博客时出错
  5. Silverlight 游戏开发小技巧:轨迹跟随效果
  6. Java版本多用户B2B2C商城源码-(八)消息总线(Spring Cloud Bus)
  7. PMcff 020产品经理峰会现场火爆,干货不断
  8. 天翼云从业认证课后习题(3.5云安全产品)
  9. 09-OpenLDAP加密传输配置
  10. spring5源码-基于XML的依赖注入
  11. ubuntu安装使用latex和texmaker--PC端
  12. java实例化的4种方式
  13. linux恢复树莓派内存卡容量,找回树莓派SD卡剩余空间
  14. 【Jmeter】Jmeter java.lang.IllegalAccessError: class com.github.weisj.报错
  15. 计组实验-CPU设计-指令添加
  16. 腾讯云技术分享:MySQL AHI 实现解析
  17. mysql中declare语句用法详解
  18. 订阅号微信公众号历史文章爬虫php,2019.9月最新爬取微信公众号历史文章的办法...
  19. Unity 粒子制作简单飞舞纸片特效
  20. 用spark实现单词统计

热门文章

  1. chunk-vendors.7142f8da.js:1 Uncaught SyntaxError: Unexpected token ‘<‘
  2. java.lang.ClassCastException: com.mysql.jdbc.Driver cannot be cast to javax.sql.DataSource
  3. 996.ICU 后续,人民网发声:《“996工作制”是谁的如意算盘?》
  4. 博客摘录「 均线多头排列选股公式,选出均线多头刚起步的标的」2023年5月18日
  5. C#中的partial class(部分类)
  6. C语言MessageBox简介
  7. 多线程必考的「生产者 - 消费者」模型,看乔戈里这篇文章就够了
  8. 按钮Button:点击演示
  9. 人脸识别动画实现详解(SurfaceView + ObjectAnimator + 三角函数 = 炫酷动画)
  10. 【微信小程序】 wx.onBluetoothDeviceFound 安卓机第一次可以连接蓝牙设备,第二次搜索不到问题