工具快捷键、编程风格、常用命令、实用工具等

来源:互联网 发布:linux虚拟主机销售系统 编辑:程序博客网 时间:2024/06/10 00:55

  • 工具快捷键
    • sublime
    • Emacs
  • 编程风格
    • JavaScript
  • 常用命令
    • Linux
      • cdChange Directory切换目录
      • pwdPrint Working Directory显示当前目录
      • mkdirMaKe Directory新建目录
      • rmdirReMove Directory删除空目录
      • ls 查看文件和目录
      • cp复制文件
      • rm 删除文件
      • od 显示非纯文本文件内容
      • 文件的三个时间属性
      • PATH
      • umask命令用于指定新建文件和目录时的默认权限
      • 文件的特殊权限
      • ln命令用来建立硬链接和符号链接
        • 硬链接的特点
        • 符号链接
          • 符号链接的特点
      • which 找到指令的位置
      • find
        • 用find命令找出系统中所有具有SUID权限的文件
        • 找出etc下文件大小介于50-60KB的文件
        • 找出etc下文件大小大于50KB且所有者不是root的文件
      • cut 将同一行的数据进行分割
      • grep 按条件取出某行
      • sort 命令用于对输入内容进行排序
      • uniq命令用于去除结果中的重复行
      • wc命令用于统计字字符行
  • 实用工具
    • Chrome DevTools

工具快捷键

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可以在断点时检查变量值