Articles of shell

有没有人发现一个(如bash)的Windowsterminal的Windows一样好OS X之一?

我主要使用Git vcs的Windows安装附带的'git-bash'。 我认为这与Cygwin一样。 它技术上工作正常,但用户界面糟透了: 必须右键单击标题栏并转到“属性”以更改窗口宽度 最恼人的是…用鼠标复制粘贴和突出显示同样麻烦 相比之下,OS X附带的terminal应用程序以沉着的方式pipe理这些应用程序,使其更加舒适。 你甚至可以拖放一个文件,并将它粘贴到你的光标的文件path! 我也试过了: http://sourceforge.net/projects/win-bash http://www.steve.org.uk/Software/bash/ http://www.hamiltonlabs.com/cshell.htm 这些都没有复制和粘贴的文字没有繁琐的右键单击。 我特别在Windows中寻找一个Unix口味的shell,所以我不必在我的家庭开发(Windows),在线服务器(Linux)或办公室(Mac)的开发者之间使用不同的shell。 是的,我已经谷歌search,还没有find一个…

如何在单用户模式下启动第二个shell?

这可能听起来像是一个矛盾,但是我最近需要使用单用户模式(又名维护模式)一段时间(几天!),同时尝试重build一个损坏的RAIDarrays。 在这样做的时候,我发现自己希望使用第二个shell来检查/编辑各种configuration文件中的设置,或者在主(而且是唯一的)控制台绑定执行一些恢复过程时查看系统日志。 在另一个tty上启动第二个shell的build议命令是什么? 显然,一种方法可能是在tty1中使用screen ,但是这并不像使用Alt-F1,Alt-F2等切换会话一样简单。

find命令的默认sorting顺序

linux find命令返回的条目的默认sorting顺序是什么? 例如,如果我发出 find . -type f -name '*mp3' 并且输出由多个子文件夹中的多个文件组成,目录的默认排列顺序是什么? 同时,列出单个目录中的文件的sorting顺序是什么? 有时会返回: ./B/01.mp3 ./A/01.mp3 ./A/04.mp3 ./A/02.mp3 看看目录B的内容是如何首先列出的,然后是目录A的内容。同时在目录A中,文件以有趣的顺序列出。

Bash提示低于输出 – 背景日志尾巴

我曾经为一家拥有自定义shell的公司工作,他们正在Linux上运行他们的产品之一,我期望复制这个shell的一个关键特性。 所有的工作都是通过后台进程完成的,日志的输出显示给所有连接的用户。 日志将在后台拖尾到你的shell,并且提示行将永远保持完美的底部。 例如 Log line 1 Log line 2 Log line 3 ![ROOT@PRODUCT51-LIVE]:~/ # 我试图用bash做这件事的方法是在用户.bashrc文件中启动一个分离的尾部,但是当命令的输出被发送到标准输出时,它会在bash提示下进入,比如 ![ROOT@PRODUCT51-LIVE]:~/ #Log line 1 Log line 2 Log line 3 而用户将不得不按下input或Ctrl C的干净的提示行。 我不知道如何使提示总是跳转到输出的底部,我想我使用错误的术语来find谷歌上的任何东西,因为我没有运气 – 有谁知道如何做到这一点与bash?

如何手动设置Powershell的OneGet存储库源代码到Chocolatey?

OneGet Powershell模块应该与默认的巧克力库一起提供。 这在这里find的文档中显示 。 但是,当我运行Get-PackageSource时,它返回PSGallery和MSPSGallery作为源。 我怎样才能手动设置软件包来源巧克力?我已经尝试运行: Register-PackageSource -Name chocolatey -ProviderName Chocolatey -Location http://chocolatey.org/api/v2/ 但是它返回一个警告说: 无法find包提供者'巧克力'

使用powershell添加绑定到IIS站点

我试图控制绑定在一个IIS应用程序使用PowerShell。 我想用脚本创build一个包含http和https绑定的站点。 这是我迄今为止: Param( [Parameter(Mandatory=$True,Position=1)] [string]$hostname, [Parameter(Mandatory=$True,Position=2)] [string]$installPath, [Parameter(Mandatory=$False,Position=3)] [string]$ip ) Import-Module WebAdministration $appPoolName = $hostname + 'Pool' $port = 80 $hostRecord = $hostname+'.example.com' $bindings = @{protocol="http";bindingInformation=$ip + ":"+ $port + ":" + $hostRecord} New-Item IIS:\AppPools\$appPoolName Set-ItemProperty IIS:\AppPools\$appPoolName managedRuntimeVersion v4.0 New-Item IIS:\Sites\$hostname -Bindings $bindings -PhysicalPath $installPath Set-ItemProperty IIS:\Sites\$hostname -Name applicationPool -Value $appPoolName 如何添加绑定到我的$bindingsvariables/使用其他机制来实现我的目标?

需要修复用户主目录中的文件权限

有没有人有一个工具或脚本,将recursion更正目录上的文件权限? 在Ubuntu Linux机器上,一堆文件被错误地复制到一个具有完整777权限(用户,组,其他 – 读,写,执行)的USB磁盘。 我想把它们放回用户的目录中。 目录应该是775,所有其他文件可以是664.所有的文件是图像,文件或MP3,所以他们都不需要是可执行的。 如果目录位被设置,那么它需要执行,否则它只需要用户和组,读写。 我认为这是值得检查,如果这样的实用工具之前一起hacking一个shell脚本:)

运行没有环境variables的shell脚本

据我所知,新运行的shell脚本inheritance它的环境variables。 有没有办法阻止呢? (没有variablesinheritance的运行shell)

何时使用单引号,在grep中双引号?

当试图在一个文件中search一个简单的模式“hello”时,所有以下forms的grep工作: grep hello file1 grep'hello'file1 grep“hello”file1 有没有一个特定的情况下,上述forms之一的工作,但其他人没有。 如果我用一个替代另一个,它有什么区别吗?

在分离的tmux会话中运行命令

这可能很简单,但我真的不知道你是如何做到的。 我已阅读手册页,并没有结果Googlesearch。 问题:如何在分离的tmux窗口中运行命令? 例如:我想让我的分离窗口'foo'运行'ls',但是我想从另一个terminal执行。 我已经尝试过这样的东西:'tmux -t foo ls'没有结果。