【Linux学习笔记4】目录文件操作命令总结:一切皆是文件!

本文按按顺序介绍以下命令,基于官方给的help,可放心食用:

命令英文全称作用
cdchange directory切换工作路径
lslist files列出目录及文件名
pwdprint work directory显示目前的目录
mkdirmake directory创建一个新的目录
wcword count计算字数、字节数、行数等
statstatus显示文件或文件系统的状态

一、写在前面

在LINUX系统中有一个重要的概念:一切都是文件。 其实这是UNIX哲学的一个体现,而Linux是重写UNIX而来,所以这个概念也就传承了下来。在UNIX系统中,把一切资源都看作是文件,包括硬件设备。UNIX系统把每个硬件都看成是一个文件,通常称为设备文件,这样用户就可以用读写文件的方式实现对硬件的访问。

二、预备知识

2.1 Linux文件类型介绍

在这里插入图片描述
上图总结了以下知识点:

  • Linux系统下文件的分类
  • 各类文件的属性表示符
  • 各类文件名称的颜色表示

举例:可以用以下命令查找目录下某种类型的文件,参数就是以上给出的缩写

find -type d

2.1.1 普通文件 -regular file

最常见的文件类型,包括:

  • 纯文本文件(ASCII)
  • 二进制文件(binary)
  • 数据格式的文件(data)
  • 各种压缩文件

2.1.2 目录文件 -directory

就是常见的目录,这个没什么好说的

2.1.3 字符设备文件 -character

即串行端口的接口设备,例如键盘、鼠标等等外设相关的文件。

2.1.4 数据接口(套接字)文件 -sockets

这类文件通常用在网络数据连接。我们可以启动一个程序来监听客户端的要求,客户端就可以通过套接字来进行数据通信。
通常在/var/run目录中看到这种文件类型。

2.1.5 符号链接文件 -link

类似windows中的快捷方式

2.1.6 块设备文件 -block

存储数据以供系统访问的接口设备,简单而言就是硬盘相关的文件

2.1.7 命名管道文件 -pipe,fifo

管道分为无名管道(pipe)有名管道(fifo)两种管道,管道文件是建立在内存之上可以同时被两个进程访问的文件。
有名管道可以在任意两个进程之间通讯,而无名管道只能在父子进程之间通迅。

2.2 从根目录开始的文件结构

了解Linux的文件目录,首先需要明白FHS(Filesystem Hierarchy Standard)标准,也就是文件系统层次结构标准。

FHS:多数Linux版本采用这种文件组织形式,FHS定义了系统中每个区域的用途、所需要的最小构成的文件和目录同时还给出了例外处理与矛盾处理。 FHS定义了两层规范,第一层是, / 下面的各个目录应该要放什么文件数据,例如/etc应该要放置设置文件,/bin与/sbin则应该要放置可执行文件等等。 第二层则是针对/usr及/var这两个目录的子目录来定义。例如/var/log放置系统登录文件、/usr/share放置共享数据等等。

在Linux中一切文件都是从根目录/开始存储
下表是常见的文件目录以及存储的内容:

目录名称应放置的文件内容备注
/boot开机所需文件(内核,开机菜单及所需配置文件等)Binaries (二进制文件) 的缩写
/devLinux的外部设备与接口文件Device(设备) 的缩写,访问该目录下某个文件,相当于访问某个设备
/etc系统特有的可编辑配置文件Etcetera(等等) 的缩写
/bin最基本的命令(可执行文件),也就是文件系统还未挂载时也能使用的命令Binaries (二进制文件)
/lib系统最基本的动态连接共享库,也就是系统使用的函数库的目录Library(库) 的缩写
/usr用户的很多应用程序和文件unix shared resources(共享资源) 的缩写
/var内容不断变化的文件variable(变量) 的缩写,如日志、电子邮件

2.3 文件的时间属性

