Linux系统中对文件和目录的各种操作

简介: Linux系统中对文件和目录的各种操作

一、Linux目录的结构


1.1它的树形目录

在Linux世界里,一切皆文件Linux目录中有且只有一个根目录 /

(1)根目录


所有目录都是由根目录衍生出来的,所有分区、目录、文件等的位置起点;

根目录与系统的开机、修复、还原密切相关;

整个树形目录结构中,使用独立的一个“/”表示;

(2)常见的子目录

/root /bin /boot /dev /etc

/home /var /usr /sbin

22.1.png

1.2常见的子目录作用


/root:root 的主目录。普通用户主目录在 /home/ 下,root 主目录直接在“/”下(系统管理员root的宿主目录)


/home:在创建用户时,每个用户要有一个默认登录和保存自己数据的位置,就是用户的主目录,所有普通用户的主目录是在 /home/ 下建立一个和用户名相同的目录。如用户 liming 的主目录就是 /home/song(普通用户的宿主目录也称为家目录)


/boot:系统启动目录,保存与系统启动相关的文件,如内核文件和启动引导程序(grub)文件等(系统内核、启动文件)


/dev: 包含连接到系统的任何设备,例如设备文件,终端文件,USB 等(设备文件)


/etc:配置文件保存位置。系统内所有采用默认安装方式(rpm 安装)的服务配置文件全部保存在此目录中,如用户信息、服务的启动脚本、常用服务的配置文件等(配置文件)


/bin:它是重要的二进制应用程序,包含二进制文件,系统的所有用户使用的命令都在这里(所有用户可执行的命令)


/sbin:保存与系统环境设置相关的命令,只有 root 可以使用这些命令进行系统环境设置,但也有些命令可以允许普通用户查看(管理员可执行的管理命令)


/usr: 包含绝大多数用户都能访问的应用程序和文件(应用程序)


/var:经常变化的文件,诸如日志文件或数据库等(日志文件等)


/tmp:临时目录。系统存放临时文件的目录,在该目录下,所有用户都可以访问和写入。建议此目录中不能保存重要数据,最好每次开机都把该目录清空(临时文件)


/lib:动态库文件,类似与Windows的dll文件(系统调用的函数库保存位置)


/mnt: 挂载文件系统**(默认挂载点**)


/opt :第三方安装的软件保存位置。这个目录是放置和安装其他软件的位置,手工安装的源码包软件都可以安装到这个目录中。不过笔者还是习惯把软件放到 /usr/local/ 目录中,也就是说,/usr/local/ 目录也可以用来安装软件(第三方应用程序安装所在目录)


/proc:虚拟文件系统。该目录中的数据并不保存在硬盘上,而是保存到内存中。主要保存系统的内核、进程、外部设备状态和网络状态等。如 /proc/cpuinfo 是保存 CPU 信息的,/proc/devices 是保存设备驱动的列表的,/proc/filesystems 是保存文件系统列表的,/proc/net 是保存网络协议信息的…(存放映射系统文件)


/media :挂载目录。系统建议用来挂载媒体设备,如软盘和光盘(可移动设备)


二、查看及检索文件


2.1查看及检索文件–cat


cat:显示并连接文件内容

基本格式:cat [选项] 文件名...

常用选项:


-n: 对所有输出的行数编号

-b: 对于空白行不编号

-s: 将所有的连续的多个空行替换为一个空行

image.png

查看系统版本:cat /etc/centos-release

image.png


2.2分页查看文件内容——more命令


作用:全屏方式显示分页内容

基本格式:more [选项] 文件名...

缺点:下翻到最后一页后会自动退出

交互操作方法


按Enter键向下逐行滚动

按空格键向下翻一屏

按b键向上翻一屏

按q键退出

结合管道符(管道符:上一条命令的结果传给下一个命令)例如:Is -R /etc| more无法向上翻页,也不会出现进度条

举例:more /var/log/message


2.3分页查看文件内容——less命令


作用:与more命令相同,但拓展功能更多

