Linux文件属性与目录等知识详解

在 Linux 系统中,文件和目录是基本的文件系统组成部分。文件系统是用于组织和存储文件的一种结构,而文件和目录则是文件系统的核心元素。以下是对 Linux 文件和目录的详细解释:

1. 文件(File)

在 Linux 中,文件是数据的集合,可以是文本文件、二进制文件、设备文件等。文件有以下几种类型:

  • 普通文件(Regular File): 包含了文本、二进制数据等内容。
  • 目录文件(Directory File): 包含其他文件和目录的列表。
  • 设备文件(Device File): 用于访问硬件设备,例如磁盘、键盘等。
  • 符号链接(Symbolic Link): 是指向另一个文件或目录的链接。
  • 管道(Pipe): 用于进程间通信的特殊文件。
文件权限

每个文件都有一组权限,用于控制对文件的访问。文件权限分为读(r)、写(w)、执行(x)三种,分别对应三种用户:所有者、所属组、其他用户。权限通过三个字符表示,例如 rwxr-xr-- 表示所有者有读、写、执行权限,所属组有读、执行权限,其他用户只有读权限。

-rwxr-xr--  1 user1 users  12345 Jan  1 12:34 example
文件路径

文件路径是文件在文件系统中的位置。绝对路径从根目录开始,相对路径相对于当前工作目录。例如:

  • 绝对路径:/home/user1/documents/example.txt
  • 相对路径:../images/photo.jpg

2. 目录(Directory)

目录是文件系统中的一个特殊类型的文件,用于组织和存储其他文件和子目录。目录的内容是一个文件和子目录的列表,每个条目包含文件名和与之关联的 i 节点号。

目录路径

目录路径是目录在文件系统中的位置,类似于文件路径。例如:

  • 绝对路径:/home/user1/documents
  • 相对路径:../images
当前工作目录

每个进程都有一个当前工作目录,它是进程在文件系统中的当前位置。使用 pwd 命令可以查看当前工作目录。

$ pwd
/home/user1
切换目录

使用 cd 命令可以切换当前工作目录。例如:

$ cd /home/user1/documents
创建和删除目录
  • mkdir 命令用于创建目录。
  • rmdir 命令用于删除空目录。
$ mkdir new_directory
$ rmdir empty_directory

3. 文件和目录的操作

复制和移动
  • cp 命令用于复制文件或目录。
  • mv 命令用于移动文件或目录。
$ cp source_file destination
$ mv source destination
删除
  • rm 命令用于删除文件或目录。
  • rmdir 命令用于删除空目录。
$ rm file
$ rmdir empty_directory
查看文件内容
  • cat 命令用于显示文件内容。
  • less 命令用于逐页查看文件内容。
$ cat example.txt
$ less large_file.log
查找文件
  • find 命令用于在文件系统中查找文件。
  • locate 命令使用数据库快速查找文件。
$ find /home/user1 -name "*.txt"
$ locate example.txt
文件权限管理
  • chmod 命令用于修改文件权限。
  • chown 命令用于修改文件所有者。
  • chgrp 命令用于修改文件所属组。
$ chmod 755 file
$ chown user1 file
$ chgrp users file

4. 软链接和硬链接

在 Linux 中,链接是一种将文件名与文件内容关联的方式。链接分为软链接和硬链接。

软链接(Symbolic Link)

软链接是一个指向目标文件或目录的符号链接。它类似于 Windows 中的快捷方式。软链接可以跨文件系统,并且可以链接到不存在的文件。

  • 创建软链接:ln -s source target
  • 删除软链接:rm link_name
$ ln -s /path/to/file soft_link
$ rm soft_link
硬链接(Hard Link)

硬链接是多个文件名指向同一份文件内容。删除其中一个硬链接并不会影响其他硬链接,只有当最后一个链接被删除时,文件的内容才会被释放。

  • 创建硬链接:ln source target
  • 删除硬链接:rm link_name
$ ln /path/to/file hard_link
$ rm hard_link

5. 文件查看与编辑

