9、文件管理

文件管理

  • 创建、删除文件
  • 复制、剪切文件
  • 查看文件内容
  • 修改文件内容
  • 软链接

一、创建、删除文件

1.1、touch(创建文件、修改文件属性)

  基本语法:touch [可选项] 文件名
  功能描述:新建一个文件,或者修改文件的属性。比如:touch /home/test/test.text

  • -a <日期时间>:更改文件的最后访问日期时间。
  • -m <日期时间>:更改文件的最后更新日期。
  • -r 文件名:使用与后者相同的时间戳。比如:touch -r /home/frist.text /home/test/test.text
  • -c:禁止创建文件(表示当前操作是针对文件的修改操作)

1.2、rm(删除文件)

  基本功能:rm [可选项] 文件名
  功能描述:删除指定的文件

  • -i:进行任何删除操作前必须先逐一确认。
  • -f:忽略不存在文件、文件属性(只读/隐藏)强行删除,不显示任何提示信息。
  • -r:向下递归删除所有文件、目录。(建议带着-f一起使用,不然需要很多次确认)
  • -rf:直接删除,跟windows里面选中delete一样的效果,啪~没了。

rm -rf:会直接删除当前所在目录的所有文件、目录,慎用
同时删除多个文件/目录时,在文件名中间用空格隔开就行了

二、复制、剪切文件

2.1、cp(复制文件)

  基本语法:cp [可选项] 文件 目录

  • -a:效果等同于-dpr,递归复制(整个目录),包含源文件状态、权限等
  • -d:若来源档为连结档的属性(link file),则复制连结档属性而非文件本身
  • -p:同时复制文件的属性信息(ls -l可以查看属性)。
  • -r:向下递归复制一整个文件目录。
  • -f:目标文件夹有同名的文件/目录时直接覆盖。
  • -i:文件覆盖前询问。

\cp 源文件 目标:强制覆盖复制

2.2、mv(剪切文件、修改名称)

  基本语法:mv [可选项] 文件名 [path]

  • -f:force强制的意思,如果目标已存在,不询问直接覆盖。
  • -i:若目标文件已存在,将询问是否覆盖
  • newName:更改文件名(mv oldName newName
一、将文件Test1.text移动到当前目录下的Test1目录里面
mv Test1.text Test1
二、将Test1目录移动到Test2目录里面
mv Test1 Test2
三、将Test1.text更名为new.text
mv Test1.text new.text
四、将Test1目录更名为new
mv Test1 new

三、查看文件内容

3.1、cat

  基本语法:cat [可选项] 文件名
  以只读的方式打开文件,显示文件内容

  • -n:显示行号
  • | more:将文件内容分页显示(按空格翻页)。例如:cat /etc/profile | more

3.2、head指令

  基本语法:head 文件
  基本功能:显示文件中的头部内容,默认是前10行

  • -n 行数:显示指定行数内容

3.3、tail指令

  基本语法:tail 文件名
  基本功能:显示文件中的尾部内容,默认是后5行

  • -n 行数:显示指定行数内容
  • -f:实时追踪该文档的所有更新,工作中经常使用

3.4、more指令

  基本语法:more 文件名
  以全屏的方式显示文件内容

more指令内置的快捷键

  • 空格(space):向下翻一页
  • Enter:向下翻一行
  • q:代表立刻离开more,不再显示该文件内容
  • Ctrl+F:向下滚动一屏
  • Ctrl+B:向上滚动一屏
  • =:输出当前行的行号
  • :f:输出文件名和当前行的行号

3.5、less指令

  基本语法:less 文件名
  功能和more类似,都是以全屏的方式显示文件内容,但是功能比more更加强大。效率很高,适合用来查看小说、日志文件。

less指令的快捷键

【留坑】

3.6、echo指令

  基本语法:echo [可选项] 输出内容
  基本功能:输出内容到控制台

  • -e:开启转义,即允许字符转义
  1. 显示普通字符串(双引号可以省略):echo "hello word"
  2. 显示转义符:echo "\"It is a test\""
  3. 显示换行:echo -e "第一行\n第二行"
  4. 显示不换行:echo -e 第一部分\cecho 第二部分
  5. 显示结果定向至文件(覆写):echo "It is a test" > myfile
  6. 原样输出字符串(不进行任何转义):echo '$qwer"',结果:$qer"
  7. 显示命令执行结果(注意`date`不是单引号):echo 'date',结果:2017年 05月 02日 星期六 01:30:46 CST

四、修改文件内容

4.1、>(覆写)

  基本语法:ls -l > 文件
  将列表内容写入到文件中(覆盖写)

4.2、>>(追加)

  基本语法:cat 文件1 >> 文件2
  将文件1内容追加到文件2的末尾

四种常见的语法
一、将列表内容写入到文件1中(覆盖写)
ls -l > 文件1
二、将文件1中的内容追加到文件2中
cat 文件1 >> 文件2
head -n 10 文件1 >> 文件2
tail -n 10 文件1 >> 文件2
more 文件1 >> 文件2
四、将内容写入到文件2中(覆盖写)
echo "hello,word" > 文件2

5、链接

  Linux文件系统中,有所谓的链接(link),我们可以将其视为档案的别名,而链接又可分为两种 : 硬链接(hard link)与软链接(symbolic link),硬链接的意思是一个档案可以有多个名称,而软链接的方式则是产生一个特殊的档案,该档案的内容是指向另一个档案的位置。硬链接是存在同一个文件系统中,而软链接却可以跨越不同的文件系统。

5.1、ln(软链接)

  基本语法:ln [可选项] 绝对路径+文件名 目标文件
  基本功能:为某一个文件在另外一个位置建立一个同步的链接,非常类似于windows中的快捷方式。

  • -b 删除,覆盖以前建立的链接
  • -d 允许超级用户制作目录的硬链接
  • -f 强制执行
  • -i 交互模式,文件存在则提示用户是否覆盖
  • -n 把符号链接视为一般目录
  • -s 软链接(符号链接)
  • -v 显示详细的处理过程

使用ln的时候,建议使用绝对路径,不然容易出现”符号连接的层数过多“bug。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值