Linux入门系列--文件与目录

news2024/11/25 11:58:46

一、介绍

在Linux中,有着一句话,叫做:一切皆文件。也就是任何东西都是以文件的形式存储的。

目录结构

bin:全程binary,含义是二进制。该目录中存储的都是一些二进制文件。我们学过C/C++,其实也都知道机器能识别的就是二进制,所以,这些二进制文件其实都是可以被运行的。

dev:全程device,该目录中主要是存放的外接设备,例如键盘、鼠标等。在其中的外接设备是不能被直接使用的,需要挂载(类似Windows下的分配盘符C盘,D盘等)

etc:该目录主要存储一些配置文件。

home:表示“家”,表示除了root用户以外其它用户的家目录,类似于Windows下的User/用户目录。

proc:process,表示进程,该目录中存储的是Linux运行时候的进程。(这个目录本身是一个虚拟文件系统,他存放的数据都是在内存中的,本身不占磁盘空间)

root:表示“根”,该目录是root用户自己的家目录。

sbin:全称是super binary,该目录是存储一些可执行的二进制文件,但是必须得有super权限的用户才能执行。

tmp:全称temporary,表示临时的。当系统运行时产生的临时文件会在这个目录下存放。

usr:全称是unix software resources,存放的是用户自己安装的软件。类似于Windos下的program files。

var:存放程序/系统的日志文件的目录。

mnt:当外接设备需要挂载时,就需要挂载到mnt目录下。

绝对路径和相对路径

绝对路径:从/目录开始描述的路径为绝对路径,如:/etc/passwd就是一个绝对路径

相对路径:从当前位置开始描述的路径为相对路径,如:./files/file就是一个相对路径

特殊路径

. 表示当前工作目录

..表示上一级工作目录(根据目录层次)

-表示上一次的工作目录(根据历史记录)

/表示根目录

~表示家目录

Linux文件类型

Linux文件类型有七种:

普通文件:-(纯文本文件、二进制文件、数据格式文件)

目录文件:d(directory)

设备文件:

        字符设备c(character)

        块设备b(block)

软连接:l(link)

管道文件:p(pipe)

套接字:s(socket)

对应的可以使用ls -l命令来查看:列表显示的第一组的首列就是文件类型。

二、目录与路径

ls指令

list,列出目录及文件名

用法1:$ls

含义:列出当前目录下的目录及文件名

根据颜色可以区分:

白色的为普通文件;蓝色的为目录文件;青色的为链接文件;绿色的为可执行文件;红色的为压缩文件

用法2:$ls 路径

含义:列出指定路径下的目录及文件名

当前显示的不是所有,下面还有没截下来的。该指令的含义是:列出根目录(/)下的etc目录的内容。也就是上图所示的在etc中的文件。

用法3:$ls 选项 路径

含义:在列出指定路径下的目录及文件名的基础上,按照指定的格式进行显示

ls -l 路径 #按照列表的形式展开
ls -a 路径 #显示所有的文件,包括隐藏文件
ls -h 路径 #以高可读性的形式显示文件大小。
ls -F 路径 #在列出的文件名后面加上一个符号;例如可执行文件加*,目录加/

ll 路径 #ll是ls -alF的别名, alias ll

ps:选项可以复合使用【-lahF -la -lh -laF】示例使用:(路径省去就代表当前工作目录 . )

这里我们看到,单独使用ls -h没有任何用处,这是因为ls本身不会显示文件大小的信息,更何况高可读性。所以,需要使用ls -l的-l选项复用才能完整显示预期信息。

pwd指令

print working directory-打印当前工作目录

cd指令

change directory-切换目录

用法1:cd

含义:切换到家目录~

用法2:cd 路径

含义:切换到指定目录

特殊用法:

cd -  #回到上一个工作目录
cd ~  #切换到家目录(一般直接使用cd 不加参数)
cd /  #切换到根目录
cd .. #切换到上一级目录(父目录)

du指令

查看目录的真实大小

用法:du -sh 目录路径

选项:-s:summaries,只显示汇总的大小;-h:以高可读性的形式进行显示

三、文件与目录管理

mkdir指令

make directory-创建目录

用法1:#mkdir 目录名称

含义:指定目录名称创建,支持绝对路径和相对路径,只有名称则在当前目录下创建

如果指定路径的话,将在指定路径下建立文件:

用法2:#mkdir -p 路径

