linux基础文件管理软硬链接

一、文件系统的基本结构

 

1、文件和目录被组成一个单根倒置树目录结构

2、文件系统从根目录下开始,用“/”表示

3、根文件系统(rootfs):root filesystem文件名区分大小写

4、以 . 开头的文件为隐藏文件

5、路径用/隔离

6文件有两类数据:元数据和数据本身
7、文件名规则

  • 文件名最多255个字节包括路径在内文件名称最长4095个字节
  • 蓝色-->目录 绿色-->可执行文件 红色-->压缩文件 浅蓝色-->链接文件 灰色-->其他文件 
  • 除了斜杠和NUL,所有字符都有效.但使用特殊字符的目录名和文件不推荐使用,有些字符需要用引号来引用它们
  • 标准Linux文件系统(如ext4),文件名称大小写敏感例如:MAIL, Mail, mail, mAiL,部分文件系统大小写不敏感,文件大小写敏感与否取决于文件系统而不是操作系统

8、文件系统结构

  • /boot:引导文件存放目录,内核文件(vmlinuz)、引导加载器(bootloader, grub)都存放于此目录 
  • /bin:所有用户使用的基本命令;不能关联至独立分区,OS启动即会用到的程序 
  • /sbin:管理类的基本命令;不能关联至独立分区,OS启动即会用到的程序 
  • /lib:启动时程序依赖的基本共享库文件以及内核模块文件(/lib/modules)
  • /lib64:专用于x86_64系统上的辅助共享库文件存放位置 
  • /etc:配置文件目录 
  • /home/USERNAME:普通用户家目录 
  • /root:管理员的家目录 
  • /media:便携式移动设备挂载点
  • /mnt:临时文件系统挂载点 
  • /dev:设备文件及特殊文件存储位置
  • b: block device,随机访问
  • c: character device,线性访问
  • /opt:第三方应用程序的安装位置
  • /srv:系统上运行的服务用到的数据
  • /tmp:临时文件存储位置
  • /usr: universal shared, read-only data
  • bin: 保证系统拥有完整功能而提供的应用程序
  • sbin:
  • lib:32位使用
  • lib64:只存在64位系统
  • include: C程序的头文件(header files)
  • share:结构化独立的数据,例如doc, man等
  • local:第三方应用程序的安装位置
  • bin, sbin, lib, lib64, etc, share 
  • /var: variable data files
  • cache: 应用程序缓存数据目录
  • lib: 应用程序状态信息数据
  • local:专用于为/usr/local下的应用程序存储可变数据
  • lock: 锁文件
  • log: 日志目录及文件
  • opt: 专用于为/opt下的应用程序存储可变数据
  • run: 运行中的进程相关数据,通常用于存储进程pid文件
  • spool: 应用程序数据池
  • tmp: 保存系统两次重启之间产生的临时数据
  • /proc: 用于输出内核与进程信息相关的虚拟文件系统
  • /sys:用于输出当前系统上硬件设备相关信息虚拟文件系统 
  • /selinux: security enhanced Linux,selinux相关的安全策略等信息的存储位置

二、linux应用程序的组成部分以及文件的类型

  1、linux文件的组成部分

  • 二进制程序:/bin, /sbin, /usr/bin, /usr/sbin, /usr/local/bin, /usr/local/sbin
  • 库文件:/lib, /lib64, /usr/lib, /usr/lib64, /usr/local/lib, /usr/local/lib64 
  • 配置文件:/etc, /etc/DIRECTORY, /usr/local/etc 
  • 帮助文件:/usr/share/man, /usr/share/doc, /usr/local/share/man,/usr/local/share/doc

2、文件类型

  • - 普通文件 
  • d 目录文件 
  • b 块设备 
  • c 字符设备 
  • l 符号链接文件 
  • p 管道文件pipe 
  • s 套接字文件socket

三、文件常用的命令  

  ls

列出当前目录的内容或指定目录
用法:ls [options] [files_or_dirs]
示例
ls -a 包含隐藏文件
ls -l 显示额外的信息
ls -R 目录递归
ls -ld 目录和符号链接信息    
ls -1 文件分行显示
ls –S 按从大到小排序
ls –t 按mtime排序
ls –u 配合-t选项,显示并按atime从新到旧排序    
ls –U 按目录存放顺序显示
ls –X 按文件后缀排序
stat
文件:metadata, data
三个时间戳:
access time 访问时间,atime,读取文件内容
modify time 修改时间, mtime,改变文件内容(数据)
change time 改变
时间, ctime,元数据发生改变
 touch
  
-a 仅改变 atime和ctime
-m 仅改变 mtime和ctime
-t [[CC]YY]MMDDhhmm[.ss]
指定atime和mtime的时间戳
-c 如果文件不存在,则不予创建
 cp
  
