Unix & Linux

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



6
/ proc / self /`用于哪个进程?
https://www.centos.org/docs/5/html/5.2/Deployment_Guide/s3-proc-self.html 说 该/proc/self/目录是当前正在运行的进程的链接。 总是有多个进程同时运行,那么哪个进程是“当前正在运行的进程”? 考虑上下文切换,“当前正在运行的进程”与CPU上当前正在运行的进程有什么关系吗? “当前正在运行的进程”与前台进程和后台进程无关吗?
40 linux  process  proc 

2
为什么进程替换会导致一个名为/ dev / fd / 63的文件,这是一个管道?
我试图在此特定示例的上下文中了解命名管道。 我输入<(ls -l)我的终端,并输出为bash: /dev/fd/63: Permission denied。 如果输入cat <(ls -l),我可以看到目录内容。如果我更换cat用echo,我觉得我得到的终端名称(或者是什么呢?)。 echo <(ls -l)将输出给出为/dev/fd/63。 另外,这个示例输出对我来说还不清楚。 ls -l <(echo "Whatever") lr-x------ 1 root root 64 Sep 17 13:18 /dev/fd/63 -> pipe:[48078752] 但是,如果我给出,ls -l <()它将列出目录内容。 如果命名管道发生了什么情况?

9
/ boot分区的真正作用是什么?
我正在阅读有关Linux分区和文件系统的相对较旧的文章(《LPIC 1认证圣经》)。它说: 某些版本的Linux引导加载程序无法访问磁盘上前1024个柱面之外的内核。通过将/ boot分区放在驱动器的开头,可以确保在引导时访问内核时不会出现问题。在双重引导Linux以及第一个分区上的另一个操作系统的情况下,此问题最容易显示。 为什么引导加载程序“ 在磁盘上的前1024个柱面之外无法访问内核 ”? 另外,“ 将/ boot分区放在驱动器的开头 ”是什么意思?


1
如何将zsh自动完成功能用于包装函数参数和现有命令
我主要在gvim和许多终端中工作。最初,我更喜欢在单个vim实例中打开所有文件。为此,我使用别名从当前“ vim服务器”中的终端打开文件。 alias rv="gvim --remote-silent" 但是在单个vim实例中打开多个项目的许多文件会影响我的工作效率,因此我将别名升级为函数。 # main function rv() { local args options server options=$(getopt -o hils:t: -l "help,info,list,set:,target:" -- "$@") if [[ $? -ne 0 ]]; then echo "Failed to parse options." return 1 fi # a little magic, necessary when using getopt eval set -- "$options" # …
40 zsh  autocomplete 

9
如何删除此不可删除的目录?
我未解压的腐败tar文件,并成功地结束了一些目录,我不能删除,如果我尝试删除它,好像它不能被发现,但ls显示了它的存在,都与bash和与Python,我得到类似的行为,只是在我尝试使用删除它之后rm -rf, ls抱怨找不到它,然后列出了它(请参阅下文rm -rf)。该find命令显示该文件存在,但是我仍然想不出一种删除它的方法。 这是我的尝试: 在这里,您可以看到这两者,ls并find同意我们有一个目录, rl]$ ls mikeaâ??cnt rl]$ find -maxdepth 1 -type d -empty -print0 ./mikeaâcnt 但我无法删除它: rl]$ find -maxdepth 1 -type d -empty -print0 | xargs -0 rm -f -v rm: cannot remove `./mikeaâ\302\201\302\204cnt': Is a directory rl]$ ls mikeaâ??cnt 我可以cd,但它是空的: rl]$ cd mikeaâ^Á^Äcnt/ mikeaâ^Á^Äcnt]$ ls mikeaâ^Á^Äcnt]$ …
40 files  directory  nfs  rm 

1
bzip1发生了什么?
bzip2已经成为事实上的标准,已经有很多年了。bzip2到目前为止,我本人已经键入了数千次命令,这让我感到奇怪-bzip或bzip1发生了什么?Google似乎没有告诉我太多有关它的信息,听起来这可能是一个有趣的历史课。

8
uname从何处获取其信息?
uname真正从何处获得其信息? 我认为这应该很简单。不幸的是,我找不到任何仅包含该信息的标头。 假设有人想要将uname/ 的基本输出uname -s 从更改Linux为其他内容(本质上是重命名内核)。 他/她将如何以正确的方式进行操作(即更改源)?
40 linux  kernel  source 

3
dircolors:全局修改颜色设置
我了解显示彩色输出的ls用途dircolors。dircolors具有与文件扩展名关联的默认颜色数据库,可以使用以下命令进行打印 dircolors --print-database 据man dir_colors我了解,系统范围的数据库应位于中/etc/DIR_COLORS。但是该文件在我的系统(Debian)上不存在。如何修改系统范围的颜色设置dircolors?dircolors --print-database没有文件时,命令从哪里获取设置。 我知道用户可以在~/.dircolors其设置中包含用户特定的文件,但这不适合我,因为我需要为每个人更改设置。 第二个问题是,是否可以将8位颜色用于dircolors。我的航站楼是xterm-256color。
40 bash  ls  colors 


5
如何从终端向GUI程序发送击键(F5)?
我将Raspberry Pi与Chromium(kiosk模式)结合使用以显示一些统计信息。Pi没有连接的键盘,因此我搜索了一种解决方案,以将键盘击键从终端发送到Chromium(tab)进程。普通输入确实有效,但是如何F5通过此解决方案发送类似信息(特殊键:浏览器刷新)? # pidof chromium 20809 20790 20788 20786 20783 # echo 'some text' > /proc/20809/fd/0
40 process  x11  input 

7
如何使用sed -i(就地编辑)实现可移植性?
我正在为服务器编写Shell脚本,该服务器是运行FreeBSD的共享主机。我还希望能够在运行Linux的PC上本地测试它们。因此,我试图以一种可移植的方式编写它们,但是sed我看不到这样做的方法。 我的网站的一部分使用了生成的静态HTML文件,此sed行在每次重新生成后插入正确的DOCTYPE: sed -i '1s/^/<!DOCTYPE html> \n/' ${file_name.html} 它sed在Linux上可以与GNU一起使用,但是FreeBSD sed希望-ioption 后的第一个参数是备份副本的扩展名。它是这样的: sed -i '' '1s/^/<!DOCTYPE html> \n/' ${file_name.html} 但是,GNU sed依次期望表达式在之后-i。(它也需要使用换行符进行修复,但这已在此处得到解答) 当然,我可以将此更改包含在脚本的服务器副本中,但这会很混乱,即我使用VCS进行版本控制。有没有办法以完全可移植的方式使用sed实现此目的?

2
从日期输出中删除前导零
我为date命令设置了别名,以以下格式显示日期: 2013.06.14.12.10.02 使用此命令: alias date = date +"%Y.%m.%d.%H.%M.%S" 一切都很好,除了我想从输出中删除前导零。 无法通过更改格式来实现。我认为只能通过将输出传递给其他命令(例如sed和)来完成awk。 我正在运行的操作系统是Ubuntu 12.04.2 LTS。
40 sed  awk  date 

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.