Questions tagged «devices»

设备指的是有关Unix / Linux设备专用文件的问题,通常这些文件在/ dev下。请勿将此标签用于物理设备(例如用于usb或pci的设备)。

5
Linux如何区分真实文件和不存在的文件(例如:设备)?
这是一个比较低级的问题,我知道这可能不是最好的问题。但是,它似乎比其他任何SE网站都更合适,所以请继续。 我知道在Linux文件系统上实际上存在一些文件,例如:/usr/bin/bash是存在的文件。然而,(据我所知),有的还没有实际存在本身和更虚拟的文件,如:/dev/sda,/proc/cpuinfo等我的问题是(它们是两个,而是要独立的问题也密切相关): 当发出读取命令(或类似命令)时,Linux内核如何判断这些文件是真实的(并因此从磁盘读取)? 如果文件不是真实的:例如,从读取/dev/random将返回随机数据,而从读取/dev/null将返回EOF。如何计算要从该虚拟文件中读取哪些数据(以及如果/如果将数据也写入该虚拟文件中,那么该怎么做)-是否存在某种类型的映射,该映射具有用于分隔适用于每个文件的读/写命令的指针,甚至虚拟目录本身?因此,的条目/dev/null可以简单地返回EOF。


1
/ dev / null和/ dev / zero之间的区别
尝试重定向到/dev/null和时/dev/zero,其输出将被丢弃。这似乎都/dev/null和/dev/zero接受,并丢弃所有输入。那么,/dev/null和之间有什么区别/dev/zero?
27 devices 

1
为什么不从/ dev / zero计数读取为IO_RBYTES?
我正在使用以下命令清空某些Linux 4.x OS上的硬盘驱动器: sudo sh -c 'pv -pterb /dev/zero > /dev/sda' 然后我打开了另一个tty,开始sudo htop并注意到了这一点: PID USER PRI NI CPU% RES SHR IO_RBYTES IO_WBYTES S TIME+ Command 4598 root 20 0 15.5 1820 1596 4096 17223823 D 1:14.11 pv -pterb /dev/zero 的值IO_WBYTES似乎很正常,但IO_RBYTES仍为4 KiB,并且从未更改。 例如,我还运行了其他一些程序 dd if=/dev/zero of=/dev/zero cat /dev/zero > /dev/zero 并惊讶地发现没有一个产生大量IO_RBYTES或大量的细菌IO_WBYTES。 …
25 linux  devices  io  null 

3
将文件转换为/ dev / null会破坏dev / null
如果我这样做:touch file; mv file /dev/null作为根,/dev/null消失。 ls -lad /dev/null导致没有这样的文件或目录。这样会破坏/dev/null像SSH 这样依赖的应用程序,并且可以通过这样做来解决mknod /dev/null c 1 3; chmod 666 /dev/null。为什么将常规文件移动到该特殊文件会导致消失/dev/null? 澄清一下,这是出于测试目的,我了解该mv命令的工作原理。我很好奇的是为什么ls -la /dev/null在用常规文件替换之前会显示预期的输出,但是之后却显示/dev/null不存在,即使据称是通过原始mv命令创建的,并且file命令显示了ASCII文本。我认为这必须是ls命令行为与devfs非特殊文件替换字符/特殊文件时的组合。这是在Mac OS X上,其行为可能在其他OS上有所不同。
25 osx  devices  null 

2
鼠标事件在Linux中如何工作?
这主要是出于好奇,我试图了解事件处理的底层原理,所以请不要将我引向能够为我做的软件。 例如,如果我想用C / C ++编写一个能够对鼠标单击做出反应的程序,那么我假设我需要使用系统调用将某些功能连接到内核,或者也许您只需要不断检查鼠标的状态,我不知道。 我认为这是有可能的,因为在C / C ++中几乎所有功能都是如此,它是如此低的水平,尽管我可能永远不必自己实现它,但我对它的工作方式最感兴趣。 问题是它如何在linux中工作,是否存在某些系统调用,c库等?
25 linux  devices  input 

