Linux第二周
1、描述Linux发行版的系统目录名称命名规则以及用途。
文件名规则
文件名最长255个字节 ;包括路径在内文件名称最长4095个字节 ;除了斜杠和NUL,所有字符都有效.但使用特殊字符的目录名和文件不推荐使用, 有些字符需要用引号来引用它们 ;标准Linux文件系统(如ext4),文件名称大小写敏感 例如:MAIL, Mail, mail, mAiL
/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相关的安全策略等信息的存储位置
2、描述文件的元数据信息有哪些,分别表示什么含义,如何查看?如何修改文件的时间戳信息?
文件有两类数据 ,分别为元数据(metadata)和数据(data)
元数据是对数据的描述,是数据的属性。
stat命令:显示文件或文件系统的状态,可以查看文件的元数据
access time 访问时间,atime,读取文件内容
modify time 修改时间, mtime,改变文件内容(数据)
change time 改变时间, ctime,元数据发生改变
touch命令可以修改文件时间戳:
语法:touch [OPTION]...FILE...
主要选项:
-a:仅修改access time为当前系统时间
-c : 如果文件不存在,则不予创建
-m:仅修改modify time为当前系统时间
-t : [[CC]YY]MMDDhhmm[.ss] 指定atime和mtime的时间戳
3、总结软连接和硬连接区别,并用实例操作说明。
硬链接: 具有相同inode节点号的多个文件互为硬链接文件;
删除硬链接文件或者删除源文件任意之一,文件实体并未被删除;
只有删除了源文件和所有对应的硬链接文件,文件实体才会被删除;
可以通过给文件设置硬链接文件来防止重要文件被误删。
命令"ln 原文件 链接"
软链接: 软链接又叫符号链接,它实际上是一个特殊的文件,软链接类似windows系统的快捷方式。
软链接里面存放的是源文件的路径,指向源文件;
删除源文件,软链接依然存在,但无法访问源文件内容;
命令 ln -s 源文件 软链接文件
创建硬链接/etc/issue的硬链接到/tmp/issue
创建/etc/issue的软链接到/tmp/lnsissue
4、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。
cp命令:复制文件或目录
cp [OPTION]... [-T] SOURCE DEST # 复制单个文件
cp [OPTION]... SOURCE... DIRECTORY # 复制多个文件
cp [OPTION]... -t DIRECTORY SOURCE... # 复制多个文件
-i :交互式复制,即覆盖之前提醒用户确认
-f : 强制覆盖目标文件
-r : 递归复制目录
-d : 复制符号链接文件本身,而非其指向的源文件
-a : -dR用于实现归档
--preserv=
mode:权限
ownership:属主和属组
timestamps: 时间戳
context:安全标签
xattr:扩展属性
links:符号链接
all:上述所有属性
mkdir命令:创建目录
mkdir [OPTION]... DIRECTORY...
-p:自动按需创建父目录
-v:显示详细过程
mv命令:移动或者重命名文件名
mv [OPTION]... [-T] SOURCE DEST
mv [OPTION]... SOURCE... DIRECTORY
mv [OPTION]... -t DIRECTORY SOURCE..
常用选项:
-i:交互式;
-f:force 覆盖前不提示
rm命令:删除文件或目录(生产环境慎用rm,使用mv代替)
rm [OPTION]... FILE...
cd命令:切换用户的工作目录
ls命令:显示指定文件目录的文件信息,默认显示当前目录下的文件信息
-a, --all :显示所有文件包含隐藏文件
-a, --all :显示所有文件包含隐藏文件
-l : --long , 长格式列表,即显示文件详细的属性信息
-l : --long , 长格式列表,即显示文件详细的属性信息
-h : --human-readable:对文件大小单位进行换算
-h : --human-readable:对文件大小单位进行换算
cat命令:文本文件内容查看
-n : 给显示的文本行统一编号
-n : 给显示的文本行统一编号
5、复制/etc/profile至/tmp/目录,用查找替换命令删除/tmp/profile文件中的行首的空白字符。
~]# cp /etc/profile /tmp/
~]# vim /tmp/profile
切换末行模式下执行:
%s/^\s*//g
6、在vim中设置tab缩进为4个字符。
在末行模式下设定
set ts=4
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)