常见Linux工具用法

栏目: 编程工具 · 发布时间: 4年前

内容简介:记录一下常见工具的用法。目前包括:命令行设置各种代理服务器的方法;ssh的各种用法;git上传大文件的方法。设置,假设用户名为b,服务器为B:把公钥加到的服务器:

记录一下常见 工具 的用法。目前包括:命令行设置各种代理服务器的方法;ssh的各种用法;git上传大文件的方法。

目录

  • 命令行使用代理的方法(不修改配置文件)
    • git上传大文件到github
    • 保持连接(某些服务器会定期踢掉没有活动的客户端)
    • 通过ssh连接两台内网机器
    • 用浏览器访问内网的HTTP服务
    • 家里用浏览器访问公司内网的HTTP服务
    • 某个端口只开放给某个ip

命令行使用代理的方法(不修改配置文件)

docker build的代理

docker build --build-arg http_proxy=http://myproxy:1080 --build-arg https_proxy=http://myproxy:1080 .

maven

mvn install -Dhttp.proxyHost=[PROXY_SERVER] -Dhttp.proxyPort=[PROXY_PORT] -Dhttp.nonProxyHosts=[PROXY_BYPASS_IP]

wget

wget -e use_proxy=yes -e http_proxy=$proxy http://www.google.com.hk

http_proxy=myproxy:1080 wget http://www.google.com.hk

pip

pip install --proxy http://user:password@proxyserver:port numpy

git

git -c "http.proxy=address:port" clone http://github.com/xxxx.git

apt-get

sudo http_proxy=http://yourserver apt-get update

git

git上传大文件到github

  1. 安装git lfs,参考 官网
  2. 进入repo执行
    git lfs install
  3. track大文件
    git lfs track my-large-file.gz
    git add .gitattributes
  4. 用普通的git命令add大文件
    git add my-large-file.gz
    git commit -m "add larg file"
    git push

ssh

无密码登录

ssh-keygen -t rsa
# 然后一路回车

设置,假设用户名为b,服务器为B:

ssh b@B mkdir -p .ssh

把公钥加到的服务器:

cat .ssh/id_rsa.pub | ssh b@B 'cat >> .ssh/authorized_keys'

测试:

ssh b@B

如果还是要输入密码,很可能是服务器上文件的权限不对:

chmod 700 .ssh
chmod 640 .ssh/authorized_keys

基本用法

ssh -l lili ai-dev
ssh lili@ai-dev

用identity文件登录

ssh -i id_file

用scp复制文件

scp abc lili@ai-dev:~/; scp lili@ai-dev:~/abc ~/abc.bak
# 直接从远程的ai-dev复制到spark2,不需要登录服务器
scp lili@ai-dev:~/abc lili@spark2:~/

远程执行命令

ssh lili@ai-dev "ls ~/"

使用22之外的端口

ssh -p 22222 
scp -P 22222

保持连接(某些服务器会定期踢掉没有活动的客户端)

修改.ssh/config

Host myhostshortcut
     HostName myhost.com
     User lili
     ServerAliveInterval 30

通过ssh连接两台内网机器

比如想在家里访问公司的内网机器,但是没有VPN,则可以使用Port Forwarding。要求:

  • 一台有外网ip的服务器(比如阿里云服务器ai-dev)
  • 两台内网机器都可以访问这台外网服务器

在被ssh的内网机器上:

ssh -f -N -T -R33333:localhost:22 lili@ai-dev

在家里的机器:

ssh lili@ai-dev -t ssh -p 33333 lili@127.0.0.1

用浏览器访问内网的HTTP服务

要求:

  • 浏览器所在机器可以ssh某内网服务器(ai-dev)
  • 内网服务器(ai-dev)可以访问HTTP服务
ssh -D 12345 lili@ai-dev

设置浏览器使用socks5代理,ip是127.0.0.1,端口是12345。

家里用浏览器访问公司内网的HTTP服务

要求:

  • 一台有外网ip的服务器(比如阿里云服务器ai-dev)
  • 家里和内网服务器机器都可以访问这台外网服务器

公司内网机器:

ssh -f -N -T -R33333:localhost:22 lili@ai-dev

家里:

ssh -L 8001:localhost:8002 lili@ai-dev -t ssh -D 8002 -p 33333 lili@127.0.0.1

家里浏览器使用socks5代理,localhost 8001。

iptables

某个端口只开放给某个ip

iptables -A INPUT -p tcp --dport 7071 -s 1.2.3.4 -j ACCEPT
iptables -A INPUT -p tcp --dport 7071 -j DROP

注意:上面的命令重启后会失效。

sudo apt-get install iptables-persistent

然后每次修改iptables执行(Ubuntu 14.04):

sudo /etc/init.d/iptables-persistent save 
sudo /etc/init.d/iptables-persistent reload

Ubuntu 16.04:

sudo netfilter-persistent save
sudo netfilter-persistent reload

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

趣学算法

趣学算法

陈小玉 / 人民邮电出版社 / 2017-7-1 / 89.00元

本书内容按照算法策略分为7章。 第1章从算法之美、简单小问题、趣味故事引入算法概念、时间复杂度、空间复杂度的概念和计算方法,以及算法设计的爆炸性增量问题,使读者体验算法的奥妙。 第2~7章介绍经典算法的设计策略、实战演练、算法分析及优化拓展,分别讲解贪心算法、分治算法、动态规划、回溯法、分支限界法、线性规划和网络流。每一种算法都有4~10个实例,共50个大型实例,包括经典的构造实例和实......一起来看看 《趣学算法》 这本书的介绍吧!

SHA 加密
SHA 加密

SHA 加密工具

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换