- 工具快捷键
- 编程风格
- 常用命令
- 实用工具
工具快捷键
sublime
- ctrl + r, 显示函数列表。
- ctrl + shift + l, 打散选中区域
- ctrl + j, 合并选中区域
Emacs
- C-v next screen
- M-v previous screen
- C-l moving the test around the cursor to the center of the screen(top,bottom if you type agian)
- C-p preivous line
- C-n next line
- C-b backware char
- C-f forward char
- M-f forward word
- M-b backward word
- C-a move to the beginning of a line
- C-e move to the end of a line
- M-a move to the beginning of a sentence
- M-e move the end of a sentence
- M-< move to the beginning of the whole text
- M-> move to the end of the whole text
- C-8 数字 以上命令 相当于重复多次以上命令(不是所有的都可以,比如翻页会变成按行滚动)
- C-g 取消指令
- C-x 1 kill all other windows
- M-d delete the next word after the cursor
- M-<\DEL> delete the previous word before the cursor
- C-k delete from the cursor position to the end of line
- M-k delete to the end of the current sentence
- C-y 恢复C-k删除的行,如果C-k在一行中按了多次,恢复也是多行语句
- C-/ undo
- C-x C-f Find a file
- C-x C-s Save a file
- C-x C-c quit Emacs
- C-s search 再次按下会寻找下一个
编程风格
JavaScript
- 静态字符串用单引号,动态字符串用反引号
- 优先使用解构赋值
- 单行定义的对象,最后一个成员不以逗号结尾;多行定义的对象,最后一个成员以逗号结尾
- 对象尽量静态化,一旦定义,不随意添加新属性。
- 设置函数参数默认值
常用命令
Linux
cd(Change Directory):切换目录
- cd .. 返回上级目录
- cd ~ 进入当前用户主目录
- cd - 前一个工作目录
- cd ~用户名 用户名的主目录
pwd(Print Working Directory):显示当前目录
- pwd -P代表当前目录显示当前路径,而非使用链接路径
mkdir(MaKe Directory):新建目录
- mkdir -m 711 test 创建目录时指定权限
- mkdir -p test1/test2 将所需目录递归创建
rmdir(ReMove Directory):删除空目录
- rmdir -p test1/test2 将上层空的目录也删除
ls 查看文件和目录
- ls -a 显示隐藏的文件(.开头的)
- ls -l 显示详细信息,包括权限、时间等文件属性
- ls -l –full-time 以完整时间模式列出时间属性
cp复制文件
- cp cname share/dir 复制cname文件到share/dir目录
- cp -d 若源文件为链接文件,则复制链接文件而不是文件本身
- cp -i 覆盖前进行提示
- cp -p 连同文件属性(权限,ownership,时间)一起复制
- cp -r 递归复制
- cp -a 相当于pdr
- cp -l 硬链接而不是复制
- cp -s 符号链接而不是复制
rm 删除文件
- rm -f test1 强制删除
- rm -i test1 互动
- rm -r directory 递归删除
od 显示非纯文本文件内容
- od -t a 默认字符
- od -t c 使用ASCII字符输出
- od -t dox 使用十进制、八进制、十六进制
- od -t f 浮点数
文件的三个时间属性
mtime 当该文件内容更改时就会修改该时间
ctime 当该文件属性更改时就会修改
atime 当该文件内容被访问时就会修改
ls -ls –time=ctime afile
$PATH
是Linux的文件路径环境变量,用于在任何工作目录下寻找文件,由一系列的目录组成,目录之间用冒号:
隔开。
- 打印 echo $PATH
- 设置 PATH=”$PATH”:/root 即使在原来的基础上加上 /root 目录
umask命令用于指定新建文件和目录时的默认权限。
- 新建文件的默认权限=666 - umask值(符号减)
- 新建目录的默认权限=777 - umask值(符号减)
- 什么是符号减?比如 umask是033 那新建文件默认权限是 rw-r–r– 新建文件夹是 rwxr–r–
- 设置umask 输入 umask 数字
文件的特殊权限
umask 其实是有四个数字的,第一个数字是表示特殊权限,4 2 1分别表示SUID, SGID, SBIT。 比如 4755 表示 rwsr-xr-x
SUID 当S标志出现在文件所有者的x权限上时,被称为设置用户ID,简称SUID权限。
- SUID权限仅对二进制文件有效
- SUID权限仅在运行时有效
- 执行者必须具有该程序的x权限
- 执行者将具有该程序所有者的权限
- 例子 更改密码的命令是 passwd ,而更改密码需要 修改一个权限为400的文件,也就是说只有root用户才能更改。而passwd的权限是4755符合SUID的条件,那么就会执行者将具有passwd权限所有者root的权限,从而可以修改那个权限为400的文件来更改密码。
ln命令用来建立硬链接和符号链接
语法:
ln [options] existing-file new-file
ln [options] existing-file-list directory
常用选项:
-f 强迫建立链接
-n 如果“new-file”已存在,不创建链接。
-s 建立一个符号链接而不是硬链接
-d 建立目录的硬链接 ???不行吧
硬链接的特点
- 不可跨越文件系统
- 只有超级用户才可以建立目录硬链接
- 不占用空间(极少)
符号链接
- 系统为共享的用户创建一个link类型的新文件,将这新文件登记在该用户共享目录项中,这个link型文件包含连接文件的路径名。该类文件在用ls命令长列表显示时,文件类型为l。
- 当用户要访问共享文件且要读link型新文件时,操作系统根据link文件类型性质将文件内容作为路径名去访问真正的共享文件。
- ln –s Chapter3 Chapter3.soft
符号链接的特点
- 可跨越文件系统,甚至跨越网络(NFS)
- 如果链接指向的文件从一个目录移动到另一个目录,就无法通过符号链接访问它
- 占有少量空间,存inode的信息
which 找到指令的位置
如 which passwd 输出 /usr/bin/passwd
find
用find命令找出系统中所有具有SUID权限的文件。
- find -perm -4000 -ls
找出/etc下文件大小介于50-60KB的文件。
- find /etc -size +50k -size -60k
找出/etc下文件大小大于50KB且所有者不是root的文件。
- find /etc -size +50k ! -user root
cut 将同一行的数据进行分割
- -d后接分隔符,与-f一起使用
- -f依据-d的分隔,指定取第几段
- -c以字符为单位取出固定字符区间
- echo $PATH | cut -d “:” -f 1 输出 /home/ubuntu/bin
- echo $PATH | cut -c 5-10 输出 e/ubun
grep 按条件取出某行
- -c计算找到字符的次数(按行计数,即一行有多个也是算一个)
- -i忽略大小写
- -n输出行号
- -v反向选择
- -a以text文件方式查找
- last | grep “ubunTu” -ni
sort 命令用于对输入内容进行排序
- -f忽略大小写
- -b忽略前面的空格符
- -M以月份来排序
- -n以纯数字排序
- -r反向排序
- -u取出重复
- -t指定分隔符
- -k指定分割区间
uniq命令用于去除结果中的重复行
- -i忽略大小写
- -c计数
wc命令用于统计字、字符、行
- -l行
- -w字
- -m字符
实用工具
Chrome DevTools
- 断点右键可以加条件
- 设置那可以加黑盒忽略第三方组件
- 长按继续选黑色小三角可以继续500ms,相当于跳过循环
- 请求链接可以根据url匹配断点(不论fetch、xhr,都在xhr breakpoint那里)
- watch可以在断点时检查变量值