-c -o linux_Linux入门基础

  1. 1 Linux操作系统简介

  Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

  1991年的10月5日,Linux创始人林纳斯·托瓦兹(Linus Torvalds)在comp.os.minix新闻组上发布消息,正式向外宣布Linux内核的诞生,1994年3月,Linux 1.0发布,代码量17万行,当时是按照完全自由免费的协议发布,随后正式采用GPL(General Public License的缩写,是一份GNU通用公共授权)协议。

  Linux具有如下优点:

  Ø 稳定、免费或者花费少

  Ø 安全性高

  Ø 多任务,多用户

  Ø 耗资源少

  Ø 由于内核小,所以它可以支持多种电子产品,如:Android手机、PDA等。

  1. 2 Linux发展趋势

  随着IT产业的不断发展,用户对网站体验要求也越来越高,而目前主流网站后端承载系统都是Linux系统,目前Android手机全部基于Linux内核研发。企业大数据、云存储、虚拟化等先进技术都是基于Linux系统。

  2010年据有关权威部门统计:将来几年内我国软件行业的从业机会十分庞大,中国每年对软件人才的需求将达到50万人左右。而对于Linux 专业人才的就业前景,更是广阔;据悉在未来5-10年内 Linux 专业人才的需求将达到 120 万+!尤其是有经验的资深的Linux工程师目前非常的缺乏,薪资也是非常诱人,平均月薪都是15-20K,能力强的薪资更高。

  所以机会对每个人都是公平的,关键是我们每个人如何去行动,选择大于努力。

  1. 3 Linux系统安装

  在安装Linux系统之前,先来了解windows系统结构,windows系统一般是安装在C盘系统盘,同样Linux也有类似的系统盘(/根分区),Linux通常分区为(根分区/、swap分区),Linux系统以文件的存储方式,所有的文件都是存储在某个目录下的,类似于windows的文件夹。

  对于文件系统的属性来说,windows文件系统类型一般是ntfs、fat32等,而Linux文件系统类型则为ext2、ext3、ext4等(文件系统:是操作系统用于明确磁盘或分区上的文件的方法和数据结构,文件系统由三部分组成:与文件管理有关软件、被管理文件以及实施文件管理所需数据结构。)

  安装 Linux系统是每一个初学者的第一个门槛。在这个过程中间,最大的困惑莫过于给硬盘进行分区。虽然现在各种发行版本的 Linux 已经提供了友好的图形交互界面,但是很多人还是感觉无从下手。这其中的原因主要是不清楚 Linux 的分区规定。就好比如果我们了解了windows分区的规则,系统盘C、数据盘D等,就很好分区了。

  在 Linux 中规定,每一个硬盘设备最多只能有 4个主分区(其中包含扩展分区)构成,任何一个扩展分区都要占用一个主分区号码,也就是在一个硬盘中,主分区和扩展分区一共最多是 4 个。

  下面正式来安装Linux系统,安装系统前需要准备如下软件:

  ü VMware workstation 10.0

  ü CentOS 5.8 x86_i386.iso

  1. 4 Linux学习技巧

  初学者可以自己安装虚拟机,然后把linux常用命令例如cd、ls、chmod、useradd、vi等等多练习几十遍,把自己敲打命令的熟练程度提升上来。

  然后根据文档搭建Linux下常见的各种服务(DHCP、SAMBA、DNS、Apache、Mysql等),遇到问题后可以在google搜索,搜索的时候多看几篇文章,综合最好的文章来解决问题。

  能够熟练的搭建服务后,理解每个服务的完整配置和优化,可以拓展思维。例如LAMP,我们一般是把所有服务放在一台机器上,如果分开多台该如何部署呢?等等。

  平时多积累shell编程,可以在网上查找前辈们写的非常好的shell,自己下载下来多练习几遍,从中吸取,不断提高。

  建立一个自己的学习博客,把平时工作学习中的知识都记录在里面,这样也可以供别人来参考同时也能提高自己的编写文档及方案的能力。

  通过以上学习能够满足企业的一般应有,需要达到资深级别,还需要深入学习集群架构、负载均衡、自动化运维、运维开发等知识。最后还是一句话:多练习才是硬道理!实践出真知!

  1. Linux系统篇

  2.1 Linux系统管理

  通过前两章的学习,我们已经能够独立安装Linux系统,已经掌握了Linux学习的技巧,那接下来,我们将系统的来了解Linux系统各目录、权限及常用命令的使用。

  2.1. 1 Linux目录初识

  通过前面的学习,我们已经能够独立安装完一个linux系统,那接下来我们来熟悉一下Linux系统里面的各个目录文件夹的大致功能:

  主要的目录树的有/、/root、/home、/usr、/bin等目录。下面是一个典型的linux目录结构

  / 根目录

  /bin 存放必要的命令

  /boot 存放内核以及启动所需的文件

  /dev 存放设备文件

  /etc 存放系统配置文件

  /home 普通用户的宿主目录,用户数据存放在其主目录中

  /lib 存放必要的运行库

  /mnt 存放临时的映射文件系统,通常用来挂载使用。

  /proc 存放存储进程和系统信息

  /root 超级用户的主目录

  /sbin 存放系统管理程序

  /tmp 存放临时文件

  /usr 存放应用程序,命令程序文件、程序库、手册和其它文档。

  /var 系统默认日志存放目录

  2.1. 2 Linux必备命令

  默认进入系统,我们会看到这样的字符: [root@localhost ~]#,其中#代表当前是root用户登录,如果是$表示当前为普通用户。

  我们了解linux由很多目录文件构成,那我们来学习第一个Linux命令:

  cd命令, cd /home ;解析:进入/home目录

  cd /root 进入/root目录 ;cd ../返回上一级目录;cd ./当前目录;(.和..可以理解为相对路径;例如cd /hom/test ,cd加完整的路径,可以理解为绝对路径)

  接下来继续学习更多的命令:

  ls ./ 查看当前目录所有的文件和目录。

  ls -a 查看所有的文件,包括隐藏文件,以.开头的文件。

  pwd显示当前所在的目录。

  mkdir创建目录,用法mkdir test ,命令后接目录的名称。

  rmdir 删除空目录

  rm 删除文件或者目录,用法 rm –rf test.txt (-r表示递归,-f表示强制)。

  cp 拷贝文件,用法,cp old.txt /tmp/new.txt ,常用来备份;如果拷贝目录

  需要加 –r参数。

  mv 重命名或者移动文件或者目录,用法, mv old.txt new.txt

  touch 创建文件,用法,touch test.txt,如果文件存在,则表示修改当前文件时间。

  Useradd创建用户,用法 useradd wugk ,userdel删除用户。

  Groupadd创建组,用法 groupadd wugk1 ,groupdel删除组。

  find查找文件或目录,用法 find /home -name “test.txt”,命令格式为:

  find 后接查找的目录,-name指定需要查找的文件名称,名称可以使用*表示所有。

  find /home -name “*.txt” ;查找/home目录下,所有以.txt结尾的文件或者目录。

  vi 修改某个文件,vi有三种模式:

  命令行模式、文本输入模式、末行模式。

  默认vi打开一个文件,首先是命令行模式,然后按i进入文本输入模式,可以在文件里写入字符等等信息。

  写完后,按esc进入命令模式,然后输入:进入末行模式,例如输入:wq表示保存退出。

  如果想直接退出,不保存,可以执行:q!, q!叹号表示强制退出。

  cat 查看文件内容,用法 cat test.txt 可以看到test.txt内容

  more 查看文件内容,分页查看,cat是全部查看,如果篇幅很多,只能看到最后的篇幅。可以使用cat和more同时使用,例如: cat test.txt |more 分页显示text内容,|符号是管道符,用于把|前的输出作为后面命令的输入。

  echo 回显,用法 echo ok,会显示ok,输入什么就打印什么。

  echo ok > test.txt ;把ok字符覆盖test.txt内容,>表示追加并覆盖的意思。

  >>两个大于符号,表示追加,echo ok >> test.txt,表示向test.txt文件追加OK字符,不覆盖原文件里的内容。

  初学者常见的命令就如上所示,当然还有很多深入的命令需要学习,后面的课程会讲解。

  2.1. 3 Linux用户权限管理

  在Linux操作系统中,root的权限是最高的,相当于windows的administrator,拥有最高权限,能执行任何命令和操作。在系统中,通过UID来区分用户的权限级别,UID等于0,表示此用户具有最高权限,也就是管理员。其他的用户UID依次增加,通过/etc/passwd用户密码文件可以查看到每个用户的独立的UID。

  每一个文件或者目录的权限,都包含一个用户权限、一个组的权限、其他人权限,例如下:

  标红第一个root表示该文件所有者是root用户,第二个root代表该文件的所属的组为root组,其他用户这里默认不标出。

  [root@node1 ~]# ls -l monitor_log.sh

  -rw-r--r-- 1 root root 91 May 7 20:21 monitor_log.sh

  [root@node1 ~]#

  如果我们想改变某个文件的所有者或者所属的组,可以使用命令chown

  chown –R test:test monitor_log.sh即可。

  每个Linux文件具有四种访问权限:可读(r)、可写(w)、可执行(x)和无权限(-)。

  利用ls -l命令可以看到某个文件或目录的权限,它以显示数据的第一个字段为

  准。第一个字段由10个字符组成,如下:

  [root@node1 ~]# ls -l monitor_log.sh

  -rw-r--r-- 1 root root 91 May 7 20:21 monitor_log.sh

  [root@node1 ~]#

  第一位表示文件类型,-表示文件,d表示目录;后面每三位为一组。

  第一组:2-4位表示文件所有者的权限,即用户user权限,简称u

  第二组:5-7位表示文件所有者所属组成员的权限,group权限,简称g

  第三组:8-10位表示所有者所属组之外的用户的权限,other权限,简称o

  从上面这个文件,我们可以看出,monito_log.sh文件对应的权限为:

  root用户具有读和写的权限,root组具有读的权限,其他人具有读的权限。

  为了能更简单快捷的使用和熟悉权限,rwx权限可以用数字来表示,分别表示为r(4)、w(2)、x(1)。

  Monitor_log.sh权限可以表示为:644

  如果给某个文件授权,命令为chmod:chmod 777 monitor_log.sh

  2.1. 4 Linux网络配置管理

  熟悉了常用的命令和Linux权限,那接下来如何让所在的Linux系统上网呢?管理linux服务器网络有哪些命令呢?

  Linux服务器默认网卡配置文件在/etc/sysconfig/network-scripts/下,命名的名称一般为:ifcfg-eth0 ifcfg-eth1 ,eth0表示第一块网卡,eth1表示第二块网卡,依次类推。一般DELL R720标配有4块千兆网卡。

  修改网卡的IP,可以使用命令: vi /etc/sysconfig/network-scripts/ifcfg-eth0 如果是DHCP获取的IP,默认配置如下:

  # Advanced Micro Devices [AMD] 79c970 [PCnet32 LANCE]

  DEVICE=eth0

  BOOTPROTO=dhcp

  HWADDR=00:0c:29:52:c7:4e

  ONBOOT=yes

  TYPE=Ethernet

  如果是静态配置的IP,ifcfg-eth0网卡配置内容如下:

  # Advanced Micro Devices [AMD] 79c970 [PCnet32 LANCE]

  DEVICE=eth0

  BOOTPROTO=static

  HWADDR=00:0c:29:52:c7:4e

  ONBOOT=yes

  TYPE=Ethernet

  IPADDR=192.168.33.10

  NETMASK=255.255.255.0

  GATEWAY=192.168.33.1

  网卡参数详解如下:

  DEVICE=eth0 #物理设备名

  ONBOOT=yes # [yes|no](重启网卡是否激活设备)

  BOOTPROTO=static #[none|static|bootp|dhcp](不使用协议|静态分配|BOOTP协议|DHCP协议)

  TYPE=Ethernet #网卡类型

  IPADDR=192.168.33.10 #IP 地址

  NETMASK=255.255.255.0 #子网掩码

  GATEWAY=192.168.33.1 #网关地址

  网卡配置完毕,重启网卡,命令: /etc/init.d/network restart 即可。

  查看ip命令:ifconfig 查看当前服务器所有网卡的IP,可以单独指定,ifconfig eth0 查看eth0的IP地址。

  网卡配置完毕,如果来配置DNS,首先要知道DNS配置在哪个目录文件下,vi /etc/resolv.conf 文件:

  在该文件里面添加如下两条:

  nameserver 202.106.0.20

  nameserver 8.8.8.8

  从上到下,分别表示主DNS,备DNS。配置完毕后,不需要重启网卡,DNS立即生效。

  可以ping http://www.baidu.com 看看效果

  IP配置完毕后,我们可以通过远程工具来连接Linux服务器,常见的Linux远程连接工具有:putty、secureCRT(主流)、xshell、xmanger等工具。

  下载安装secureCRT,打开工具,然后如图配置:

  点击左上角quick connect快速连接,弹出界面,然后输入IP,用户名,端口默认是22,然后点击下方的connect连接,会提示输入密码,输入即可。

  通过这几章的学习,我们已经熟练了Linux常用命令的操作,权限网络、网络配置、远程连接等知识,那接下来我们还能做什么呢?我们已经差不多入门了,接下来就是更进一步的服务配置,Linux系统到底用来做什么呢?接下来的章节将跟大家一起来学习。

  Linux系统的应用,我们最开始介绍的时候简单介绍过,目前大中型企业都用它来承载web网站、数据库、虚拟化平台等,那接下来我们将在Linux系统安装各种服务和软件来实现Linux真正的价值。

  2.1. 5 Linux软件包管理必备命令

  2. Linux服务篇

  3.1 Linux服务部署

  3.1. 1 构建NTP时间服务器

  NTP服务器是用于局域网服务器时间同步使用的,可以保证局域网所有的服务器与时间服务器的时间保持一致,某些应用对时间实时性要求高的必须统一时间。

  互联网的时间服务器也有很多,例如ntpdate http://ntp.fudan.edu.cn 复旦大学的NTP免费提供互联网时间同步。

  NTP服务器监听端口为UDP的123,那就需要在本地防火墙开启运行客户端访问123端口,vi /etc/sysconfig/iptables添加如下规则:

  -A INPUT -m state --state NEW -m udp -p udp --dport 123 -j ACCEPT

  NTP时间服务器配置:

  yum install ntp ntpdate -y 即可!

  修改ntp.conf配置文件

  cp /etp/ntp.conf /etc/ntp.conf.bak

  vi /etc/ntp.conf 只修改如下两行,把#号去掉即可!

  server 127.127.1.0 # local clock

  fudge 127.127.1.0 stratum 10

  以守护进程启动ntpd

  /etc/init.d/ntpd start 即可

  (注意*: ntpd启动后,客户机要等几分钟再与其进行时间同步,否则会提示“no server suitable for synchronization found”错误。)

  配置时间同步客户机

  crontab -e

  增加一行,在每天的6点10分与时间同步服务器进行同步

  10 06 * * * /usr/sbin/ntpdate ntp-server的ip >>/usr/local/logs/crontab/ntpdate.log

  备注:如果客户机没有ntpdate,可以yum –y install ntp 即可!

  以下是ntp服务器配置文件内容(局域网NTP,如果需要跟外网同步,添加外网server即可)

  driftfile /var/lib/ntp/drift

  restrict default kod nomodify notrap nopeer noquery

  restrict -6 default kod nomodify notrap nopeer noquery

  restrict 127.0.0.1

  restrict -6 ::1

  server 127.127.1.0 # local clock

  fudge 127.127.1.0 stratum 10

  includefile /etc/ntp/crypto/pw

  keys /etc/ntp/keys

  下面是参数详解:

