Skip to content
2012 edited this page Jul 20, 2020 · 3 revisions

shell 命令

sed

# 替换
sed '2s/dog/cat/' data.txt # 只替换第二行的dog
sed '2,3s/dog/cat/' data.txt # 只替换第二、三行的dog
sed '2,$s/dog/cat/' data.txt # 替换第二行到最后一行的dog

sed '/word/s/dog/cat/' data.txt # 替换包含word单词的行中的dog

# 命令组合
sed '3,${s/dog/cat/ s/firfox/chrome/}' data.txt

# 删除
sed '1d' data.txt # 删除第一行;前面没有数字时,表示删除所有行;
sed '1,2d' data.txt # 删除第一、二行;
sed '2,$d' data.txt # 删除第二行到最后一行;
sed '/num/d' data.txt # 删除包含num的行

# 插入
sed 'i\insert word' data.txt # 在第一行前插入'insert word'字符
sed 'a\insert word' data.txt # 在第一行后插入'insert word'字符

# 修改
sed '3c\this is change line' data.txt # 替换第三行字符
sed '/word/c\this is change line'

awk

调度命令

crontab

*    *      *     *   *    *
min  hour  day  month week cmd
0-59 0-23  1-31 1-12  0-6

at

一次性调度

[root@localhost ~]# at 5pm+3 days # 三天后的下午 5 点锺执行
at> /bin/ls
at> <EOT>
job 7 at 2013-01-08 17:00

可通过 atq 查看列表,atrm 删除调度

batch

batch 命令用于在指定时间,当系统不繁忙时执行任务,用法与 at 相似。

ssh

远程登录

ssh-copy-id root@ip # 发送本地ssh文件到服务器,第一次需要输入密码,以后就可以不用输密码

ssh root@ip "ls ~" # 在服务器上执行命令

远程端口转发

  • 本地端口转发
# 本地主机103执行命令,本地主机9906端口转发到101服务器的3306端口
ssh -fN -L 9906:192.168.58.101:3306 user@192.168.58.101
# -f指定ssh在执行命令前转入后台运行,-L指定远程主机的登录名,-N告诉ssh无需执行命令,只进行端口转发
  • 远端端口转发
# 远端主机103执行命令,103服务器的9906端口的所有数据都会被转发到101服务器的3306端口上
ssh -fN -R 9906:192.168.58.101:3306 192.168.58.103

JS

  1. 作用域
  2. 闭包
  3. 原型(链)
  4. 模块
  5. 位操作符
  6. 事件循环
  7. eval

CSS

  1. float
  2. BFC
  3. position
  4. flex
  5. grid

DOM

  1. DOM
  2. how browser works

Node.js

  1. Stream
  2. Timers
  3. Child Processes
  4. HTTP
  5. File System

react

  1. 生命周期
  2. setState
  3. hook

git

  1. git 基础命令
  2. git rebase 理解
  3. git bisect
  4. git commit
  5. git hook

设计模式

  1. 策略模式
  2. ...

TCP/IP 协议

  1. HTTP/1.x
  2. HTTP/2
  3. SSL/TLS
  4. TCP
  5. DNS
  6. HTTP Cache
  7. CORS
  8. http status code

linux(shell)知识点

  1. bashrc vs profile
  2. vim
  3. shell基本语法
  4. shell 知识误区
  5. shell命令
  6. 鸟哥的Linux私房菜:基础学习篇
  7. sudo vs su

Clone this wiki locally