linux的目录结构及文件基本操作

1. linux的文件组织目录结构

linux的目录与window的区别

win以存储介质为主,主要以盘符及分区实现文件 管理,再下面才是目录。 linux以树形目录结构的形式来构造整个系统,每一个目录不仅能使用本地磁盘分区的文件系统,也能使用网络的文件系统。

1.1 FHS标准(Filesystem Hierarchy Standard)文件系统层次结构标准

  • linux其中大部分目录结构是已规定好的
  • 第一层规范 / 下面的各个目录应该要放什么文件数据,例如 /etc 应该要放置设置文件,/bin 与 /sbin 则应该要放置可执行文件等等。
  • 第二层规范 针对 /usr 及 /var 这两个目录的子目录来定义。例如 /var/log 放置系统登录文件、/usr/share 放置共享数据等等。 sudo apt-get install tree sudo tree /
  • FHS 依据文件系统使用的频繁与否以及是否允许用户随意改动(注意,不是不能,学习过程中,不要怕这些),将目录定义为四种交互作用的形态,如下表所示:

1.2 目录路径

  • 路径 顾名思义,路径就是你要去哪的路线 cd path 进入到目录 cd . 进入到当前目录(.开头都是隐藏文件) cd .. 进入到上层目录 ls -a 查看隐藏文件 cd ~ 进入到home目录
  • 绝对路径 以根”/”目录为起点的完整路径,以你所要到的目录为终点 cd /usr/local/bin
  • tab键可以自动补全,连按两次可以显示全部候选结果

2. linux文件的基本操作

2.1新建

  • 新建空白文件 touch test 不会覆盖同名文件
  • 新建目录 mkdir mydir mkdir -p father/son/grandson

2.2复制

  • 复制文件 cp test father/son 复制到目录 cp test testcopy 复制到另一文件
  • 复制目录 cp -r father family 递归复制

2.3删除

  • 删除文件 rm test rm -r test 不提示直接删除
  • 删除目录 rm -r father/son 不提示直接删除

2.4移动文件与文件重命名

  • 移动文件 mv test Documents 移动 源目录文件 目的目录
  • 重命名文件 mv file1 myfile 旧的文件名 新的文件名
  • 批量重命名 要用 perl 正则表达式来作为参数 # 使用通配符批量创建 5 个文件 $ touch file{1..5}.txt # 批量将这 5 个后缀为 .txt 的文本文件重命名为 以 .c 为后缀的文件 $ rename 's/\.txt/\.c/' *.txt # 批量将这 5 个文件,文件名改为大写 $ rename 'y/a-z/A-Z/' *.c

2.5查看文件

  • 使用cat,tac和nl命令查看文件 cat test 正序显示 cat -n test 显示行号 cat -nl test 添加行号并打印
  • 使用more和less命令分页查看文件 more test Enter键向下滚动一行 Space键向下滚动一 屏 按下h显示帮助,q退出。
  • 使用head和tail命令查看文件 # 只查看头几行(默认为10行,不足10行则显示全部)和尾几行。 tail test tail -n 1 test 只看1行
  • 查看文件类型 file /bin/ls
  • 编辑文件 # vi或nano

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏云计算教程系列

如何在Ubuntu 18.04上使用RVM安装Ruby on Rails

Ruby on Rails是一个流行的Web应用程序框架,旨在帮助您开发成功的项目,同时编写更少的代码。为了使Web开发变得有趣并且受到强大社区的支持,Ruby...

71000
来自专栏SpiritLing

[原创] 利用前端+php批量生成html文件,传入新文本,输出新的html文件

本人因为要想自己写个小说网站练练手,在其中遇到的一些问题,将其解决方法总结出来,例如: 1:小说网站存储了大量的小说,每个小说主页都很相似,url不同,不是使用...

50760
来自专栏武军超python专栏

2018年7月23日python系统模块os和文件io

今天遇到的新单词: attrubute:    n属性 cwd全称:     Current Working Directory当前工作目录 argume...

15550
来自专栏PHP在线

PHP使用SOAP调用.net的WebService问题

项目的需求,需要和一个.net系统进行数据交换,合作方提供了一个WebService接口。这个与一般的PHP POST或GET传值再查库拿数据的思路有点不一样,...

40260
来自专栏黑泽君的专栏

用gcc编译c语言程序以及其编译过程

对于初学c语言编程的我们来说,学会如何使用gcc编译器工具,对理解c语言的执行过程,加深对c语言的理解很重要!!!

18010
来自专栏cs

linux学习笔记三

文件组成 linux文件系统的运行和操作系统的文件组成有关,文件系统会将文件权限,属性放在inode(索引节点)中,至于实际的数据则放在block快中。另外还有...

370120
来自专栏子勰随笔

SDK设计心得之版本号

33780
来自专栏北京马哥教育

用 Python 脚本实现对 Linux 服务器的监控

目前 Linux 下有一些使用 Python 语言编写的 Linux 系统监控工具 比如 inotify-sync(文件系统安全监控软件)、 glances(资...

64160
来自专栏前端小叙

vue报错集锦

1、vue报错: 没安装 less-loader css-loader style-loader        可能的很大原因:没安装less 2、vuex报错...

45860
来自专栏LhWorld哥陪你聊算法

【Dubbo篇】--Dubbo框架的使用

Provider: 提供者.发布服务的项目. Registry: 注册中心.所有提供者必须去注册中心注册自己所有能发布的服务. Consumer: 消费者.调用...

92110

扫码关注云+社区

领取腾讯云代金券