Linux文件与目录管理
#Linux系统基础
文件与目录管理
一、常用命令
文件、目录操作 | 命令 | 说明 |
---|---|---|
cd(cd …/ cd ~/ cd/ cd path) | 切换目录 cd ~等于 cd /root | |
ls | 显示目录文件 | |
ls -l 或者 ll | 以详细信息的方式显示目录文件 | |
pwd | 查看当前工作目录 | |
cp (-i -r) | 复制文件或目录 | |
mkdir | 创建目录,可以同时创建多个 | |
mkdir -p | 创建有层次结构的目录 | |
rmdir | 删除目录,只能删除空目录 | |
rmdir -p | 删除有层次结构的目录 | |
mkdir -m 711 test2 | 建立权限为 rwx–x–x 的目录 | |
mv ,mv -i(交互提示) | 移动文件或目录(前后路径不同),重命名(只要前后两个文件名不同) 命令格式为 mv [被移动文件1] [被移动文件2] [...] [本次移动的目的目录] | |
mv -u | -u :若目标文件已经存在,且 source 比较新,才会更新 (update) | |
rm ,rm -i(交互提示) | 删除文件或目录▲ | |
rm -r | 递归删除(删除目录必选)删除要谨慎▲ | |
rm -f | 强制(force)删除,会覆盖-i选项 | |
rm -rf | 强制删除,无法恢复 | |
\rm -r ./test/ | 忽略系统提示,直接删除 | |
du(du -sh; du -sk;du -sm) | 查看文件或目录的磁盘使用情况 |
- LS、tree命令
命令 | 说明 |
---|---|
ls [option] [file/directory] | 显示指定目录下的所有文件 |
ls | 显示当前目录的所有文件 |
ls -l | 显示目录的详细信息 |
ls -a | 显示包括隐藏文件在内的所有文件 |
ls *.txt | 显示当前目录下所有TXT文件 |
ls /opt/learn | 显示指定目录的所有文件 |
ls -R /opt/ | 列出opt的所有目录及其子目录 |
tree /opt | 用树状结构显示目录及文件 |
- pwd命令:显示当前所在目录
二、执行文件的路径变量 $PATH
$PATH
是一个特殊的环境变量,它定义了系统在查找可执行文件时会搜索的目录列表。当你在命令行输入一个命令(例如 ls
或 python
)时,系统会按照 PATH
变量中列出的目录顺序搜索该命令的可执行文件。有了这个变量的设置,我们在任何目录下输入 ls 就一定可以显示出一些讯息而不会说找不到该 /bin/ls 指令
- 当我们在执行一个指令的时候,举例来说
ls
好了,系统会依照 PATH 的设定去每个 PATH 定义的目录下搜寻文件名为 ls 的可执行文件,如果在 PATH 定义的目录中含有多个文件名为 ls 的可执行文件,那么先搜寻到的同名指令先被执行
输入 echo $PATH
命令,可以查看当前$PATH环境变量的设置
[root@localhost /]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
这里列出了当前用户可以执行的指令分别存放在什么地方,如果你的用户权限比较低,会与上述root用户的环境变量值有区别
三、cp命令
[root@study ~]# cp [-adfilprsu] 来源文件(source) 目标文件(destination)
[root@study ~]# cp [options] source1 source2 source3 .... directory
选项与参数:
-a :相当于 -dr --preserve=all 的意思,至于 dr 请参考下列说明;(常用)
-d :若来源文件为链接文件的属性(link file),则复制链接文件属性而非文件本身;
-f :为强制(force)的意思,若目标文件已经存在且无法开启,则移除后再尝试一次;
-i :若目标文件(destination)已经存在时,在覆盖时会先询问动作的进行(常用)
-l :进行硬式连结(hard link)的连结档建立,而非复制文件本身;
-p :连同文件的属性(权限、用户、时间)一起复制过去,而非使用默认属性(备份常用);
-r :递归持续复制,用于目录的复制行为;(常用)
-s :复制成为符号链接文件 (symbolic link),即『快捷方式』文件;
-u :destination 比 source 旧才更新 destination,或 destination 不存在的情况下才复制。
--preserve=all :除了 -p 的权限相关参数外,还加入 SELinux 的属性, links, xattr 等也复制了。
最后需要注意的,如果来源档有两个以上,则最后一个目的文件一定要是『目录』才行!
在预设的条件中, cp 的来源目录与目的目录的权限是不同的,目的目录的拥有者通常会是指令操作者本身。
⭐️注意:举例来说, 由于我是 root 的身份,因此复制过来的文件拥有者与群组就改变成为 root 所有了。所以在实际的复制文件过程中要特别注意这一点。某些需要特别注意的特殊权限文件, 例如密码文件 (/etc/shadow) 以及一些配置文件,就不能直接以 cp 来复制,而必须要加上 -a
或者是 -p
等等可以完整复制文件权限的选项才行!另外,如果你想要复制文件给其他的使用者, 也必须要注意到文件的权限(包含读、写、执行以及文件拥有者等等), 否则,其他人是无法针对你给予的文件进行修订的动作
hard link和symbolic link的区别
在Linux系统中,硬链接(hard link)和符号链接(symbolic link,也称为软链接)是两种不同的文件链接方式。它们在行为和实现上有明显的区别。以下是硬链接和符号链接之间的主要区别:
1.硬链接(Hard Link)
-
指向同一文件数据:
- 硬链接是指向同一文件数据块的多个目录项。硬链接和原文件共享相同的inode号和数据块,因此它们完全等同于源文件。
-
文件删除:
- 只有当所有硬链接被删除后,文件的数据才会被删除。删除其中一个硬链接不会影响其他硬链接或源文件。
-
不允许跨文件系统:
- 硬链接只能创建在同一个文件系统内,不能跨越不同的文件系统。
-
不能链接目录:
- 普通用户不能创建指向目录的硬链接(这会破坏文件系统的完整性)。只有超级用户可以在某些情况下创建目录的硬链接。
-
空间占用:
- 创建硬链接不会占用额外的磁盘空间,因为多个链接共享同一个数据块。
2.符号链接(Symbolic Link)
-
指向路径:
- 符号链接是一个独立的文件,它包含指向另一个文件或目录的路径。符号链接本身有独立的inode号和数据块。
-
文件删除:
- 如果删除了符号链接指向的原文件,符号链接将变为悬挂链接(dangling link),指向一个不存在的路径。
-
允许跨文件系统:
- 符号链接可以跨越不同的文件系统,因为它只是一个包含路径的文件。
-
可以链接目录:
- 符号链接可以指向目录,因此可以方便地创建指向不同目录的快捷方式。
-
空间占用:
- 符号链接占用少量的磁盘空间来存储路径信息。
3.创建和管理链接
创建硬链接:
ln source_file hard_link_name
创建符号链接:
ln -s source_file symbolic_link_name
查看链接信息:
使用 ls -l
命令可以查看文件和链接的信息:
ls -l
硬链接示例:
$ ln file1 hardlink1
$ ls -li
12345 -rw-r--r-- 2 user user 100 Jan 1 12:00 file1
12345 -rw-r--r-- 2 user user 100 Jan 1 12:00 hardlink1
在这个例子中,file1
和 hardlink1
共享相同的 inode 号 12345
,表示它们是同一文件的硬链接。
符号链接示例:
$ ln -s file1 symlink1
$ ls -li
12345 -rw-r--r-- 1 user user 100 Jan 1 12:00 file1
12346 lrwxrwxrwx 1 user user 6 Jan 1 12:01 symlink1 -> file1
在这个例子中,symlink1
是一个指向 file1
的符号链接,symlink1
有不同的 inode 号 12346
,表示它是一个独立的文件。
4.总结
- 硬链接 是同一文件的多个目录项,指向相同的inode和数据块,不能跨文件系统,不能链接目录。
- 符号链接 是一个独立的文件,包含指向另一个文件或目录的路径,允许跨文件系统,能够链接目录。
通过理解硬链接和符号链接的区别,你可以根据需要选择适当的链接方式来管理文件和目录。
三、basename和dirname命令
[root@study ~]# basename /etc/sysconfig/network
network <== 很简单!就取得最后的文件名~
[root@study ~]# dirname /etc/sysconfig/network
/etc/sysconfig <== 取得的变成目录名了!
相关文章:
Linux文件与目录管理
#Linux系统基础 文件与目录管理 一、常用命令 文件、目录操作命令说明cd(cd …/ cd ~/ cd/ cd path)切换目录 cd ~等于 cd /rootls显示目录文件ls -l 或者 ll以详细信息的方式显示目录文件pwd查看当前工作目录cp (-i -r)复制文件或目录mkdir创建目录,…...
08.组件间通信-插槽
1.默认插槽 父组件 <template><div class"father"><h3>父组件</h3><div class"content"><Category title"热门游戏列表">//默认插槽内容<ul><li v-for"g in games" :key"g.id&quo…...
在AWS上运行的EKS Elastic Kubernetes Service 创建集群Cluster,Node group, Nodes
1. 前提条件 AWS Account: https://aws.amazon.com/free/Installing KubeCtl CLI https://docs.aws.amazon.com/eks/latest/userguide/getting-started-eksctl.htmlEKS Cluster RoleIAM Role for Node GroupVPCEC2 Key Pair which can be used to SSH to the worker nodesAWS …...
10款堪称神器的宝藏软件,相见恨晚
今天给大家带来10款堪称神器的宝藏软件,每一个都非常好用,让你直呼相见恨晚。 1、知犀思维导图 知犀思维导图是大家组织信息、梳理思维的重要利器,它可以帮助我们以图形化的方式呈现思维过程,让整体思路变得清晰直观。通过使用知…...
为什么会选择厚膜作为芯片电阻?
引线键合 引线键合是集成电路 (IC) 或其他半导体器件与其封装之间互连的常见解决方案。它还可用于将IC连接到其他电子设备或将其他厚膜电路相互连接。引线键合通常被认为是最具成本效益和最灵活的互连技术,用于组装大多数半导体封装。引线键合…...
基本药物采购使用
--医院采购基本药物金额数 select sum(采购基本药物金额数) 采购基本药物金额数 from ( select sum(t.实收金额) 采购基本药物金额数 from 住院费用记录 t,药品规格 a where t.收费细目ida.药品id and t.记录状态1 and a.基本药物基药 and t.收费细目id not in( …...
k8s小型实验模拟
(1)Kubernetes 区域可采用 Kubeadm 方式进行安装。(5分) (2)要求在 Kubernetes 环境中,通过yaml文件的方式,创建2个Nginx Pod分别放置在两个不同的节点上,Pod使用hostPat…...
leetcode168:Excel表列名称
题目链接:168. Excel表列名称 - 力扣(LeetCode) class Solution { public:string convertToTitle(int columnNumber) {string ss1;int MOD 0;if(columnNumber < 26){ss1 (columnNumber A - 1);return ss1;}while(columnNumber){int MO…...
排课系统1
参考:https://gitee.com/lequal/CourseArrange 软件技术栈 当然,我会逐一解释这些技术栈的含义:### 前端技术栈1. **Vue2.x**:- Vue.js 是一个流行的前端 JavaScript 框架,用于构建用户界面和单页应用程序(SPA)。- 2.x 表示 Vue.js 的第二个主要版本,它提供了一套响应…...
uni-popup
UniPopup是uni-app框架中的一个轻量级组件,它提供了一种便捷的方式来显示弹出窗口(如对话框、通知、选择器等)。uni-popup可以帮助开发者在不同平台(如Web、H5、小程序等)上快速实现一致的用户体验,支持自定…...
torchmetrics,一个无敌的 Python 库!
更多Python学习内容:ipengtao.com 大家好,今天为大家分享一个无敌的 Python 库 - torchmetrics。 Github地址:https://github.com/Lightning-AI/torchmetrics 在深度学习和机器学习项目中,模型评估是一个至关重要的环节。为了准确…...
如何快速上手Python,成为一名数据分析师
如何快速上手Python,成为一名数据分析师 成为一名数据分析师需要掌握Python编程语言以及数据分析相关的知识和技能。以下是一些步骤和建议,帮助你快速上手Python并成为一名数据分析师: 学习Python基础知识:首先,你需要…...
MC服务器怎么搭建
MC服务器怎么搭建?随着《我的世界》(Minecraft,简称MC)的火爆,越来越多的玩家和社区开始搭建自己的MC服务器,与朋友共享创造的乐趣。但搭建一台稳定、高效的MC服务器并不是一件容易的事。今天,我们就来聊聊…...
JavaScript正则表达式
search()方法 用来检索与正则表达式相匹配的子字符串,并返回子字符串开始的位置。若结果为-1则表示没有与之匹配的子字符串例: var str"well pemper" var str1str.search(/em/g) console.log(str1) //返回6replace()方法 用于替换一个与正…...
Redis实战宝典:基础知识、实战技巧、应用场景及最佳实践全攻略
背景 在Java系统实现过程中,我们不可避免地会借助大量开源功能组件。然而,这些组件往往功能丰富且体系庞大,官方文档常常详尽至数百页。而在实际项目中,我们可能仅需使用其中的一小部分功能,这就造成了一个挑战&#…...
[FFmpeg学习]初级的SDL播放mp4测试
在之前的学习中,通过AVFrame来保存为图片来认识了AVFrame, [FFmpeg学习]从视频中获取图片_ffmpeg 获取图片-CSDN博客 在获取到AVFrame时,还可以调用SDL方法来进行展现,实现播放效果。 参考资料 SDL,ffmpeg实现简单…...
情景题之小明的Linux实习之旅:linux实战练习1(下)【基础命令,权限修改,日志查询,进程管理...】
小明的Linux实习之旅:基础指令练习情景练习题下 前景提要小明是怎么做的场景1:初识Linux,创建目录和文件场景2:权限管理,小明的权限困惑场景3:打包与解压,小明的备份操作场景4:使用G…...
k8s 证书更新
如何使用脚本更新Kubernetes集群证书 引言 Kubernetes集群中,由kubeadm初始化的证书有效期默认为一年。当这些证书接近或已经超过有效期时,它们必须被更新以保证集群的正常运作。本文将介绍如何使用特定脚本来更新这些证书,将它们的有效期延…...
Linux操作系统学习:day01
内容来自:Linux介绍 视频推荐:Linux基础入门教程-linux命令-vim-gcc/g -动态库/静态库 -makefile-gdb调试 day01 基础概念 Linux 是 UNIX 操作系统的一个克隆系统, 但是Linux是开源的。 Linux是一个基于文件的操作系统。操作系统需要和硬件进行交互…...
【Oracle生产运维】数据库服务器负载过高异常排查处理
说明 在Oracle数据库运维工作中,经常会遇到Oracle数据库服务器平均负载(load average)突然异常升高,如果放任不管,严重的情况下会出现数据库宕机、服务器重启等重大故障。因此,当发现数据库服务器平均负载…...
IIR和FIR两种滤波器有什么区别?
概念的区分 IIR(Infinite Impulse Response,无限脉冲响应)和FIR(Finite Impulse Response,有限脉冲响应)滤波器是两种常见的数字信号处理滤波器类型,它们在结构、性能和用途上有显著区别&#…...
让GNSSRTK不再难【第二天-第4部分】
第12讲 GNSS授时与PPS 12.1 为什么需要高精度时间 授时的传统理解就是时间传递或者对时。比如以前手机没这么方便时,大家还都使用石英钟手表看时间时,大家都习惯晚上七点准时对着中央一套的报时,来校准你家的机械钟或者挂钟,这就…...
「OC」UI练习(一)—— 登陆界面
「OC」登陆界面 明确要求 一个登陆界面的组成,用户名提示以及输入框,密码提示提示以及输入框,登陆按钮,以及注册按钮,根据以上要求我们将我们的组件设置为成员变量。 //viewControl.h #import <UIKit/UIKit.h>…...
基于机器学习和深度学习的NASA涡扇发动机剩余使用寿命预测(C-MAPSS数据集,Python代码,ipynb 文件)
以美国航空航天局提供的航空涡扇发动机退化数据集为研究对象,该数据集包含多台发动机从启动到失效期间多个运行周期的多源传感器时序状态监测数据,它们共同表征了发动机的性能退化情况。为减小计算成本,需要对原始多源传感器监测数据进行数据…...
计算机组成原理-常见计算题含IEE754
一、补码加减运算 二、溢出判断 采用一位符号位 采用双符号位 三、定点数的移位运算 算术右移 算数左移 反码的算术移位 补码的算术移位 四、浮点数的表示 一个右规的例子 五、IEEE754 移码...
InnoDB存储引擎非常重要的一个机制--MVCC(多版本并发控制)
Mysql是如何实现隔离性的?(锁MVCC) 隔离性是指一个事务内部的操作以及操作的数据对正在进行的其他事务是隔离的,并发执行的各个事务之间不能相互干扰。隔离性可以防止多个事务并发执行时,可能存在交叉执行导致数据的不…...
【DevOps】服务器硬件基础知识
目录 前言 1、处理器(CPU):服务器的“大脑” 2、内存(RAM):服务器的“工作台” 3、存储(Storage):服务器的“仓库” 4、 网络接口(NIC)&…...
6.10 c语言
7.1 if-else语句 简化形式 if(表达式)语句块 阶梯形式 if(表达式1)语句块1 else if(表达式2)语句块2 嵌套形式 if() if() 语句1 else 语句2 else if() 语句3 else 语句4 表达式一般情况下为逻辑表达式或关系表达式 #include <stdio.h>//从小到大排序,输出顺…...
jenkins插件之Jdepend
JDepend插件是一个为构建生成JDepend报告的插件。 安装插件 JDepend Dashboard -->> 系统管理 -->> 插件管理 -->> Available plugins 搜索 Jdepend, 点击安装构建步骤新增执行shell #执行pdepend if docker exec phpfpm82 /tmp/composer/vendor/bin/pdepe…...
vue3之基于el-image实现图片预览
实现的功能: 图片可放大预览,支持放大、缩小、向左向右旋转查看可点击任意一张图后进行左右切换查看大图 主要使用的方法:splice和concat 主要代码 // template中 <div><el-imagev-for"(item, index) in imgsData":src&q…...
推广网站的方法/百度认证营销推广师
盒子不能为空的插板问题 有8个一模一样的小球,把它们放到4个不同的盒子里,每个盒子都不能为空,有几种不同的放法? 解题思路 因为要放入4个不同的盒子里,可以在小球之间插入3块隔板将它们成四份,如下图所…...
做pc端网站平台/百度seo优化是做什么的
成熟又有钱的是父亲,成熟又没钱的是舅舅,不成熟有没钱的是儿子,看来自己只能做个儿子了。...
东莞万江今天最新通知/搜索引擎优化中的步骤包括
JUC中提供了Condition对象, 用于让指定线程等待与唤醒, 按照预期顺序执行, 它必须和ReentrantLock重入锁配合使用 Conddition用于替代wait() / notify()方法 notify 只能随机唤醒等待的线程, 而Condition可以唤醒指定的线程, 这样有利于更好的控制并发程序 Condition核心方法…...
南昌网站建设讯息/2021百度热搜年度榜
为了评估模型拟合的好坏,通常用损失函数(觉得严格来说相当于下面的目标函数)来度量拟合的程度。损失函数极小化,意味着拟合程度最好,对应的模型参数即为最优参数。 每一个算法都有一个目标函数(objective f…...
网站制作熊猫建站/域名怎么注册
MySQL索引到底是干什么的?这个问题自己一直理解的很模糊,只知道它相当于书的目录,能加快数据检索速度。但是要深入一点去说,它为什么能加快数据检索速度,从哪能看出它加快了检索速度,说到这可能我就有点迷茫…...
企业网上推广方式/windows优化大师免费
LeetCode 1401. 圆和矩形是否有重叠 难度 中等 给你一个以 (radius, x_center, y_center) 表示的圆和一个与坐标轴平行的矩形 (x1, y1, x2, y2),其中 (x1, y1) 是矩形左下角的坐标,(x2, y2) 是右上角的坐标。 如果圆和矩形有重叠的部分,请…...