Unix & Linux

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

4
在ps输出中禁用列名
如何格式化ps -p命令输出? 为了不让我看到这样的东西: PID TTY TIME CMD 但只有PID。 我正在使用Linux。
23 process  ps 

5
将UTF-8文件转换为ASCII(尽力而为)
我有一个UTF-8文件,其中包含多种语言的文本。其中很多是人们的名字。我需要将其转换为ASCII,并且我需要结果看起来尽可能体面。 有多种方法可以实现从较宽编码到较窄编码的转换。最简单的转换是将所有非ASCII字符替换为某个占位符,例如“ _”。如果我知道文件所用的语言,则还有其他可能性,例如罗马化。 Unix上可用的哪种Unix工具或编程语言库可以使我从UTF-8到ASCII的转换(尽力而为)? 大部分文本使用基于欧洲拉丁语的语言。

8
什么会在每次引导时覆盖/etc/resolv.conf?
我得到了一个迷你文件,该文件可以linux直接启动firefox。它可以完成所有工作,只是无法连接到互联网。 我们的网络中有3台DNS服务器,它们都能正常工作。我也可以Ping他们。但是,当尝试ping google.de或wget google.de我得到一个bad address错误。 nslookup google.de 由于某种原因起作用。 我resolv.conf在引导的系统上一直跟踪该问题,其内容与resolv.conf我放入.iso文件中的内容不同。 我试图了解创建和修改的所有因素resolv.conf。我不太确定我是否已掌握全部内容,但我绝对没有在那儿找到我的解决方案。 因此,作为最后的努力,我尝试使用使resolv.conf文件不可变 :~# chattr +i /etc/resolv.conf 当重建并重新启动时,令我惊讶的是,我的文件被重命名为,resolv.conf~而原来的文件却一直困扰着我。 文件内容使我相信它是从网络本身获取信息的。.iso在无法访问Internet的情况下在Virtualbox中启动时,我的文件将保持原样。 我试图改变/etc/dhcp/dhclient.conf不从网络获取的信息,通过删除domain-name-server并domain-name-search从request该文件的一部分。 不幸的是没有工作。 我没有安装NetworkManager。iso基于Ubuntu 14.04。 可能缺少重要的信息。我很乐意提供。 更新: 我想我找到了清除的文件resolv.conf。 好像是 /usr/share/udhcpc/default.script #!/bin/sh # udhcpc script edited by Tim Riker <Tim@Rikers.org> [ -z "$1" ] && echo "Error: should be called from udhcpc" && exit 1 …

8
在Debian 8上安装Nginx-full的问题
我在debian jessie上安装nginx pkg(nginx-full)时遇到一些问题 # apt-get install nginx-full Reading package lists... Done Building dependency tree Reading state information... Done The following extra packages will be installed: nginx-common Suggested packages: fcgiwrap nginx-doc The following NEW packages will be installed: nginx-common nginx-full 0 upgraded, 2 newly installed, 0 to remove and 0 not …
23 debian  nginx 

5
如何使用cut分隔多个空格?
我想获得此示例的最后一列: [ 3] 1.0- 2.0 sec 1.00 MBytes 8.39 Mbits/sec [ 3] 2.0- 3.0 sec 768 KBytes 6.29 Mbits/sec [ 3] 3.0- 4.0 sec 512 KBytes 4.19 Mbits/sec [ 3] 4.0- 5.0 sec 256 KBytes 2.10 Mbits/sec ... 如果我用 cut -d\ -f 13 我懂了 Mbits/sec 6.29 4.19 2.10 因为有时它们之间还有其他空格。

5
vim搜索编号包含特定位数
我需要在一个大文件中找到特定的长度数字。我试图为此使用正则表达式。例如,如果我需要搜索精确的2位数字,则使用\d\d(即/ d两次,后跟一个空格)。这很好。 但是要找到10位数字,实际上不可能输入\d10次​​。 尝试过\d{2},说“ E486:找不到模式:\ d {2} ” 有没有更快/更简便的方法来实现这一目标?

3
fork()中的写时复制如何处理多个fork?
根据维基百科(可能是错误的) 发出fork()系统调用时,将创建与父进程对应的所有页面的副本,并由OS加载到子进程的单独内存位置。但这在某些情况下是不需要的。请考虑以下情况:孩子执行exec系统调用(用于从C程序中执行任何可执行文件)或在以后很快退出fork()。当仅需要子进程来执行父进程的命令时,就不需要复制父进程的页面,因为exec用要执行的命令替换了调用它的进程的地址空间。 在这种情况下,将使用一种称为写时复制(COW)的技术。使用此技术时,发生派生时,不会为子进程复制父进程的页面。而是在子进程和父进程之间共享页面。每当进程(父级或子级)修改页面时,都会为执行修改的那个进程(父级或子级)单独制作该页面的单独副本。然后,此过程将使用新复制的页面,而不是将来所有引用中的共享页面。另一个过程(未修改共享页面的过程)继续使用页面的原始副本(现在不再共享)。此技术称为写时复制,因为在某些进程向页面写入内容时会对其进行复制。 似乎当任何一个进程试图将其写入页面时,都会分配该页面的新副本并将其分配给产生页面错误的进程。之后原始页面将被标记为可写。 我的问题是:如果fork()在任何进程尝试写入共享页面之前多次调用gets ,会发生什么?
23 linux  c  fork 

