Articles of bash

你将如何简化这个命令?

我是strace / netstat /等新手。我使用这个命令来获取处理我的请求(telnet)的apache进程的跟踪,有没有办法简化它呢? sudo strace -o /tmp/strace -f -s4096 -r -p $(netstat -antlp | \ grep $(lsof -p `pidof telnet` | grep TCP | \ perl -n -e'/localhost:(\d+)/ && print $1') | grep apache2 | \ perl -n -e'/ESTABLISHED (\d+)/ && print $1') 谢谢!

chsh:PAMauthentication失败

我想改变默认的shell env 并以root用户身份运行chsh -s /bin/zsh , 但出现错误消息: chsh: PAM authentication failed 。 我find这个线程http://ubuntuforums.org/showthread.php?t=1702833 但答案并没有解决我的问题 任何帮助将不胜感激 这是/etc/pam.d/chsh的内容 # # The PAM configuration file for the Shadow `chsh' service # # This will not allow a user to change their shell unless # their current one is listed in /etc/shells. This keeps # accounts with special shells […]

如何在bash中编辑时保存+closures文件?

OK – 我是linux新手 – 我试图通过edit <filename>命令在默认模式(我假设'六'? 问题是我的地狱我不能如何保存和编辑模式 – 这个作弊表似乎build议ESC应该做的伎俩,但它似乎并没有工作。 我通过ssh从一个mac连接到一个linux suse enterprise 11机器。 任何帮助感激!

使用terminal / ssh时不同的机器会有不同的颜色提示?

我有5台机器,我不断的ssh进行工作。 当我在错误的盒子上发出错误的命令时,它越来越令人沮丧。 幸运的是,我还没有做任何坏事。 我想知道是否有任何我可以硬编码的黑客,这将显示我的提示以不同的颜色基于我ssh到的机器? 如桌面蓝色1,笔记本紫色,服务器红色等? 这可能吗? 目前我正在使用这个命令export PS1 =“\ e [0; 31m [\ u @ \ h \ W] \ $ \ e [m”取自http://www.cyberciti.biz/faq/bash-shell -help -help-under-linux-or-unix /但是它显然不适用于ssh。 另外,如果你有任何其他的酷bash提示,帮助我缓解我的视线将是美好的。 我得到了这个颜色的手册页提示。 Customize man page colors with ‘less’ definitions

validationdisown命令

我发出^z; bg; disown ^z; bg; disown 为了让我closures一个ssh会话,我正在运行一个超重要的长时间运行的进程。 这个过程将状态输出写入stderr,并且即使在分离之后,它也继续这样做(用lsofvalidation,stderr fd打开r / w)。 有没有办法确定这个过程确实是不被接受的(如果shell调用一个,不会收到SIGHUP)?

什么是检查PID是否正在运行的正确方法?

我有一个.pid文件,我需要检查进程是否正在运行。 到目前为止我find了两个select kill -0 `cat something.pid` 如果pid没有运行,它会打印出一个错误。 我知道这可以redirect到/dev/null ,但是这让我觉得这不是最好的解决scheme。 第二个解决scheme是使用ps ,但是也可以在STDOUT上打印 ps -ef `cat something.pid` 将输出redirect到/dev/null并正确使用返回的状态代码是正常的,还是表明我做错了什么,我需要一个不同的命令?

在Linux中logging“个人”活动

所以我已经阅读了很多与此相关的post,而且比以前更加困惑。 有各种工具,包括ttyrec,史努比,acct,rootsh,sudosh,ttyrpld,unix审计和更多的build议。 在我的情况下,我希望能够logging系统上执行的所有命令(如启用了时间戳的历史logging),但是我也想知道谁做了什么? 但是,我们都通过sshlogin到用户帐户的相同小部分(取决于我们在做什么)。 我怎样才能得到一个命令日志,其中包括“谁”会给我的信息(关于连接),所以我可以把这个动作追溯到一个特定的人作为一个普通的“用户”?

Bash脚本来计算文件的数量

我有一个脚本,如果文件存在或不存在,我想显示不同的消息。 我有一个脚本,如: count=ls /import/*.zip | wc -l echo "Number of files: " $count if [ "$count" > "0" ]; then echo "Import $count files" else echo "**** No files found ****" fi 但是,如果没有文件存在,这是显示No such file or directory而不是0个文件。 /import/目录中有一个目录,所以我不能只执行一个ls命令,因为它总会返回一个大于0的值。 如何计算特定扩展名(.zip,.gz等)的文件数量,并在bash脚本中使用该值来显示文件数量,然后在if语句中使用它来显示不同的消息?

如何在bash脚本中添加SSH已知的主机?

我正在创build一个bash脚本来configuration一个新的服务器,我可以部署一个web应用程序。 我必须做的一件事就是将GitHub作为使用ssh [email protected]的已知主机。 我怎样才能在一个bash脚本中自动化这个过程,并以幂等的方式来实现呢?

有用的bash别名和生成最常用命令的列表

我发现这篇文章讨论一个快速的方法来sorting你的bash历史,并看看你使用哪个命令最多: cut -f1 -d" " .bash_history | sort | uniq -c | sort -nr | head -n 30 它真的会打开你的眼睛,你应该为哪些任务创build别名,以及应该完全清除哪些任务。 我很高兴看到推荐的命令行别名的ServerFault列表,节省您的时间在工作 。 你有什么? 在我们之间,我敢打赌,我们可以每天至less保存10分钟以内的每个阅读这篇文章的用户。 (减去第一天,他们浪费所有的时间阅读ServerFault,而不是当然做他们的工作!)