每日linux——文件类型与扩展

本文介绍了Linux系统中的各种文件类型,包括普通文件、目录文件、字符设备和块设备文件、符号链接、数据接口文件及数据输送文件。此外,还讨论了文件扩展名在Linux和Windows下的区别,如.sh脚本、.tar压缩文件、.html和.php网页文件。同时,提到了文件名的长度限制和特殊字符避免规则,以及文件属性的相关信息,如inode、权限、属主、大小和时间戳。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

文件类型与扩展

一 文件类型

Linux中包含有普通文件、目录文件、字符设备文件和块设备文件、符号链接文件等

  • 普通文件
    使用ls -lh查看文件属性时,会出现-rwxrwxrwx,其中第一个符号为-,表示该文件为普通文件。其中,又可以进一步细分为纯文本文档(ASCII)、二进制文档(binary)、数据格式文件(data)

  • 目录文件
    查看为drwxr-xr-x的文件就是目录,第一个字符为d。

  • 字符设备或块设备文件
    第一个字符是c,表示字符设备文件,比如猫、键盘、鼠标等串口设备
    第一个字符是b,表示块设备,如硬盘、光驱

  • 数据接口文件
    用在网络上的数据承接,第一个属性为s

  • 符号链接文件
    第一个字符是l,表示链接文件,通过ln -s 源文件,新文件

  • 数据输送文件
    第一个字符为p,用于解决多个程序同时存取一个文件所造成的错误问题

二、文件扩展

windows下 能被执行的文件扩展是.com .exe .bat
linux下 只要权限中具有x,例如[-rwx-r-xr-x]表示这个文件可被执行,但是仅表示可执行,能不能执行成功,又要看文件的内容

*.sh 脚本或批处理文件
*Z, *.tar, *.tar.gz, *.zip, *.tgz 经过打包的压缩文件
*.html, *.php 网页相关文件 .html可直接用浏览器打开,.php可以通过client端浏览器浏览,得到运算后的网页结果

文件名长度限制
在Linux底下,使用预设的Ext2/Ext3文件系统时,针对文件名长度限制为:

单一文件或目录的最大容许文件名为 255 个字符

包含完整路径名称及目录 (/) 之完整档名为 4096 个字符

文件名字符限制
由于Linux在文字接口下的一些指令操作关系,一般来说,你在设定Linux底下的文件名时, 最好可以避免一些特殊字符比较好!例如底下这些:

  • ? > < ; & ! [ ] | \ ’ " ` ( ) { }

因为这些符号在文字接口下,是有特殊意义的。另外,文件名的开头为小数点“.”时, 代表这个文件为隐藏文件!同时,由于指令下达当中,常常会使用到 -option 之类的选项, 所以你最好也避免将文件档名的开头以 - 或 + 来命名。

文件属性

2095112 -rw-r--r-- 1 root root 296K 11-13 06:03 log2012.log

第一列:inode

第二列:文件种类和权限;

第三列: 硬链接个数;

第四列: 属主;

第五列:所归属的组;

第六列:文件或目录的大小;

第七列和第八列:最后访问或修改时间;

第九列:文件名或目录名

以上内容具体参考了竹子博客

### 如何在Linux服务器中恢复误删的文件 #### 方法一:使用 `foremost` 工具恢复已删除文件 可以利用数据恢复工具 `foremost` 来尝试恢复被误删的文件。此工具通过扫描磁盘中的未分配空间来寻找丢失的数据并将其恢复。 安装 `foremost` 并创建用于存储恢复文件的目标目录: ```bash sudo apt install foremost mkdir /root/restored ``` 执行恢复命令,指定要扫描的分区以及目标文件类型(例如 JPG 图片),并将恢复后的文件保存至 `/root/restored/` 目录下: ```bash foremost -i /dev/sda3 -t jpg -o /root/restored/ ``` 完成上述操作后,在恢复的文件夹中查找需要的文件即可[^1]。 #### 方法二:设置自定义垃圾篓防止未来误删 为了避免再次发生类似的误删事件,可以在系统中配置一个类似于回收站的功能。当使用 `rm` 删除文件时,这些文件实际上会被移动到特定路径下的隐藏 `.trash` 文件夹中,并附加时间戳作为扩展名以便区分不同版本的同名文件。 实现这一功能的具体步骤如下: 修改默认行为使得每次调用 rm 实际上调用了脚本而不是真正的移除指令;这样做的好处是可以保留一份副本直到手动清理为止。 ```bash alias rm='mv --backup=numbered -t $HOME/.trash' ``` 此外还需要定期安排任务自动清除旧记录以节省硬盘资源消耗: ```bash 30 6 * * * /bin/bash /home/lixy/bin/removeRF.sh /home/lixy/.trash > /home/lixy/.trash/remove.log ``` 以上代码片段展示了如何设定每日凌晨六点半运行一次清理程序[^2]。 #### 方法三:借助 VSCode 插件特性尝试本地缓存检索 对于那些依赖于 Visual Studio Code 进行远程开发工作的用户来说,如果之前已经启用了某些同步机制者插件支持,则有可能存在部分历史快照可供回滚使用。然而需要注意的是并非所有的场景都能够适用这种方法——特别是考虑到团队协作环境可能带来的额外约束条件限制了个人自由度的情况下更是如此[^4]。 #### 方法四:基于日志分析定位残留痕迹 有时即使物理层面彻底销毁也无法完全抹掉所有踪迹。因此可以通过检查进程活动记录者其他形式间接获取线索进而采取相应措施加以补救。比如下面的例子演示了一个具体的案例过程: 假设某个应用程序正在不断生成新的 PID 文件但是偶尔会意外终止从而造成遗留问题的话,那么就可以按照这种方式来进行排查处理: ```bash [root@mysql-manager fd]# cp 1 /root/ndb_1_out.log [root@mysql-manager fd]# cp 3 /root/ndb_1_cluster.log [root@mysql-manager fd]# cp 5 /root/ndb_1.pid ``` 最后一步则是把成功抢救出来的成果迁移回到原本应有的位置上去继续发挥作用[^5]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值