快捷键
- 打开终端terminal:
CTRL + ALT + T
- 从命令行回到图形界面:
Ctrl+Alt+F7
- 打开搜索:
alt+f2
- 从图形界面回到命令行:
Ctrl+Alt+F2
tab
自动补全ctrl-r
搜索命令历史ctrl-w
删除最后的单词ctrl-u
删除整行fn-<-or->
光标移到行开头or结尾pstree -p
显示进程树sudo rm /var/lib/apt/lists/* -vf
常用命令
- 查看内存:
free -m
- 查看硬盘占用:
ls -al, du -h, ls -Rrs
- 查找某目录下占用空间最大的10个文件:
sudo du -a /var | sort -n -r | head -n 10
- 查看硬盘占用情况:
du -h --max-depth=1
- 硬盘空间统计排序:
sudo du -a /var | sort -n -r | head -n 10
- 查看系统:
df -h
- 修改用户密码:
sudo passwd root
- 切换用户:
su root
- 重启:
reboot
,shutdown -r xx
- 设置开机启动:
sudo /usr/sbin/update-rc.d -f nginx defaults
- 杀掉进程:
kill -9 $(lsof -i tcp:3000 -t)
- 杀死指定名字的进程:
killall xx
- 查看输入历史:
history
- 查看输入历史以xx开头的:
!xx
- 显示当前路径:
pwd
- 查看服务器ip:
ip addr
- 在init.d下的脚本可以加入service:
service 服务 命令
- 查看本地语言设置:
locale
- 修改语言全局设置:
vim /etc/default/locale
- 替换文件内容:
sed -i 's/172.31.16.235/172.31.24.70/g' api/fabfile.py
- 查找文件:
grep -5nr 'needSync: true' *
- 查看端口占用:
netstat -an | grep 3306
lsof -i:3232
- 查看系统版本:
lsb_release -a
- 查看cpu情况:
lscpu
- 立刻关机:
shutdown -h now
用户命令
- 添加用户(会加用户组及目录):
adduser user_name
- 添加用户到组:
adduser user_name group_name
- 添加用户(单纯加用户,其他需要指定):
useradd -m -s /bin/bash deploy
- 设置密码:
passwd user_name
- 修改文件权限:
chown -R deploy /var
- 开机启动设置:
sudo update-rc.d [-n] name default [NN | SS KK]
,NN表示执行序号(0-99),SS表示启动时的执行序号,KK表示关机时的执行序号,SS、KK主要用于在脚本直接的执行顺序上有依赖关系的情况下。 - 开机启动移除:
sudo update-rc.d [-n] [-f] name remove
- 查看当前目录下文件个数:
find ./ | wc -l
- 停止某个进程:
pkill -INT geth
输入输出
- 把标准输出重定向到文件中:
>
- 把标准输出追加到文件中:
>>
- 重定向标准输入:
<
- 把标准错误重定向:
2>
- 把标准输出和标准错误合并:
>out.txt 2>&1
- 管道:
|
- 导入环境变量:
export https_proxy=xxx
- 卸载环境变量:
unset https_proxy
文件操作命令
- 当前目录:
.
- 根目录:
/
- 当前家目录:
$HOME
,~
- 删除文件夹:
rm -rf
- 修改文件名:
mv file_name new_file_name
- 回到上一级目录:
cd ..
- 回到上一次目录:
cd -
- sublime打开本级目录:
subl .
- 新建文件夹:
mkdir file
- 新建文件:
touch file
- 查看文件详细信息:
stat
- 给文件加上执行权限:
chmod +x file
- 显示文件内容:
cat filename | tail -n +3000 | head -n 1000
- 逐页查看文件内容:
more/less
- 显示本目录下文件的详细内容:
ls -ln
- 查看改变中的文件内容:
tail -f file
- 显示最后几行:
tail -n 1000
- 显示文件前几行:
head -n 1000
- 显示多少行后的:
tail -n +1000
- 查看文件行数:
wc -l filename
- 查看文件大小:
du -sk file
- 查看当前所有文件大小:
du -sh *
- 查看文件夹大小:
du -sh
- 查看本目录文件情况:
sudo du -h -d 1
- 解压文件:
tar xvf my_backup.tar
- 清空(写入)文件:
echo "" > production.log
- 清空文件:
sudo truncate -s 0 syslog
- 复制文件和目录:
scp user@xx.com:/usr/local/sin.sh /home/xx
- 建立链接:
ln
- 建立软链接:
ln -s 源文件 目标文件
- find查找文件:
find <指定目录> <指定条件> <指定动作>, 比如find . -name 'my*' 搜索当前目录(含子目录,以下同)中,所有文件名以my开头的文件,可以使用xargs命令搭配使用
- whereis查找文件:
whereis命令只能用于程序名的搜索,而且只搜索二进制文件(参数-b)、man说明文件(参数-m)和源代码文件(参数-s)。如果省略参数,则返回所有信息
- which搜索文件:
which在PATH变量指定的路径中,执行命令的位置
网络命令
- 下载文件:
wget 路径
- 查看端口占用情况(显示各种网络相关信息):
netstat -lnp | grep -E '80|8080'
- 查看当前运行进程:
ps aux | grep nginx
- 查看进程:
pstree -p | grep mongod
- 查看端口运行情况:
telnet 127.0.0.1 11211
- 动态显示进程信息:
top(htop)
- 查看telnet状态:
stats
- 退出telnet:
control + ] quit
- 定时执行任务:
crontab
- 使用TCP或UDP协议的网络连接去读写数据:
nc
- 远程操控:
tmux attach, tmux
免密码登录
ssh-keygen -t rsa
本地机器生成keyscp -r id_rsa.pub root@ip:/root
复制本地key到远程机器- 在
cp id_rsa.pub ~/.ssh/authorized_keys
复制key到authorized_keys - 更新服务器:
ssh-keygen -R 服务器ip
- 使用私钥生成公钥:
ssh-keygen -y -f id_rsa > id_rsa.pub
screen 后台执行任务
- 查看会话:
screen -ls
- 切回会话:
screen -xr pid
- 清除dead会话:
screen -wipe
- 终止会话:
screen -S session_name -X quit
nohup 后台执行任务
- 执行命令:
nohup command &
- 查看任务:
jobs
系统后台执行任务
- ./xxx » /dev/null &
修改hosts
hosts文件修改ip默认后两个后缀 使用二级域名需要三个,例如:
127.0.0.1 xx.dev
127.0.0.1 bbs.xx.dev
日志分析
翻墙
export http_proxy=’http://localhost:8118’ export https_proxy=’http://localhost:8118’ sudo /usr/local/sbin/privoxy /usr/local/etc/privoxy/config
- 启动:
sudo /usr/local/sbin/privoxy /usr/local/etc/privoxy/config
clash下载[https://github.com/Dreamacro/clash]
github下载问题
- 关闭ipv6:
networksetup -setv6off Wi-Fi
- 打开ipv6:
networksetup -setv6automatic Wi-Fi
常见问题
- Could NOT find OpenSSL, try to set the path to OpenSSL root folder in the system variable OPENSSL_ROOT_DIR解决办法:
export OPENSSL_ROOT_DIR=$(brew --prefix openssl