linux(1)文件管理

文章目录

    • 文件目录系统
    • 相对路径
    • 绝对路径
    • 命令解析器
    • 文件管理

文件目录系统

  • bin: 二进制文件目录,存储可执行文件

  • dev:设备目录,所有的硬件都会抽象成文件存储,比如鼠标键盘

  • home:存储普通用户的家目录

  • lib:存储动态库和静态库

  • mnt:临时挂载点目录,比如临时U盘

  • proc:内存使用的一个映射目录,给系统使用的

  • run:运行中给系统使用的

  • tmp:临时目录,存放临时数据,重启电脑会删除

  • boot:存储开机相关的设置

  • root:root用户的家目录

  • opt:第三方软件的安装目录

  • var:存储了系统使用的一些经常发生变化的目录,比如日志文件

  • lost+found:一般是空的,非正常关机和系统崩溃会存储临时文件,用来恢复的目录

  • snap:

  • sys

  • etc:存储操作系统和软件的配置文件

  • srv:

  • cdrom

  • media:和dev完全相同,可以选择用来挂载一些长期的设备

  • sbin:root用户使用的二进制可执行程序目录

  • usr:系统资源目录

    • usr/include:包含标准头文件
    • usr/local:安装第三方软件
    • usr/src:源文件

相对路径

  • ./:代表当前目录也可以用**.**表示
  • …/:代表当前目录的上一层目录 可以用**…**表示

绝对路径

起始目录是根目录 /

命令解析器

  1. 命令提示行

liyb@lyb:~$

  • liyb:用户名
  • @:at 在
  • lyb:主机名
  • ~:当前用户的家目录,等于/home/l1yb
  • $: 当前用户是普通用户
  • #:当前用户是root用户
  1. 命令解析器

unix 系统使用的是shell

linux 系统重写了shell,成为了bash

  1. 命令行快捷键

ctrl + a 光标移动到行首

ctrl + e 光标移动到行尾

ctrl + u 删除光标前面的字符串

ctrl + k 删除光标后面的字符串

文件管理

  1. cd
    • cd - :快速切换到上一次进入的目录
  2. ls
参数含义
-a显示隐藏文件
-l显示文件详细信息
-F如果是文件,会在文件名后面加/
-h人性化,文件大小显示为K,M,G
-laFubuntu中等价于ll(参数之间可以一起使用)
  1. 文件类型
# 显示文件的详细信息
robin@OS:~$ ls -l
total 204
-rw-rw-r--  1 robin robin    268 Mar 22 17:32 a.c
drwxrwxr-x  2 robin robin   4096 Aug  4  2019 config
-rw-r--r--  1 robin robin 129487 Dec 25 11:28 english.txt
drwxrwxr-x  4 robin robin   4096 Jan 15 17:48 libevent
drwxrwxr-x 17 robin robin   4096 Apr 13 22:42 Linux
drwxrwxr-x  8 robin robin   4096 Feb  5 16:57 luffy
-rw-r--r--  1 robin robin   2223 Mar  2 14:39 main.cpp
-rw-rw-r--  1 robin robin   2167 Dec  1 22:41 mysql_test.c
drwxrwxr-x  9 robin robin   4096 Mar 26 19:19 network
-rw-r--r--  1 robin robin   1406 Mar  2 20:18 occi.cpp
drwxrwxr-x  3 robin robin   4096 Oct 30 12:09 oradiag_robin
drwxrwxr-x 11 robin robin   4096 Mar 26 09:40 package
drwxrwxr-x  2 robin robin   4096 Dec 29 17:11 process
drwxrwxr-x 17 robin robin   4096 Mar 29 22:31 projects
-rw-r--r--  1 robin robin   1816 Jan  6 09:37 sidtime.c
drwxrwxr-x  2 robin robin   4096 Mar 22 11:31 socket
-rw-r--r--  1 robin robin    583 Oct 18 17:21 test.c
-rw-r--r--  1 robin robin   2015 Mar  1 17:05 test.cpp
-rw-rw-r--  1 robin robin   2218 Dec  2 17:02 test_mysql.c
drwxrwxr-x  5 robin robin   4096 Jan 13 17:35 udp# 文件详细信息介绍d      rwx       rwx     r-x     5    robin    robin    4096    Jan 13 17:35    udp|       |         |       |      |      |        |       |          |	          |
文件    文件所    文件所   其他人 硬链接  文件     文件   文件大小  文件修改时间     文件名
类型   有者权限  属组权限  权限   计数   所有者   所属组    作者: 苏丙榅
链接: https://subingwen.cn/linux/file-commands/#2-2-%E6%98%BE%E7%A4%BA%E6%96%87%E4%BB%B6%E8%AF%A6%E7%BB%86%E4%BF%A1%E6%81%AF
来源: 爱编程的大丙
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
  1. 创建删除目录
  • mkdir 创建目录
    • 创建单层目录
    • mkdir /a/b/c -p 创建多层目录
  • rmdir 删除目录(没啥用)
    • 只能删除单层目录
  • rm 删除
    • rm dirname -r 删除目录包括子目录(-r 表示递归)
    • -i 删除给提示
    • -f 强制删除且不提示
    • i f一起用的时候,谁在后面谁生效
  1. cp 命令