SRC是文件:
如果目标不存在:新建DEST,并将SRC中内容填充至DEST中
如果目标存在:
如果DEST是文件:将SRC中的内容覆盖至DEST中
基于安全,建议为cp命令使用-i选项
如果DEST是目录:在DEST下新建与原文件同名的文件,并将SRC中内容填充至新文件中
-i 覆盖前提示
-n 不覆盖,注意两者顺序
-r, -R 递归复制目录及内部的所有内容
-a 归档,相当于-dR --preserv=all
-d --no-dereference --preserv=links 不复制原文件,只复制链接名 
--preserv[=ATTR_LIST]
mode: 权限
ownership: 属主属组
timestamp:
links
xattr
context
all
-p 等同--preserv=mode,ownership,timestamp
-v --verbose 显示复制过程
-f --force 强制
-u --update 只复制源比目标更新文件或目标不存在的文件
-b 目标存在,覆盖前先备份,形式为 filename~
--backu
p=numbered 目标存在,覆盖前先备份加数字后缀
 mv  
-i 交互式
-f 强制
-b 目标存在,覆盖前先备份
 tree
-d: 只显示目录
-L level:指定显示的层级数目
-P pattern: 只显示由指定pattern匹配到的路径 
mkdir
-p: 存在于不报错,且可自动创建所需的各目录
-v: 显示详细信息
-m MODE: 创建目录时直接指定权限
 rmdir
-p: 递归删除父空目录
-v: 显示详细信息 
 通配符
* 匹配零个或多个字符
? 匹配任何单个字符
~ 当前用户家目录
~mage 用户mage家目录
~+ 当前工作目录
~- 前一个工作目录
[0-9] 匹配数字范围
[a-z]:字母
[A-Z]:字母
[wang] 匹配列表中的任何的一个字符   
[:digit:]:任意数字,相当于0-9
[:lower:]:任意小写字母
[:upper:]: 任意大写字母
[:alpha:]: 任意大小写字母
[:alnum:]:任意数字或字母
[:blank:]:水平空白字符
[:space:]:水平或垂直空白字符
[:punct:]:标点符号
[:print:]:可打印字符
[:cntrl:]:控制(非打印)字符
[:graph:]:图形字符  
[:xdigit:]:十六进制字符
四、硬链接
  
1、创建硬链接会增加额外的记录项以引用文件
2、对应于同一文件系统上一个物理文件
3、每个目录引用相同的inode号
4、创建时链接数递增
5、删除文件时:
6、rm命令递减计数的链接
7、文件要存在,至少有一个链接数
8、当链接数为零时,该文件被删除
9、不能跨越驱动器或分区
10、语法:ln filename [linkname ]
五、软连接
  
一个符号链接指向另一个文件
1、ls - l的 显示链接的名称和引用的文件
2、一个符号链接的内容是它引用文件的名称
3、可以对目录进行
4、可以跨分区
5、指向的是另一个文件的路径;其大小为指向的路径字符串的长度;不增加或减少目标文件inode的引用计数
6、语法:ln -s filename [linkname]
六、软硬链接的区别
  1、文件类型不同
  2、软连接可跨分区,硬链接不可以
  3、硬链接的与原文件的inode号相同,软连接不同
  4、硬链接可以增加文件的链接数,软连接不可以
  5、主从关系。硬链接无主从关系,原文件删除不会影响访问,软连接则会失效。

转载于:https://www.cnblogs.com/kading/p/10885024.html

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

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

相关文章

mybatis动态更新xml文件后热部署,不重启应用的方法

mybatis应用程序,由于是半自动化的sql, 有大量的sql是在xml文件中配置的,而在开发程序的过程中,通常需要边写sql变调试应用。但在默认情况下,xml文件里配置的sql语句是被放入到缓存中去了,每次更改有sql语句的xml文件&…

Leetcode 反转字符串 II python解法

题干: 给定一个字符串 s 和一个整数 k,从字符串开头算起,每计数至 2k 个字符,就反转这 2k 字符中的前 k 个字符。 如果剩余字符少于 k 个,则将剩余字符全部反转。 如果剩余字符小于 2k 但大于或等于 k 个,…

下拉插件 (带搜索) Bootstrap-select 从后台获取数据填充到select的 option中 用法详解...

今天收到了客户的需求,要求在新增停车场ID的时候要从数据库查出来对应的停车场名称然后显示在界面上。保存的时候按照停车场ID进行保存。 自己首先把后台的部分写完了,测试了接口数据。成功的拿到了ajax数据。 接下来,自己用了select下拉标签…

pytorch tensorboard基本用法整理

from torch.utils.tensorboard import SummaryWriterif __name__ __main__:aa SummaryWriter(logs) # 创建保存了summarywriter的log目录for i in range(100):aa.add_scalar(y x, i, i) # 后两个参数先y轴后x轴 x轴往往是global step y轴用于输出loss或者其他需要观察的变量…

