命令行基础

  • 命令行是什么?(why)
  • 为什么要学命令行?(what)
  • 怎么学命令行?(how)
  • Vim及学习资源
  • 命令行技巧

命令行是什么?

命令行界面(英语:command-line interface,缩写:CLI)是在图形用户界面得到普及之前使用最为广泛的用户界面,它通常不支持鼠标,用户通过键盘输入指令,计算机接收到指令后,予以执行。也有人称之为字符用户界面(character user interface, CUI)。

简单来说,黑窗口,就是没有图形用户界面(GUI),都是通过代码操作。

为什么要学命令行?

  • 因为现代的前端工具,都没有提供图形界面,只有命令行界面,所以从实用角度出发,前端必须学命令行
  • 包括 Gulp、Webpack、SASS、Node.js、Vue、React、Angular
  • 你不学命令行还怎么混?

怎么学命令行?

  1. 背单词,学缩写
  2. 学习常用的命令及快捷键
  3. 练一练

1. 背单词,学缩写

英文 翻译
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 个辅音字母

2. 学习常见的自带命令

操作 命令 解释
进入目录 cd
显示当前目录 pwd
创建目录 mkdir 目录名
创建目录 mkdir -p 目录路径 如果有特殊字符,必须加引号,表示一个整体mkdir -p "demo2/demo3"
我是谁 whoami 显示当前电脑的用户名
-- --
查看路径 ls 路径 所有以点开头的都不显示
查看路径 ls -a 路径 显示该目录(当前目录)下的所有文件,可以显示隐藏文件(以点开头的文件夹)
查看路径 ls -l 路径 运行ls -l,可以显示该目录(当前目录)中内容的更多信息
查看路径 ls -al 路径 显示该目录(当前目录)下的所有文件(包括隐藏文件)和更多信息,效果是ls -als -l的叠加
-- --
创建文件 echo '1' > 文件路径 第一次创建文件
强制创建文件 echo '1' >! 文件路径 计算文件已存在,强制重新覆盖
追加文件内容 echo '1' >> 文件路径
创建文件 touch 文件名
改变文件更新时间 touch 文件名
-- --
复制文件 cp 源路径 目标路径 cp 1.txt 2.txt
复制目录 cp -r 源路径 目标路径 cp -r demo-2 demo-22
-- --
移动节点 mv 源路径 目标路径 修改文件名
-- --
删除文件 rm 文件路径
强制删除文件 rm -f 文件路径 -f忽略不存在的文件,永远不要提示
删除目录 rm -r 目录路径 -r递归删除目录及其内容
强制删除目录 rm -rf 目录路径 -rf上面两个的叠加
-- --
查看目录结构 tree(Windows 不支持 tree)
建立软链接 ln -s 真实文件 链接(Windows 不支持ln -s) 本质并不是快捷方式
-- --
下载文件 curl -L https://www.baidu.com > baidu.html
拷贝网页 wget -p -H -e robots=off https://www.baidu.com (Windows 不支持 wget)
磁盘占用 df -kh
当前目录大小 du -sh .
各文件大小 du -h

快捷键

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

3. 练一练

  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 了,也就是重命名

Vim

如何退出vim

  • 强制退出(不保存):狂按 ESC,然后按下 :q! 回车
  • 保存后退出:狂按 ESC,然后按下 :wq 回车

如何学习 vim

vim 被誉为 编辑器之神。

如果你想要入门 vim,下面是三个教程:

  1. 在命令行输入 vimtutor ,即可查看官方自带的中文教程。看完它。
  2. 简明 VIM 练级攻略
  3. 一个 vim 游戏

命令行技巧

~/.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

利用这个alias技巧,我们可以把很多常见的命令缩写一下,比如

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(作用是执行 ~/.bashrc

通过这个技巧,简化了Git操作了

ga 1.txt

③环境变量

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

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

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

④设置 PATH

在 .bashrc 里面写下

export PATH="目录的绝对路径:$PATH"

可以在 PATH 里添加一个目录。看不懂这句话没关系,等你用得到的时候你再回来看。

命令行学习资源

  • 命令行释义:https://explainshell.com/explain?cmd=ls+-lrt
  • 命令行常见用法:https://github.com/tldr-pages/tldr#tldr

拓展思考:

1. 命令行(Command Line Interface)与图形用户界面(GUI)的优缺点分别是什么?

他们之间的关系可以个一句话来概括。GUI的优点就是CLI的缺点,而CLI的优点又是GUI的缺点。

命令行的优点:

  • 命令行界面要较图形用户界面节约计算机系统的资源
  • 使用命令行界面往往要较使用图形用户界面的操作速度要快

命令行的缺点:

  • 不方便普通用户操作
  • 需要用户记忆操作的命令

图形用户界面的优点:

  • 减少用户的认知负担
  • 保持界面的一致性
  • 满足不同目标用户的创意需求
  • 用户界面友好性
  • 图标识别平衡性
  • 图标功能的一致性
  • 建立界面与用户的互动交流
  • 更为人command-line interface性化的视觉优化
  • 更具识别性的图标及其他元素
  • 更具可操控性和扩充性的使用易用性
  • 更具有企业品牌特色的视觉识别性

参考链接:https://github.com/wangyao11/gui-and-cli/blob/master/REAdME.md

2.绝对路径与相对路径的区别

以 / 开头的路径就是绝对路径

有人问我(你家在哪里?),我就会讲

  • 在XX超市旁边—相对路径
  • 在XXX(照着身份证上的念一遍)—绝对路径

你可能感兴趣的:(命令行基础)