含义:当一次性创建多层不存在的目录时,添加-p参数,否则会报错

用法3:#mkdir 路径1 路径2 路径3...

含义:一次性创建多个目录文件

rm指令

remove-移除文件或目录

语法:#rm 选项 文件路径

常用选项:

-f: force ,强制删除,不提示是否删除

-r:recursive,递归删除,危险

如上:删除一个目录时,需要递归删除,并且一般也不需要进行确认询问,所以移除目录时,一般使用-rf复合选项。另外,可以使用通配符*来删除。

rm -rf a* #删除任何以a开头的文件
rm -rf *.txt #删除任何以txt结尾的文件
rm -rf *a* #删除任何含有a的文件

mv指令

move-移动文件或目录/  重命名文件

用法:#mv 源路径 目标路径

移动文件:

这个示例中,将2.txt移动到了test目录中

重命名:

这个示例中,将2.txt重命名为1.txt

将目录移动到另一个目录中:

-v选项就是显示移动进度的一个选项。不加该选项的话,不会显示已重命名等移动信息.

cp指令

copy-复制文件或目录

用法:#cp 被复制文件路径 被复制到的路径

注意:如果被复制到的路径下存在名字相同的文件,会覆盖同名的文件

常用选项:

-a:all,复制时保留文件属性

-r:recursive,递归复制。

复制目录时,需要加-r或-a。

touch指令

修改文件或目录的时间属性,若文件不存在则创建

用法:#touch 文件路径

含义:指定文件名或路径创建文件

创建一个以-开头的文件名的文件(文件名最好不要-开头)


感谢观看!

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

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

相关文章

Linux离线安装Docker命令,简单镜像操作