# 文件拷贝
# cp 要拷贝的文件 目标文件(没有的话会创建,已经存在的话会被覆盖)# 目录拷贝
# cp dir1 dir2 -r   有子目录的话一定要加-r递归
#这种拷贝会把目录名一起拷贝进去#如果只要目录里的内容的话
cp dir1/* dir2 -r
  1. mv
# 文件移动  目标文件夹必须存在
mv a b c target/# 文件改名  目标文件必须不存在
mv tom.txt jerry.txt
mv temp/ tmp/# 文件覆盖 文件存在且不是目录
mv file1 file2 # file1会消失,覆盖file2
  1. 查看文件内容
  • cat + filename

  • more + filename

    回车 : 向下一行

    空格:向下一页

    b:上一页

    q:退出

  • less + filename

  • head -行数 filename 前多少行

  • tail -行数 filename 后多少行

  1. 链接的创建
  • 软链接
# ln -s 源文件路径 软链接文件名字
ln -s a.txt a.lnk # 移动以后失效
# 想要移动不失效需要使用绝对路径
ln -s /home/l1yb/dir/a.txt aa.lnk
  • 硬链接
# ln 源文件 硬链接文件名字
ln a.txt b.txt # 相当于起别名,他们的引用计数一样,指向同一块磁盘空间

目录不允许创建硬链接,文件不会发生拷贝,只是起别名

  1. 修改文件权限chmod

针对文件所有者、文件所有组、其他人

  • 文字设定法
# chmod who [+][-][=] mod filenamewho u : user -> 文件所有者g : group -> 文件所属组o : other -> 其他人a : all -> 以上所有人- 对权限的操作+:添加权限-:去除权限=:权限的覆盖- mod:权限r:读w:写x:执行权限-:无权限
chmod a=rwx a.txt
chmod u+x a.txt
chmod go-w a.txt
  • 数字设定法
# 语法格式: chmod [+|-|=] mod 文件名- 对权限的操作:+: 添加权限-: 去除权限=: 权限的覆盖, 等号可以不写- mod: 权限描述, 所有权限都放开是 7- 4: read, r- 2: write, w- 1: execute , x- 0: 没有权限chmod 777 b.txt # 所有人的权限覆盖为7
chmod -200 b.txt #去除文件所有者的写权限
  1. 修改文件所有者chown

  2. 修改文件所有组chgrp

  3. tree

安装:

sudo apt install tree
tree -L 1 # 显示一层
tree -L 2 # 显示两层
tree -L 1 dir/  # 指定目录显示一层
  1. pwd 显示当前目录

  2. touch 创建新文件

  3. which 可执行程序在哪个目录中

  4. 重定向命令

关键符 > 或者 >>

如果 > 后面的文件不存在,会创建

如果存在,就会覆盖

>>不会覆盖,表示追加,新的一行

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/896607.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CSS—选择器详解:5分钟动手掌握选择器

个人博客:haichenyi.com。感谢关注 1. 目录 1–目录2–引言3–种类4–优先级 引言 什么是选择器? CSS选择器是CSS(层叠样式表)中的一种规则,用于指定要应用样式的HTML元素。它们就像是指向网页中特定元素的指针&#…

大模型微调入门(Transformers + Pytorch)

目标 输入:你是谁? 输出:我们预训练的名字。 训练 为了性能好下载小参数模型,普通机器都能运行。 下载模型 # 方式1:使用魔搭社区SDK 下载 # down_deepseek.py from modelscope import snapshot_download model_…

DeepSeek实战

DeepSeek 接入实战:从零开始快速上手 引言 在当今的 AI 领域,DeepSeek 作为一个强大的自然语言处理(NLP)平台,提供了丰富的 API 接口,帮助开发者快速实现智能对话、文本生成、语义分析等功能。本文将带你…

Android NDK打包封装教程与优化技巧

关于NDK打包封装的问题。首先,用户可能不太清楚NDK的基本概念,所以我应该先解释NDK是什么以及它的作用。然后,用户可能想知道如何在Android项目中使用NDK,所以需要分步骤说明配置过程,包括安装NDK、配置CMake或ndk-build,创建JNI接口,编写C/C++代码,编译和打包。 接下…

【告别双日期面板!一招实现el-date-picker智能联动日期选择】

告别双日期面板!一招实现el-date-picker智能联动日期选择 1.需求背景2.DateTimePicker 现状图3.日期选择器实现代码4.日期选择器实现效果图5.日期时间选择器实现代码6.日期时间选择器实现效果图 1.需求背景 在用户使用时间查询时,我们经常需要按月份筛选…

Linux(ftrace)__mcount的实现原理

Linux 内核调试工具ftrace 之(_mcount的实现原理) ftrace 是 Linux 内核中的一种跟踪工具,主要用于性能分析、调试和内核代码的执行跟踪。它通过在内核代码的关键点插入探针(probe)来记录函数调用和执行信息。这对于开…

Java注解(Annotation)

一、注解的定义 核心概念 注解是Java中一种特殊形式的“元数据”,用于为类、方法、字段、参数等代码元素附加说明信息。它不会直接影响代码逻辑,但可以通过编译器、框架或反射机制进行解析和处理。 与注释(Comment)的区别 注释&a…

tauri2+typescript+vue+vite+leaflet等的简单联合使用(一)

项目目标 主要的目的是学习tauri。 流程 1、搭建项目 2、简单的在项目使用leaflet 3、打包 准备项目 环境准备 废话不多说,直接开始 需要有准备能运行Rust的环境和Node,对于Rust可以参考下面这位大佬的文章,Node不必细说。 Rust 和…

深入解析 Svelte:下一代前端框架的革命

深入解析 Svelte:下一代前端框架的革命 1. Svelte 简介 Svelte 是一款前端框架,与 React、Vue 等传统框架不同,它采用 编译时(Compile-time) 方式来优化前端应用。它不像 React 或 Vue 依赖虚拟 DOM,而是…

关于流水线的理解

还是不太理解,我之前一直以为,对axis总线,每一级的寄存器就像fifo一样,一级一级的分级存储最后一级需要的数据。 像这张图,一开始是在解析axis流形式的数据包,数据包一直都能输入,所以valid一直…

Python代码之美:从规范到艺术

基础规范:代码的"颜值"很重要 👉大礼包🎁:👈 PEP 8:不只是规范,是写作艺术 良好的代码格式就像优美的书法,让人赏心悦目。比如: # 不推荐的写法 def calcul…

【AI+智造】在阿里云Ubuntu 24.04上部署DeepSeek R1 14B的完整方案

作者:Odoo技术开发/资深信息化负责人 日期:2025年2月28日 一、部署背景与目标 DeepSeek R1作为国产大语言模型的代表,凭借其强化学习驱动的推理能力,在复杂任务(如数学问题、编程逻辑)中表现优异。本地化部…

8 SpringBoot进阶(上):AOP(面向切面编程技术)、AOP案例之统一操作日志

文章目录 前言1. AOP基础1.1 AOP概述: 什么是AOP?1.2 AOP快速入门1.3 Spring AOP核心中的相关术语(面试)2. AOP进阶2.1 通知类型2.1.1 @Around:环绕通知,此注解标注的通知方法在目标方法前、后都被执行(通知的代码在业务方法之前和之后都有)2.1.2 @Before:前置通知,此…

【react】快速上手基础教程

目录 一、React 简介 1.什么是 React 2.React 核心特性 二、环境搭建 1. 创建 React 项目 2.关键配置 三、核心概念 1. JSX 语法 表达式嵌入 样式处理 2. 组件 (Component) 3. 状态 (State) 与属性 (Props) 4. 事件处理 合成事件(SyntheticEvent) 5. …

七星棋牌 6 端 200 子游戏全开源修复版源码(乐豆 + 防沉迷 + 比赛场 + 控制)

七星棋牌源码 是一款运营级的棋牌产品,覆盖 湖南、湖北、山西、江苏、贵州 等 6 大省区,支持 安卓、iOS 双端,并且 全开源。这个版本是 修复优化后的二开版本,新增了 乐豆系统、比赛场模式、防沉迷机制、AI 智能控制 等功能&#…

【人工智能】Deepseek 与 Kimi 联袂:重塑 PPT 创作,开启智能演示新纪元

我的个人主页 我的专栏:人工智能领域、java-数据结构、Javase、C语言,希望能帮助到大家!!!点赞👍收藏❤ 前言 在当今快节奏的工作与学习场景中,PPT 制作常常是一项耗时耗力的任务。从前期的资…

Kafka的高水位、低水位是什么概念?

Kafka 的 高水位(High Watermark, HW) 和 低水位(Low Watermark, LW) 是和数据存储、消费进度、日志清理等密切相关的重要概念。我们用一个 “蓄水池” 的比喻来形象地解释它们的作用。 1. Kafka 里的数据像一个蓄水池 Kafka 的数…

基于JAVA+Spring+mysql_快递管理系统源码+设计文档

文末获取源码数据库文档 感兴趣的可以先收藏,有毕设问题,项目以及论文撰写等问题都可以和博主沟通,尽最大努力帮助更多的人! 摘 要 随着物流行业信息化的深入使得物流过程中货物的状态和变化透明化,现代信息化的接入使…

Python----数据分析(Numpy:安装,数组创建,切片和索引,数组的属性,数据类型,数组形状,数组的运算,基本函数)

一、 Numpy库简介 1.1、概念 NumPy(Numerical Python)是一个开源的Python科学计算库,旨在为Python提供 高性能的多维数组对象和一系列工具。NumPy数组是Python数据分析的基础,许多 其他的数据处理库(如Pandas、SciPy)都依赖于Num…

【SQL】MySQL中的字符串处理函数:concat 函数拼接字符串,COALESCE函数处理NULL字符串

MySQL中的字符串处理函数:concat 函数 一、concat ()函数 1.1、基本语法1.2、示例1.3、特殊用途 二、COALESCE()函数 2.1、基本语法2.2、示例2.3、用途 三、进阶练习 3.1 条件和 SQL 语句3.2、解释 一、concat &…