linux :/dev下的一些文件

zero文件:关于这个文件,没什么好说的,zero就代表0,0就是没有,当你在创建一个新文件的时候,它可以用来为你初始化这个文件,因为它等于空,你可以用它把你的文件里面没一个地方都设置成0,就像这样

 

dd if=/dev/zero of=/dev/fb0 bs=1024 count=768

 

这样你的fb0从1到1024*768的内容就都为空了

 

null文件: bit buckit(位桶),写入这个文件里的东西全部都会被丢弃,就是一个文件流的垃圾桶,如果有什么信息是不要的,就往里面写吧,永远不用当心桶会爆掉。null一般用来消除程序里面一些垃圾信息(对于你来说的垃圾信息),比如说一些提示语句,一些日志,你可以这样将它除掉:

 

可执行程序名字 > /dev/null

 

那么这个可执行程序显示在屏幕上的什么提示信息,友好信息就都不见了

 

loop文件: 学名环回设备,网上的解释:一个环回设备就是一种机制, 可以让一般文件访问起来就像块设备那样,我的理解就是如果用losetup命令将loop文件和一个普通的文件绑定(如iso文件),那么操作系统就可以像挂载磁盘一样区挂载这个文件,简单的说就是把“普通文件磁盘化”,这样说很不专业,纯粹个人理解。举个例子:

 

mount -t ext3 /dev/hda1  /mnt

这个大家都知道,把第一块磁盘(hd类)的第一个分区挂载在mnt文件夹下,以后打开这个文件夹就可以看到这个分区的内容了,/dev/hda1为什么能挂载?就是因为它天生就是个代表磁盘的文件,或者说它就是个磁盘,那么现在如果有个ios类型的文件,可以可以直接挂载么? 不可以,因为在linux文件系统眼中ios文件还是个普通文件,所以ios里面的内容还是不能通过挂载来看到,所以loop文件派上用场了。。。

 

losetup /dev/loop0  *ios

mount /dev/loop0  /mnt

当然也可以这样写  mount *.ios /mnt -o loop

这样就可以直接打开mnt看ios里的东西了,loop有点想windows里的虚拟光驱,在windows里ios直接点击也是打不开的,但是用虚拟光驱就加载就可以解析出来了。如果你有一个这种“块设备类型”的文件都可以这样去加载它。

 

 

/dev/tty  指的是调用你当前进程的终端,输出到此的内容只会显示在这个终端显示器上,/dev/tty是个相对的概念,和调用程序的终端有关,就像"./"一样,和当前你说在的文件夹路径有关。网上很多人说/dev/tty指的是当前激活的终端,输出到此的内容只会显示在当前激活的终端显示器上,经过我的测试,这种说法是错误的;

请看这个例子:

 

#include<stdio.h>

int main()

{

   sleep(10);

   FILE* file = fopen("/dev/tty", "w");

   fprintf(file, "hello world !");

   fclose(file);

}

 

我开了2个终端 A和B,我先在A中运行了这个程序,然后马上就激活B终端,等待了10S之后,"hello world !"只是在A中出现了,B中什么东西都没有。这说明我的结论是正确的

 

 

 

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
引用\[1\]和\[2\]中提到了/dev/null文件权限被拒绝的错误。这个错误通常是由于/dev/null文件的权限设置不正确导致的。/dev/null是一个特殊的设备文件,用于丢弃输入的数据。在Linux系统中,它通常具有特殊的权限设置。引用\[3\]中提到,如果/dev/null文件的权限不正确,可能会导致一些错误,比如在pop3服务中出现"ll_daemon_resetio: Permission denied"的错误。 要解决这个问题,你可以尝试更改/dev/null文件的权限。可以使用chmod命令来更改文件的权限。例如,你可以运行以下命令来将/dev/null文件的权限设置为正确的值: ``` sudo chmod 666 /dev/null ``` 这将允许所有用户对/dev/null文件进行读写操作。请注意,使用sudo命令需要管理员权限。 如果更改权限后问题仍然存在,可能还有其他原因导致该错误。你可以进一步检查系统日志文件以获取更多详细信息,并尝试解决其他可能的问题。 总结一下,当你在使用bash命令时出现"/dev/null: Permission denied"的错误时,这通常是由于/dev/null文件的权限设置不正确导致的。你可以使用chmod命令来更改文件的权限,以解决这个问题。 #### 引用[.reference_title] - *1* [-bash: /dev/null: Permission denied](https://blog.csdn.net/znb769525443/article/details/103627588)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [解决-bash: /dev/null: Permission denied问题](https://blog.csdn.net/weixin_44147924/article/details/128542121)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [/dev/null 权限不足](https://blog.csdn.net/weixin_35993037/article/details/116616198)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值