MAC地址 是 通常所说的啥?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MAC地址 是 通常所说的啥?相关的知识,希望对你有一定的参考价值。
MAC地址(英语:Media Access Control Address),直译为媒体存取控制位址,也称为局域网地址(LAN Address),MAC位址,以太网地址(Ethernet Address)或物理地址(Physical Address),它是一个用来确认网络设备位置的位址。在OSI模型中,第三层网络层负责IP地址,第二层数据链路层则负责MAC位址 。MAC地址用于在网络中唯一标示一个网卡,一台设备若有一或多个网卡,则每个网卡都需要并会有一个唯一的MAC地址 参考技术A MAC(Media Access Control, 介质访问控制)MAC地址是烧录在Network Interface Card(网卡,NIC)里的.MAC地址,也叫硬件地址,是由48比特长(6字节),16进制的数字组成.0-23位是由厂家自己分配.24-47位,叫做组织唯一标志符(organizationally unique ,是识别LAN(局域网)节点的标识。其中第40位是组播地址标志位。网卡的物理地址通常是由网卡生产厂家烧入网卡的EPROM(一种闪存芯片,通常可以通过程序擦写),它存储的是传输数据时真正赖以标识发出数据的电脑和接收数据的主机的地址。也就是说,在网络底层的物理传输过程中,是通过物理地址来识别主机的,它一般也是全球唯一的。比如,著名的以太网卡,其物理地址是48bit(比特位)的整数,如:44-45-53-54-00-00,以机器可读的方式存入主机接口中。以太网地址管理机构(除了管这个外还管别的)(IEEE)(IEEEE:电气和电子工程师协会)将以太网地址,也就是48比特的不同组合,分为若干独立的连续地址组,生产以太网网卡的厂家就购买其中一组,具体生产时,逐个将唯一地址赋予以太网卡。
形象的说,MAC地址就如同我们身份证上的身份证号码,具有全球唯一性。 参考技术B 通常又叫物理地址(physical address)是硬件的地址,网卡的MAC地址都是唯一的本回答被提问者采纳 参考技术C 网卡的硬件地址,每个网卡的MAC地址都是唯一的! 参考技术D 常所说的物理(硬件)地址
我的 npm 模块应该安装在 Mac OS X 的啥位置?
【中文标题】我的 npm 模块应该安装在 Mac OS X 的啥位置?【英文标题】:Where should my npm modules be installed on Mac OS X?我的 npm 模块应该安装在 Mac OS X 的什么位置? 【发布时间】:2014-09-22 15:12:12 【问题描述】:当我开始遇到麻烦时,我正试图通过npm
升级phonegap
。长话短说,我的电脑上有两个node_modules
目录。
/usr/local/lib/node_modules
/usr/local/share/npm/lib/node_modules
当我运行npm upgrade -g phonegap
时,npm
似乎更新了驻留在/usr/local/lib/node_modules
中的包的副本。但是,如果我 which phonegap
我发现符号链接指向 /usr/local/share/npm/lib/node_modules
的旧安装。
另外,当我尝试安装诸如express
之类的独立包时,文件安装在/usr/local/lib/node_modules
目录中,但在我的$PATH
中的任何位置都没有创建指向可执行文件的符号链接。
两个问题:
Mac OS X 上节点模块的正确目录是什么?npm
以在我的$PATH
安装软件时链接可执行文件?加分项:node
的安装方法会影响配置吗?有一个lot of options。
编辑:我发现在我的/usr/local/bin
中创建了符号链接,但我的.bash_profile
在我的$PATH
中设置为/usr/local/share/npm/bin
在/usr/local/bin
之前。我隐约记得在某个时候将该路径添加到我的个人资料中,但我不确定为什么。
所以现在的问题变成了:我是如何在我的计算机上得到两个不同的node_modules
目录的?为什么我要将我的node_modules
放在share/npm/lib
子目录中而不是在/usr/local/lib
中?
【问题讨论】:
使用npm root -g
查找全局包根路径
【参考方案1】:
/usr/local/lib/node_modules
是全局安装节点模块的正确目录。
/usr/local/share/npm/lib/node_modules
对我来说毫无意义。这里的一个问题是您感到困惑,因为有两个名为 node_modules 的目录:
/usr/local/lib/node_modules
/usr/local/lib/node_modules/npm/node_modules
后者似乎是 Node 附带的节点模块,例如 lodash
,而前者是我使用 npm
安装的 Node 模块。
【讨论】:
这两个节点有什么区别?对于 OS X 用户,建议在安装时使用来自节点的那个。迁移到正确安装 npm 会更好吗? 从 macports 安装 npm2,你的路径在这些位置不存在,在 /opt/local/share 中也不存在..【参考方案2】:第二个Thomas David Kehoe,有以下警告--
如果您使用的是节点版本管理器 (nvm),您的全局节点模块将存储在您保存模块时使用的任何节点版本下。
所以~/.nvm/versions/node/version/lib/node_modules/
。
【讨论】:
正是我想要的。【参考方案3】:npm root -g
检查 npm_modules 全局位置
【讨论】:
找到node_modules的全局路径的最好最简单的方法。【参考方案4】:如果你想知道你的 NPM 包的位置,你应该:
which npm // locate a program file in the user's path SEE man which
// OUTPUT SAMPLE
/usr/local/bin/npm
la /usr/local/bin/npm // la: aliased to ls -lAh SEE which la THEN man ls
lrwxr-xr-x 1 t04435 admin 46B 18 Sep 10:37 /usr/local/bin/npm -> /usr/local/lib/node_modules/npm/bin/npm-cli.js
因此,鉴于 npm 本身是一个 NODE 包,它与其他包安装在同一位置(EUREKA)。所以要确认你应该 cd 进入 node_modules 并列出目录。
cd /usr/local/lib/node_modules/
ls
#SAMPLE OUTPUT
@angular npm .... all global npm packages installed
或
npm root -g
根据@anthonygore 的评论
【讨论】:
更简单:npm root -g 对我来说,npm root -g
和 which npm
没有给出相同的结果。我想卸载expo-cli
,我成功地从/usr/local/bin/npm
中删除了expo
和expo-cli
目录。谢谢@T04435!【参考方案5】:
查找当前活动npm
安装的当前路径:
npm root -g
或尝试以下流行的默认设置之一:
Linux:
/usr/local/lib/node_modules
MacOS(通过 brew 安装):
/opt/homebrew/lib/node_modules
使用 nvm 安装的 Linux(可能还有 macos):
~/.nvm/versions/node/version/lib/node_modules/
Windows(奖励?)
C:\Program Files\nodejs\node_modules\
【讨论】:
【参考方案6】:使用这个命令:
npm -t
-> 找到你的全局 npm 包的路径。
如果您使用的是 nvm(节点版本管理器包)。那么你的路径可能
看起来像这样/Users/yourName/.nvm/versions/node/v14.15.3/lib/node_modules/npm
【讨论】:
以上是关于MAC地址 是 通常所说的啥?的主要内容,如果未能解决你的问题,请参考以下文章