首页 > 系统相关 >Linux基础02:+文件系统+ 目录操作+ 文件操作+ 存储转换

Linux基础02:+文件系统+ 目录操作+ 文件操作+ 存储转换

时间:2025-01-16 20:58:34浏览次数:3  
标签:02 文件 -- 路径 cd 选项 Linux 操作 目录

内容提要

  • 文件系统

  • 目录操作

  • 文件操作

  • 存储转换

文件系统

Linux本质就是一个文件系统,Linux文件系统是操作系统组织、存取、保存数据的一种手段,整体采用层级式的倒状目录结构。

倒树状结构中的目录

/:根目录,Linux中的绝对路径就是由这个开始的

/bin:主要存放系统的普通指令

/boot:主要存放普通的引导程序

/dev:存放硬件设备对应的文件

/etc:存放系统和应用程序的配置文件(profile)

/home:家目录,存放当前系统下所有用户对应的目录

/lib:存放系统和应用依赖的库文件

/proc:存放系统运行时的运行信息

/user:是软件的默认安装路径

/var:存放缓存,备份文件

/cdrom:光驱

/mnt:用于系统文件系统的挂载目录

/sbin:用于存放特权指令

路径的概念【重点】

  • 绝对路径:以根路径(/)为参考点描述的路径,称之为绝对路径。

    举例:

     cd /home/yueqian   --任何地方都可切换

  • 相对路径:以当前目录(./)为参考点描述的路径,称之为相对路径

    举例:

     cd/home   --绝对路径
     cd./yueqian   --相对路径,必须是当前路径下才可以切换,不能任意切换(/home目录下必须要有yueqian目录)
     cd yueqian    --相对路径

Linux系统文件类型

说明:

d:目录(文件夹)

-:普通文件

l:文件的快捷方式

c:字符文件设备

b:块设备文件

s:表示套接字文件

p:表示管道文件

目录操作

指令

语法:

 指令 【选项】【操作的文件或目录】

注意:语法中加入[..],就代表内容可选

  • pwd:查看当前所在目录的绝对路径

  • ls:显示指定的路径(默认当前路径)下的文件或目录

    • -a:显示所有(包含隐藏文件或目录)文件或目录

    • -l:显示所有文件或目录的详细信息列表

    • -r:将文件以相反次序显示(原定依照英文字母次序显示)

    • -t:将文件以创建时间的先后次序显示。

    说明:多个参数可以共同出现,如:

     ls -l -t -r ---->ls -ltr

    将所有文件或目录按照时间倒序排序并以列表的形式显示(时间越大越靠前)

    我们也可以指定具体的目录进行访问,如:

     ls /mnt/hgfs/linux
  • cd:切换目录

    格式:

     cd 目录

    注意:cd后不能跟文件路径,应该跟文件夹(目录)路径。

    cd中的特殊写法:

    cd ~:切换到当前家目录下的用户目录下,比如:cd ~就会切换到/home/st,等价于cd/home/st

    cd -:返回上一次操作的工作目录(类似于上一步)

    cd /:切换到根目录下

    cd ./:切换到当前目录下

    cd ../:切换到上一级目录,等价于cd ..

    cd ../../:切换到上上一级目录,等价于cd../..

  • mkdir:创建空文件夹(目录)

    语法:

     mkdir 文件夹路径

    举例:

  • 说明:mkdir支持批量创建空文件夹

    参数:

    -p:创建多层文件夹

    语法:

     mkdir -p 文件夹多层路径

    举例:

  • rmdir:删除空目录,仅限于删除空目录

    语法:

    rmdir 空文件夹路径
  • touch:创建文件

    语法:

    touch 文件路径

    举例:

  • rm:删除文件或者文件夹(注意:文件夹需要递归删除)

  • 语法:

    rm [选项]文件/文件夹路径

    选项:

    -i:给出交互提示,可以输出Yes或者No

    -f:强制删除,不提升

    -r:递归删除

举例:

说明:文件删除,直接删除就可以了:目录删除,需要递归删除

  • cp:复制文件或者文件夹(注意:复制文件夹需要递归复制,这里的复制其实就是拷贝+粘贴)

    语法:

    cp 【选项】被复制的目录/文件路径 目的地地址

    选项:

    -r:递归复制,复制文件夹中的所有

    -i:如果目的地路径下已经存在同名目录/文件,会交互提示

    举例:

  • mv:移动文件或目录(重命名文件/目录)

    语法:

    mv 被移到的文件/目录路径 目的地文件/目录路径

    说明:被移到文件名与目的地文件名不一致,相当于重命名

    举例:

    mv aa.txt ../b          --移动
    mv aa.txt ../b/bb.txt   --移动+重命名
    mv aa.txt bb.txt        --重命名
    
    mv aa.txt ../b/bb.txt   --移动+重命名
    cp -ri aa.txt ../b/cc.txt   --复制+重命名

    说明:重命名是移动和拷贝在特殊情况下的产物

