Unix & Linux

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

2
文件描述符和派生
当孩子被分叉时,它会继承父对象的文件描述符,如果孩子关闭了文件描述符,将会发生什么?如果孩子开始写文件,那么在父母的末端文件将如何处理?谁来管理这些不一致,内核还是用户? 当进程调用该close函数以通过文件描述符关闭特定打开的文件时。在进程的文件表中,引用计数减一。但是由于父级和子级都持有同一个文件,因此引用计数为2,关闭后该引用计数减少为1。由于它不是零,因此该进程仍然可以继续使用文件而没有任何问题。 请参阅Terrence Chan UNIX系统编程,(Unix内核对Files的支持)。

12
有没有办法下载纯Unix?
我只是出于好奇而问,有没有办法获得“纯”的东西,比如说复制Unix?因此,不是在后台使用Unix的OS X或Linux,而是Unix。
9 download 

1
重新按键
灾难性的可乐溢出后,键盘上的某些键变了粘性。我不打算更换旧键盘,因为明年将更换整个笔记本电脑。 有问题的键是:向上箭头,向下箭头,Shift和'/'。 Shift在西海岸有一个双胞胎兄弟,他现在正在做所有工作,我可以用命令将'/'替换为'delete'(现在我意识到这是一个完全没用的键)xmodmap -e 'keycode 119=/'。也就是说,按“删除”现在输出一个“ /”。 为了发现如何更换我使用的钥匙xev。我打算分别替换pgup和pgdn的向上箭头和向下箭头。不幸的是,上/下箭头没有输出。我知道pgup和pgdn是键代码112和键代码117。但是我应该在xmodmap -e 'keycode <value>=<action>'模式中填写as xmodmap -e 'keycode 112='和xmodmap -e 'keycode 117='
9 keyboard 

2
初始化Bash变量-随需应变,建议或定义
在将脚本中的bash变量的值赋给实际值之前,在主代码之前或在函数中的局部变量之前初始化脚本中的bash变量的值是否有任何优点/缺点? 我需要做这样的事情吗? init() { name="" name=$1 } init "Mark" 是否存在使用垃圾值初始化变量(如果未初始化)以及对变量值产生负面影响的风险?
9 bash  variable 

3
`]`的令牌标识符是什么?
Bash手册说: 使用[形式时,命令的最后一个参数必须为]。 $ type [ [ is a shell builtin $ type ] bash: type: ]: not found 因此,]它不是保留字,也不是运算符,也不是内置命令。 作为令牌,令牌标识符是]什么?单词还是名字?
9 bash 

1
如何调试ksoftirqd资源使用过多的原因?
man ksoftirqd指示: 如果ksoftirqd占用的CPU时间超过一小部分,则表明该计算机处于较高的软中断负载下。 我正在使用Debian Wheezy系统,该系统通常具有很高的系统利用率,其中ksoftirqd进程在短时间内使用了过多的cpu和磁盘资源。在此期间,系统以蜗牛般的速度运行。 如何开始理解导致ksoftirqd资源利用率飙升的根本原因?
9 interrupt  load 

1
mkdir:无法创建目录:未实现功能
我正在上大学,必须从学校的Linux机器上提交CS作业,但是我喜欢在笔记本电脑(Mac)上进行作业。因此,我决定不再使用每次都复制文件然后提交的方法,而是决定制作一个脚本来使用scp和替我做ssh。第一次测试脚本时,该scp命令在hw3另一台计算机上创建了目录。下次测试它时,它创建了目录hw4。这两个目录中都有我的程序文件。由于这两个目录仅用于测试,因此我使用删除了这两个目录rm -r。但是这里就是问题所在。 通过稍后对脚本的测试和其他调试,我发现当通过进行连接时,我现在无法在另一台计算机上创建任何名为hw3或hw4的文件或文件夹ssh。我可以创建一个名为其他名称的文件夹,只是不能为hw3或hw4。我不能让他们通过mkdir,mv,cp,或触摸,让我觉得有什么不对的文件系统。但是,我可以将hw3和hw4文件放在父目录中。我从未与之交谈过的人知道这是什么,并且之前从未见过,因此谷歌搜索该问题并未产生任何结果。 在我的学校,我可以登录许多不同的计算机,并尝试了几台,但是所有问题仍然存在,这是有道理的,因为我使用的是网络驱动器(路径中为SDRIVE)。为了拿到剧本的工作,我只是用它制作的创建解决办法hww#,而不是hw#,但我还是很喜欢就知道是怎么回事,如何解决它。 这是我通过via ssh和命令登录时的终端输出。 Last login: Tue Mar 3 11:40:18 2015 from r03ane3md.device.mst.edu You are currenly one of 7 users on this host! ane3md@rc07xcs213:~$ cd SDRIVE/cs1510 ane3md@rc07xcs213:~/SDRIVE/cs1510$ ls -l total 0 drwxr-xr-x 2 ane3md mst_users 0 Mar 3 12:01 hw1 drwxr-xr-x 2 ane3md mst_users 0 Feb 21 21:37 …