格式:less [选项] 文件名 …

特点:下翻到最后一页后不会自动退出

交互操作方法


Page Up 向上翻页,Page Down向下翻页

按”/“键查找内容,”n"下一个内容,“N”上一个内容

其他功能与more命令基本类似

结合管道操作使用时可以向上翻页(管道符:上一条命令的结果传给下一个命令)

举例:less /var/log/message


2.4查看开头部分内容——head命令


作用:查看文件开头一部分内容,默认10行

格式:head [-n] 文件名 #n为行数


2.5查看结尾部分内容——tail命令


作用:查看文件结尾一部分内容,默认10行

格式:tail -n 文件名

格式: tail -f 文件名 #实时查看,监控


2.6统计文件内容——wc命令


作用:统计文件中的单词数量(Word Count)等信息

格式:wc [选项]… 目标文件…

常用选项:


-l:统计行数

-w:统计单词个数

-c:统计字节数

image.png

2.7检索和过滤文件内容——grep命令


grep——文本三剑客,主要处理文本中的字符

作用:在文件中查找并显示包含指定字符串的行

grep就是过滤出想要的内容

格式:grep [选项]… 查找条件 目标文件


常用选项:


-i:查找时忽略大小写

-v:反转查找,输出与查找条件不相符的行

-n: 显示匹配行及行号

-e 实现可多个查找条件的匹配,逻辑or(或)关系

查找条件:


要查找的字符串以双引号括起来

"^…"表示以…开头,

“…$"表示以…结尾

"^$"表示空行

三、备份与恢复文档


3.1压缩解压缩命令——gzip、bzip2


作用:制作压缩文件和解压缩文件

格式:gzip [-9] 文件名 #制作压缩文件

格式: bzip2 [-9] 文件名 #制作压缩文件

格式: gzip -d #解.gz压缩文件

格式: bzip2 -d #解.bz2压缩文件

特点:

当使用gzip压缩一个纯文本文件时,效果是非常明显的,大约可以减少70%以上的文件大小。

gzip制作的压缩文件默认的扩展名为".gz" 原始文件不再保留

bzip2制作的压缩文件默认的扩展名为“.bz2”,原始文件不再保留


常用命令选项


-9 :提高压缩率(-9是等级,分1-9级别,1压缩比例最小,速度最慢;9压缩比例最大,速度快,一般默认是6)

-d:解压

3.2制作归档文件命令 —— tar


作用:制作和释放归档文档

基本格式:

-c:创建(Create).tar格式的包文件

-C:解压时指定释放的目标文件夹

-f:表示使用归档文件

-j:调用bzip2程序进行压缩或解压

-p:打包时保留文件及目录的权限

-P:打包时保留文件及目录的绝对路径

-t:列表查看包内的文件

-v:输出详细信息(Verbone)

-x:解开.tar格式的包文件

-z:调用gzip程序进行压缩或解压

组合选项:


tar [jcvf]… 归档文件名 源文件或目录(创建用bzip2进行压缩)

tar [jxvf]… 归档文件名 [-C 指定目标目录](bzip2进行解压)

tar [zcvf]… 归档文件名 源文件或目录创建用(gzip的压缩)

tar [zxvf]… 归档文件名 [-C 目标目录](用gzip进行解压)


(其中v表示输出详细信息,不写v适合于不输出大的信息)


