Why
开篇先提问,为什么做前端要学会命令行?
因为现代的前端工具,都没有提供图形界面,只有命令行界面,包括 Gulp、Webpack、SASS、Node.js、Vue、React、Angular,所以从实用角度出发,前端必须学命令行。废话少说,下面开始正题。
工具篇
先介绍一个网站:https://www.explainshell.com/
在这个网站上,你可以输入任何指令,然后依次看其中每一项参数的意思。例如下载网站的命令:
curl -s -v -H "key: value" -- "https://www.bilibili.com"
其中,
-
-s
是指不显示进度,别报错,给老子安静 -
-v
是指让整个下载过程更啰嗦一点,或者说更全面一点,这样就能看到HTTP的请求和响应了,也有助于debug -
-H
就是添加一段内容到请求头部
指令篇
tldr
指令何其多,不可能都记得,这个时候除了非常常用的--help
or-h
orman
等系统自带的指令可以给予我们提示和帮助以外,还可以下载一款工具tldr
(Too Long Didn't Read),也非常简单
npm install -g tldr
即可获得,字面意思就是“太长不看”,非常适合懒人选手。比如,我们要查看ls
的相关用法:
~/.bashrc
使用man bash
命令查看到的联机帮助文件中的相关解释如下:
.bashrc - The individual per-interactive-shell startup file.
这个文件主要保存个人的一些个性化设置,如命令别名、路径等。它会带给你意想不到的骚操作。
例如你在该文件中写下:
cd ~/Desktop
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 .'
alias open='start'
那么你的每次git操作就非常简单快捷了。
好的,接下来介绍一些高频使用的简单指令。
ls
ls
即为list的简称,列表,按照一定规则罗列出当前目录下的某些文件或者文件夹。
在任意目录下都可以使用ls
来获取你想要的文件信息。比如:
ls -al
-al
表示Long format list of all files,跟windows的详细列表差不多。
其中,第一项是用户的权限,d
表示 diretory,目录,没有表示是文件,r-read,w-write,x-execute,从左至右,1-3位数字代表文件所有者的权限,4-6位数字代表同组用户的权限,7-9数字代表其他用户的权限。后面是一些当前用户,文件大小以及创建日期等等。
cat
cat
命令是linux下的一个文本输出命令,通常是用于观看某个文件的内容的;
cat主要有三大功能:
- 一次显示整个文件。
$ cat filename
- 从键盘创建一个文件。
$ cat > filename
只能创建新文件,不能编辑已有文件。(cat >> filename
可以追加内容)
- 将几个文件合并为一个文件。
$ cat file1 file2 > file
cat具体命令格式为 :
cat [-AbeEnstTuv] [--help] [--version] fileName
说明:把档案串连接后传到基本输出(屏幕或加 > fileName 到另一个档案)
在写脚本作业的过程中,我以为echo
命令无法直接写入多行到文件中,于是查到cat的写入多行的用法。
cat>filename<
这里的EOF可以替换为其他的,比如HERE,AAA,都是可以的,只要前后配对。
但这套指令无法在一个脚本中间使用,只能单独写到一个脚本中去。我的理解是程序读到EOF就默认为结束符了。
一些常见的cat
指令的应用:
cat /proc/cpuinfo //显示CPU info的信息
cat /proc/interrupts //显示中断
cat /proc/meminfo //校验内存使用
cat /proc/swaps //显示哪些swap被使用
cat /proc/version //显示内核的版本
cat /proc/net/dev //显示网络适配器及统计
cat /proc/mounts //显示已加载的文件系统
touch
touch
命令用于修改文件或者目录的时间属性,包括存取时间和更改时间。若文件不存在,系统会建立一个新的文件。
首先是更改创建时间,先用ls -l
查看文件的创建时间:
然后执行
touch demo.sh
,再用ls -l
查看demo.sh的时间
可以看到创建时间变了。但如果打开demo.sh,内容是不会有变化的。
如果此时执行
touch anything.txt
,就会创建一个新的文件anything.txt出来。
mv
mv,move的简称,可以用来移动文件或者将文件改名,是Linux系统下常用的命令,经常用来备份文件或者目录。以下是mv常用的搭配参数:
这里只介绍文件改名。上面我们用touch
指令创建了一个文件 anything.txt,现在将它改名为 Her.sh。即:
mv anything.txt Her.sh
这就改好了,如下:
总结
这里介绍的指令只是冰山一角,学好命令行对学好前端,和以为的集成开发起到了至关重要的作用。以后随着学习的深入,会逐步补齐前端开发需要的常用命令。
参考:
- https://www.cnblogs.com/yjd_hycf_space/p/7730690.html
- 鸟哥的私房菜