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
安装图解如下:
第⼀步,新建虚拟机如下图:
第⼆步,选择相关选项,如下图:
第三步选择“稍后安装操作系统”,如下图:
第四步,选择客户机操作系统类型如下图:
第五步,设置虚拟机硬盘⼤⼩为20G,最低不能⼩于5G,如下图:
第六步,虚拟机新建完成,如下图:
第七步,修改虚拟机内存为512M,并添加ISO镜像,如下图:
⾃此,虚拟机新建完成,接下来点击“启动此虚拟机”进⾏Linux系统安装,Linux系统安装图解如下:
第⼀步,进⼊安装界⾯,直接按Enter回车键即可。
第⼆步,光盘检测,选择SKIP跳过。
第三步,选择安装过程中的语⾔,初学者可以选择“简体中⽂”。
第四步,选择初始化整个硬盘,清除所有数据。
第五步,选择分区⽅式为“⾃定义分区“。
第五步,点击“新建“-⾸先创建⼀个swap交换分区,⼤⼩为物理内存的2倍(1024M)。
第六步,继续创建分区,选择“新建“,然后创建根分区/,如下图选择,⼤⼩为剩余所有空间即可。
第七步,默认点击下⼀步,同时默认DHCP配置,时钟选择上海,去掉UTC勾,点击下⼀步。
第⼋步,设置root密码,⾄少六位,点击下⼀步。
第九步,系统安装包选择,这⾥选择“现在定制“。
第⼗步,系统安装包选择,左侧选择“开发“----右侧选择”开发⼯具“和“开发库”,语⾔选择“⽀持中⽂“,其他⼀概不选择。
安装完毕会提⽰“reboot“,直接回车即可。
1. 4 Linux学习技巧
初学者可以⾃⼰安装虚拟机,然后把linux常⽤命令例如cd、ls、chmod、useradd、vi等等多练习⼏⼗遍,把⾃⼰敲打命令的熟练程度提升上来。
然后根据⽂档搭建Linux下常见的各种服务(DHCP、SAMBA、DNS、Apache、Mysql等),遇到问题后可以在google搜索,搜索的时候多看⼏篇⽂章,综合最好的⽂章来解决问题。
能够熟练的搭建服务后,理解每个服务的完整配置和优化,可以拓展思维。例如LAMP,我们⼀般是把所有服务放在⼀台机器上,如果分开多台该如何部署呢?等等。
平时多积累shell编程,可以在⽹上查前辈们写的⾮常好的shell,⾃⼰下载下来多练习⼏遍,从中吸取,不断提⾼。
建⽴⼀个⾃⼰的学习博客,把平时⼯作学习中的知识都记录在⾥⾯,这样也可以供别⼈来参考同时也能提⾼⾃⼰的编写⽂档及⽅案的能⼒。通过以上学习能够满⾜企业的⼀般应有,需要达到资深级别,还需要深⼊学习集架构、负载均衡、⾃动化运维、运维开发等知识。最后还是⼀句话:多练习才是硬道理!实践出真知!
linux 编辑文本内容命令
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 (-r表⽰递归,-f表⽰强制)。
cp 拷贝⽂件,⽤法,cp / ,常⽤来备份;如果拷贝⽬录
需要加 –r参数。
mv 重命名或者移动⽂件或者⽬录,⽤法,
touch 创建⽂件,⽤法,,如果⽂件存在,则表⽰修改当前⽂件时间。
Useradd创建⽤户,⽤法 useradd wugk ,userdel删除⽤户。
Groupadd创建组,⽤法 groupadd wugk1 ,groupdel删除组。
find查⽂件或⽬录,⽤法 find /home -name “”,命令格式为:
find 后接查的⽬录,-name指定需要查的⽂件名称,名称可以使⽤*表⽰所有。
find /home -name “*.txt” ;查/home⽬录下,所有以.txt结尾的⽂件或者⽬录。
vi 修改某个⽂件,vi有三种模式:
命令⾏模式、⽂本输⼊模式、末⾏模式。
默认vi打开⼀个⽂件,⾸先是命令⾏模式,然后按i进⼊⽂本输⼊模式,可以在⽂件⾥写⼊字符等等信息。
写完后,按esc进⼊命令模式,然后输⼊:进⼊末⾏模式,例如输⼊:wq表⽰保存退出。
如果想直接退出,不保存,可以执⾏:q!, q!叹号表⽰强制退出。
cat 查看⽂件内容,⽤法 可以看到内容
more 查看⽂件内容,分页查看,cat是全部查看,如果篇幅很多,只能看到最后的篇幅。可以使⽤cat和more同时使⽤,例如: cat
|more 分页显⽰text内容,|符号是管道符,⽤于把|前的输出作为后⾯命令的输⼊。
echo 回显,⽤法 echo ok,会显⽰ok,输⼊什么就打印什么。
echo ok > ;把ok字符覆盖内容,>表⽰追加并覆盖的意思。
>>两个⼤于符号,表⽰追加,echo ok >> ,表⽰向⽂件追加OK字符,不覆盖原⽂件⾥的内容。
初学者常见的命令就如上所⽰,当然还有很多深⼊的命令需要学习,后⾯的课程会讲解。
2.1. 3 Linux⽤户权限管理
在Linux操作系统中,root的权限是最⾼的,相当于windows的administrator,拥有最⾼权限,能执⾏任何命令和操作。在系统中,通过UID 来区分⽤户的权限级别,UID等于0,表⽰此⽤户具有最⾼权限,也就是管理员。其他的⽤户UID依次增加,通过/etc/passwd⽤户密码⽂件可以查看到每个⽤户的独⽴的UID。wap24k99黄金行情价
每⼀个⽂件或者⽬录的权限,都包含⼀个⽤户权限、⼀个组的权限、其他⼈权限,例如下:
标红第⼀个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 /f ⽂件:
在该⽂件⾥⾯添加如下两条:
nameserver 202.106.0.20
nameserver 8.8.8.8
从上到下,分别表⽰主DNS,备DNS。配置完毕后,不需要重启⽹卡,DNS⽴即⽣效。
可以ping www.baidu 看看效果:
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 ntp.fudan.edu 复旦⼤学的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 即可!
修改f配置⽂件
cp /f /f.bak
vi /f 只修改如下两⾏,把#号去掉即可!
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
下⾯是参数详解:
restrict default ignore# 关闭所有的 NTP 要求封包
restrict 127.0.0.1# 开启内部递归⽹络接⼝ lo
restrict 192.168.0.0 mask 255.255.255.0 nomodify#在内部⼦⽹⾥⾯的客户端可以进⾏⽹络校时,但不能修改NTP服务器的时间参数。server 198.123.30.132#198.123.30.132作为上级时间服务器参考
restrict 198.123.30.132#开放server 访问我们ntp服务的权限
driftfile /var/lib/ntp/drift在与上级时间服务器联系时所花费的时间,记录在driftfile参数后⾯的⽂件内broadcastdelay 0.008#⼴播延迟时间
⾃此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 /f配置⽂件内容如下:
ddns-update-style interim;
ignore client-updates;
next-server 192.168.0.79;常量指针const
filename "pxelinux.0";
allow booting;
allow bootp;
perl版本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 "";
# 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;}
}
参数解析如下:
选项解释
ddns-update-style interim|ad-hoc|none 参数⽤来设置DHCP服务器与DNS服务器的动态信息更新模式:interim为DNS互动更新模式,ad-hoc为特殊DNS更新模式,none为不⽀持动态更新模式。
next-server ip pxeclient远程安装系统,指定tftp server 地址
filename开始启动⽂件的名称,应⽤于⽆盘安装,可以是tftp的相对或绝对路径
ignore client-updates为忽略客户端更新
subnet-mask为客户端设定⼦⽹掩码
option routers为客户端指定⽹关地址
domain-name为客户端指明DNS名字
domain-name-servers为客户端指明DNS服务器的IP地址
host-name为客户端指定主机名称
broadcast-address为客户端设定⼴播地址
ntp-server为客户端设定⽹络时间服务器的IP地址
time-offset为客户端设定格林威治时间的偏移时间,单位是秒
注意如上配置,需要修改成对应服务器⽹段IP,然后重启DHCP服务,/etc/init.d/dhcpd restart即可。
linux操作系统镜像客户端要从这个DHCP服务器获取IP,需要做简单的设置,如果是linux需要把/etc/sysconfig/network-scritps/ifcfg-eth0⾥BOOTPROTO相改成dhcp即可,windows机器的话,需要修改本地连接,把它设置成⾃动获取IP即可。
BOOTPROTO=dhcp
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论