3
grep:尾随反斜杠
我想为做一个grep \resources\。我该怎么做呢? 我试过了: grep \resources\ grep \\resources\\ grep "\resources\" grep "\\resources\\" 这些都不起作用。

6
以正确的顺序整理大量文件
我有大约15,000个名为file_1.pdb,file_2.pdb等的文件。通过执行以下操作,可以按顺序整理其中的几千个文件: cat file_{1..2000}.pdb >> file_all.pdb 但是,如果我对15,000个文件执行此操作,则会收到错误消息 -bash: /bin/cat: Argument list too long 我已经看到这样做可以解决此问题,find . -name xx -exec xx但这不会保留文件连接的顺序。我该如何实现?


7
bash如果没有subshel​​l的话没有多个条件?
我想在一个if语句中合并多个条件,然后取反该组合。对于简单的条件组合,我有以下工作代码: if [ -f file1 ] && [ -f file2 ] && [ -f file3 ] ; then # do stuff with the files fi 这很好。如果要取消它,可以使用以下工作代码: if ! ( [ -f file1 ] && [ -f file2 ] && [ -f file3 ] ) ; then echo "Error: You done …

5
zstyle是做什么的?
zstyle似乎它只是存储和检索数据的中心,就像export-ing shell参数的替代方法一样。那是真的,还是更多?
23 zsh 

5
与SSH断开连接时,tmux会话被杀死
这个问题是从Server Fault 迁移过来的,因为可以在Unix&Linux Stack Exchange上回答。 迁移 5年前。 摘要:我试图弄清楚为什么我从ssh断开连接后,tmux会话会死掉 详细资料: 我在Arch Linux系统上安装了tmux。当我启动tmux会话时,我可以从中分离出来,然后在ssh会话处于活动状态时再次附加。但是,如果我结束ssh会话,则tmux会话将被杀死。 我知道这不是正常的行为,因为即使ssh会话已结束,我也有其他系统在其中tmux会话继续运行,并且可以在建立新的ssh连接后附加到tmux会话。有问题的系统和可以正常工作的系统具有非常相似的配置,因此我不确定要检查什么。 我正在运行tmux 1.9a版本。有问题(我具有root用户访问权限)的系统具有3.17.4-1的Linux内核版本,而工作正常的系统具有3.16.4-1-ARCH的内核(我没有root权限)系统)。我怀疑内核版本是否是问题的根源,那只是我注意到的一个区别。 我想问一下是否有人遇到过类似的问题并知道可能的解决方案。 导致问题的确切步骤是: SSH到机器 运行tmux以启动tmux ctrl-B D 分离(此时我可以重新连接 tmux attach 关闭ssh会话(此时tmux会话已终止,当我以root身份登录到另一个终端时,已经能够观察到此情况) 与SSH重新连接并运行tmux attach,我得到消息no sessions和运行tmux ls返回failed to connect to server: Connection refused。这是有道理的,因为服务未运行。对我来说没有意义的是为什么当我从ssh会话断开连接时,它在步骤4中被杀死。 跟踪数据: 作为对其中一项评论的回应,我使用了strace来查看什么系统调用了tmux服务器进程。当我退出ssh会话(通过键入exit或使用ctrl-d)时,tmux进程被杀死了。这是strace输出的最后一部分。 poll([{fd=4, events=POLLIN}, {fd=11, events=POLLIN}, {fd=6, events=POLLIN}], 3, 424) = ? ERESTART_RESTARTBLOCK (Interrupted by signal) …
23 tmux  sshd 

3
同时移动文件和更改所有权
在Linux(Debian,Ubuntu Mint ...)上, 是否有任何选项命令或一些我可以用来将文件传输给另一个用户的东西,而不必这样做: sudo mv /home/poney/folderfulloffiles /home/unicorn/ sudo chown -R unicorn:unicorn /home/unicorn/folderfulloffiles
23 linux  files  rename  chown 

3
输出netstat中的tcp6
输出netstat上的“ tcp6”列是什么意思?请任何人解释netstat的以下输出: tcp6 0 0 dmz.local.net:www 5.140.235.6%14631:49964 ESTABLISHED 21393/apache2 tcp6是什么意思?
23 tcp  netstat 

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.