15cb0b0d036e16d89ed95d4b53168a39.png

  自此NTP服务搭建完毕,然后在所有客户端crontab里面添加如下语句:

  0 0 * * * /usr/sbin/ntpdate 10.0.0.155 >>/data/logs/ntp.log 2>&1

  3.1. 2 构建DHCP服务器

  DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是一个局域网的网络协议,使用UDP协议工作,主要用途:给内部网络或网络服务供应商自动分配IP地址,DHCP有3个端口,其中UDP67和UDP68为正常的DHCP服务端口,分别作为DHCP Server和DHCP Client的服务端口。

  DHCP可以部署在服务器、交换机或者服务器,可以控制一段IP地址范围,客户机登录服务器时就可以自动获得DHCP服务器分配的IP地址和子网掩码。其中DHCP所在服务器的需要安装TCP/IP协议,需要设置静态IP地址、子网掩码、默认网关。

  正式安装DHCP服务:

  Yum install dhcp dhcp-devel –y 即可,然后修改DHCP /etc/dhcpd.conf配置文件内容如下:

  ddns-update-style interim;

  ignore client-updates;

  next-server 192.168.0.79;

  filename "pxelinux.0";

  allow booting;

  allow bootp;

  subnet 192.168.0.0 netmask 255.255.255.0 {

  # --- default gateway

  option routers 192.168.0.1;

  option subnet-mask 255.255.252.0;

  # option nis-domain "http://domain.org";

  # option domain-name "192.168.0.10";

  # option domain-name-servers 192.168.0.11;

  # option ntp-servers 192.168.1.1;

  # option netbios-name-servers 192.168.1.1;

  # --- Selects point-to-point node (default is hybrid). Don't change this unless

  # -- you understand Netbios very well

  # option netbios-node-type 2;

  range dynamic-bootp 192.168.0.100 192.168.0.200;

  host ns {

  hardware ethernet 00:1a:a0:2b:38:81;

  fixed-address 192.168.0.101;}

  }

参数解析如下:

40e804efe2db3182901a72ed03b8339e.png

534686bbb998ffadf19c4b6a52e06c49.png



注意如上配置,需要修改成对应服务器网段IP,然后重启DHCP服务,/etc/init.d/dhcpd restart即可。客户端要从这个DHCP服务器获取IP,需要做简单的设置,如果是linux需要把/etc/sysconfig/network-scritps/ifcfg-eth0里BOOTPROTO相改成dhcp即可,windows机器的话,需要修改本地连接,把它设置成自动获取IP即可。

BOOTPROTO=dhcp

Linux交流群:1126743406,大家可一起交流

linux基础

http://www.makeru.com.cn/course/details/2058?s=156461

快速上手linux

http://www.makeru.com.cn/live/1758_310.html?s=156461

Linux网络经典案例

http://www.makeru.com.cn/live/3485_1630.html?s=156461

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值