1
将devtmpfs用于/ dev
我注意到内核中的以下选项:CONFIG_DEVTMPFS Device Drivers -> Generic Driver Options -> Maintain devtmpfs to mount at /dev 而且我看到它在Debian发行版内核中是默认启用的 3.2.0-4-amd64 我试图了解此选项带来的不同。如果没有此选项,/dev则安装为tmpfs,使用此选项,则安装为devtmpfs。除此之外,我看不出任何区别。 在help没有明确对我来说之一: 这将在启动初期创建一个tmpfs / ramfs文件系统实例。在此文件系统中,内核驱动程序核心会维护设备节点的默认名称以及对所有分配了主/次编号的注册设备的权限。 它提供了一个功能齐全的/ dev目录,其中udev通常在顶部运行,以管理权限并添加有意义的符号链接。 在非常有限的环境中,它可以提供足够的功能/ dev而无需任何其他帮助。它还允许简单的救援系统,并可靠地处理动态的主要/次要号码。 有人可以解释一下使用CONFIG_DEVTMPFS与标准之间的区别/dev吗?


2
设置tty的波特率
如何设置特定tty(在本例中为串行端口)的波特率?我尝试使用 stty -F /dev/tty.iap ispeed 19200 但是Invalid argument,除了9600(默认值)以外,我尝试的每种速度(2400、4800等)都会出错。我可以使用在C程序中成功更改速度cfsetspeed。我是否需要在其他地方进行更改,例如ttys文件?

3
如果删除设备文件会怎样?
我大致了解/ dev下的文件。 我知道有两种类型(字符/块),访问这些文件与内核中的驱动程序通信。 我想知道删除一个文件会发生什么-专门针对两种文件类型。如果删除块设备文件,请说/dev/sda这有什么作用(如果有)?我刚刚卸载了磁盘吗? 同样,如果删除/dev/mouse/mouse0,该怎么办?鼠标会停止工作吗?它会自动取代自己吗? 我什至可以删除这些文件吗?如果设置了虚拟机,则可以尝试。

2
操纵/ dev / video
我想从中获取视频流/dev/video0,应用一些效果或更改,然后在上提供结果/dev/video1。 /dev/video0 ->应用效果---> /dev/video1 例如,mplayer tv:// -vo caca将显示/dev/videoascii艺术的输出。我想启用该功能,/dev/video1以便可以通过Skype而不是默认的网络摄像头供稿来发送。 有什么建议么?
21 video  devices 


3
如何重置/重新启动PCIe设备的电源?
我有一个PCIe设备,仅在计算机完全关闭电源然后再打开时才能正常工作。发出简单命令reboot或reboot -p命令似乎都无法重新启动PCIe卡的电源,这会导致它在重新引导后无法正常工作。 有没有办法从操作系统重新启动PCIe插槽中的设备电源?我可以在找到它/sys/bus/pci/devices/0000*/,但是我不知道如何正确重置板子。切换能力似乎是唯一的方法。 除非这样做,我是否可以在某个地方更改设置,这将导致reboot命令重新启动整个电源? 顺便说一下,我正在运行Ubuntu 12.10。

3
/ dev / nvram危险写吗?
我发现nvram用于BIOS刷新/备份的信息,其中包含一些与BIOS相关的数据。会cat /dev/random > /dev/nvram永久使用计算机吗?我很想键入此命令,但是以某种方式我觉得它对我的机器来说效果不佳,所以我想我想知道玩此设备有多危险。

1
为什么/ etc / fstab中的“ nodev”如此重要?角色设备如何用于黑客攻击?
我正在学习有关Linux安全性的知识,并努力了解为什么USB棒上装有字符设备的潜在危险。 如果我的USB记忆棒带有bash可执行文件,且其上具有setuid根目录,则危险很明显:如果我输入类似以下内容,则拥有此类USB记忆棒的任何人都可以在我的计算机上获得root特权 /dev/sdb1 /media/usbstick auto defaults 0 0 在我/etc/fstab因为defaults包含suid。 但是角色设备呢?如果装有字符设备的USB棒与dev或一起安装,如何使用字符设备获得root特权或破坏东西defaults?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.