解压安装包 首先,使用 tar 命令解压 docker-27.3.1.tgz 安装包: tar -zxvf docker-27.3.1.tgz 将二进制文件移动到可执行路径上的目录 接着,将解压出来的 Docker 二进制文件复制到系统的可执行路径(通常是 /usr/bin/&#xff09…

鸿蒙主流路由详解

鸿蒙主流路由详解 Navigation Navigation更适合于一次开发,多端部署,也是官方主流推荐的一种路由控制方式,但是,使用起来入侵耦合度高,所以,一般会使用HMRouter,这也是官方主流推荐的路由 Navigation官网地址 个人源码地址 路由跳转 第一步-定义路由栈 Provide(PageInfo) pag…

harbor和docker配置https访问

如果配置了科学上网代理,一定要做免代理的配置,不然https访问会失败。 免代理配置 Docker免代理配置 [rootnode1 harbor]#cat /etc/systemd/system/docker.service.d/http-proxy.conf [Service] Environment"HTTP_PROXYhttp://10.0.0.1:7897"…

SageMaker强化学习部署

强化训练 强化学习的训练与一般的深度学习不太一样。需要有一个环境,对智能体的动作,给予一个奖励并进行状态转移。用于训练的数据,是在训练的过程中产生的。 这里以一个小车上坡的强化学习作为例子,相关文档在下方 https://sa…

MySQL面试-1

InnoDB中ACID的实现 先说一下原子性是怎么实现的。 事务要么失败,要么成功,不能做一半。聪明的InnoDB,在干活儿之前,先将要做的事情记录到一个叫undo log的日志文件中,如果失败了或者主动rollback,就可以通…

使用树莓派安装shairport-sync使老音响变身AirPlay音响

借助shairport-sync,可以让普通音响变成AirPlay无线音响,由于树莓派天生的低功耗,做这种事情最适合。所以架构就是树莓派安装Ubuntu24.04,在树莓派上安装shairport-sync,树莓派再通过3.5mm线连接音响。 安装Ubuntu24.…

Linux---ps命令

​​​​​​Linux ps 命令 | 菜鸟教程 (runoob.com) process status 用于显示进程的状态 USER: 用户名,运行此进程的用户名。PID: 进程ID(Process ID),每个进程的唯一标识号%CPU: 进程当前使用的CPU百分比%MEM: 进程当前使用的…

VLAN是什么,一个好的网络为什么要划分VLAN呢?

前言 在上一篇中讲解了交换机的工作原理,知道了交换机处理数据的转发方式,其中有两种情况会以广播方式进行发送数据,第一种是目的MAC是全F的,以及组播MAC,第二种是未知单播帧,那这个会带来什么样的问题呢&…

衡山派D133EBS 开发环境安装及SDK编译烧写镜像烧录

1.创建新文件夹,用来存放SDK包(其实本质就是路径要对就ok了),右键鼠标通过Open Git Bash here来打开git 输入命令 git clone --depth1 https://gitee.com/lcsc/luban-lite.git 来拉取,如下所示:&#xff0…

基于Gradle搭建Spring6.2.x版本源码阅读环境

前言 阅读源码是程序猿成长的必经一环,正所谓知其然知其所以然。我们在开发成长道路上不仅需要知道如何使用,更要懂得其背后的原理,如此方可得心应手。本篇文章旨在指导大家搭建Spring6.0以上版本的源码阅读环境,方便大家在学习源…

C++自动化测试:GTest 与 GitLab CI/CD 的完美融合

在现代软件开发中,自动化测试是保证代码质量和稳定性的关键手段。对于C项目而言,自动化测试尤为重要,它能有效捕捉代码中的潜在缺陷,提高代码的可维护性和可靠性。本文将重点介绍如何在C项目中结合使用Google Test(GTe…

ubuntu16.04在ros使用USB摄像头-解决could not open /dev/video0问题

首先检查摄像头 lsusb 安装 uvc camera 功能包 sudo apt-get install ros-indigo-uvc-camera 安装 image 相关功能包 sudo apt-get install ros-kinetic-image-* sudo apt-get install ros-kinetic-rqt-image-view运行 uvc_camera 节点 首先输入roscore 然后另外开一个终端输入…

Linux:文件管理(二)——文件缓冲区

目录 一、缓冲区概念 二、缓冲区刷新机制 三、用缓冲区刷新解释下面现象。 一、缓冲区概念 缓冲区,本质就是一块内存区域。 设计缓冲区就是为了让本来要一次一次传的数据,都暂时传到缓冲区,让缓冲区刷新一次,这样只发生了一次传…

PH热榜 | 2024-11-24

DevNow 是一个精简的开源技术博客项目模版,支持 Vercel 一键部署,支持评论、搜索等功能,欢迎大家体验。 在线预览 1. AutoFlow Studio 标语:借助简化的AI质检,更快发布产品,更聪明地进行测试。 介绍&…

hubuctf-2024校赛-复现wp

web easyweb1 <?php error_reporting(0); highlight_file(__FILE__);$flag getenv("GZCTF_FLAG");if(isset($_GET[num])){$num $_GET[num];if(preg_match("/[0-9]/", $num)){die("You are failed.");}if(intval($num)){echo $flag;} } 利…

飞书会话消息左右排列

飞书会话消息左右排列 1. 飞书登录后&#xff0c;点击头像&#xff0c;弹出菜单有个按钮设置 2. 3.

《图像形态学运算全解析:原理、语法及示例展示》

简介&#xff1a; 本文详细介绍了图像形态学中的多种运算&#xff0c;包括腐蚀、膨胀、开运算、闭运算、形态学梯度运算、礼帽运算以及黑帽运算。分别阐述了各运算的原理、语法格式&#xff0c;并通过 Python 代码结合具体示例图片&#xff08;如erode.JPG、dilate.JPG、close.…

链路聚合实验

1、聚合方式 &#xff08;1&#xff09;、lacp 静态链路聚合、 动态链路聚合&#xff08;开启lacp模式&#xff0c;常用&#xff09; &#xff08;2&#xff09;、手工负载分担 静态端口聚合&#xff08;两台交换机都按照下面的命令配置&#xff09; <H3C>sys System Vi…

电子电气架构 -- ASIL D安全实现策略

我是穿拖鞋的汉子&#xff0c;魔都中坚持长期主义的汽车电子工程师。 老规矩&#xff0c;分享一段喜欢的文字&#xff0c;避免自己成为高知识低文化的工程师&#xff1a; 所有人的看法和评价都是暂时的&#xff0c;只有自己的经历是伴随一生的&#xff0c;几乎所有的担忧和畏惧…

禁止Chrome的自动升级

一、需求分析 因为用Chromeselenium做了网页自动化填写任务&#xff0c;如果Google Chrome浏览器自动升级&#xff0c;就会导致chromedriver加载失败&#xff0c;自动化任务失效&#xff0c;因此需要禁止Chrome浏览器的自动升级。 二、当前环境 三、实际配置 运行注册表编辑…