Unix & Linux

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

5
确定绑定到端口的进程
我知道使用命令: lsof -i TCP (或带有lsof的参数的某些变体),我可以确定哪个进程绑定到特定端口。如果我要启动要绑定到8080的东西,而其他人已经在使用该端口,但是我不知道是什么,这很有用。 有没有使用lsof的简便方法?我花时间在许多系统上工作,而lsof通常未安装。
90 networking  process  tcp  lsof 

18
使用shell检测init系统
这可能与检测操作系统有关,但是我特别需要系统上当前使用的初始化系统。 Fedora 15和Ubuntu现在使用systemd,Ubuntu曾经使用Upstart(长期使用默认时间是15.04),而其他人则使用System V的变体。 我有一个要编写为跨平台守护程序的应用程序。初始化脚本是基于可以在configure上传递的参数动态生成的。 我只想为他们正在使用的特定初始化系统生成脚本。这样,安装脚本可以在没有参数的情况下作为root合理运行,并且可以自动“安装”守护程序。 这是我想出的: 在/ bin中搜索systemd,upstart等 将/ proc / 1 / comm与systemd,upstart等进行比较 询问用户 最好的跨平台跨平台方法是什么? 相关的一种,我可以依赖bash来依赖大多数* nix还是依赖于发行版/ OS? 目标平台: 苹果系统 Linux(所有发行版) BSD(所有版本) Solaris,Minix和其他* nix

6
如何用bash加(减等)两个数字?
我可以阅读其中的数字和操作: echo "First number please" read num1 echo "Second number please" read num2 echo "Operation?" read op 但是后来我所有加法的尝试都失败了: case "$op" in "+") echo num1+num2;; "-") echo `num1-num2`;; esac 跑: First number please 1 Second mumber please 2 Operation? + 输出: num1+num2 ...要么... echo $num1+$num2;; # results in: 1+2 ...要么... echo …

3
打开`less`滚动到最后
有没有一种方法可以打开less并滚动到文件末尾?我一直在做less app.log,然后按G到底部。 我希望有类似less --end或的东西less -exec 'G'。
89 less 

4
管道命令以什么顺序运行?
我从来没有真正考虑过shell如何实际执行管道命令。一直有人告诉我,“一个程序的标准输出通过管道传递到另一个程序的标准输入中”,作为思考管道的一种方式。因此,我自然而然地认为A | B,A将首先运行,然后B获得A的标准输出,并使用A的标准输出作为其输入。 但是我注意到,当人们在ps中搜索特定进程时,他们会在命令末尾包含grep -v“ grep”,以确保grep不会出现在最终输出中。这意味着在命令ps aux | grep“ bash” | grep -v“ grep”,这意味着ps知道grep正在运行,因此在ps的输出中。但是,如果ps在其输出通过管道传递到grep之前完成运行,它怎么知道grep正在运行? flamingtoast@FTOAST-UBUNTU: ~$ ps | grep ".*" PID TTY TIME CMD 3773 pts/0 00:00:00 bash 3784 pts/0 00:00:00 ps 3785 pts/0 00:00:00 grep
89 pipe  ps 

7
如何限制ls打印的文件数量?
有没有办法限制ls命令中列出文件的数量? 我见过: ls | head -4 但是要获取head或tail要执行,我需要等待ls执行完成,并且目录中包含大量文件,这可能会花费大量时间。 我希望在ls不使用该head命令的情况下执行限制命令。
89 command-line  ls  limit 

3
为什么输入错误密码后会有很大的延迟?
我注意到关于密码的一件奇怪的事(根据我的说法)。例如,如果我在登录时输入了错误的密码,则系统会提示我几秒钟的延迟。当我尝试sudo使用错误的密码时,我还必须等待外壳说“抱歉,再试一次”。 我想知道为什么“识别”不正确的密码需要这么长时间?在我使用的多个发行版(甚至OSX)上都可以看到这一点,所以我认为这不是发行版特定的东西。

3
su vs sudo -s vs sudo -i vs sudo bash
以下命令之间有什么区别: su sudo -s sudo -i sudo bash 我知道,因为su我需要知道root密码,并且sudo必须在sudoers文件中,但是一旦执行,有什么区别? 我知道su和之间有区别,sudo -s因为我的主目录/root在执行之后su,但是我的主目录仍然/home/myname在执行之后sudo -s。但是我怀疑这只是我所缺少的根本差异的征兆。
89 sudo  su 



4
命令列出PostgreSQL用户帐户?
有createuser&dropuser命令: createuser - define a new PostgreSQL user account dropuser - remove a PostgreSQL user account 有列出用户帐户的相应方法吗? 这两个命令不需要用户调用psql也不了解使用它的细节。
88 users  postgresql 

1
Chrome:带有随机DNS名称的DNS请求:恶意软件?
多年来(自2005年以来),我在维护的多个DNS / BIND服务器上看到奇怪的随机DNS请求完成的日志。 May 7 12:13:50 1.1.1.1 named[63742]: client 1.1.1.2#24123 (verxkgiicjmcnxg): view internal: query: verxkgiicjmcnxg IN A + (1.1.1.1) May 7 12:13:50 1.1.1.1 named[63742]: client 1.1.1.2#29159 (epqoaqsayo): view internal: query: epqoaqsayo IN A + (1.1.1.1) May 7 12:13:50 1.1.1.1 named[63742]: client 1.1.1.2#27411 (qlllglwcjglu): view internal: query: qlllglwcjglu IN A + …
88 security  dns  chrome 

13
如何比较外壳中的两个日期?
如何在shell中比较两个日期? 这是一个我想如何使用它的示例,尽管它不能按原样工作: todate=2013-07-18 cond=2013-07-15 if [ $todate -ge $cond ]; then break fi 如何获得理想的结果?



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.