常见Linux工具用法

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

内容简介:记录一下常见工具的用法。目前包括:命令行设置各种代理服务器的方法;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-2 / 108.00元

你想成为一名电子游戏设计师吗?想知道《肯塔基0号路》《到家》《枪口》等独立游戏的制作理念及过程吗?想了解《戈莫布偶大冒险》《辐射3》《战争机器》中关卡设计的奥秘吗?本书用通俗易懂的文字介绍了在游戏开发与策划过程中,需要掌握的游戏设计原理和制作的基础知识,可以作为读者从“构思一个电子游戏”到“真正完成一个电子游戏”的完备指南。 本书以系统的游戏设计流程结合大量优秀的游戏设计案例进行讲解,让读者......一起来看看 《国际游戏设计全教程》 这本书的介绍吧!

在线进制转换器
在线进制转换器

各进制数互转换器

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具