文件操作

指令

  • cat:查看文件内容

    • 执行权限:所用用户

    • 语法:

      cat [选项] 文件
    • 选项:

      • -n:显示文件行号

    • 范例:

      cat /proc/cpuinfo
      cat -n /proc/cpuinfo
  • more:分页查看内容

    • 执行权限:所有用户

    • 语法:

      more 文件/文件路径
    • 操作:

      • 空格键:向下翻动一页

      • 回车键:向下翻动一行

      • Q/q键:退出查看

    • 范例:

      more /proc/cpuinfo
  • less:分页查看文件内容

    • 执行权限:所有用户

    • 语法:

      less [选项] 文件/文件路径
    • 选项:

      • -M:显示当前行的范围

    • 操作:

      • 空格键:向下翻动一页

      • B/b:向上翻动一页

      • 方向上下键:向上向下翻动一页

      • Q/q:退出(quit)

    • 范例:

      less -M /proc/cpuinfo
  • head:查看文件的头部内容(默认十行)

    • 执行权限:所有用户

    • 语法:

      head [选项] 文件/文件路径
    • 选项:

      • -n:从头开始显示n行内容(识别换行符)

    • 范例:

      head -n 5 /proc/cpuinfo  --等价于
      head -5  /proc/cpuinfo
  • tail:查看文件的尾部内容(默认十行)

    • 执行权限:所有用户

    • 语法:

      tail [选项] 文件/文件路径
    • 选项:

      • -n:从尾开始显示n行内容(识别换行符)

    • 范例:

      tail -n 5 /proc/couinfo
      tail 5 /proc/cpuinfo
  • grep:搜索文件内容,在文件中查找指定的字符序列(字符串)

    • 执行权限:所有用户

    • 语法:

      grep [选项] 要查找的字符序列 文件/文件路径  --或者
      grep [选项] '要查找的字符序列' 文件/文件路径
    • 选项:

      • -n:显示行号(number)

      • -c:统计搜索到的行的数据(count)

      • -i:忽略大小写搜索

    • 范例:

      grep -ni procesor /proc/cpuinfo   --显示行号的忽略大小写,在文件cpuinfo中查找procesor  --等价于
      grep -ni 'procesor' /proc/cpuinfo   --显示行号的忽略大小写,在文件cpuinfo中查找procesor  
      
      grep -n /proc/cpuinfo   --显示行号
    • 特殊匹配

      • ^:行首匹配

        • 范例:

          grep -n '^001' demo01.c  --在demo01.c中匹配001开头内容
      • $:行伍匹配

        • 范例:

          grep -n '[0-7][0-9]$' demo01.c 中匹配以00~79结尾的内容
  • find:查找文件或目录(递归查找),从硬盘查找,精确性高,性能低

    • 执行权限:所有用户

    • 语法:

      find 检索路径 [选项] 参数
    • 选项:

      • -name:按照名称查找

      • -iname:忽略大小写按名称查找

      • -size:按照文件大小搜索,默认1个单位大小是512Bytes

      • -type:按照文件类型查找(d,f,s,l,p····)

    • 范例:

      find ./ -iname test.c --在当前目录中查找文件名为test.c的文件,文件名忽略大小写
      find ./ -size +3M     --在当前目录中查找文件大小超过3M(1024*1024*3(Bytes))的文件,这里“+”表示大于
      find ./ -size -3M     --在当前目录中查找文件大小不超过3M的文件,这里“-”表示小于
      find ./ -size +3      --在当前目录中查找文件大小超过3个单位(3*512(Bytes)的文件,这里“+”表示大于
  • locate:快速查找文件或目录,从数据库查找,准确性低,性能高。

    说明:该指令是从文件系统的数据库中查找,确定是新创建的文件没有在数据库中建立索引,用该指令找不到。

    • 执行权限:所有用户

    • 语法:

      locate [选项] 文件/目录
    • 选项:

      • -c:统计(count)

      • -i:忽略大小写

    • 范例:

      locate -i test.c
    • 注意:默认情况下updatedb每天更新一次,我们可以手动更新。指令:

      updatedb
  • which:快速检索指令位置

    • 执行权限:所有用户

    • 语法:

      which 指令名称
    • 范例:

      which ls
  • echo:将指定字符串输出到设备上

    • 执行权限:所有用户

    • 语法:

      echo 字符串
    • 范例:

      echo "yueqian is good" > yueqian.txt  --将yueqian is good输出到yueqian.txt
      echo "gaochao is good" >> yuqian.txt  --将gaochao is good追加到yueqian.txt

      解释:

      > 覆盖式写入,就是覆盖文件中本来的内容(不保留原本的内容)

      >> 追加式写入,就是在原本文件的内容末追加内容(保留原本的内容)

存储转换

1Bytes(字节)=8bit(位)

1KB=1024Byte

1MB=1024KB

1GB=1024MB

1TB=1024G

标签:02,文件,--,路径,cd,选项,Linux,操作,目录
From: https://blog.csdn.net/m0_74147998/article/details/145191392

相关文章

  • Linux运维学习记录14
    1.Docker的网络模式Docker的网络支持5种网络模式nonebridgecontainerhostnetwork-namebridge:描述:默认网络模式。如果未显式指定网络模式,Docker会将容器连接到一个默认的桥接网络docker0。每个容器都有自己的虚拟网卡,并通过docker0与其他容器通信。特点:容器之间......
  • MyBatis-增删改查操作&一些细节
    目录删除新增 修改查询 小结:删除功能需求:根据ID删除用户信息SQL:deletefromuserwhereid=5;Mapper接口方法(注意这里不是实现类):/***根据id删除*/@Delete("deletefromuserwhereid=#{id}")publicvoiddeleteById(Integerid);编写单元测试......
  • 【前端框架】2025 React 状态管理终极指南!
    全文约10800字,预计阅读需要30分钟。React作为当下最受欢迎的前端框架,在构建复杂且交互丰富的应用时,状态管理无疑是至关重要的一环。从简单的本地状态,到能让多个组件协同工作的全局状态,再到涉及服务器通信、导航切换、表单操作以及持久化存储等不同场景下的状态管理,每一个方面......
  • 2025省选模拟6
    2025省选模拟6T1、圣诞树原cf140E先说60pts做法:首先考虑如何处理两层之间的转移。每两层之间我们只需要用总方案数减去两层重合的方案数即可,对于两层重合的方案数,我们其实并不需要知道具体集合是什么,只需要知道集合的大小,然后乘上一个组合数即可,所以我们需要知道不考虑......
  • Day10-后端Web实战——Mysql多表操作&员工列表查询(分页查询)
    目录1.多表关系1.1一对多1.1.1关系实现1.1.2外键约束1.2一对一1.3多对多1.4案例2.多表查询2.1概述2.1.1数据准备2.1.2介绍2.1.3分类2.2内连接2.3外连接2.4子查询2.4.1介绍2.4.2标量子查询2.4.3列子查询2.4.4行子查询2.4.5表子查询2.5案例3.员......
  • 2025 省选模拟 6
    2025省选模拟6A.圣诞树DP,计数题考虑题目题目的两个限制相邻两层彩球颜色集合不同同层相邻两个彩球颜色不同发现求出每一行恰好\(j\)个颜色后第二个限制很简单就解决了。设\(f_{i,j}\)表示长度为\(i\)时恰好有\(j\)个颜色的方案数(对于一行考虑)设\(g_{i,j}......
  • linux kernel tcp丢包分析
     现象使用netstat-s能看见如下丢包统计  1352910failedconnectionattempts1352910resetsreceivedforembryonicSYN_RECVsockets 查看netstat的代码https://sourceforge.net/p/net-tools/code/ci/master/tree/ 取的这两个文件:/proc/net/netstat, /pro......
  • Telnet在Windows和Linux上的使用方法
    Telnet是一个基于TCP/IP协议的远程登录协议,用于在网络上的计算机之间进行通信。它主要用于远程管理和测试网络服务。本文将详细介绍在Windows和Linux系统上如何安装和使用Telnet。一、在Windows上使用Telnet1.1启用Telnet客户端在Windows系统中,默认情况下Telnet客户端是未启用......
  • 使用 Golang 编译 Linux 可运行文件
    Golang(或Go)是一种开源编程语言,因其简单、高效、并发编程支持而备受欢迎。本文将详细介绍如何使用Golang编译生成可以在Linux上运行的可执行文件。一、安装Golang1.1下载Golang从Golang官方网站下载适合你操作系统的安装包:Golang下载页面1.2安装Golang在Ubuntu......
  • Linux基础01天:指令起步
    ​​​​​##Linux指令起步st@st-virtual-machine:~$st:当前登录用户名,安装的时候设置的@:没有意义,分隔符st-virtual-machine:主机名~:家目录$:用于区分用户角色的,$表示普通用户,#表示ROOT用户pwd:Linux命令,用来**查看当前所在目录的绝对路径**,Linux绝对路径......