随机存取存储器(RAM)是一种块设备,为什么Linux使用字符设备文件而不是块设备文件来供用户进程与之交互/dev/mem?
$ ls -l /dev/mem
crw-r----- 1 root kmem 1, 1 Jul 24 19:05 /dev/mem
Run Code Online (Sandbox Code Playgroud) 我总是用它nohup来启动我的系统。但是,输出nohup太大,我想将其重定向到/dev/null. 我担心的是,重定向是否也会/dev/null引发一些 I/O 操作,例如写入普通文件?
或者,我应该深入到代码级别并删除所有这些日志信息吗?(但我可能需要它们)。
我唯一关心的是 I/O 利用率和文件大小。
我知道块/字符设备文件是以编程方式创建的(由驱动程序本身?)以促进与使用标准 I/O 调用的设备驱动程序的通信。但是为什么要使用命令行从命令行创建这些设备文件mknod?
请提供一些常见的用例。
好吧,我正在尝试识别程序中的设备,以便我可以分类并获取设备的电源状态。问题是我在同一操作系统上但使用不同的机器时得到了不同的值。
我知道我可以使用:
upower
demidecode
acpi
Run Code Online (Sandbox Code Playgroud)
但如果由于某种原因不可用,我想有另一种选择!
它们之间有什么区别?请注意,其中一台笔记本电脑没有连接电池。
带电池:BAT0
不带电池:ADP0
使用的路径:/sys/class/power_supply/
静音/取消静音系统默认声音输出的通用方法是什么?
$ amixer set Master mute
amixer: Unable to find simple control 'Master',0
$ amixer scontrols
Simple mixer control 'IEC958',0
Simple mixer control 'IEC958',1
Simple mixer control 'IEC958',2
Simple mixer control 'IEC958',3
Simple mixer control 'IEC958',4
Simple mixer control 'IEC958',5
Run Code Online (Sandbox Code Playgroud)
我知道声音控制已从 amixer 转移到 Pulseaudio,但是,我仍然可以在 Debian 10 中使用 ALSA“Master”控制,但不能在 Ubuntu 21.10 中使用,请参见上文。
来自pactl set-sink-mute 0 1https://superuser.com/questions/805525/ ,但我尝试过,但这不适用于我上面的 Ubuntu 21.10。
总而言之,我只需要一种通用方法来静音/取消静音系统的默认声音输出,该方法适用于我的所有机器和所有 Linux,就像 ALSA“主”控件一样。
我正在寻找一种方法来放置零并myiso.iso并行刻录。
命令
dd if=/dev/zero of=/dev/sdb && (sleep 1; dd if=myiso.iso of=/dev/sdb)
Run Code Online (Sandbox Code Playgroud)
应该没问题,因为写入零的速度不如写入iso的速度。
您将如何验证仅在写入零后才写入 iso?
每次重新启动后,我必须设置chmod o+rw /dev/ttyS0为能够通过bash.
设备关闭后是否可以保存权限以及波特率、位、停止位和奇偶校验?
以下两个文件是虚拟文件:
/dev/sda1
/proc/cpuinfo
Run Code Online (Sandbox Code Playgroud)
我知道这/dev/sda1是一个设备文件(指向设备驱动程序),所以当我访问这个文件时,我实际上是在访问设备驱动程序。
但是/proc/cpuinfo,这个文件也是设备文件吗?如果是,Linux 设备文件中是否所有其他虚拟文件?
我有三个相同的服务器,所有三个相同的布线和正确放置的硬盘。尽管其中一台服务器/dev/sdg /dev/sdh使用了 sata-ssds,而另外两台服务器使用了它们/dev/sda /dev/sdb- 我将 Proxmox 与 ZFS 一起使用。
SATA-SSD 连接到板载(SATA 布线到板),而硬盘通过单电缆 (SAS) 连接到 SAS-HBA。
这些名字是如何分配的?序列号?在这里找不到对我有帮助的有效信息。在 Debian + ZFS 中安装后有没有办法更改设备名称?
我的理解是该/sys目录包含解释有关不同设备的信息的文件。该目录如何以及何时被填充?
例如,在这里探索 Linux 系统,我看到该/sys/bus/i2c/devices目录包含一些 I2C 设备的文件。
在这种情况下,I2C 设备驱动程序/模块的工作是在那里创建这些文件吗?
那么关于/dev目录,设备驱动程序/模块是否也填充该目录?提前致谢。
我通过 USB 记忆棒将外部 microSD 卡插入我的机器。我相信它是自动安装的,因为我可以看到
$ ls /media/me
7538-3DFD
Run Code Online (Sandbox Code Playgroud)
我相信它已安装,/dev/sda1因为我看到
$ sudo fdisk -l
Disk /dev/loop0: 4 KiB, 4096 bytes, 8 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
...
Disk /dev/nvme0n1: 476.94 GiB, 512110190592 bytes, 1000215216 sectors
Disk model: SAMSUNG MZVKW512HMJP-00000
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O …Run Code Online (Sandbox Code Playgroud) 在查看swapon命令手册时,优先级选项被描述为
-p, --priority priority
Specify the priority of the swap device. priority is a value
between -1 and 32767. Higher numbers indicate higher
priority. See swapon(2) for a full description of swap
priorities. Add pri=value to the option field of /etc/fstab
for use with swapon -a. When no priority is defined, it
defaults to -1.
Run Code Online (Sandbox Code Playgroud)
有人可以解释交换的优先级是什么意思。这个设置的较高值和较低值对系统有什么影响,在家用电脑中应该是什么最佳值?编辑:swapon(2) 的手册页显示
They may have any non-negative value chosen by the caller
Run Code Online (Sandbox Code Playgroud)
但在我的系统(debian 10 测试)中,默认优先级值为 -1
devices ×13
linux ×5
block-device ×2
udev ×2
acpi ×1
alsa ×1
audio ×1
automounting ×1
battery ×1
command-line ×1
dd ×1
debian ×1
disk ×1
drivers ×1
fedora ×1
fstab ×1
io ×1
linux-kernel ×1
live-usb ×1
memory ×1
mount ×1
permissions ×1
priority ×1
proc ×1
pty ×1
pulseaudio ×1
serial-port ×1
swap ×1
tty ×1