sha*_*ace 18 macos bash path binaries mongodb
我正在学习mongoDb.
我做了以下事情:我理解这一点.
mkdir -p mongodb
cp -R -n mongodb-osx-x86_64-2.6.7/ mongodb
Run Code Online (Sandbox Code Playgroud)
这些下一个**指令对我来说并不是很清楚.
**确保二进制文件的位置在PATH变量中.MongoDB二进制文件位于存档的bin /目录中.要确保二进制文件位于PATH中,您可以修改PATH.
例如,您可以将以下行添加到shell的rc文件中(例如〜/ .bashrc):
export PATH=<mongodb-install-directory>/bin:$PATH
Run Code Online (Sandbox Code Playgroud)
替换为提取的MongoDB存档的路径.
结束说明.
从我的Mac上的终端
$which bash
/bin/bash
Run Code Online (Sandbox Code Playgroud)
bin目录有一堆命令:bash,chmod,ln,pid,mkdir.
我找不到上面应该包含PATH代码的目录.
谢谢
Abhay的指示有效!抱歉,以下内容很长,但我认为这是必要的,因为您上次这么清楚,我希望您能看到我的文件结构.
如果电子邮件更容易让我知道,但这将比不帮助其他人更可能:)我真的想了解我的文件结构,所以如果你不介意进一步澄清.再次感谢您的专业知识.
1.但为什么所有二进制文件(可执行文件)都单独列在这个bin文件夹中?它们是应该在此文件夹中"存在"的"唯一"文件吗?也许当我安装bower grunt等时,我应该将这些(bower grunt等)安装到不同的位置.我试图保持我的文件结构合乎逻辑和干净.这就是我所拥有的.
MacBookPro:usr regina$ cd ..
MacBookPro:/ regina$ ls
Applications bin net
CoreSyncInstall.log cores private
Library data sbin
Network dev tmp
System etc usr
Users home var
Volumes mach_kernel
MacBookPro:/ regina$ cd usr/local/bin
MacBookPro:bin regina$ ls
bower grunt mongod mongorestore npm
browserify gulp mongodump mongos statsd
bsondump http-server mongoexport mongosniff yo
cake karma mongofiles mongostat
coffee lessc mongoimport mongotop
cordova mkdirp mongooplog node
express mongo mongoperf nodemon
MacBookPro:bin regina$
Run Code Online (Sandbox Code Playgroud)
另外,我想查看我的.bashrc文件.我一个都没有.我在osx 10.8.5上我想'查看'我的$ PATH变量.我相信几个月前我才发现它.我正在使用nano来打开一堆文件因为我很好奇.它被列为环境变量吗?
MacBookPro:/ regina$ ls
Applications bin net
CoreSyncInstall.log cores private
Library data sbin
Network dev tmp
System etc usr
Users home var
Volumes mach_kernel
MacBookPro:/ regina$ cd home
MacBookPro:home regina$ ls -la
total 2
dr-xr-xr-x 2 root wheel 1 Feb 3 08:29 .
drwxr-xr-x 33 root wheel 1190 Jan 25 17:21 ..
MacBookPro:home regina$
Run Code Online (Sandbox Code Playgroud)
我像这样启动mongo shell.我没有显示终端中的所有线路输出.
看看我的文件结构.我最初遵循了一个cp命令,但它没有解释'在哪里'复制存档(桌面)mongodb-osx-x84 ....文件夹,所以看看我把它复制到哪里.现在我将这些文件放在2个位置 - 是吗?我在更高级别的mongodb文件夹中有一个mongodb文件夹.为什么?我是如何管理这个的?这似乎不合逻辑.我缩进了4个空格,但下面不会格式化所以我只是添加了换行符.抱歉.
MacBookPro:家庭regina $ cd ..
MacBookPro:/ regina $ ls应用程序bin net CoreSyncInstall.log核心私有库数据sbin网络dev tmp系统等usr用户home var卷mach_kernel
MacBookPro:/ regina $ cd数据
MacBookPro:数据regina $ ls
db mongodb
MacBookPro:数据regina $ cd mongodb
MacBookPro:mongodb regina $ ls
mongodb MacBookPro:mongodb regina $ cd mongodb MacBookPro:mongodb regina $ ls GNU-AGPL-3.0 THIRD-PARTY-NOTICES README bin
MacBookPro:mongodb regina $ cd bin
MacBookPro:bin regina $ ls
bsondump mongodump mongoimport mongorestore mongostat mongo mongoexport mongooplog mongos mongotop mongod mongofiles mongoperf mongosniff
当我尝试在另一个论坛中输入"mongo"时会发生这种情况.
MacBookPro:bin regina $ mongo MongoDB shell版本:2.6.7连接到:test 2015-02-03T08:36:54.157-0500警告:无法连接到127.0.0.1:27017,原因:错误:61连接被拒绝
所以我键入了这个仍然失败的.
MacBookPro:bin regina$ ./mongo
MongoDB shell version: 2.6.7
connecting to: test
2015-02-03T08:37:03.599-0500 warning: Failed to connect to 127.0.0.1:27017, reason: errno:61 Connection refused
Run Code Online (Sandbox Code Playgroud)
然后我尝试了连接 - 打开端口27017 - 并正在收听.为什么我需要守护进程命令?
MacBookPro:bin regina$ ./mongod
./mongod --help for help and startup options
2015-02-03T08:37:08.712-0500 [initandlisten] MongoDB starting : pid=487 port=27017 dbpath=/data/db 64-bit host=macbookpro.home
more lines of code
2015-02-03T08:37:09.018-0500 [initandlisten] waiting for connections on port 27017
Run Code Online (Sandbox Code Playgroud)
Abh*_* PS 35
当您下载MongoDB for Mac时,您将获得一个存档文件.您需要做的第一件事是解压缩存档.为此,您只需双击存档即可.未压缩的文件夹将在文件夹中包含二进制bin文件,例如mongodb-osx-x86_64-2.6.7/bin.您接下来需要做的是确保可以访问这些二进制文件.所以,为此你可以做两件事中的任何一件 -
将二进制/usr/local/bin文件复制到文件夹.与/usr/local/binPATH中一样,因此您不必将其添加到PATH中.
这很简单.跑cp mongodb-osx-x86_64-2.6.7/bin/* /usr/local/bin/.而已.你们都完成了.
将二进制文件夹的路径添加到$PATH变量中.
打开.bashrc位于主文件夹中的文件,并将export PATH=$HOME/mongodb/bin:$PATH行放在最后.我假设mongodb在下载中未压缩.
如果使用第二种方法,请确保不会意外删除PATH中添加的mongodb文件夹.
完成此操作后,关闭终端,打开一个新的终端窗口并运行:
mongo --version
Run Code Online (Sandbox Code Playgroud)
如果你得到版本的mongodb信息,那么很好.
如果你仍然得到类似的东西command mongo not found,那么请确保你遵循上述说明.还要确保您没有使用任何其他shell,例如zsh.如果是,则必须export在相应的shell文件中添加该语句.对于zsh,文件名是.zshrc.
好的!因此,您已经用更多问题更新了最初的问题.所以这里逐点解释:
您在/usr/local/bin文件夹中看到的文件是二进制文件.用简单的语言,它们是可执行程序.这些可执行二进制文件存在于那里,但您可以从命令行中的任何位置运行它们.
该.bashrc文件位于用户的主目录中.在Mac上它是/Users/username.在你的情况下,应该是/Users/regina因为你的名字是里贾纳.
mongo是客户端应用程序.它用于与mongodb数据库交互.而且,mongod是存储数据的数据库守护程序.首先,您必须运行mongod,然后只有您可以使用客户端连接到它mongo并开始查询.
| 归档时间: |
|
| 查看次数: |
20219 次 |
| 最近记录: |