screen

查看当前screen列表 screen -ls

查看当前是在 screen 中还是真·终端里面 echo $STY, 如果回显为空就在真·终端,否则会有 screen id 显示

新建screen终端 可以直接输入 screen , 不过推荐使用 screen -R newName 这样可以创建一个名为 newName 的screen终端, 并且 -R 会检查是否有同名的终端, 而 -S 则不会

恢复detached screen: screen -r [pid/name] 更标准的用法应该是: screen -rd [pid/name] 这样先detach, 再attach。因为有些时候这个session是attached状态

C-a 控制命令

当前终端界面下, ctrl+a 将进入等待命令的状态, 此时

  1. 输入 d 会保存会话并后台运行
  2. 输入 [ 进入 copy/scrollback 模式,可以滚动查看之前终端输出的历史。按 esc 退出此模式

tar

  • -c Create tar or gz/bz/xz(if with -z/-j/-J)
  • -x extract
  • -f <filename>
  • -v verbose
  • -C change to directory
  • -t list

i.e.

Create tar: tar -cf abc.tar abc
Extract tar: tar -xf abc.tar

Create gz: tar -czf abc.tar.gz abc
Extract gz: tar -xzf abc.tar.gz
Extract gz to a specific dir: tar -xzf abc.tar.gz -C <some_path>

add new user

sudo adduser {{username}} groups {{username}} # view user’s groups sudo usermod -aG sudo {{username}} # add new user to sudo group

curl

curl -OnL <your_link> # -O output name as the remote file. -L follow redirects. -n use .netrc to authorize

curl 还可以断点续传: curl -C - -OL <your_link> # -C continue at offset. - means the last offset

fdisk du df

  • fdisk -l
  • du -sh
  • df -h

lsof

  • sudo lsof -i:8080
  • sudo lsof -i tcp:8080
  • sudo lsof -i udp:80

比如:

1
2
3
# lsof -i:8000
COMMAND   PID USER   FD   TYPE   DEVICE SIZE/OFF NODE NAME
nodejs  26993 root   10u  IPv4 37999514      0t0  TCP *:8000 (LISTEN)

有时显示的是:

1
2
3
# lsof -i:8080
COMMAND   PID USER   FD   TYPE   DEVICE SIZE/OFF NODE NAME
nginx  26993 root   10u  IPv4 37999514      0t0  TCP *:http-alt (LISTEN)

这里的 http-alt 可能就代表 8080, 可以通过 grep http-alt /etc/services 查看

systemctl

systemctl status abc.service systemctl cat abc –no-pager systemctl list-dependencies abc –no-pager

useful shell cmd

function proxy_off(){ unset http_proxy unset https_proxy unset all_proxy unset ftp_proxy unset rsync_proxy unset HTTP_PROXY unset HTTPS_PROXY unset FTP_PROXY unset RSYNC_PROXY echo -e “proxy off.” }

function proxy_on(){ export no_proxy="localhost,127.0.0.1,localaddress,.localdomain.com” export http_proxy="ip:port” export https_proxy=http_proxy export all_proxy=http_proxy export ftp_proxy=http_proxy export rsync_proxy=http_proxy export HTTP_PROXY=http_proxy export HTTPS_PROXY=http_proxy export FTP_PROXY=http_proxy export RSYNC_PROXY=http_proxy echo -e “proxy on.” }