文件查看
  • cat 命令:查看文件内容,适用于小文件。
  • less 命令:逐页查看文件内容,支持搜索和导航。
  • more 命令:逐页查看文件内容,基本功能比 less 简单。
$ cat filename
$ less filename
$ more filename
文本编辑器

在 Linux 中,有许多文本编辑器可供选择。其中一些常用的包括:

  • Vim: 强大的文本编辑器,有多种模式和丰富的功能。
    • 进入编辑模式:i
    • 保存并退出:Esc:wq
    • 放弃修改并退出:Esc:q!
$ vim filename
  • Nano: 简单易用的文本编辑器。
    • 保存并退出:Ctrl + O, Enter, Ctrl + X
$ nano filename

6. 文件压缩和解压

在 Linux 中,常见的文件压缩和解压工具是 targzip

  • 压缩文件: tar -czvf archive.tar.gz file1 file2 ...
  • 解压文件: tar -xzvf archive.tar.gz
$ tar -czvf archive.tar.gz file1 file2
$ tar -xzvf archive.tar.gz

7. 文件权限

Linux 文件权限由读(Read)、写(Write)、执行(Execute)三个基本权限组成,分别对应文件所有者、所属组和其他用户。权限通过三个字符表示:rwx

  • 更改文件所有者: chown user:group filename
  • 更改文件权限: chmod permissions filename
$ chown user:group filename
$ chmod u=rw,g=r,o=r filename

8. 文件搜索

find 命令

find 命令用于在指定目录及其子目录中查找文件。

  • 按名称查找: find /path/to/search -name "filename"
  • 按类型查找: find /path/to/search -type f(文件)、find /path/to/search -type d(目录)
$ find /home/user1 -name "*.txt"
$ find /home/user1 -type f
grep 命令

grep 命令用于在文件中搜索指定模式的文本。

  • 搜索文本: grep "pattern" filename
  • 递归搜索: grep -r "pattern" /path/to/search
$ grep "keyword" filename
$ grep -r "pattern" /home/user1/documents

9. 文件传输和远程访问

在 Linux 系统中,有一些工具可以用于文件传输和远程访问,使得文件在不同主机之间进行传输成为可能。

scp 命令

scp 命令用于在本地主机和远程主机之间安全地复制文件或目录。

  • 从本地复制到远程: scp local_file remote_user@remote_host:/remote/path
  • 从远程复制到本地: scp remote_user@remote_host:/remote/path/local_file .
$ scp local_file user@remote_host:/path/on/remote/host
$ scp user@remote_host:/path/on/remote/host/remote_file .
rsync 命令

rsync 命令用于在本地主机和远程主机之间同步文件和目录。

  • 同步本地到远程: rsync -avz local_dir/ remote_user@remote_host:/remote/path
  • 同步远程到本地: rsync -avz remote_user@remote_host:/remote/path/ local_dir
$ rsync -avz /local/path/ user@remote_host:/remote/path
$ rsync -avz user@remote_host:/remote/path/ /local/path
ssh 命令

ssh 命令用于通过安全的加密连接远程登录到主机。同时,可以在 ssh 命令中执行远程命令。

  • 远程登录: ssh user@remote_host
  • 执行远程命令: ssh user@remote_host "command"
$ ssh user@remote_host
$ ssh user@remote_host "ls /remote/path"

10. 文件监控和日志

在 Linux 中,可以使用一些工具来监控文件的变化和查看系统日志。

inotify 工具

inotify 是 Linux 内核提供的一种文件系统事件监控机制,可以用于监控文件和目录的变化。

  • 安装 inotify-tools sudo apt-get install inotify-tools
  • 监控文件: inotifywait -m /path/to/file
$ inotifywait -m /path/to/file
日志文件

系统在运行时会生成各种日志文件,记录着系统的运行状态、错误信息等。一些常见的日志文件包括:

  • 系统日志: /var/log/syslog/var/log/messages
  • 安全日志: /var/log/auth.log/var/log/secure
  • 应用程序日志: /var/log/application.log

通过查看这些日志文件,可以了解系统的运行情况,排查问题等。

$ cat /var/log/syslog
$ tail -f /var/log/application.log