相关文章
|
1月前
|
Linux
在 Linux 系统中,“cd”命令用于切换当前工作目录
在 Linux 系统中,“cd”命令用于切换当前工作目录。本文详细介绍了“cd”命令的基本用法和常见技巧,包括使用“.”、“..”、“~”、绝对路径和相对路径,以及快速切换到上一次工作目录等。此外,还探讨了高级技巧,如使用通配符、结合其他命令、在脚本中使用,以及实际应用案例,帮助读者提高工作效率。
89 3
|
10天前
|
存储 缓存 监控
Linux缓存管理:如何安全地清理系统缓存
在Linux系统中,内存管理至关重要。本文详细介绍了如何安全地清理系统缓存,特别是通过使用`/proc/sys/vm/drop_caches`接口。内容包括清理缓存的原因、步骤、注意事项和最佳实践,帮助你在必要时优化系统性能。
128 78
|
13天前
|
Linux Shell 网络安全
Kali Linux系统Metasploit框架利用 HTA 文件进行渗透测试实验
本指南介绍如何利用 HTA 文件和 Metasploit 框架进行渗透测试。通过创建反向 shell、生成 HTA 文件、设置 HTTP 服务器和发送文件,最终实现对目标系统的控制。适用于教育目的,需合法授权。
52 9
Kali Linux系统Metasploit框架利用 HTA 文件进行渗透测试实验
|
1月前
|
缓存 Java Linux
如何解决 Linux 系统中内存使用量耗尽的问题?
如何解决 Linux 系统中内存使用量耗尽的问题?
140 48
|
9天前
|
存储 监控 Linux
嵌入式Linux系统编程 — 5.3 times、clock函数获取进程时间
在嵌入式Linux系统编程中,`times`和 `clock`函数是获取进程时间的两个重要工具。`times`函数提供了更详细的进程和子进程时间信息,而 `clock`函数则提供了更简单的处理器时间获取方法。根据具体需求选择合适的函数,可以更有效地进行性能分析和资源管理。通过本文的介绍,希望能帮助您更好地理解和使用这两个函数,提高嵌入式系统编程的效率和效果。
62 13
|
1月前
|
Ubuntu Linux 网络安全
linux系统ubuntu中在命令行中打开图形界面的文件夹
在Ubuntu系统中,通过命令行打开图形界面的文件夹是一个高效且实用的操作。无论是使用Nautilus、Dolphin还是Thunar,都可以根据具体桌面环境选择合适的文件管理器。通过上述命令和方法,可以简化日常工作,提高效率。同时,解决权限问题和图形界面问题也能确保操作的顺利进行。掌握这些技巧,可以使Linux操作更加便捷和灵活。
39 3
|
10天前
|
Ubuntu Linux C++
Win10系统上直接使用linux子系统教程(仅需五步!超简单,快速上手)
本文介绍了如何在Windows 10上安装并使用Linux子系统。首先,通过应用商店安装Windows Terminal和Linux系统(如Ubuntu)。接着,在控制面板中启用“适用于Linux的Windows子系统”并重启电脑。最后,在Windows Terminal中选择安装的Linux系统即可开始使用。文中还提供了注意事项和进一步配置的链接。
28 0
|
1月前
|
运维 监控 网络协议
运维工程师日常工作中最常用的20个Linux命令,涵盖文件操作、目录管理、权限设置、系统监控等方面
本文介绍了运维工程师日常工作中最常用的20个Linux命令,涵盖文件操作、目录管理、权限设置、系统监控等方面,旨在帮助读者提高工作效率。从基本的文件查看与编辑,到高级的网络配置与安全管理,这些命令是运维工作中的必备工具。
134 3
|
1月前
|
Linux Python
Linux 中某个目录中的文件数如何查看?这篇教程分分钟教会你!
在 Linux 系统中,了解目录下文件数量是常见的需求。本文介绍了四种方法:使用 `ls` 和 `wc` 组合、`find` 命令、`tree` 命令以及编程实现(如 Python)。每种方法都附有详细说明和示例,适合不同水平的用户学习和使用。掌握这些技巧,可以有效提升系统管理和日常使用的效率。
557 6
|
1月前
|
分布式计算 Java Hadoop
linux中HADOOP_HOME和JAVA_HOME删除后依然指向旧目录
通过以上步骤,可以有效地解决 `HADOOP_HOME`和 `JAVA_HOME`删除后依然指向旧目录的问题。确保在所有相关的配置文件中正确设置和删除环境变量,并刷新当前会话,使更改生效。通过这些措施,能够确保系统环境变量的正确性和一致性。
31 1