对于Linux的文件有三种时间

  • 更改时间(mtime):内容修改时间
  • 更改权限时间(ctime):修改权限与属性时间
  • 读取时间:访问文件的时间

三、命令介绍

1cd [目录]

1.1语法与参数选择

常用命令:

命令作用
cd -返回上一次目录
cd ~切换到家目录或
cd …切换到上一级目录

1.2操作实例

eg1:进入当前目录下的子目录

znj@znj-virtual-machine:~/桌面$ cd desktop
znj@znj-virtual-machine:~/桌面/desktop$ 

eg2:从/bin目录切换至桌面上的my文件夹

znj@znj-virtual-machine:/bin$ cd ~/桌面/desktop/my

注意:少了~目录是无效的!

2.ls [选项]… [文件]…

2.1语法与参数选择

常用命令:

命令作用
-a不隐藏任何以 . 开始的项目(隐藏文件)
-d当遇到目录时列出目录本身而非目录内的文件
-h以易于阅读的格式输出文件大小(例如 1K 234M 2G等)
-l使用较长格式列出信息

注意:不带任何参数运行 ls 命令将列出当前工作目录的内容

2.2操作实例

eg1:列出桌面下的所有文件
在这里插入图片描述
注意:.是指当前目录;…是上一级目录即父目录

eg2:列出/etc目录下以t开头的文件(不包括目录)
在这里插入图片描述
eg3:查看/etc目录的权限与属性,并以k/m/g为单位显示容量
在这里插入图片描述

3.pwd [-LP]

3.1语法与参数选择

格式:
pwd 【选项】

参数选择:

参数英文全称作用
-Pphysical打印 $PWD 变量的值,如果它包含了当前的工作目录
-Llogical设定权限

因为此命令过于简单,这里对操作实例不再赘述,下面给出使用时需要注意的点

3.2注意点

  1. 默认参数缺省时,打印的是逻辑目录
  2. pwd始终以绝对路径的方式打印工作目录,即从根目录(/)开始到当前目录的完整路径。
  3. 一般来说物理目录和逻辑目录是一样的,只有特殊情况如符号链接时会有所不同。

以下引用一段对物理和逻辑目录进行解释:

那么什么又是逻辑工作目录和物理工作目录呢?这其实也很简单,只要你知道Linux的符号链接(Symbolic link)的概念。简单地说,符号链接等同于Windows操作系统上的快捷方式。
假设我有两个目录B和C,B符号链接到C且C是常规目录。那么当我对目录B进行操作时,实际是对目录C进行操作。比如,我在B中创建一个新文件,实际上是在C中创建了这个文件。当我处于目录B中时,那么B就是逻辑工作目录而C就是物理工作目录。
现在假设我又有另一个目录A,它也是一个符号链接且链接到B。那么当我处于A中时,逻辑工作目录就是A而物理工作目录还是C。注意此时物理工作目录是C而不是B,因为B也是一个符号链接。即当我对A进行操作时,实际是对B进行操作;而对B的操作,实际又是对C的操作。

4.mkdir [选项]… 目录…

4.1语法与参数选择

参数选择:

参数英文全称作用
-pparents需要时创建目标目录的上层目录,但即使这些目录已存在也不当作错误处理
-mmode设置权限模式(类似chmod)

4.2操作实例

eg1:在desktop目录下递归创建目录my/dir
在这里插入图片描述
eg2:在my目录下创建目录dir,其权限为可读写不可执行
在这里插入图片描述

5. wc [选项]… [文件]…

5.1语法与参数选择

参数英文全称作用
-cbytes输出字节数统计
-mchars输出字符数统计
-llines输出行数统计
-Lmax-line-length显示最长行的长度
-wwords显示单词计数

5.2操作实例

在这里插入图片描述

6.stat [选项]… 文件…

6.1语法与参数选择

参数英文全称作用
-Ldereference跟随链接
-ffile-system显示文件系统状态而非文件状态

6.2操作实例

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Greif_Hairline

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值