以上是一些关于 Linux 中文件传输和远程访问,以及文件监控和日志查看的基本操作。这些工具和命令对于系统管理员和开发者来说是非常实用的,可以帮助他们更好地管理和维护 Linux 系统。

               👇👇👇👇点击最下方名片,免费领取Linux硬核学习资料👇👇👇👇

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

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

相关文章

Vue3+Ant-Design-Vue:报错Cannot read properties of null (reading ‘isCE‘)

问题描述 在使用Ant-Design-Vue内置的Table表格组件,实现expand展开行功能时,报错:Uncaught TypeError: Cannot read properties of null (reading ‘isCE‘) 。 报错信息图示: 在GitHub上找到如下描述, 解决方案 网上…

【漏洞复现】和为顺IP-COM WiFi未授权下载漏洞

Nx01 产品简介 深圳市和为顺网络技术有限公司是一家聚焦于商用级网络通信设备的研发与应用,为全球中小型企业提供高速、安全、易维护的网络设备产品和解决方案的公司。 Nx02 漏洞描述 深圳市和为顺网络技术有限公司IP-COM WiFi方案解决专家存在任意文件下载漏洞&am…

代码随想录算法训练营29期Day50|LeetCode 70,322,279

文档讲解:爬楼梯(进阶) 零钱兑换 完全平方数 70.爬楼梯(进阶) 题目链接:https://kamacoder.com/problempage.php?pid1067 思路: 这其实是一个完全背包问题。1阶,2阶&#xff0c…

编曲学习:录音设备的选取,麦克风和声卡,监听耳机

如果要录翻唱歌曲或原创歌曲人声的话,哪款麦克风或声卡比较好,性价比比较高? 可以尝试一下福克斯特声卡,和舒尔sm58动圈麦。之前问了一些大佬,有人用的是莱维特 540s。 我一直有点疑问,便宜声卡与麦克风&…

springsecurity6使用

spring security 中的类 : AuthenticationManager : 实现类:ProviderManager 管理很多的 provider ,,, 经常使用的,DaoAuthenticationProvider , 这个要设置一个 UserDetailService , 查找数据库&#xff…

java正则表达式获取json字符串中指定key的value

<仅支持取JSON字符串中, 简单属性值的配置, 即值内容中不包含[]或{}格式的数据> import org.apache.commons.lang3.StringEscapeUtils; import org.apache.commons.lang3.StringUtils; import java.util.ArrayList; import java.util.List; import java.util.regex.…

【ASP.NET 6 Web Api 全栈开发实战】--前言

《ASP.NET 6 Web Api 实战》专栏通过一步一步的开发并完善一个记账软件项目&#xff0c;来引导大家学习相关的知识&#xff0c;其中的知识包括但不限于如下内容&#xff1a; Web Api 开发.NET 6 项目微服务架构的搭建身份认证移动端应用开发more。。。 专栏结构 专栏分为单体…

分享88个CSS3特效,总有一款适合您

分享88个CSS3特效&#xff0c;总有一款适合您 88个CSS3特效下载链接&#xff1a;https://pan.baidu.com/s/1pDAyFESnO8HSnCZj4-DOzQ?pwd8888 提取码&#xff1a;8888 Python采集代码下载链接&#xff1a;采集代码.zip - 蓝奏云 学习知识费力气&#xff0c;收集整理更不…

STM32CubeMX中外部中断的配置和使用指南

使用STM32CubeMX进行外部中断&#xff08;External Interrupt&#xff09;的配置和使用对于STM32微控制器开发非常重要。外部中断可以让微控制器在外部事件发生时及时作出反应&#xff0c;例如按键触发、传感器信号等。通过STM32CubeMX的图形化界面&#xff0c;开发人员可以轻松…

第13章 网络 Page724 asio定时器

程序代码&#xff1a; 11行&#xff0c;声明一个ios对象 13行&#xff0c;使用ios对象作为参数声明一个定时器&#xff0c;此时&#xff0c;定时器和ios完成了关联&#xff0c;后面定时器如果有任务的话&#xff0c;就可以将任务交给ios 16行&#xff0c;为定时器设置一个定…

力扣-125. 验证回文串

