命令行基础

### 为什么学命令行

  1. 这关系到一个程序员的初始
  2. 现代的前端工具都没有提供图形界面、只有命令行界面、从使用角度、前端必须学会命令行
  • Gulp/Webpack/SASS/Node.js/Vue/React/Angular
  • 这么多工具你不学咋混啊

基本概述(注意请使用gitbash的命令窗口)

  1. 文件与目录(文件夹)
  2. ~ / . .. $的意思

~ 代表用户目录(linux/unix是没有盘符的概念的)

windows前提安装了gitbash

1
2
cd ~   //切换到用户目录
pwd //输出当前路径 ==> /c/Users/hjx

/ 代表硬盘(没有c d e f盘)

. 代表当前目录

.. 代表上一层目录

$ 代表没有实际意义只是提示你可以输入命令了

命令行难吗?

实际上命令行简单,你觉得难是因为你在命令行上待的时间还不足24小时,而你在window上待的时间超过了10年,简单你学了那么多年?

如何学习

首先背单词:

  • 英文 翻译
  • directory 目录、文件夹
  • file 文件
  • make 新建
  • remove 删除
  • move 移动
  • copy 复制
  • list 罗列
  • link 链接
  • find 查找
  • echo 发出回音、重复
  • touch 触摸
  • change 改变

背下来了吗?每个单词都很短,应该不难背。好的,你基本已经学会命令行了。接下来我们学习这些单词的缩写

缩写

命令 全写 缩写
创建目录 make directory mkdir
删除 remove rm
移动 / 重命名 move mv
复制 copy cp
罗列 list ls
改变目录 change directory cd

缩写规则就是:删掉元音字幕(A E I O U),保留前 2 到 3 个辅音字母

好了,你已经学会 50% 了,接下来我们来试试。

实践

  1. cd ~/Desktop 进入桌面
  2. mkdir demo-1 创建目录,这时你可以切到桌面,看到 demo-1 目录
  3. rm -rf demo-1 删除目录
  4. touch 1.txt 创建文件,如果你发现文件后缀不见了,请让该死的 Windows 显示文件后缀
  5. mv 1.txt 2.txt 这样我们就把 1.txt 移到 2.txt 了,也就是重命名

常见的自带命令

  • 操作 命令
  • 进入目录 cd
  • 显示当前目录 pwd
  • 创建目录 mkdir 目录名
  • 创建目录 mkdir -p 目录路径
  • 我是谁 whoami

  • 查看路径 ls 路径
  • 查看路径 ls -a 路径 包含隐藏的一些文件
  • 查看路径 ls -l 路径
  • 查看路径 ls -al 路径

  • 创建文件 echo ‘1’ > 文件路径
  • 强制创建文件 echo ‘1’ >! 文件路径
  • 追加文件内容 echo ‘1’ >> 文件路径
  • 创建文件 touch 文件名
  • 改变文件更新时间 touch 文件名

  • 复制文件 cp 源路径 目标路径
  • 复制目录 cp -r 源路径 目标路径 递归的复制一个目录和其内容

  • 移动节点 mv 源路径 目标路径

  • 删除文件 rm 文件路径
  • 强制删除文件 rm -f 文件路径
  • 删除目录 rm -r 目录路径 递归的删除目录每次删都问你一次
  • 强制删除目录 rm -rf 目录路径 递归的删除目录而且不提示

  • 查看目录结构 tree
  • 建立软链接 ln -s 真实文件 链接

如何学习我目前还没有掌握的命令?

Google: Linux 查看文件内容

快捷键

  • ↑↓ 上一命令 / 下一命令
  • !! 上一命令占位符
  • Tab 自动补全路径
  • Alt+. 上一命令的最后一个参数
  • && 前面的执行成功了,再执行后面的
  • || 前面的执行失败了,就执行后面的
  • ; 前面执行完了,不管成功失败,就执行后面的
  • “>” 重定向
  • | 管道

    命令行技巧

    ~/.bashrc 文件的功能很强大。

自动运行

  1. 首先 touch ~/.bashrc 创建一下这个文件
  2. start ~/.bashrc 选用编辑器编辑这个文件,内容为 echo ‘Hi’
  3. 你也可以用命令行编辑文件 echo “echo ‘hi’” >> ~/.bashrc
  4. 关闭退出 Git Bash,然后打开 Git Bash,是不是看到了 Hi,这说明每次进入 Git Bash,就会优先运行 ~/.bashrc 里面的命令
  5. 重新编辑 ~/.bashrc,内容改为 cd ~/Desktop,重启 Git Bash,有没有发现默认就进入桌面目录了?
    你可以用 ~/.bashrc 在进入 Git Bash 前执行任何命令,十分方便。

alias

1.在 ~/.bashrc 里新增一行 alias f=”echo ‘frank is awesome’”,等于号两边不能有空格,你最好一个字都不要错。
2.运行 source ~/.bashrc,作用是执行 ~/.bashrc
3.运行 f,就会看到 frank is awesome
4.也就是说,现在 f 就是 echo ‘frank is awesome’ 的缩写了,利用这个技巧,我们可以把很多常见的命令缩写一下,比如

1
2
3
4
5
6
7
alias la='ls -a'
alias ll='ls -l'
alias gst='git status -sb'
alias ga='git add'
alias ga.='git add .'
alias gc='git commit'
alias gc.='git commit .'

保存退出,然后运行 source ~/.bashrc
这样一来,你的 Git 操作就会简单很多:

1
2
3
4
5
ga 1.txt
ga .
gc 1.txt
gc.
gst

接下来说两个目前用不到的技巧。

环境变量

还可以在 ~/.bashrc 里面设置一些环境变量,比如你可以在 ~/.bashrc 里面添加一行

1
export SASS_BINARY_SITE="https://npm.taobao.org/mirrors/node-sass"

那么以后你安装 node-sass 的时候就不会因为被墙而报错了。以后会用到的,现在先说一下。

设置 PATH

export PATH=”目录的绝对路径:$PATH”
可以在 PATH 里添加一个目录,不要运行,等用到的时候再来查。