php 支付宝付款接口测试

详细去这里:https://blog.csdn.net/suprezheng/article/details/84931225 转载于:https://www.cnblogs.com/LF-place/p/10898357.html

spring boot mybatis拦截器

mybaits拦截器 package com.chinamobile.scm.masterdata.interceptor;import com.alibaba.fastjson.JSON; import lombok.extern.slf4j.Slf4j; import org.apache.ibatis.executor.Executor; import org.apache.ibatis.executor.parameter.ParameterHandler; import org.apach…

Linux自有服务(2)-Linux从入门到精通第六天(非原创)

文章大纲 一、设置主机名二、chkconfig三、ntp服务四、防火墙服务五、rpm管理(重点)六、cron/crontab计划任务(重点)七、学习资料下载八、参考文章 自有服务,即不需要用户独立去安装的软件的服务,而是当系统…

Spring 事务 以及拦截器的前后关系实验 Mybatis 日志拦截

背景:当一个线程中,如果需要拦截所有当SQL日志,然后统一发送到一个同步器,就可以实现多个数据库实现同步主库,在进行红绿上线,或者灰度部署时候,可以实现生产库与测试库实时同步,从而…

四级翻译常用词汇

ancient 古老的;古代的       achieve 获得 v attract 吸引 v            achievement 成就 n attractive 吸引人的          advanced 先进的 account for 对....负有责任;占比   approach 接近;处理&#…

一般拦截器 serviceImpl部分

一般拦截器 serviceImpl部分 package com.chinamobile.scm.masterdata.interceptor;import com.chinamobile.framework.common.context.InvokeTracer; import com.chinamobile.framework.common.context.RequestContext; import com.chinamobile.framework.utils.CollectionUt…

营销-营销方式:营销方式

ylbtech-营销-营销方式:营销方式营销方式是指营销过程中所有可以使用的方法。包括服务营销、体验营销、知识营销、情感营销、教育营销、差异化营销、直销、网络营销等。要有好的营销方式首先要创造行之有效的营销工具。但这并不意味着要把预算的75%都花在印制宣传资…

以后可能用到的一些OQL

Visual VM对OQL的支持 上面我们学会了如何查看堆内存快照,但是,堆内存快照十分庞大,快照中的类数量也很多。Visual VM提供了对OQL(对象查询语言)的支持,以便于开发人员在庞大的堆内存数据中,快…

leetcode1041困于环中的机器人

题目如下,一道简单的模拟 在无限的平面上,机器人最初位于 (0, 0) 处,面朝北方。机器人可以接受下列三条指令之一:"G":直走 1 个单位 "L":左转 90 度 "R":右转 90…

一个拆分使用的存储过程例子

set serverout on declare var_tmp varchar2(4000) :; var_element varchar2(4000) :; n_length Number : length(\/); begin values_array : VARCHAR_ARRAY(); -- 初始化数组 for i in (select * from sapsr3.zmdm_mthdr where zmtpre in(6200001…

python的pwntools工具的日常使用

1.安装 操作系统: ubuntu16.04 环境准备: pythonpiplibssl-devlibffi-dev pwntools安装: sudo apt-get install libffi-devsudo apt-get install libssl-devsudo apt-get install pythonsudo apt-get install python-pipsudo pip install pwn…

Kibana可视化管理页面详细使用说明

Kibana可视化管理页面详细使用说明 使用浏览器访问 ip:5601 默认端口,进入首页 Discover:日志管理视图 主要进行搜索和查询 Visualize:统计视图 构建可视化的图表 Dashboard:仪表视图 将构…

OO_BLOG3_规格化设计(JML学习)

目录 JML语言学习笔记理论基础应用工具链情况JMLUnit/JMLUnitNGUNIT3 作业分析作业 3-1 实现两个容器类Path和PathContainer作业 3-2 实现容器类Path和数据结构类Graph作业 3-3 实现容器类Path,地铁系统类RailwaySystem规格撰写的心得与体会最后,衷心感谢…

JAVA获取JVM内存空间和物理内存空间

一、获取JVM内存空间 系统环境:WIN JDK版本:1.8re 直接调用Runtime中相应的方法即可: public long maxMemory() Returns the maximum amount of memory that the Java virtual machine will attempt to use. If there is no inherent lim…

CMU Database Systems - Sorting,Aggregation,Join

Sorting 排序如果可在内存里面排,用经典的排序算法就ok,比如快排 问题在于,数据表中的的数据是很多的,没法一下都放到内存里面进行排序 所以就需要用到,外排,多路并归排序 看下最简单的,2路并归…

springboot线程池的使用和扩展

实战环境 windowns10;jdk1.8;springboot 1.5.9.RELEASE;开发工具:IntelliJ IDEA; 实战源码 本次实战的源码可以在我的GitHub下载,地址:gitgithub.com:zq2599/blog_demos.git,项目主…