brew常用命令 1、brew的安装 https://brew.sh/
2、常用命令 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 //查看brew的版本 brew -v //更新homebrew自己,把所有的Formula目录更新,并且会对本机已经安装并有更新的软件用*标明 brew update //查看命令帮助: brew -help //查看那些已安装的程序需要更新 brew outdated //更新单个软件: brew upgrade [包名] 例:brew upgrade git //更新所有软件: brew upgrade //安装软件 brew install [包名]@版本 例:brew install git //卸载 brew uninstall [包名] 例:brew uninstall git //清理所有包的旧版本 (安装包缓存) brew cleanup 例:brew cleanup -n //显示要删除的内容,但不要实际删除任何内容 例:brew cleanup -s //清理缓存,包括下载即使是最新的版本 例:brew cleanup --prune=1 //删除所有早于指定时间的缓存文件(天) //清理单个软件旧版本 brew cleanup [包名] 例:brew cleanup git //查看需要更新的包 brew outdated //查看可清理的旧版本包,不执行实际操作 brew cleanup -n //锁定某个包 brew pin $FORMULA //取消锁定 brew unpin $FORMULA //查看包信息 brew info [包名] 例:brew info git //查看安装列表 brew list //查询可用包 brew search [包名] 例:brew search git //显示包依赖 brew deps [包名] 例: brew deps git
3.注意事项 在Mac OS X 10.11系统以后,/usr/local/等系统目录下的文件读写是需要系统root权限的,以往的Homebrew安装如果没有指定安装路径,会默认安装在这些需要系统root用户读写权限的目录下,导致有些指令需要添加sudo前缀来执行,比如升级Homebrew需要:
如果你不想每次都使用sudo指令,你有两种方法可以选择:
1 2 3 //1.对/usr/local 目录下的文件读写进行root用户授权 $ sudo chown -R $USER /usr/local // 例:$ sudo chown -R lean /usr/local
1 2 //2.(推荐)安装Homebrew时对安装路径进行指定,直接安装在不需要系统root用户授权就可以自由读写的目录下 <install path> -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install) "
nvm 常用命令 什么是nvm? Node.js 默认一台电脑只能装一个版本,有时为了开发项目经常会使用不同版本的Node.js 版本,通常情况版本切换就比较麻烦了。 为了解决这个问题,nvm (node version manager)应运而生。有了 nvm,便可以在一台电脑上安装多个 Node.js 版本,并且可以一条指令随时下载或切换版本,而不需要频繁地下载/卸载不同版本的 node.js 来满足当前项目的要求。
安装nvm github下载地址: https://github.com/coreybutler/nvm-windows/releases
nvm-noinstall.zip: 绿色免安装版本,但是使用之前需要配置
nvm-setup.zip: 安装版,下载之后点击安装,无需配置就可以使用
常见命令 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 nvm install stable nvm install <version> nvm uninstall <version> nvm use <version> nvm alias default [] nvm ls nvm ls-remote nvm current nvm alias <name> <version> nvm unalias <name> nvm reinstall-packages <version> nvm -v //查看nvm版本 nvm --version :显示 nvm 版本 nvm list //显示版本列表 nvm list :显示已安装的版本(同 nvm list installed nvm list installed:显示已安装的版本 nvm list available:显示所有可以下载的版本 nvm install //安装指定版本node.js nvm install 14.5.0:安装 14.5.0 版本的 node.js nvm install latest:安装最新版本 nvm use //使用指定版本node nvm use 14.5.0: 切换到 14.5.0 版本的 node.js --lts // 自动切换到长期支持版本 --lts=<LTS name> // 自动切换到指定名称的node长期支持版本 nvm alias default [] 设置默认版本 nvm uninstall <version> //卸载指定版本 node nvm uninstall 14.5.0:卸载到 14.5.0 版本的 node.js nvm uninstall --lts // 卸载长期支持版本的node nvm uninstall --lts=<LTS name> // 卸载一个指定名称的长期支持版本的node nvm --help //显示命令行帮助信息 [ ps:在运行nvm install 的时候,有可能会出现无权限安装的问题,请 以管理员身份 运行 cmd ] // 其他命令 nvm deactivate // 取消当前nvm命令行效果 nvm 查看node版本 nvm current // 查看当前使用的node版本 nvm ls // 查看所有本地可用的node版本 nvm ls <version> // 参看指定版本 nvm ls-remote // 查看所有可用远程版本 --lts // 查看所有长期支持版本 nvm ls-remote <version> // 参看所有node的指定远程版本 --lts // 查看所有node长期支持版本 --lts=<LTS name> // 仅查看指定名称的长期支持版本 // nvm 版本别名 nvm alias [<pattern>] // 显示所有以<pattern>开头的版本别名 nvm alias <name> <version> // 给版本<version>设置一个别名 nvm unalias <name> // 删除<name>的版本别名 // nvm和npm nvm install-latest-npm // 在当前node版本中,将npm升级到最新版 nvm reinstall-packages <version> // 在全局重新安装npm,从<version>版本到当前版本 // npm which 显示安装路径 npm which [current | <version>] //显示已安装node的安装路径。 // nvm缓存 nvm cache dir // 显示nvm的缓存目录 nvm cache clear // 清楚nvm的缓存目录 // nvm运行node nvm exec [--silent] [version] [<command >] // 在<version>运行命令<command > nvm exec 4.8.3 node app.js //Run `node app.js` with the PATH pointing to node 4.8.3 nvm run [--silent] [version] [<args>] // 在<version>以参数<args>运行node -- nvm run 6.10.3 app.js //Run app.js using node 6.10.3
设置镜像 nvm node_mirror [url] :设置node镜像。默认是https://nodejs.org/dist/。如果不写url,则使用默认url。设置后可至安装目录settings.txt文件查看,也可直接在该文件操作。 nvm npm_mirror [url] :设置npm镜像。https://github.com/npm/cli/archive/。如果不写url,则使用默认url。设置后可至安装目录settings.txt文件查看,也可直接在该文件操作。
注意: nvm ls-remote N/A问题 1 2 nvm在获取远端仓库的时候,就获取不到版本信息 命令行输入: export NVM_NODEJS_ORG_MIRROR =http :
版本管理 nvm on :开启node.js版本管理。 nvm off :关闭node.js版本管理。
nrm 切换 npm 镜像源 安装
查看列表
添加 中国镜像站源
1 2 nrm add npmmirror registry https://registry.npmmirror.com 1
切换 中国镜像站源
删除 中国镜像站源
Git常用命令 常用的git命令 git clone 克隆代码 git log 查看日志 git tag 查看标签 git branch 查看分支 git branch -a 查看远程分支 git pull 拉取
引入库 在当前目录新建一个Git代码库
新建一个目录,将其初始化为Git代码库 1 2 git init [project-name]
下载一个项目和它的整个代码历史
配置 显示当前的Git配置
编辑Git配置文件 1 git config -e [--global]
设置提交代码时的用户信息 1 2 git config [--global] user.name "[name]" git config [--global] user.email "[email address]"
增加/删除文件 添加指定文件到暂存区 1 git add [file1] [file2] ...
添加指定目录到暂存区,包括子目录
加当前目录的所有文件到暂存区
删除工作区文件,并且将这次删除放入暂存区 1 git rm [file1] [file2] ...
停止追踪指定文件,但该文件会保留在工作区
改名文件,并且将这个改名放入暂存区 1 git mv [file-original] [file-renamed]
代码提交 提交暂存区到仓库区
提交暂存区的指定文件到仓库区 1 git commit [file1] [file2] ... -m [message]
提交工作区自上次commit之后的变化,直接到仓库区
提交时显示所有diff信息
使用一次新的commit,替代上一次提交,如果代码没有任何新变化,则用来改写上一次commit的提交信息 1 git commit --amend -m [message]
重做上一次commit,并包括指定文件的新变化
分支 列出所有本地分支
列出所有远程分支
列出所有本地分支和远程分支
新建一个分支,但依然停留在当前分支 1 git branch [branch-name]
新建一个分支,并切换到该分支 1 git checkout -b [branch]
新建一个分支,指向指定commit 1 git branch [branch] [commit]
新建一个分支,与指定的远程分支建立追踪关系 1 git branch --track [branch] [remote-branch]
切换到指定分支,并更新工作区 1 git checkout [branch-name]
建立追踪关系,在现有分支与指定的远程分支之间 1 git branch --set-upstream [branch] [remote-branch]
合并指定分支到当前分支
选择一个commit,合并进当前分支 1 git cherry-pick [commit]
删除分支 1 git branch -d [branch-name]
删除远程分支 1 2 git push origin --delete git branch -dr
标签 列出所有tag
新建一个tag在当前commit
新建一个tag在指定commit
查看tag信息
提交指定tag
提交所有tag 1 git push [remote] --tags
新建一个分支,指向某个tag 1 git checkout -b [branch] [tag]
查看所有信息 显示有变更的文件
显示当前分支的版本历史
显示commit历史,以及每次commit发生变更的文件
显示某个文件的版本历史,包括文件改名 1 2 git log --follow [file] git whatchanged [file]
显示指定文件相关的每一次diff
显示指定文件是什么人在什么时间修改过
显示暂存区和工作区的差异
显示暂存区和上一个commit的差异
显示工作区与当前分支最新commit之间的差异
显示两次提交之间的差异 1 git diff [first-branch]...[second-branch]
显示某次提交的元数据和内容变化
显示某次提交发生变化的文件 1 git show --name-only [commit]
显示某次提交时,某个文件的内容 1 git show [commit]:[filename]
显示当前分支的最近几次提交
远程同步 下载远程仓库的所有变动
显示所有远程仓库
显示某个远程仓库的信息 1 git remote show [sremote]
增加一个新的远程仓库,并命名 1 git remote add [shortname] [url]
取回远程仓库的变化,并与本地分支合并 1 git pull [remote] [branch]
上传本地指定分支到远程仓库 1 git push [remote] [branch]
强行推送当前分支到远程仓库,即使有冲突 1 git push [remote] --force
推送所有分支到远程仓库
恢复暂存区的指定文件到工作区
恢复某个commit的指定文件到工作区 1 git checkout [commit] [file]
恢复上一个commit的所有文件到工作区
重置暂存区的指定文件,与上一次commit保持一致,但工作区不变
重置暂存区与工作区,与上一次commit保持一致
重置当前分支的指针为指定commit,同时重置暂存区,但工作区不变
重置当前分支的HEAD为指定commit,同时重置暂存区和工作区,与指定commit一致 1 git reset --hard [commit]
重置当前HEAD为指定commit,但保持暂存区和工作区不变 1 git reset --keep [commit]
新建一个commit,用来撤销指定commit,后者的所有变化都将被前者抵消,并且应用到当前分支
其他 生成一个可供发布的压缩包
备份当前工作区的内容
从Git栈中读取最近一次保存的内容,恢复工作区的相关内容
显示Git栈内的所有备份
清空Git栈
Hexo常用命令 Hexo官网
新建一个网站 init
新建一个网站。如果没有设置 folder ,Hexo 默认在目前的文件夹建立网站。
本命令相当于执行了以下几步:
Git clone hexo-starter 和 hexo-theme-landscape 主题到当前目录或指定目录。
使用 Yarn 1 、pnpm 或 npm 包管理器下载依赖(如有已安装多个,则列在前面的优先)。npm 默认随 Node.js 安装。
新建一篇文章 new 1 $ hexo new [layout] <title>
新建一篇文章。如果没有设置 layout 的话,默认使用 _config.yml 中的 default_layout 参数代替。如果标题包含空格的话,请使用引号括起来。
1 $ hexo new "post title with whitespace"
参数
描述
-p, --path
自定义新文章的路径
-r, --replace
如果存在同名文章,将其替换
-s, --slug
文章的 Slug,作为新文章的文件名和发布后的 URL
默认情况下,Hexo 会使用文章的标题来决定文章文件的路径。对于独立页面来说,Hexo 会创建一个以标题为名字的目录,并在目录中放置一个 index.md 文件。你可以使用 --path 参数来覆盖上述行为、自行决定文件的目录:
1 hexo new page --path about/me "About me"
以上命令会创建一个 source/about/me.md 文件,同时 Front Matter 中的 title 为 "About me"
注意!title 是必须指定的!如果你这么做并不能达到你的目的:
1 hexo new page --path about/me
此时 Hexo 会创建 source/_posts/about/me.md,同时 me.md 的 Front Matter 中的 title 为 "page"。这是因为在上述命令中,hexo-cli 将 page 视为指定文章的标题、并采用默认的 layout。
生成静态文件 generate
生成静态文件。
选项
描述
-d, --deploy
文件生成后立即部署网站
-w, --watch
监视文件变动
-b, --bail
生成过程中如果发生任何未处理的异常则抛出异常
-f, --force
强制重新生成文件 Hexo 引入了差分机制,如果 public 目录存在,那么 hexo g 只会重新生成改动的文件。 使用该参数的效果接近 hexo clean && hexo generate
-c, --concurrency
最大同时生成文件的数量,默认无限制
该命令可以简写为
发表草稿 publish 1 $ hexo publish [layout] <filename>
发表草稿。
启动服务器 server
启动服务器。默认情况下,访问网址为: http://localhost:4000/。
选项
描述
-p, --port
重设端口
-s, --static
只使用静态文件
-l, --log
启动日记记录,使用覆盖记录格式
部署网站 deploy
部署网站。
参数
描述
-g, --generate
部署之前预先生成静态文件
该命令可以简写为:
渲染文件 render 1 $ hexo render <file1> [file2] ...
渲染文件。
参数
描述
-o, --output
设置输出路径
从其他博客系统 迁移内容 migrate
从其他博客系统 迁移内容 。
清除缓存文件 clean
清除缓存文件 (db.json) 和已生成的静态文件 (public)。
在某些情况(尤其是更换主题后),如果发现您对站点的更改无论如何也不生效,您可能需要运行该命令。
列出网站数据 list
列出网站数据。
显示 Hexo 版本 version
显示 Hexo 版本。
列出网站的配置 config 1 $ hexo config [key] [value]
列出网站的配置(_config.yml)。如果指定了 key,则只展示配置中对应 key 的值;如果同时指定了 key 和 value,则将配置中对应的 key 的值修改为 value。
选项 安全模式
在安全模式下,不会加载插件和脚本。当您在安装新插件遭遇问题时,可以尝试以安全模式重新执行。
调试模式
在终端中显示调试信息并记录到 debug.log。当您碰到问题时,可以尝试用调试模式重新执行一次,并 提交调试信息到 GitHub 。
简洁模式
隐藏终端信息。
自定义配置文件的路径 1 2 3 4 5 # 使用 custom.yml 代替默认的 _config.yml $ hexo server --config custom.yml # 使用 custom.yml 和 custom2.json,其中 custom2.json 优先级更高 $ hexo generate --config custom.yml,custom2.json,custom3.yml
自定义配置文件的路径,指定这个参数后将不再使用默认的 _config.yml。 你可以使用一个 YAML 或 JSON 文件的路径,也可以使用逗号分隔(无空格)的多个 YAML 或 JSON 文件的路径。例如:
1 2 3 4 5 # 使用 custom.yml 代替默认的 _config.yml $ hexo server --config custom.yml # 使用 custom.yml, custom2.json 和 custom3.yml,其中 custom3.yml 优先级最高,其次是 custom2.json $ hexo generate --config custom.yml,custom2.json,custom3.yml
当你指定了多个配置文件以后,Hexo 会按顺序将这部分配置文件合并成一个 _multiconfig.yml。如果遇到重复的配置,排在后面的文件的配置会覆盖排在前面的文件的配置。这个原则适用于任意数量、任意深度的 YAML 和 JSON 文件。
显示草稿
显示 source/_drafts 文件夹中的草稿文章。
自定义 CWD 1 $ hexo --cwd /path/to/cwd
自定义当前工作目录(Current working directory)的路径。
Linux常用命令大全 1.Linux管理文件和目录的命令 命令 功能 命令 功能 Pwd 显示当前目录 ls 查看目录下的内容 Cd 改变所在目录 cat 显示文件的内容 Grep 在文件中查找某字符 cp 复制文件 Touch 创建文件 mv 移动文件 Rm 删除文件 rmdir 删除目录 Vi 编辑文件
1.1 pwd命令 该命令的英文解释为print working directory(打印工作目录)。输入pwd命令,Linux会输出当前目录。
1.2 cd命令 用来改变所在目录。 cd / 转到根目录中 cd ~ 转到/home/user用户目录下 cd /usr 转到根目录下的usr目录中——————-绝对路径 cd test 转到当前目录下的test子目录中———-相对路径
1.3 ls命令 用来查看目录的内容。 选项 含义 -a 列举目录中的全部文件,包括隐藏文件 -l 列举目录中的细节,包括权限、所有者、组群、大小、创建日期、文件是否是链接等 -f 列举的文件显示文件类型 -r 逆向,从后向前地列举目录中内容 -R 递归,该选项递归地列举当前目录下所有子目录内的内容 -s 大小,按文件大小排序 -h 以人类可读的方式显示文件的大小,如用K、M、G作单位
ls -l examples.doc 列举文件examples.doc的所有信息
1.4 cat命令 cat命令可以用来合并文件,也可以用来在屏幕上显示整个文件的内容。 cat snow.txt 该命令显示文件snow.txt的内容,ctrl+D退出cat。
1.5 grep命令
最大功能是在一堆文件中查找一个特定的字符串。
grep money test.txt 以上命令在test.txt中查找money这个字符串,grep查找是区分大小写的。
1.6 touch命令 touch命令用来创建新文件,他可以创建一个空白的文件,可以在其中添加文本和数据。 touch newfile 该命令创建一个名为newfile的空白文件。
1.7 cp命令
用来拷贝文件,要复制文件,输入命令:
cp cp t.txt Document/t 该命令将把文件t.txt复制到Document目录下,并命名为t。 选项 含义 -I 互动:如果文件将覆盖目标中的文件,他会提示确认 -r 递归:这个选项会复制整个目录树、子目录以及其他 -v 详细:显示文件的复制进度
1.8 mv命令
用来移动文件。
选项 说明 -I 互动:如果选择的文件会覆盖目标中的文件,他会提示确认 -f 强制:它会超越互动模式,不提示地移动文件,属于很危险的选项 -v 详细:显示文件的移动进度 mv t.txt Document 把文件t.txt 移动到目录Document中。
1.9 rm命令
用来删除文件。
选项 说明 -I 互动:提示确认删除 -f 强制:代替互动模式,不提示确认删除 -v 详细:显示文件的删除进度 -r 递归:将删除某个目录以及其中所有的文件和子目录 rm t.txt 该命令删除文件t.txt
1.10 rmdir命令
用来删除目录。
1.11 vi
vi是UNIX操作系统和类UNIX操作系统中最通用的全屏幕纯文本编辑器。Linux中的vi编辑器叫vim,它是vi的增强版(vi Improved),与vi编辑器完全兼容,而且实现了很多增强功能。进入vi的命令
vi filename :打开或新建文件,并将光标置于第一行首 vi n filename :打开文件,并将光标置于第n行首 vi filename :打开文件,并将光标置于一行首 vi /pattern filename:打开文件,并将光标置于第一个与pattern匹配的串处 vi -r filename :在上次正用vi编辑时发生系统崩溃,恢复filename vi filename….filename :打开多个文件,依次进行编辑
屏幕翻滚类命令 Ctrl u:向文件首翻半屏 Ctrl d:向文件尾翻半屏 Ctrl f:向文件尾翻一屏 Ctrl+b;向文件首翻一屏 nz:将第n行滚至屏幕顶部,不指定n时将当前行滚至屏幕顶部. 插入文本类命令 i :在光标前 I :在当前行首 a:光标后 A:在当前行尾 o:在当前行之下新开一行 O:在当前行之上新开一行 r:替换当前字符 R:替换当前字符及其后的字符,直至按ESC键 s:从当前光标位置处开始,以输入的文本替代指定数目的字符
保存命令 按ESC键 跳到命令模式,然后: :w 保存文件但不退出vi :w file 将修改另外保存到file中,不退出vi :w! 强制保存,不推出vi :wq 保存文件并退出vi :wq! 强制保存文件,并退出vi :q 不保存文件,退出vi :q! 不保存文件,强制退出vi :e! 放弃所有修改,从上次保存文件开始再编辑 之后,回车,ok!
2.有关磁盘空间的命令 命令 功能 mount 挂载文件系统 umount 卸载已挂载上的文件系统 df 检查各个硬盘分区和已挂上来的文件系统的磁盘空间 du 显示文件目录和大小 fsck 主要是检查和修复Linux文件系统
2.1 mount命令
是挂载文件系统,可以挂载硬盘、光盘、软盘,也可以挂载NFS网络文件系统。这个命令的标准用法如下:
mount –t 设备类型存放目录 mount IP地址:/所提供的目录存放目录 不加任何参数,直接输入命令可以显示已挂载的文件系统和目录 -a 挂上/etc/fstab下的全部文件系统 -t 制定所挂上来的文件系统的名称,所有系统支持的文件系统,这个信息可以在/proc/filesystems这个文件里看到 -n 挂上文件系统,但是不把文件系统的数据写入/etc/mtlab这个文件 -w 将文件系统设为可读写 -r 挂上来的文件系统设为只读 在目录/mnt下,挂上iso9660文件系统。输入命令: mount –t iso9660 /dev/hdb /cdrom
2.2 umount命令 umount命令的功能是卸载已挂上的文件系统,在关闭系统前应该把所有挂载上的文件系统卸载。这个命令和mount命令是相对的。用法: umount 已挂上的目录或设备 卸载已挂上的/cdrom目录,输入命令:umount /cdrom 卸载已挂上的某个分区,输入命令:umount /dev/hdb1
2.3 df命令
用来检查硬盘分区和已挂在的文件系统的磁盘空间,也就是说,检查硬盘的使用量。标准用法如下:
选项 功能 -a 把全部的文件系统和各分区的硬盘使用情形列出来,包括0区块的,例如/proc这个文件系统 -I 列出I-nodes的使用量 -k 把各分区的大小和挂上来的文件分区的大小用k表示 -t 列出某一文件系统的所有分区磁盘空间使用量 -x 列出不是某一文件系统的所有分区磁盘空间使用量,和-t选项相反 -T 列出每个分区所属文件系统的名称 例如,要列出全部文件系统和各分区的磁盘使用情况,输入命令:df –a
2.4 du命令
是用于显示文件目录或大小。标准用法:
选项 含义 -a 显示全部目录及其次目录下的每个文件所占的磁盘空间 -b 显示目录和文件的大小,以B为单位 -c 最后再加上一个总计 -h 以KB、MB、GB为单位,提高信息可读性 -s 只列出各文件大小的总和 -x 只计算属于同一文件系统的文件
2.5 fsck命令 fsck命令的功能是检查和修复Linux文件系统,这个命令最好在没有人或是没有分区挂上来时使用,其实每次开机系统都会做一次检查,看是否有坏轨或数据流失的现象。用法: fsck (-选项) 分区名称 选项 功能 -a 自动修复文件系统,不询问任何问题,比较危险 -A 依照/etc/fstab配置文件的内容,检查该文件内所列全部文件系统。若没有附加参数”-P”,则会先检查/目录的文件系统,而不会同时检查所有文件系统 -R 采取互动方式,在修复时询问问题,让用户确认并决定处理方式 -S 依次检查作业而不是同时执行。当依次指定多个文件系统且采用互动的方式进行检查时,请使用此参数以便顺序执行,否则fsck可能会同时询问数个问题,让人不知所措 -V 显示命令执行的过程 -T 指定要检查的文件系统的类型 -N 不是真正执行指令,仅列出实际执行时会进行的动作
3.文件备份和压缩命令 在Linux中,常用的文件压缩工具有gzip、bzip2、zip。bzip2是最理想的压缩工具,它提供了最大限度的压缩。zip兼容性好,Windows也支持。 命令 功能 bzip2/bunzip2 扩展名为bz2的压缩/解压缩工具 gzip/gunzip 扩展名为gz的压缩/解压缩工具 zip/unzip 扩展名为zip的压缩/解压缩工具 tar 创建备份和归档
3.1 bzip2命令 要使用bzip2来压缩文件,在shell提示下输入命令: bzip2 filename 文件即会被压缩,并被保存为filename.bz2。 要解压缩文件,输入命令: bunzip2 filename.bz2 filename.bz2会被删除,而以filename代替。 bzip2 filename.bz2 file1 file2 file3/usr/work/school 上面的命令把file1、file2、file3以及/usr/work/school目录中的内容压缩起来放入filename.bz2。
3.2 gzip命令 要使用gzip来压缩文件,输入命令: gzip filename 文件即会被压缩,并被保存为filename.gz。 要解压缩文件,输入命令: gunzip filename.gz filename.gz会被删除,而以filename代替。 gzip -r filename.gz file1 file2 file3/usr/work/school 上面的命令把file1、file2、file3以及/usr/work/school目录中的内容压缩起来放入filename.gz。
3.3 zip命令
使用方法同gzip。
3.4 tar命令
最早是用来做磁带备份的,但是由于硬盘容量越来越大,因此现在主要用这个命令来备份所有的文件。tar这个命令把大量的文件和目录打包成一个文件。
选项 功能 -c 创建一个新归档 -f 当与-c选项一起使用时,创建的tar文件使用该选项指定的文件名;当与-x选项一起使用时,则解除该选项指定的归档 -t 显示包括在tar文件中的文件列表 -v 显示文件的归档进度 -x 从归档中抽取文件 -z 使用gzip压缩tar文件 -j 使用bzip2压缩tar文件 要创建一个tar文件,输入命令: tar –cvf filename.tar directory/file/home/mine 上面的命令将directory/file、/home/mine放入归档文件中。 要列出tar文件的内容,输入命令: tar –tvf filename.tar 要抽取tar文件的命令,输入命令: tar –xvf filename.tar 这个命令不会删除tar文件,但会把解除归档的内容复制到当前工作目录下,并保留归档文件所使用的任何目录结构。 请记住,tar默认不压缩文件。要创建一个使用tar和bzip2来归档压缩的文件,使用-j选项: tar –cjvf filename.tbz file 如果使用bunzip2命令解压filename.tbz文件,则filename.tbz会被删除,以filename.tar代替。 要扩展并解除归档bzip tar文件,输入命令:tar –xjvf filename.tbz 要创建一个用tar和gzip归档并压缩的文件,使用-z选项:tar –czvf filename.tgz file 如果使用gunzip命令解压filename.tgz文件,则filename.tgz会被删除,以filename.tar代替。
4.有关关机和查看系统信息的命令 命令 说明 shutdown 正常关机 reboot 重启计算机 ps 查看目前程序执行的情况 top 查看目前程序执行的情景和内存使用的情况 kill 终止一个进程 date 更改或查看目前日期 cal 显示月历及年历
4.1 shutdown命令 要使用这个命令必须保证是根用户,否则使用su命令改变为根用户。命令格式如下: 选项 功能 -k 不是真正的关机,只是发出警告命令 -r 关机后重启(这个用的最多) -t 在规定的时间内关机 加入要在2min内关机,输入命令:shutdown –t 2 如果是关机后重启,输入命令:shutdown –r
4.2 reboot命令 这个命令也是一个关机命令,只有输入,不加任何参数,系统会以最快的速度关机,且不将内存或缓冲区里的东西写回硬盘。 选项 功能 -d 不把记录写到/var/log/wtmp档案里(-n这个参数包含了-d) -f 强迫重开机,不呼叫shutdown这个指令 -n 在重开机前不做将记忆体资料写回硬盘 -w 并不会真的重开机,只是把记录写到/var/log/wtmp档案里
4.3 ps命令 用来查看在计算机系统中有哪些程序正在执行,及其执行的情况。这是一个相当强大的命令,可以用它来找出所有的process id和名称。另外,ps命令也可以用来列出所有程序占用内存的情况。用法如下: 选项 功能 -l 用长格式列出 -u 列出使用者的名称和使用时间 -m 列出内存分布的情况 -r 只列出正在执行的前台程序,不列出其他信息 -x 列出所有程序,包括那些没有终端机的程序
4.4 top命令 top命令可以查看目前程序的执行情景和内存使用。它和ps类似,不过,它会几秒钟更新一次系统状态,方便追踪。要离开这个程序,按Ctrl+C键就可以了。
4.5 kill命令 kill命令用来终止一个正在执行中的进程。如果一个程序执行过程中失败了,可以把这个程序终止,避免留在内存中占用系统资源。不过,它的实际意义是送一个信号给这个正在执行的程序,叫它自杀。可以送很多信号给这些程序,也可以让他们受到信号后做很多事情。标准用法: kill –(选项) pid 在执行kill命令前。可以先用ps命令查一下某宕掉程序的pid,然后使用kill除去某个程序。例如,终止pid为90的程序: kill 90 选项 功能 -l 列出所有可用的信号名称 -p 印出pid并不发送信号 -signal 其中可用的讯号有 HUP (1), KILL (9), TERM (15), 分别代表著重跑, 砍掉, 结束 将 pid 为 323 的行程砍掉 (kill) : kill -9 323 将 pid 为 456 的行程重跑 (restart) :kill -HUP 456
4.6 date命令 date命令用来显示、设定和修改现在的时间和日期。标准用法: date –(选项) 显示时间格式(以+号开头,后加格式) date 设定时间格式 选项 功能 -u 使用格林尼治时间 -r 最后一次修改文件的时间 -s 设置时间 常用的几种时间格式如下表所示: 格式 说明 %a 星期几的简称,例如一、二、三 %A 星期几的全名,例如星期一、星期二 %D 日期(mm/dd/yy格式) %T 显示时间格式,24小时制(hh:mm:ss) %x 显示日期的格式(mm/dd/yy) %y 年的最后两个数字 %Y 年(如2007、2008) %r 时间(hh:mm:ss 上午或下午) %p 显示上午或下午 如果输入命令:date “+%x,%r” 系统返回如下信息:2010年3月26日,下午 18时06分49秒
4.7 cal命令 cal命令有两种功能:显示月历以及年历。 直接输入cal命令则系统会显示目前月份的月历。 若要显示一整年的年历,可以在cal命令后加4位数的公元年份。例如要显示2008年的年历,必须输入: cal 2008 若输入 cal 08 ,则最显示公元8年的年历。 若只需要查看某一年份中某一月份的月历,可以输入:cal 月份公元年份。例如输入:”cal 12 2004”。
5.管理使用者和设立权限的命令 命令 说明 命令 说明 chmod 用来改变权限 useradd 用来增加用户 su 用来修改用户
5.1 chmod命令
用来改变许可权限。读取、写入和执行是许可权限中的三个主要设置。因为用户在他们的账号被创建时就被编入一个组群,所以还可以指定那些组群可以读取、写入或执行某一文件。其中:
r— 文件可以被读取 w— 文件可以被写入 x— 文件可以被执行,如果文件是程序的话 可以使用带有-l的ls命令来仔细查看一个文件的许多细节。 chmod命令用来设定文件的权限。标准用法: chmod 文件的使用者(u,g,o,a)增减(+,-,=)权限名称(r,w,x) 文件 文件的使用者 说明 权限 说明 增减 说明 u 拥有文件的用户 r 读取权 + 添加权限 g 所有者所在的组群 w 写入权 - 删除权限 o 其他人 x 执行权 = 是它称为唯一权限 a 全部(u,g和o) 删除某一文件的所有权限,输入命令:chmod a-rwx test.txt 为文件所有者添加权限,输入命令:chmod u+rwx test 还可以用数字表示权限:4——读取,2——写入,1——执行。下面的两个命令等价: chmod 751 filename chmod u+rwx,g=rx,0=x filename
5.2 su命令
用来修改用户。这个命令非常重要,它可以让一个普通的使用者拥有超级用户或其他使用者的权限。不过,这个命令必须具有超级用户或其他使用者的口令才能成为超级用户或其他使用者。如果要离开,可以输入exit。标准用法:
su 用户名 (如果没有输入用户名则预设为root) 举例说明,假设当前用户user01,想要转变为user02,则输入命令: su user02 系统返回: password: 此时,输入user02的指令,就会变为user02。
5.3 useradd命令
用来增加用户,只有根用户才能增加用户。如果没有登录为根用户,输入su,再输入根口令即可。
要增加用户,输入命令:useradd 用户名 然后,根据提示为新用户输入一个口令即可。
6.线上查询的命令 命令 功能 man 查询和解释一个命令的使用方法,以及这个命令的说明事项 locate 定位文件和目录 whatis 寻找某个命令的含义
6.1 man命令
用来查询和解释一个命令的使用方法和这个命令的注意事项。这个查询查询在每个Linux上都有。通常,使用者只要输入命令man和这个命令的名称shell就会列出一份完整的说明。标准用法:man 命令的名称
要查询ls命令的说明书页,输入命令:man ls 要翻阅说明书页,可以使用Page Up和Page Down键,或使用空格键向后翻一页,使用b向前翻。要退出说明书页,输入命令q。要在说明书页中搜索关键字,输入命令/和要搜索的关键字或短语,然后按Enter键即可。所有出现在说明书页中的关键字都会被突出显示,允许快速地阅读上下文中的关键字。
6.2 locate命令
主要功能是定位文件和目录。有时候,只知道某一文件或目录存在,却不知道在哪儿,就可以用locate来定位文件和目录。使用locate命令,将会看到每一个包括搜索田间的文件和目录。例如,如果想要搜索带有test的这个词的文件,输入命令:
locate test locate命令使用数据库来定位带有test这个词的文件或目录。
6.3 whatis命令
用来查询某个命令的含义。用法简单,也不需要什么参数,直接在whatis命令后加上所要查询的命令就可以了,但是却很实用。
要查询mv命令的含义,输入命令:whatis mv
7.文件阅读的命令 命令 功能 head 查看文件的开头部分 tail 查看文件结尾的10行 less 一个分页工具,它允许一页一页地(或一个屏幕一个屏幕地)查看信息 more 一个分页工具,它允许一页一页地(或一个屏幕一个屏幕地)查看信息
7.1 head命令
可以用来查看文件的开头部分。此命令的格式是:head 文件名
默认设置,它只查看文件的前10行。但可以通过指定一个数字选项来改变要显示的行数,命令如下:head –20 文件名 这个命令将会查看文件的前20行。
7.2 tail命令 tail命令和head命令恰恰相反。使用tail命令,可以查看文件结尾的10行。这有助于查看日志文件的最后10行来阅读重要的系统信息。还可以使用tail观察日志文件更新的过程。使用-f选项,tail会自动实时地把打开文件中的新信息显示到屏幕上。例如,要活跃地观察/var/log/messages,以根用户身份在shell下输入以下命令:tail –f /var/log/messages
7.3 less命令
与more命令相似。
7.4 more命令
和less的主要区别是,less允许使用箭头来前后移动,而more使用空格键和b键来前后移动。使用ls和more来列举/etc目录下的内容:
ls –al /etc | more 要使用more在文本文件中搜索关键字,按/键并输入命令搜索条目:/foo 使用空格键来先前翻阅页码。按q键退出。 more命令标准格式为: more [选项] [fileNames] 选项 含义 -num 一次显示的行数 -d 提示使用者,在画面下方显示[Press space to continue, q to quit.],如果使用者按错键,则会显示[Press h for instructions.]而不是哔声 -l 取消遇见特殊字元^L(送纸字元)时会暂停的功能 -f 计算行数时,以实际上的行数,而非自动换行过后的行数(有些单行字数太长的会被扩展为两行或两行以上) -p 不以卷动的方式显示每一页,而是先清除萤幕后再显示内容 -c 跟-p相似,不同的是先显示内容再清除其他旧资料 -s 当遇到有连续两行以上的空白行,就代换为一行的空白行 -u 不显示下引号(根据环境变数TERM指定的terminal而有所不同) +/ 在每个档案显示前搜寻该字串(pattern),然后从该字串之后开始显示 +num 从第num行开始显示 fileNames 欲显示内容的档案,可为复数个数 例如:more -s testfile 逐页显示testfile之档案内容,如有连续两行以上空白行则以一行空白行显示。 more +20 testfile 从第20行开始显示testfile之档案内容。
8.网络操作命令 命令 功能 命令 功能 ftp 传送文件 telnet 远端登陆 bye 结束连线并结束程序 rlogin 远端登入 ping 检测主机 netstat 显示网络状态
8.1 ftp命令
用来传输文件,非常重要。如果在网络上看到一个很重要的文件,就可以用这个命令把那个文件传到自己的机器上来。
标准用法:ftp (-选项) 主机名称或IP地址 选项 含义 -D 详细显示命令的执行过程,便于排错和分析程序的执行情况 -I 关闭互动模式,不询问任何问题 -G 关闭本地主机文件名称支持特殊字符的扩充特征 -N 不适用自动登录。FTP在启动时,会尝试自动登录远端系统,它会从用户的转述目录中读取.netrc文件的内容,以便自行登录。若该文件不存在,FTP会放弃自动登录,并询问用户的账号名称 -V 显示命令的执行过程 举例说明,用ftp登录ftp.dark.com主机,输入命令:ftp ftp.dark.com 注意:用户必须有相应的存取权限,否则不能从远程系统中获得文件或向远程系统中传输文件。为了使用ftp来传输文件,用户必须知道远程计算机上的合法用户名和口令。
8.2 bye命令 在ftp模式下,输入bye即可中断目前的连线作业,并结束ftp的执行,没有选项。
8.3 ping命令 执行ping命令,它会使用ICMP传输协议,发出要求回应的信息,若远程主机的网络没有什么问题,就会回应信息,因而得知该主机运作正常。 标准用法: ping (-选项) 主机名称或IP地址 选项 含义 c 次数 设置完成要求回应的次数。ping命令会反复发出信息,直到达到设定的次数为止 D 使用Socket的SO_DEBUG功能 F 大量而且快速地送网络封包给一台机器,看它的回应。一般不到几秒钟,送出去的封包就会超过两千个 I 秒数 指定收发信息的间隔时间,单位为s,预置位1s。与参数f不兼容 S bytes 设置数据包的大小。预设置为56B,加上8B ICMP头文件,共64B R 忽略网关,直接将数据保送到远程主机上。如果该主机并非局域网的一份子,就会传回错误信息 Q 不显示命令的执行过程,只显示结果 V 详细显示命令的执行过程,包括非回应信息和其它信息 T 存活数值 设置存活数值TTL的大小。TTL是IP协议包中的一个值,它告诉网络,数据包在网络中的时间是否太长而应被丢弃 举例说明,检测des.bllod.net主机网络功能是否正常,送出去要去信息需完成5次回应,每次间隔10s,数据包的大小为512B,输入命令:ping –c 5 –i 10 –s 504 –t 64 des.blood.net
8.4 telnet命令
主要功能是进行远程登录。该命令允许用户在使用telnet协议的远程计算机之间进行通信,用户可以通过网络在远程计算机上登录,就像登录到本地机上执行命令一样。为了通过telnet登录计算机,必须知道远程计算机上的合法用户名和口令。telnet只为普通终端提供终端仿真,而不支持X Window等图形环境。
标准用法:telnet 主机名或IP 例如登录IP地址为140.114.63.12的计算机,输入命令: telnet 140.114.63.12 一旦telnet成功连接到远程系统上,就显示登录信息,并提示用户输入用户名和口令。如果用户名和口令正确,就能成功登录并在远程系统上工作。用户结束了远程会话后,一定要确保使用logout命令退出远程系统。然后telnet报告远程会话被关闭,并返回到用户本地机的shell提示符下。
8.5 rlogin命令
用来远程登录的。它的英文含义是remote login。该命令与telnet命令很相似,允许用户启动远程系统上的交互命令会话。用法:
rlogin (-选项) host 选项 含义 8 允许输入8位字符数据 E 为rlogin会话设置转义字符,默认的转义字符是“~”,用户可以指定一个文字字符或一个/nnn形式的八进制数 E 停止任何转义字符。当与-8选项一起使用时,它提供一个完全透明的链接 L 用户名称 指定要登入远端主机的用户名称 L 使用litout模式进行远端登入操作 例如,要登入别人的计算机。输入命令:rlogin –l inin 140.114.125.24
8.6 netstat命令 netstat命令的主要功能是了解Linux系统的网络情况。假设没有指定任何参数给netstat命令,则效果和指定-F参数相同。用法:netstat (-选项) 选项 说明 a 显示所有连线中的Socket F 显示FIB A 全部列出,包括正在等待的程序 c 持续列出网络状态 I 显示网络界面信息 n 使用网络ip地址代替名称 o 显示计时器 r 显示网络路径表 t 显示TCP协议的连接情形 u 显示UDP协议的连接情形 v 显示版本信息 w 显示RAW传输协议的连接情形 which 语法 which command 说明 依序从path环境变量所列的目录中找出command的位置,并显示完整路径的名称。在找到第一个符合条件的程序文件时,就立刻停止搜索,省略其余未搜索目录。 范例,找出ls命令的程序文件的位置:which ls 系统输出:/usr/bin/ls whereis 语法 whereis [option] name 说明 找出特定程序的可执行文件、源代码文件以及manpage的路径。你所提供的name会被先除去前置的路径以及任何.ext形式的扩展名。 whereis 只会在标准的Linux目录中进行搜索。 常用选项 -b 只搜索可执行文件。 -m 只搜索manpage。 -s 只搜索源代码文件。 -B directory 更改或限定搜索可执行的文件的目录。 -M directory 更改或限定搜索manpage的目录。 -S directory 更改或限定搜索源代码文件的目录。 find 语法 find paths expression [action] 说明 以paths为搜索起点逐层往下找出每一个符合expression条件的文件,并对该文件执行action所代表的动作。expression是搜索条件,它由一个代表匹配项目的选项以及一个代表匹配模式的参数构成。 action是处理动作,它有一个代表“处理方式”的选项以及一个操作参数构成。若不指定action,则默认动作是显示出文件名。
常用的搜索条件 -name pattern -path pattern -lname pattern 找出名称、路径名称或符号链接的目标匹配pattern模式的文件。pattern可以包含shell的文件名通配符,路径是相对于搜索起点的。
常见处理动作 -print 显示出文件的相对路径(相对于搜索起点)。 -exec cmd /; 执行指定的shell命令。若cmd含有任何shell特殊字符,则他们之前都必须加上/符号,以免shell立刻执行他们。在cmd里,可以用”{}”符号(包括双引号)表示find所找出的文件。 locate 语法 locate patterns 说明 第一次执行locate时,它会建立一个索引数据库,当往后再次执行时,它便从索引数据库中迅速找出文件的位置。locate很适合用来反复搜索很少变动的目录树,但是对于刚改名的旧文件以及新建的文件,locate就找不到了,除非重建数据库。 updatedb 语法 updatedb [option] 说明 更新slocate的索引数据库。 选项 -e directories 略过directories所列的目录。
9.其他命令 命令 功能 echo 显示一字串 passwd 修改密码 clear 清除显示器 lpr 打印 lpq 查看在打印队列中等待的作业 lprm 取消打印队列中的作业
9.1 echo命令 echo命令用来在显示器上输出一段文字,这个命令常用来输出一些提示信息,因此这个命令的意义在于输出一些文字。它的用法也很简单: echo –(参数) 字串 (可以用””,也可以不用,显示略有区别) 参数n代表输出文字后不换行,如果不加参数会自动换行。 输入命令:echo “welcome to use Linux” 输出结果为:welcome to use Linux 如果不加””,则输出结果为:welcome to use Linux 它们的区别在于后一个输出,每两个输出之间只隔一个空格,这是因为echo把这些输出看做字串的缘故。
9.2 clear命令
clear命令的主要功能是清除显示器,这个命令很简单,只要输入clear即可。
9.3 passwd命令
修改用户的密码。
在shell下输入 passwd 然后,根据提示输入旧密码和新密码即可。
9.4 lpr命令 lpr命令的功能是把指定的文件发送到打印队列中。例如,lpr foo.txt 会打印 foo.txt 文件。 标准用法:lpr filename 要查看在打印队列中等待的作业,在命令行中输入命令lpq。系统返回如下信息: active root 389 foo.txt 在这个例子中,389是作业号码。还可以取消打印队列中的作业,格式是: lprm 作业号码 输入命令:lprm 389 这样就去修了 foo.txt 打印作业。
node npm yarn nvm pnpm 镜像源 1 2 3 4 5 6 #中国科大 https://mirrors.ustc.edu.cn/help/index.html #清华 https://mirrors.tuna.tsinghua.edu.cn/ 12345
nvm 管理和切换node版本安装 mac安装
其他方式安装 https://github.com/nvm-sh/nvm
1 2 3 4 5 6 7 curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash git clone -b v0.39.1 https://gitee.com/mirrors/nvm.git && sh ./nvm/install.sh 123456
添加环境变量和 nvm node国内镜像 把如下内容添加到:(如果已存在就不需要添加)
MACOS : ~/.zshrc linux: .bashrc
1 2 3 4 5 6 7 8 export NVM_DIR="$HOME /.nvm" [ -s "$NVM_DIR /nvm.sh" ] && \. "$NVM_DIR /nvm.sh" [ -s "$NVM_DIR /bash_completion" ] && \. "$NVM_DIR /bash_completion" export NVM_NODEJS_ORG_MIRROR=https://npmmirror.com/mirrors/node/1234567
应用并生效:
MACOS : source ~/.zshrc MACOS : source ~/.bashrc
nvm使用 查看所有可安装 Node 版本号 1 2 3 4 5 nvm ls-remote nvm ls-remote |grep v17 1234
安装最新版本 1 2 3 4 5 nvm install node 安装指定版本 nvm install v17.9.1 1234
查看已安装的所有版本
切换node版本 1 2 3 4 5 6 nvm use 10.16.2 nvm use node 12345
设置全局默认版本 1 2 nvm alias default v18.16.0 1
查看默认版本
1 2 3 4 5 6 7 8 9 10 11 nvm ls ===================== v14.20.0 v17.9.1 v18.4.0 v18.5.0 -> v18.16.0 default -> v18.16.0 12345678910
开启nvm,关闭nvm 开启nvm,并设置使用最新node 版本
关闭nvm 此时 node 命令不可使用,如果再执行nvm use xxx会重新开起
设置下载代理 设置代理, 不加可选参数url,显示当前代理 将url设置为none则移除代理
设置不同版本node存储目录,不写path查看当前node存储目录
n 管理和切换node版本 1 2 3 4 npm install -g n 或 npm install --global n 123
查看最新版
查看 版本
安装最新版
查看当前版
或
1 2 npm install npm@latest -g 1
nrm 切换 npm 镜像源 安装
查看列表
添加 中国镜像站源
1 2 nrm add npmmirror registry https://registry.npmmirror.com 1
切换 中国镜像站源
删除 中国镜像站源
npm 管理 npm 镜像 1 2 3 npm config set registry https://registry.npmmirror.com npm config set registry https://registry.npmmirror.com 12
安装模块 安装express模块
1 2 3 4 5 6 7 8 9 10 11 12 13 npm install express npm install express@11.0.0 npm install express npm install express -S npm install express -D 123456789101112
全局安装模块 1 2 npm install -g express 1
显示模块详情
已安装模块
升级当前目录下的项目的所有模块
升级当前目录下的项目的指定模块
升级全局安装的express模块
升级package.json中依赖包版本 方式一 升级到最新版本 1 2 3 4 5 npm install --force 或 npm install 1234
方式二 使用第三方 1 2 3 4 5 6 7 8 npm install -g npm-check-updates ncu ncu -u 1234567
查看可更新模块
删除指定的模块
删除全局模块 1 2 npm uninstall -g express 1
清除缓存 1 2 3 4 npm cache clean --force npm cache clean -f 123
验证缓存
yarn 安装
查看版本
输出
yarn 1 镜像 1 2 3 yarn config set registry https://registry.npmmirror.com yarn config set registry https://registry.npmmirror.com 12
yarn 清除缓存 1 2 3 4 yarn cache clean 或 npm cache clean --force 123
查看已缓存包的列表
查看已缓存包的列表
cache缓存文件目录路径
改变 yarn cache缓存文件目录路径 1 2 3 4 5 6 7 8 mkdir -p /User/fox/.yarn/cacheyarn config set cache-folder /User/fox/.yarn/cache 或者 yarn <command > --cache-folder <path> 例如 yarn install --cache-folder /User/fox/.yarn/cache 1234567
升级依赖 1 2 yarn upgrade-interactive --latest 1
手动选择要升级的包 按空格键选择, a 键切换所有,i 键反选选择
yarn2 安装(需要线安装yarn1,然后切换yarn2)
查看版本
输出
安装yarn2 设置
1 2 yarn set version berry 1
查看版本
输出
yarn 会创建 .yarn 目录和 .yarnrc.yml 文件,只关注.yarnrc.yml
如果 yarn set version berry 报错 那么看文章最后部分 yarn2国内下载过慢解决
配置.yarnrc.yml 官方手册:https://www.yarnpkg.cn/configuration/yarnrc
默认内容由:
1 2 yarnPath: ".yarn/releases/yarn-berry.cjs" 1
如果已经设置 yarn2镜像库那么会有:
1 2 3 yarnPath: ".yarn/releases/yarn-berry.cjs" npmRegistryServer: "https://registry.npmmirror.com" 12
升级依赖
执行该命令后,如果是yarn1项目或者npm项目,那么:node_modules被清空 多了.pnp.cjs 多了.pnp.loader..mjs.yarn目录下多了很多文件
目录说明 1 2 3 4 5 6 7 8 9 10 11 12 13 14 |____.yarn Yarn 2的具体执行文件,安装的依赖等等 | |____releases | | |____yarn-berry.cjs 具体执行文件 | |____cache 安装的依赖,全部是压缩包 | | |____......... | |____install-state.gz | |____unplugged 是否具有安装脚本 | | |____......... |____.pnp.cjs |____.pnp.loader.mjs |____yarn.lock |____yarn-error.log |____.yarnrc.yml 具体配置文件 12345678910111213
方式一:
只提交 .yarnrc.yml文件,其他人使用时候,执行yarn install重新下载安装所有依赖
方式二:(团队版)
提交 .yarnrc.yml,.pnp.cjs,.pnp.loader.mjs文件和.yarn目录,其他人使用时候,不需要执行yarn install,直接yarn dev运行即可。因为依赖已经下载安装了,这就是Yarn 2提出的零安装zero-install
方式三:
项目很多时候,依赖几乎完全一样的时候,在 .yarnrc.yml文件配置enableGlobalCache: true,提交 .yarnrc.yml文件,那么其他项目用到一样的依赖不在下载,会自动使用全局版本
enableGlobalCache : 是否启用全局缓存,默认不启用(所有缓存都存在.yarn/cache目录下)。
配置yarn2 设置 yarn镜像库 1 2 yarn config set npmRegistryServer https://registry.npmmirror.com 1
yarn2 命令 安装依赖 1 2 3 4 yarn install 或 yarn 123
添加依赖 1 2 yarn add [package] [--dev|--peer] 1
删除依赖
更多
yarn2国内下载过慢解决 1 2 3 4 5 6 7 mkdir -p .yarn/releases && \ wget https://repo.yarnpkg.com/3.2.0/packages/yarnpkg-cli/bin/yarn.js -O ./.yarn/releases/yarn-berry.cjs && \ cat >> .yarnrc.yml <<EOF yarnPath: ".yarn/releases/yarn-berry.cjs" npmRegistryServer: "https://registry.npmmirror.com" EOF 123456
3.2.0 这个版本号怎么来,请看 https://github.com/yarnpkg/berry/releases
最后执行
更多 yarn2 请看 https://segmentfault.com/a/1190000040520326
官网 https://pnpm.io/
中文 https://pnpm.io/zh/
https://www.pnpm.cn/
脚本安装 windows 1 2 iwr https://get.pnpm.io/install.ps1 -useb | iex 1
linux mac 1 2 curl -fsSL https://get.pnpm.io/install.sh | sh - 1
安装指定的版本
1 2 curl -fsSL https://get.pnpm.io/install.sh | env PNPM_VERSION=<version> sh - 1
通过 npm 安装 pnpm
通过 Homebrew 安装 pnpm
通过 Scoop 安装 pnpm 1 2 scoop install nodejs-lts pnpm 1
pnpm 升级 pnpm 方式一
方式二
查看版本
pnpm 命令 设置国内镜像 1 2 pnpm config set registry https://registry.npmmirror.com 1
添加依赖
命令
说明
pnpm add sax
保存到 dependencies 配置项下
pnpm add -D sax
保存到 devDependencies 配置项下
pnpm add -O sax
保存到 optionalDependencies 配置项下
pnpm add -g sax
安装软件包到全局环境中
pnpm add sax@next
安装标记为 next 的版本
pnpm add sax@3.0.0
安装指定版本 3.0.0
初始化依赖 1 2 3 4 pnpm install 或 pnpm i 123
升级依赖 1 2 3 4 5 6 7 8 9 pnpm up 或 pnpm up --latest 或 pnpm up xxx@版本号 例如 pnpm up foo@2 12345678
删除pnpm缓存
store-dir 目录位置 默认值: 在 Windows 上: ~/AppData/Local/pnpm/store 在 macOS 上: ~/Library/pnpm/store 在 Linux 上: ~/.local/share/pnpm/store
pnpm server 相关命令 1 2 3 4 5 pnpm server start 1 pnpm server stop 1 pnpm server status
conda常用命令 1.升级 2.卸载Anaconda软件 3.找到自己安装环境对应的最新TensorFlow后(可以在终端搜索anaconda,定位到那一行),然后查看指定包
升级 升级Anaconda需要先升级conda
1 2 3 1 conda update conda 2 conda update anaconda 3 conda update anaconda-navigator //update最新版本的anaconda-navigator
卸载Anaconda软件 由于Anaconda的安装文件都包含在一个目录中,所以直接将该目录删除即可。删除整个Anaconda目录:
计算机控制面板->程序与应用->卸载 //windows
或者
找到C:\ProgramData\Anaconda3\Uninstall-Anaconda3.exe执行卸载
1 rm -rf anaconda //ubuntu
最后,建议清理下.bashrc中的Anaconda路径。
conda环境使用基本命令 : ;)
1 2 3 4 5 6 1 conda update -n base conda #update最新版本的conda 2 conda create -n xxxx python=3.5 #创建python3.5的xxxx虚拟环境 3 conda activate xxxx #开启xxxx环境 4 conda deactivate #关闭环境 5 conda env list #显示所有的虚拟环境 6 conda info --envs #显示所有的虚拟环境
;)
anaconda安装最新的TensorFlow版本 参考:https://blog.csdn.net/qq_35203425/article/details/79965389 一般从anaconda官网下载的anaconda,查看tensorflow依然还是1.2的版本,现在用conda更新TensorFlow,解决方法: 1.打开anaconda-prompt 2.查看tensorflow各个版本:(查看会发现有一大堆TensorFlow源,但是不能随便选,选择可以用查找命令定位)
1 1 anaconda search -t conda tensorflow
3.找到自己安装环境对应的最新TensorFlow后(可以在终端搜索anaconda,定位到那一行),然后查看指定包可安装版本信息命令
1 1 anaconda show <USER/PACKAGE>
查看tensorflow版本信息 1 anaconda show anaconda/tensorflow
4.第4步会提供一个下载地址,使用下面命令就可安装1.8.0版本tensorflow
1 conda install --channel https://conda.anaconda.org/anaconda tensorflow=1.8.0
更新,卸载安装包 :1 2 3 4 1 conda list #查看已经安装的文件包 2 conda list -n xxx #指定查看xxx虚拟环境下安装的package 3 conda update xxx #更新xxx文件包 4 conda uninstall xxx #卸载xxx文件包
删除虚拟环境 1 conda remove -n xxxx --all //创建xxxx虚拟环境
清理(conda瘦身) conda clean就可以轻松搞定!第一步:通过conda clean -p来删除一些没用的包,这个命令会检查哪些包没有在包缓存中被硬依赖到其他地方,并删除它们。第二步:通过conda clean -t可以将conda保存下来的tar包。
1 2 3 1 conda clean -p //删除没有用的包 2 conda clean -t //tar打包 3 conda clean -y -all //删除所有的安装包及cache
参考:https://blog.csdn.net/menc15/article/details/71477949
7.重命名env Conda是没有重命名环境的功能的, 要实现这个基本需求, 只能通过愚蠢的克隆-删除的过程。 切记不要直接mv移动环境的文件夹来重命名, 会导致一系列无法想象的错误的发生!
1 2 1 conda create --name newname --clone oldname //克隆环境 2 conda remove --name oldname --all //彻底删除旧环境
常用软件安装 参考:conda环境下常用软件安装
问题 1:failed ERROR conda.core.link:_execute(502):
1 2 3 4 5 1 conda install 软件时出现如下错误信息: 2 Preparing transaction: done 3 Verifying transaction: done 4 Executing transaction: 5 failed ERROR conda.core.link:_execute(502):
解决方法:往往时权限不够,需要以管理员方式运行Anaconda prompt进行安装
2.anaconda或conda不是内部命令 解决方法:https://zhuanlan.zhihu.com/p/32446675
添加上图环境变量即可
jupyter notebook默认工作目录设置 参考:https://blog.csdn.net/liwei1205/article/details/78818568
1)在Anaconda Prompt终端中输入下面命令,查看你的notebook配置文件在哪里:
jupyter notebook —generate-config #会生成文件C:\Users\用户.jupyter\jupyter_notebook_config.py
2)打开jupyter_notebook_config.py文件通过搜索关键词:c.NotebookApp.notebook_dir,修改如下
c.NotebookApp.notebook_dir = ‘E:\tf_models’ //修改到自定义文件夹
3)然后重启notebook服务器就可以了
注: 其它方法直接命令到指定目录,Anaconda Prompt终端中输:jupyter notebook 目录地址