Unix & Linux

Linux,FreeBSD和其他类似Un * x的操作系统用户的问答

1
为什么rmdir和unlink两个单独的系统调用?
这让我有些疑惑了: [15:40:50][/tmp]$ mkdir a [15:40:52][/tmp]$ strace rmdir a execve("/usr/bin/rmdir", ["rmdir", "a"], [/* 78 vars */]) = 0 brk(0) = 0x11bb000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7ff3772c3000 access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory) open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=245801, ...}) = 0 mmap(NULL, 245801, …

1
Linux上的PCB在哪里
PCB或过程控制块在Wikipedia上定义如下 进程控制块(PCB,也称为任务控制块,[1] Task Struct或Switchframe)是操作系统内核中的数据结构,其中包含管理特定进程所需的信息。PCB是“操作系统中进程的体现” 其职责是: Process identification data Processor state data Process control data 那么在哪里可以找到工艺的PCB?
10 linux  process  cpu 

3
bash中$&的用法是什么?
我正在研究bash中的特殊参数。我很好奇知道$&它是什么以及与它有什么不同$_。 运行命令时,我看到以下输出,但也找不到相应的含义。 k@Linux:~$ echo $& [1] 12397 $ k@Linux:~$ echo $n [1]+ Done echo $ k@Linux:~$
10 bash  shell 

2
只有写权限的文件夹是没有用的吧?
在Linux上工作了多年之后,我发现自己有一些空闲时间,因此我决定重温一些基础知识。因此,我重新阅读了有关权限的内容(无需检查源代码),以及有关文件夹的特殊情况,并提出了一种新的(至少对我来说...)考虑文件夹权限的方法(针对特定用户/组/其他):我想象一个文件夹有两个表,就像这样: filename | inode foo | 111 bar | 222 在读权限意味着可以阅读(列表)表的左栏中,写入权限对应于添加和删除条目表,和执行权限对应于能够从文件名到inode的转换; 即,您可以访问文件夹的内容。 我做了一些实验,结果都与我的“世界观”保持一致,但似乎无法避免一个结论:拥有权限的文件夹d-w-------完全没有用。详细说明:您无法列出其内容,无法读取其中存在的任何文件(因为无法将名称转换为inode),不能删除或重命名或添加文件,因为这又意味着翻译,甚至不能添加硬链接(因为我想这是指添加名称和索引节点号,这意味着您将知道两者,这又又使您怀疑,这违反了取消执行权限的目的) 。当然,如果有是内部的一个这样的文件夹的文件,那么你就不能删除该文件夹或者,因为你不能删除其内容。 所以...我想问两个问题: 我的这个比喻是正确的,还是大错了? 不管以前的答案,有没有任何地方具有权限的文件夹描述是合适的情况呢?

4
什么是X Window系统?[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 5年前关闭。 谁能告诉我X Window System是什么以及它的用途?
10 x11 

3
如何制作内核第9节的联机帮助页中的文档功能,数据结构和标头?
内核源代码中包含函数和数据结构,例如panic.c: /** * panic - halt the system * @fmt: The text string to print * * Display a message, then perform cleanups. * * This function never returns. */ void panic(const char *fmt, ...) 不必每次都仔细阅读源代码,将这些API视为手册页并利用此现有文档框架将很有用。 您如何安装/制作内核第9节联机帮助页(/usr/share/man/man9),其中记录了上述功能和数据结构?

2
“ usb 3-2:无法设置配置#1,错误-110”-USB键盘可在Windows 8笔记本电脑中使用,但只能在PC上使用,直到Linux启动
我尝试了2个新的USB键盘,这些键盘在Linux开始启动之前一直有效。 开机时我看到: [ 8.365211] usb 3-2: New USB device found, idVendor=1a2c, idProduct=0b23 [ 8.404863] usb 3-2: New USB device strings: Mfr=1, Product=2, SerialNumber=0 [ 8.444623] usb 3-2: Product: USB Keyboard [ 10.641472] EXT4-fs (sda2): mounted filesystem with ordered data mode. Opts: (null) [ 13.481363] usb 3-2: can't set config #1, …

6
Chrooted SFTP用户写入权限
我只有sftp用户设置: Match Group sftponly ChrootDirectory %h ForceCommand internal-sftp AllowTcpForwarding no 我在secure.log中收到以下消息: fatal: bad ownership or modes for chroot directory 使用match关键字可以带来一些安全性...目录必须由root拥有,并且目录必须为chmod 755(drwxr-xr-x)。因此,由于ssh的安全性,如果该文件夹只能写给root用户,并且对于组设置为不可写,那么就不可能对文件夹具有写权限。 有人知道周围有什么好工作吗?
10 linux  ssh  centos  sftp 

2
合并两个单独文件中的列
如何使用awk创建一个合并两个单独文件中的选择性列的新文件?无需弄乱两个文件的元素顺序。 示例:文件3可能包含文件1中的1,2,3列和文件2中的4列。 File 1 A 23 8 T A 63 9 9 B 45 3 J File 2 A 0 A 6 B 5 File 3 A 23 8 0 A 63 9 6 B 45 3 5

2
更改tty登录超时-ArchLinux
默认情况下,当我在tty中登录Arch Linux框时,在输入用户名之后但在输入密码之前会有超时。 像这样 Login: mylogin <enter> Password: (+ 60 seconds) Login: 如您所见,如果我不键入密码,它将回收提示-我希望它无限期地等待我的密码,而不是回收登录提示。 这可能吗? 这似乎是--timeout选项agetty会是我想要的。但是,我尝试将此标志添加到getty文件中/usr/lib/systemd/system/(默认情况下不使用该选项),然后重新启动-似乎没有任何效果。
10 linux  login  tty  timeout  getty 


6
如何删除bash中的尾随换行符?
我正在寻找行为类似于Perl的产品chomp。我正在寻找一个仅打印其输入的命令,如果它是换行符,则减去最后一个字符: $ printf "one\ntwo\n" | COMMAND_IM_LOOKING_FOR ; echo " done" one two done $ printf "one\ntwo" | COMMAND_IM_LOOKING_FOR ; echo " done" one two done (Bash和Zsh中的命令替换会删除所有尾随的新行,但是我正在寻找一种最多删除一个尾随的新行的东西。)

2
列出所有网络打印机(包括未安装的网络打印机)
使用以下命令可以很容易地列出已经安装的打印机: lpstat -a 但是,这不会列出您尚未安装的网络打印机。 nmap将扫描LAN上所有打开的端口,但是生成的列表将不仅限于网络打印机: sudo nmap -sT 192.168.0.1-254 是否有执行以下操作的命令: 自动检测您当前连接的局域网。 扫描整个LAN,专门寻找网络打印机。 产生同时提供其主机名和IP地址的网络打印机列表。 例如,我今天登录了Imagistics fx2100打印机的Web界面。它具有“查找设备”功能,能够找到LAN上的所有网络打印机(请参见下面的屏幕截图)。似乎在Linux中会有一条命令可以实现相同的列表和信息(无需脚本):

1
没有缓存模式页是严重错误吗?
我的服务器日志以红色显示以下错误消息: kernel: sda: sda1 sda2 kernel: sd 0:1:0:0: [sda] No Caching mode page found kernel: sd 0:1:0:0: [sda] Assuming drive cache: write through kernel: sd 0:1:0:0: [sda] Attached SCSI disk 我正在使用具有RAID 1配置的Seagate硬盘ST3300657SS。我已阅读此问题的答案,其中提到: 在您的情况下,设备没有缓存模式页面,因此内核假定不存在读取或写入缓存,因此对设备的写入将是“直写”,即直接进入介质。 此错误是需要纠正的硬件问题吗?
10 hard-disk  cache 

2
如何验证Debian ISO完整性?
我最近下载了Debian 7.5.0 Wheezy,并设法使用Release.sig签名来使用GPG4Win验证Release校验和文件的完整性。不幸的是,我无法找到有关在Release文件中找到md5 / SHA1 / SHA256校验和的任何建议,以验证ISO是否正确/没有被破坏/操纵。在支持站点上也找不到有关此特定问题的任何帮助。如果相关,我正在使用Windows 7。 编辑:我的ISO文件的名称是“ debian-7.5.0-amd64-netinst”。其他版本可以在这里找到(ftp://cdimage.debian.org/cdimage/release/7.5.0-live/amd64/iso-hybrid/),并且由于以下文件,它提供了一种更简单的验证完整性的方法:ftp: //cdimage.debian.org/cdimage/release/7.5.0-live/amd64/iso-hybrid/SHA256SUMS。我需要在经过验证的发布文件中找到类似的内容。

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.