文章目录 力扣题目代码 力扣题目 如果在将所有大写字符转换为小写字符、并移除所有非字母数字字符之后&#xff0c;短语正着读和反着读都一样。则可以认为该短语是一个 回文串 。 字母和数字都属于字母数字字符。 给你一个字符串 s&#xff0c;如果它是 回文串 &#xff0c;…

【日常聊聊】新年新征程:迎接学习的挑战

&#x1f34e;个人博客&#xff1a;个人主页 &#x1f3c6;个人专栏&#xff1a;日常聊聊 ⛳️ 功不唐捐&#xff0c;玉汝于成 目录 前言 正文 结语 我的其他博客 前言 随着新的一年的到来&#xff0c;程序员们站在了全新的起点。这是一个充满机遇和挑战的时刻&#xff0…

【JavaEE】_HTTP请求与响应

目录 1. HTTP协议 1.1 HTTP简介 1.2 Fiddler 2. HTTP请求 2.1 首行 2.2 请求头&#xff08;header&#xff09; 2.3 空行 2.4 正文&#xff08;body&#xff09; 3. HTTP响应 3.1 首行 3.2 响应头&#xff08;header&#xff09; 3.3 空行 3.4 正文&#xff08;bo…

13.let、const、var的区别

&#xff08;1&#xff09;块级作用域&#xff1a; 块作用域由 { }包括&#xff0c;let和const具有块级作用域&#xff0c;var不存在块级作用域。块级作用域解决了ES5中的两个问题&#xff1a; 内层变量可能覆盖外层变量用来计数的循环变量泄露为全局变量 &#xff08;2&…

51单片机编程基础(C语言):LED点阵屏

点阵屏介绍 类似于数码管&#xff0c;要用到肉眼视觉效应。扫描&#xff0c;才能把每一个LED都能选中&#xff0c;从而显示我们想要的图形&#xff0c;否则&#xff0c; 只能一次点亮一个LED&#xff0c; LED使用 51单片机点阵屏电路图&#xff1a; 实际连接顺序如下图&#…

Java中的乐观锁和悲观锁

使用场景及用法 悲观锁 总是假设最坏的情况&#xff0c;每次去拿数据的时候都认为别人会修改&#xff0c;所以每次在拿数据的时候都会上锁&#xff0c;这样别人想拿这个数据就会阻塞直到它拿到锁&#xff08;共享资源每次只给一个线程使用&#xff0c;其它线程阻塞&#xff0c;…

爱快使用VPN

文章目录 一、VPN服务器1. 各种VPN比较2. PPTP服务端配置3. 创建登录账号4. 创建端口映射5. 设置动态域名 二、Windows客户端1. 连接配置2. 不能连接 Internet 配置 一、VPN服务器 1. 各种VPN比较 PPTPIPSECOpenVPN简介微软推出的VPN协议&#xff0c;占用资源少更高级的VPN协…

php基础学习之分支结构和循环结构(不细讲,来对比一下和两大常用高级编程语言(C++/Java)的细微区别以便记忆)

分支结构 常见分支结构 编程语言常见分支结构有&#xff1a; if语句if-else语句if-elseif-else语句switch语句 其中&#xff0c;除了if-elseif-else语句外&#xff0c;另外3中分支语句在php中和C/Java是一模一样的&#xff01; 而if-elseif-else的唯一不同点就在&#xff0c;【…

Linux查看日志的几种方法总结

摘要 Linux系统中查看日志的命令确实多种多样&#xff0c;每个命令都有其特定的用途和优势。常用的命令有&#xff1a;tail、cat、tac、head、echo&#xff0c;grep、less、awk、sed。 下面我会详细解释这些命令在查看日志时的用法和特点&#xff1a; tail命令&#xff1a; ta…

机器学习:ROC曲线笔记

ROC曲线&#xff08;Receiver Operating Characteristic Curve&#xff09;是一种用于评估二分类模型性能的图形化工具&#xff0c;主要用于展示在不同阈值&#xff08;Threshold&#xff09;下模型的真阳性率&#xff08;True Positive Rate&#xff0c;TPR&#xff09;和假阳…