linux入门(一)

瘦欲@ 提交于 2020-08-20 07:59:18

在开始写今天的文档之前, 我自己先BB几句, 还记得自己刚大学毕业的时候, 连一个windows的cmd命令都不会, 感觉别人玩一个ping, 或者查看个ip和mac地址啥的, 都觉得牛逼的不得了.算起来自己也是从linux入门计算机,shell应该是自己接触到的第一个开发黑窗口了, 后来慢慢会了, 才觉得也就是那么回事吧.呵呵

如果大家想快速学习一下, 还是推介大家看一下这个网址, 网址为: http://www.apelearn.com/study_v2/index.html, 其实我自己就是阿铭老师一个弟子, 在他的带领下自己才走入互联网的公司大门.

接下来, 就来整理一下自己曾经学到的一些知识吧

1. linux的发行版本


其实说实话, 我自己对linux的发行版本也不是很了解, 你如果网上一搜的话, 一大堆, 较知名的发行版有:Ubuntu、RedHat、CentOS、Debain、Fedora、SuSE、OpenSUSE、TurboLinux、BluePoint、RedFlag、Xterm、SlackWare等, 但是就这么多版本中, 我就接触过前三个, 可能自己比较垃圾吧(嘿嘿)

其实说起linux, 我在第一份工作的时候, 最新接触的是unix系统, 后来才知道unix是linux系统的前身, 命令啥的都差不多, 但是还是有一些细小的差距.但是当时我在银行的系统中,看到内存是1T的时候, 当时感叹了很长时间.这么牛逼的内存, 自己平时是没有见过, 后来在大型互联网公司, 而且那时银行也是有钱啊, 随着这几年, 这个硬件设备可能也比较常见了.

在回来说说发行版本, 就前三个我都接触过, 公司大部分用的是CentOS的系统, 个人办公电脑上, 很多大佬要么用的是Ubuntu, 或者是mac(本身就是Unix系统),RedHat就是收费版本的CentOs, 你可以这么简单的理解吧

其实很多人在玩linux的时候, 都在乎是否有个什么证书,其实在工作岗位中, 这个其实不是特别重要, 只要你技术过硬, 其他就不是问题, 但是如果你要提名, 或者国有企业的时候, 这个装逼特别管用.你们懂就好了.

2. 创建虚拟机


如果你还使用的是windows, 这个没有关系, 大家常用的vmware和virtualbox, virtualbox是免费的, vmWare是收费的, 但是国内的情况, 大家还是很懂的.

虚拟机的网卡三种模式:

1.仅主机模式:虚拟机用网线和pc连接

2.桥接:虚拟机和本机并列关系,网段一样,(相当于两个pc)

3.nat模式:pc路由转发,虚拟机把pc当成路由器

3. 安装操作系统


安装操作系统, 我觉得大家还是根据铭哥的教程吧, 这个还是很详细的.http://www.apelearn.com/study_v2/chapter4.html

值得说的是, 其实在大多数工作中, 很多操作系统的分区是我们需要说一下的, 一般分区的话, 大家可以都采用这种方式:

  • /: 根分区, 一般分20g, 应该是基本的系统操作使用了
  • /swap: swap分区,一般是内存的2倍 最大8g(后期可以增加) http://www.apelearn.com/study_v2/chapter9.html#swap
  • /boot boot启动所需要的东西,大概也就97M左右, 那分200M就好了
  • /data 存放主要的数据和安装的程序, 剩下所有的磁盘空间都放在这里

4. ip配置


如果你安装完操作系统, 不得不说的是需要配置一下系统的IP地址了, 这个必须的骚操作

如果你是一个菜鸟, 登陆系统以后, 先给他来一个自动获取IP地址的命令:

# 自动获取ip地址

[root@localhost ~]# dhclient
#查看获取到的ip地址
[root@localhost ~]# ifconfig
#编辑网卡配置文件, 不同的系统最后一个名字可能会有差异[root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0IPADDR=10.72.137.85NETMASK=255.255.255.0GATEWAY=10.72.137.1ONBOOT=yes  #开机启动BOOTPROTO=static  #静态的ip地址#重启网卡[root@localhost ~]# service network restart正在关闭接口 eth0:[确定]关闭环回接口:[确定]弹出环回接口:[确定]弹出界面 eth0:[确定]

5. 入门命令


a. 切换目录

  • cd切换到根目录

  • cd ~切换到根目录

  • cd -返回上一个目录(类似回看)

  • cd .. 返回上一级目录

b. 查看目录

  • ls -l 查看详情

  • ls -h 展示适当的大小

  • ls -t 时间排序

  • ls -r 反序

  • ls -a 查看全部

一般使用: ls -lhtr

c. 输出

  • echo "hello world"

d. 创建和删除目录

  • mkdir abc

  • rm -rf abc

e. 复制

  • cp -r 避免提示信息

f. 重命名和移动文件

  • 移动文件 mv 1.txt /home/admin
  • 重命名: mv 1.txt 2.txt

6. 互信


在linux服务器上操作, 免密登陆这个骚操作你一定要会啊, 也是你的装逼神器, 并且给你减少很多工作量

6.1 配置互信

  1. 准备两台服务器

ip1:192.168.1.10

ip2:192.168.1.11

  1. 确保两台服务器的selinux和防火墙关闭

两台服务器, 首先保证两台服务器的selinex是关闭的, 可以通过下面命令查看防火墙的情况:

[root@localhost ~]# sestatus

如果结果不为disabled, 修改vim /etc/selinux/config修改为如下:

SELINUX=disabled

防火墙iptables如果你玩的不是特别溜, 也可以关闭,

[root@localhost ~]# iptables -F
  1. 在ip1上创建秘钥对
[root@localhost ~]# ssh-keygen
# 一般都直接按回车就好了

在目录/root/.ssh/下面生成了秘钥对, 秘钥和公钥是成对出现的, 好比一把钥匙只能开一把锁.

a. id_rsa (私钥)

b. id_rsa.pub (公钥)

4.在ip2上进行配置

执行如下命令:

[root@localhost ~]# mkdir /root/.ssh
[root@localhost ~]# scp root@192.168.1.11:/4root/.ssh/id_rsa.pub /root/.ssh/ip1_keys
[root@localhost ~]# mv /root/.ssh/ip1_keys /root/.ssh/authorized_keys
[root@localhost ~]# chmod -R 600 /root/.ssh/

权限有要求,一定是600,特别是非root用户的时候

这样ip1就可以免密登陆ip2了.

6.2 ssh免密码登陆的原理

下面套用赵强老师的一张图, 讲的还是很清楚的.有对大数据感兴趣的,可以联系他的公众号: IT悦读会
ssh免密登陆是非对称加密.

linux入门(一)

  1. 机器A先生成一对秘钥对, 公钥和私钥
  2. 把公钥给机器B
  3. 机器B拿到机器A的公钥
  4. 机器B随机产生一个随机字符串, 例如: helloworld
  5. 机器B用机器A的公钥加密随机字符串: helloworld -> **
  6. 机器B把加密后的字符串发给机器A
  7. 机器A得到机器B的发来的加密的字符串
  8. 机器A使用自己的私钥解密加密的字符串
  9. 把解密出来的helloworld发送给机器B
  10. 机器B接收到机器A的helloworld
  11. 对比第四部和第10步的随机字符是否一样.

如果你觉得我写的不错, 就点个赞吧,点赞是一种态度.如果你想跟我多交流, 或者给我投稿, 也非常支持, 但只支持原创啊: 本人公众号stormling, 欢迎来聊我!

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!