Linux的一些命令

原文出处:http://mtyblog.sinaapp.com/?p=20

文章摘要:

本篇文章主要是介绍一些基础的常用的linux下的操作。包括以下几项:

  1. ssh、scp
  2. 重定向
  3. 配置java环境
  4. wget、tar,环境变量配置

SSH简介:

ssh是安全外壳协议,是Secure Shell的缩写。最初是Unix上的一个程序,后来扩展到其他的平台上。专门用于远程登录会话和其他网络服务提供安全性的协议。
——摘自百度百科

其实说白了,就是可以用来登陆到别的电脑或者服务器的小程序。

scp简单说一下,就是一个可以传输文件到别的服务器上的程序。类似于发邮件的感觉。

概念可以参考一些文章,我们主要来实战说明。

SSH实战:

我是将mac连接到linux上,都在本地局域网中。不管是什么系统相连接。原理都一样。

以下简称mac为A,linux为B

分为四步:

  1. 安装ssh
  2. A生成密钥
  3. A登陆B并且传输公钥
  4. 写入公钥到B
安装ssh:

B要安装OpenSSH-server(OpenSSH是SSH的一个开源实现)。A要安装OpenSSH-client端。以ubuntu为例就是:

sudo apt-get install openssh-server openssh-client

win就是下安装包安装。mac下源码或者是用brew都可以。sudo命令是为了获得权限,会提示你输入密码,输入完回车就好。

A生成密钥:

配置好环境之后,输入下列命令就可以生成密钥。

ssh-keygen -t rsa

输入命令后,一路回车即可,即都是默认配置。高级配置以后自己摸索吧。
生成好之后,发现目录下多了id_rsaid_rsa.pub两个文件。前者是密钥,后者是公钥。公钥要传输给B。

A登陆B并且传输公钥:

生成密钥之后,我们先尝试登陆一下B,输入以下命令登陆:

ssh user@hostip

user是你要登陆的B的用户名,也就是B的一个用户。

hostip是B的ip地址,这个在B中输入ifconfig查看。

例如我的命令就是:

ssh fkysly@192.168.1.108

机子会提示你不在known host里面,输入yes继续,再输入user的密码。然后终端提示符就会变成B的样子了,这就成功登陆了。输入exit可以退出。

我们要将A生成的公钥传输给B,为什么直接登录不行呢?不是不行,而是这样更安全,具体解释可以自己Google一下。
用scp就可以传输了,记住这里是在A上进行传输,要退出B的控制
要先进入A的.ssh目录:

cd .ssh

输入命令:

scp id_rsa.pub user@hostip:~/id_rsa.pub

这里有:~记住就行了,能理解就理解。

写入公钥到B:

我们将文件传输过去了,但是还没有在B上生效。我们要将公钥内容添加到B的.ssh目录下的authorized_keys文件中。
如果B中没有.ssh文件夹和authorized_keys文件,可以新建一个:

sudo mkdir .ssh
sudo gedit .ssh/authorized_keys

然后就可以写入公钥了:

sudo cat id_rsa.pub >> authorized_keys

操作完毕,现在退出之后输入命令:

ssh user@hostip

应该就可以直接登录了。

使用config配置ssh(可选):

经过了以上步骤,我们不需要输入密码了,但是我们需要每次都指定用户名和主机的ip地址。这是非常麻烦的,我们需要办法来解决这个。ssh给我们提供了设置的办法,可以在A的.ssh目录下新建一个config文件,按照标准格式配置别名就可以了。
命令如下:

cd .ssh
sudo gedit config

config设置如下(比如我要配置个别名叫dog):

Host dog
    HostName 192.168.1.108
    Port 22
    User fkysly
    IdentityFile id_rsa

这里port是端口号,可以根据需要填写。IdentityFile是指向你的密钥,也可以理解就是A的那个私钥了。id_rsa.pub对A来说已经没有用了。
现在登录B只需要输入:

ssh dog

大功告成!

重定向:

在上文中我们用到了重定向,这里简单说一下。
重定向是*nix下非常有用的命令,非常方便。
拿刚刚的命令举例:

sudo cat id_rsa.pub >> authorized_keys

cat命令是显示文件内容,”>>”是重定向的符号,它就把cat要显示的内容重定向到了authorized_keys文件。因为文件已经存在,所以就添加到了authorized_keys文件的末尾。这样就完成了我们要添加公钥的过程。

LINUX下配置JAVA环境

wget、tar命令:

首先需要下载java源码包。如果是桌面版可以直接登录 Oracle官网 下载jdk的包,
这里要介绍的是wget命令,可以直接下载文件的命令。

wget http://download.oracle.com/otn-pub/java/jdk/8-b132/jdk-8-solaris-x64.tar.gz

我这里下载的是linux64位的gz包,你也可以下其他的,只要跟着的是url就行了。
下载完毕,发现目录下多了一个文件,那个就是jdk的压缩文件了。

我们需要将其解压,我们一般在win下都是用WinRAR或者是7zip解压。这里可以用命令tar解压:

sudo tar -zxvf jdk-8-solaris-x64.tar.gz -C jdk

我们这里解压出来了,发现目录下多了一个jdk文件夹。cd命令打开它,可以看到里面是jdk1.x.xx(x是你下的版本)。

cd jdk

比如我下的是jdk8.0,那么我的文件夹就是jdk1.8.0。
我们不需要外层的jdk文件夹,直接移动出来里面的,并且删掉它。

sudo mv jdk1.8.0 ..
sudo rm -rf jdk

现在目录下就剩下jdk1.x.xx文件夹了。

但是目前还不能用,环境变量还需要配置。

环境变量配置

linux下有两个文件可以配置(ubuntu版本)。一个是/etc/profile,一个是用户目录下的.bashrc。前者是系统共用的,所以最好别改。后者是单个用户的自己的,我们改后面的。
打开.bashrc:

sudo gedit ~/.bashrc

文件末尾添加我们的环境变量设置:

export JAVA_HOME=~/jdk1.8.0
export JRE_HOME=$JAVA_HOME/jre  
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib  
export PATH=$JAVA_HOME/bin:$PATH

这里我用简单理解的方式说明一下:

export可以理解就是定义环境变量的命令,这里定义了4个环境变量,如果要在一个变量里面引用其他的变量,只要加个$前缀即可。linux下的环境变量分隔符是”:”。这里我们将jdk目录路径设置为JAVA_HOME变量,设置JRE_HOME为jdk目录下的jre目录。然后利用JAVA_HOME变量和JRE_HOME变量分别设置了CLASSPATH和PATH变量。其实前面两个也可以不需要,直接定义后面两个变量就行了。这里是为了以后的扩展性和可读性。

ok,现在可以测试一下是否成功:

java -version

出来信息就成功了!


转载请注明原文地址!

原文出处:http://mtyblog.sinaapp.com/?p=20


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值