Unix & Linux

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

3
是否可以连接到TCP端口0?
侦听TCP端口0将为我分配系统上的空闲端口号。 但是,当我尝试连接到TCP端口0 时会发生什么?显而易见的答案是:“它不起作用”: $ nc localhost 0 nc: port number too small: 0 这在系统中的何处处理?在OS内核的TCP堆栈中?是否有Unix在哪里可以连接到TCP端口0?
59 networking  tcp 

12
为什么要在函数中编写整个bash脚本?
在工作中,我经常编写bash脚本。我的主管建议将整个脚本分解为功能,类似于以下示例: #!/bin/bash # Configure variables declare_variables() { noun=geese count=three } # Announce something i_am_foo() { echo "I am foo" sleep 0.5 echo "hear me roar!" } # Tell a joke walk_into_bar() { echo "So these ${count} ${noun} walk into a bar..." } # Emulate a pendulum clock for a bit …

6
ls -l和ll之间的区别?
我对整体编程还是比较陌生,一些教程告诉我使用它ls -l来查看目录中的文件,而其他则一直在说ll。我知道这ls是一个简短的列表,但是其他两个之间有区别吗?
59 shell  shell-script  ls 


8
如何使用终端从Google驱动器下载文件夹?
我想使用终端从我的Google驱动器下载文件夹吗?有什么办法吗?我尝试了这个: $ wget "https://drive.google.com/folderview?id=0B-Zc9K0k9q-WWUlqMXAyTG40MjA&usp=sharing" 但它正在下载此文本文件:folderview?id=0B-Zc9K0k9q-WdEY5a1BCUDBaejQ&usp=sharing。有什么方法可以从终端下载google drive文件夹吗?
59 wget  download 

4
将/ var,/ home移动到单独的分区
阅读本指南后,我尝试将一些文件夹(例如/var和/home)移动到单独的分区: 3.2.1选择智能分区方案 按照本指南,我能够成功移动一个文件夹。 但是,它似乎不适用于多个文件夹,并且我所有的文件夹都没有适当的文件夹转储到分区中。 我想安装/var,/home和/tmp到单独的分区; 有人可以指导我吗?


5
将shell变量作为/ pattern /传递给awk
在我的一个shell函数中具有以下内容: function _process () { awk -v l="$line" ' BEGIN {p=0} /'"$1"'/ {p=1} END{ if(p) print l >> "outfile.txt" } ' } ,因此当称为时_process $arg,$arg将作为传递$1,并用作搜索模式。它以这种方式工作,因为shell扩展$1代替了awk模式!也l可以在awk程序中使用,用声明-v l="$line"。一切都很好。 是否有可能以相同的方式将模式作为变量进行搜索? 以下操作无效, awk -v l="$line" -v search="$pattern" ' BEGIN {p=0} /search/ {p=1} END{ if(p) print l >> "outfile.txt" } ' ,因为awk不会解释/search/为变量,而是按字面意义。
59 shell  awk  quoting  variable 

4
如何在OS X上获取tac命令?
我喜欢用来tac反转的输出cat。但是,它在Mavericks终端中不可用。我试图在MacPorts上找到它,但它再次不可用。谁能告诉我如何获得tac?这对于读取日志文件非常有帮助。
59 osx  cat 

2
“最高”使用什么时间单位?
如果我发出“ top”命令并收到如下结果: PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 00001 bob 25 0 77380 1212 1200 R 95.8 0.0 89122:13 fee 00002 bob 25 0 77380 1196 1184 R 95.4 0.0 88954:14 fi 00003 sam 18 0 427m 16m 6308 R 30.0 0.1 54:46.43 fo …
59 man  time  top 

4
每个伪终端(PTY)组件(软件,主控端,从属端)的职责是什么?
我试图找出一个tty是如何工作的1(每个元素的工作流程和职责)。我读了一些有趣的文章,但是仍然有一些模糊的地方。 到目前为止,这是我的理解: 仿真终端会对/dev/ptmx伪终端的master部分进行不同的系统调用。 伪终端的主机部分在中分配一个文件/dev/pts/[0-N],该文件对应于已过时的串行端口,并将从属伪终端“附加”到该文件。 从属伪终端保留诸如会话ID,前台作业,屏幕大小之类的信息。 这是我的问题: ptmx除了分配从属部分还有其他用途吗?它提供某种“智能”,还是仿真的终端(例如xterm)具有像终端一样的所有智能? 为什么xterm只与从属部分的stdout和stdin转发,所以它必须与主控部分进行交互?为什么它不能 直接从pts文件写入和读取? 会话ID是否总是附在一个pts文件上,反之亦然?我可以输入ps命令并为相同的/ dev / pts / X找到2个sessionId吗? pts商店还提供哪些其他信息?Xterm会自己更新所有字段,还是在其上ptm添加一些“智能”? 1.我的理解基于Linus Akesson揭秘的TTY和Andries Brouwer的Linux Kernel帖子,以及这些站点上的其他几个问题

2
终端仿真器可以和TTY 1-6一样快吗?
最近,我一直在尝试各种终端仿真器,从内置的gnome-terminal,aterm,xterm,wterm到rxvt。我一直在按以下顺序进行测试: 打开带有2个窗格的tmux窗口 左窗格将是一个冗长的任务,例如grep a /et/c -r或一个简单的time seq -f 'blah blah %g' 100000 右窗格将是一个启用了语法的vim窗口,打开包含超过100行代码的任何文件。 当左窗格打印大量输出时,右窗格似乎非常缓慢且无响应,我尝试在vim中滚动,但更改需要1-2秒。当我尝试CtrlC按左窗格时,它会等待10秒钟以上才停止 当我在TTY中执行相同的操作时(按CTRL+ ALT+(F[1-6])),则不会发生,并且两个窗格都响应迅速。 我已经启用了一些配置,例如抗锯齿字体,上色,使用默认设置以及更改为xmonad和openbox,但它没有任何改变。 time seq -f 'blah blah %g' 100000在这些终端之间,的结果并没有真正的不同,但是响应性确实有所不同,尤其是当我运行分散面板tmux(或其他多路复用器)时。仅供参考,我以最大化模式运行它们。 我已经阅读了有关帧缓冲终端的信息,但不确定如何工作以及如何使用它来加速终端仿真器。 所以我的问题是,是什么使终端仿真器比TTY慢得多?是否有可能使其达到TTY的速度?也许是硬件加速之类的?我知道的一件事是,当运行最大化的终端仿真器时,我在X服务器上的分辨率为1920x1080,而当我运行TTY时,分辨率会小于此分辨率,但是我不确定这将如何影响性能。
59 terminal  tty 

2
为什么共享库可执行?
为什么几乎所有共享库/usr/lib/都设置了可执行权限?我看不到有执行它们的用例。有些人确实设法连接了某种形式的main功能以打印简短的版权和版本说明,但许多人甚至没有这样做,并且在执行时出现段错误。 那么,设置这个有x什么意义呢?所有图书馆包装商都必须这样做吗?如果我dlopen()拥有共享库,将会怎样0644?



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.