ubuntu 上的一些常见操作命令

远程文件拷贝

拷贝远程文件到本地

1
scp remote_user@remote_host:remote_file_path  local_file_path

拷贝本地文件到远程

1
scp local_file remote_user@remote_host:remote_file

解决 Grunt watch error - Waiting…Fatal error: watch ENOSPC

1
fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p

解决git权限问题

1
sudo chown -R $USER:$USER "$(git rev-parse --show-toplevel)/.git"

文件字符统计

1
2
3
4
5
6
cat Member.php  | tr -s '!/ $;:,*.[]{}()=-' '\n' | uniq -c | sort -n
cat Member.php | sed -e 's/\'/\n/ | uniq -c | sort -n
cat Member.php | tr -s [:punct:] '\n' | tr -s ' ' '\n' |
cat Member.php | tr -s [=\'=] '\n' | tr -s ' ;,[](){}$=!*/>.&:\\@?-' '\n' | uniq -c
cat Member.php | tr -s [:punct:] '\n' | tr -s ' ' '\n' | awk '{for(w=1;w<=NF;w++) print $w}' | sort | uniq -c | sort -nr
cat Member.php | tr -s [:punct:] '\n' | tr -s ' :' '\n' | sort | uniq -c | sort -n

查看端口占用

1
lsof -i tcp:26017

关闭端口

1
sudo fuser -k 80/tcp

用到的docker命令

1
2
3
4
5
# 删除为none的docker iamge
docker rmi `docker images | grep none | sed "s/\(\s\+\)/:/g" | cut -f 3 -d ":"`

# 停止所有的docker容器
docker stop `docker ps -aq`
  • shift 移除第一个元素
  • 字符串截取: ${cmd:0:1} 从第一个字符开始,截取一位
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#!/bin/bash

cmd=$1
#Get first char of the first arg
cmd=${cmd:0:1}

#Remove first arg from args
shift

if [ $cmd == 'l' ];then
local $@
else
remote $@
fi