1
如何在不使用/etc/mdadm.conf的情况下组装特定的RAID阵列
是否可以使用mdadm及其扫描功能来组装特定的RAID阵列,而无需配置文件? 背景: 我正在使用定制的initramfs来设置系统(dm-crypt和其他内容)。一切都在init脚本中完成并配置,这就是我想要保留的方式,即无需任何其他配置文件。 我的目标: 在初始化脚本中,我只想使用命令行组装一个特定的RAID阵列。通过其UUID标识阵列,给出md设备名称,并应扫描阵列成员(因为例如,连接的USB记忆棒或发生故障的设备会弄乱/ dev / sdX名称)。所有其他设备和潜在的RAID阵列都将被忽略,因为在引导过程中,只有一个阵列是感兴趣的(带有根文件系统)。 仔细阅读mdadm的手册页并进行一些测试,我想到了: mdadm --assemble --uuid <uuid> /dev/md0 这似乎可行,但这是正确的方法吗? 在手册页中: 如果仅列出了一个设备,但未指定--scan,则mdadm的行为就好像已给出--scan一样,并且从配置文件中提取了身份信息。
9 raid  mdadm  initramfs 

1
如何使用bash将多行附加到文件中,在字符串前面加上“-”
问题与如何使用bash将多行追加到文件中非常类似,但是我想使用来启动文件--,并且如果可能的话还希望追加到文件中。 printf "--no-color\n--format-doc\n--no-profile\n" >> ~/.rspec-test 问题是以“-”开头的文件给了我一个: -bash: printf: --: invalid option printf: usage: printf [-v var] format [arguments] 有办法逃脱--吗?有其他选择吗?我不确定如何使用进行多行操作echo,cat也不是一个好选择,我想将其包含在自动化脚本中。

2
在特定时间段内运行strace
如何在特定时间段(例如1分钟)内在用户进程上运行strace,而不终止用户进程并且不使用Ctrl + C? 我想创建一个脚本来自动化用户进程的跟踪执行。
9 strace 

7
是否有可用于Linux的多用户Webdav服务器?
我希望完全停用SMBA服务,并将其替换为WebDav服务。 到目前为止,所有的google搜索都指示我使用Apache / Webdav。这接近我的需要,但据我所读,它要求Apache有权访问用户的文件,更糟的是,如果创建文件,则新文件将归Apache(而不是用户)所有。 请注意,必须具有正确的Unix所有权和权限的文件,因为某些用户具有直接SSH访问权限。 因此,我只是在寻找一种方法来使Apache / Webdav与多用户“正确”地工作(即在尝试提供文件之前将unix用户更改为登录用户),或者找到完全替代Apache /的方法。 Webdav。 到目前为止,搜索还没有发现任何东西。


2
强制SSH在shell中(而不是在窗口中)询问我的私钥密码
引导后第一次使用SSH时,它会要求我提供私钥解锁密码(这是我期望的行为)。但这是在窗口而不是外壳中进行的(类似于gksudoVS sudo)。这令人沮丧(我必须使用鼠标单击窗口),其次有时会导致错误(我使用Guake终端,有时是全屏显示,在这种情况下,我无法专注于SSH窗口,因此我不得不重新启动X )。 所以,我的问题是:是否有一种方法可以强制SSH在命令行上要求我的私钥密码,而不是弹出一个窗口?

1
为什么我不能创建一个以“ passwd”为前缀的文件。在“ / etc”中?
我有一台装有Ubuntu 16.04的PC。最近,我想安装一些软件包,但是在安装它们时遇到了麻烦。经过一番挖掘,我发现故障似乎与linux用户帐户系统有关。问题是passwd.无法在/etc路径中创建任何带有前缀前缀的文件。 # ls /etc/passwd.* ls: cannot access '/etc/passwd.*': No such file or directory # touch /etc/passwd.test-test-test touch: cannot touch '/etc/passwd.test-test-test': Permission denied # ls /etc/passwe.* ls: cannot access '/etc/passwe.*': No such file or directory # touch /etc/passwe.test-test-test # 我可以在其他路径中创建该文件,例如/或/usr,但不能在/etc中创建,并且可以使用其他文件名将文件创建在中/etc,但不能将文件名以开头passwd.。我无法在其他PC上重现此问题。 我试过其他命令: nano /etc/shadow.xxx echo xxx > /etc/shadow.xxx touch /etc/test-temp-file && …

1
解释为什么观看“工作”无效,但观看“ ps”有效?
jobs我最喜欢的命令是查看我的代码在后台运行。为了动态检查它们,我倾向于键入 watch 'jobs' 不会显示任何内容。然而 watch 'ps' 完美地工作。我几个月来一直在犯同样的错误。 我认为理解为什么第一个不起作用而第二个不能起作用可以帮助我停止做同样的错误。 有人可以帮忙吗?

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.