1.2 Linux发行版简介

主流的Linux发行版 

Ubuntu, Debian GNU/Linux ,Fedora ,Gentoo ,MandrivaLinux ,PCLinuxOS,Slackware Linux ,openSUSE,ArchLinux,Puppylinux,Mint, CentOS,Red Hat等。

中国大陆的Linux发行版

  中标麒麟Linux(原中标普华Linux), 红旗Linux(Red-flag Linux) ,Qomo Linux(原Everest),冲浪Linux(Xteam Linux) ,蓝点Linux ,新华Linux ,共创Linux ,百资Linux ,veket, lucky8k-veket.Open Desktop ,Hiweed GNU/Linux ,Magic Linux ,Engineering Computing GNU/Linux ,kylin,中软Linux ,新华华镭Linux(RaysLX) ,CD Linux ,MC Linux ,即时Linux(Thizlinux) ,b2d linux ,IBOX ,MCLOS ,FANX,酷博linux,新氧Linux,Hiweed,Deepin Linux,雨林木风YLMF OS。


linux可以做什么?

做服务器、跑网站,个人PC,手机,门禁系统,取款机ATM,路由器,物联网都可以装Linux操作系统


学习Linux目的?

工作,拿高薪,基于兴趣,实现需求,安卓智能手机



1.3 如何学好Linux

孰能生巧,坚持,制定学习计划,勤奋,总结,交流



1.4 创建虚拟机

安装VMware workstation

mirrors.sohu.com      可以下载镜像



1.5 安装centos系统

/boot 100           #/boot是不能加密的,加密了就启动不了

/swap 200           #目的为了和内存交换,内存不够用了,把内存的数据放到swap里;分为内存的2倍。小于4G就分为2倍,大于4G就分为8G就可以了。

/     剩下的空间


选择最小化安装是为了节省空间,还有装机的时间


1.6 配置IP地址

配置静态IP地址

vi /etc/sysconfig/network-scripts/ifcfg-eth0


wKiom1aLuPzSsB1OAAA49ON7RM8490.png

service network restart #重启网络服务

ifdown eth0    #停掉eth0网卡

ifup eth0      #开启eth0网卡

配置动态IP地址

dhclient



1.7 远程连接工具使用

Putty  xshell  SecureCRT

putty 选中就是复制



额外练习

当/boot/grub/grub.conf被删除时,重启后出现grub那样的界面,我们输入四条命令即可

grub>root (hd0,0)

grub>kernel /vmlinuz-2.6.32-431.el6.x86_64 ro root=/dev/sda3 rhgb quiet

grub>initrd /initramfs-2.6.32-431.el6.x86_64.img

grub>boot

然后重启后就可以登录进去了,但是/boot/grub下没有grub.conf文件,我们需要创建一个,然后编辑内容

default=0

timeout=3

hiddenmenu

title CentOS Enterprise linux Server

root (hd0,0)

kernel /vmlinuz-2.6.32-431.el6.x86_64 ro root=/dev/sda3 rhgb quiet

initrd /initramfs-2.6.32-431.el6.x86_64.img



1.8 密钥验证

打开PUTTYGEN,点击Genrate,鼠标来回晃动加载


wKiom1aLup-AbnZvAABjwt5pMd8058.png


然后创建公钥,key comment:是描述你的公钥名称

key passphrase:是输入你的密码

Confirm passphrase:是再次确认你的密码

save private key:保存你的私钥存放的位置

wKiom1aLuxqBiAhDAACuzomBzro334.png

在Linux上创建一个目录mkdir /root/.ssh,在创建公钥的文件vi /root/.ssh/authorized_keys,在把生成的公钥粘贴到authorized_keys这个文件里面。wKiom1aLvZLyb-kZAAB146ird_E987.png

wKioL1aLvcjSmAYvAACahIaoM_Q094.png

chmod 700 /root/.ssh/ #目录的权限

chmod 600 /root/.ssh/authorized_keys  #文件的权限


防火墙有两种:selinux    netfilter对应的工具就是iptables


关闭防火墙

setenforce 0 #临时关闭防火墙

永久关闭防火墙

vi /etc/selinux/config

enforcing改为disabled #永久关闭防火墙


iptabales -F #把防火墙临时的规则清除

service iptables save #清除的规则保存在/etc/sysconfig/iptables        永久关闭防火墙


点击之前保存的wuwu,点击road,点Auth,指定到之前保存的私钥,在回到Session点击save,以免下次重启时私钥路径不见。

wKiom1aLwgyQl1mqAACllG0baa0238.png

wKioL1aLwoLgohRvAAC1fuigjbY286.png



1.9 运行级别

runlevel可以查看运行级别,cat /etc/inittab(有七个运行级别)

init 6 = reboot = shutdown -r now     重启

init 0 = shutdown -h now       关机

查看支持安装的列表

yum grouplist

LANG=en(系统内置的环境变量) #中文变成英文

安装图形界面

yum groupinstall -y "Desktop"

yum groupinstall -y "X Window System"

init 5 或者 startx 开启图形



2.0 单用户模式

单用户模式(类似于Windows安全模式)

最常见就是更改root的密码

启动时按任意键

wKioL1aNCkeT7RLLAABr4jsEEcw240.png

e进入编辑模式,a更改内核的选项,c进入到命令行模式

我们按e编辑一下,选择第二行

wKiom1aNCvygUYHDAACelKLKpeQ487.png

 在quiet后面加上1、s(S)或者single,然后回车,再按b

wKiom1aNCyaBNt3OAABtKDBVtqo475.png

wKioL1aNC9WBcit8AACbELYjYDs648.png

进到单用户模式下passwd重新设置密码,然后reboot重启

wKioL1aNDG2DXuaOAAB8Q0swCK4003.png

然后reboot重启一下



2.1 救援模式

救援模式(类似于windows PE)

没有设置grub密码可以在单用户模式下更改密码,设置grub密码就要在救援模式下修改root密码

设置BIOS启动,选择CD-ROM Drive启动,F10保存

wKioL1aNDmWwFZ5LAAG86XlS3lo508.png

wKioL1aNDnmz-NlxAAGey8-6doo817.png

选择第三项

wKiom1aNDqqzjJa4AAEpOWVyghM581.png

保持默认,选择Continue

wKiom1aND7HyTnjNAAGHiI1s-Yc093.png

wKioL1aND_qypoTVAAD3U1BrCJk571.png

我们选择第一个Start shell

wKiom1aNEDrB-dhzAABved5A97Q150.png

bash-4.1#cd /mnt/sysp_w_picpath/

bash-4.1#vi /etc/passwd

更改root的密码

bash-4.1#chroot /mnt/sysp_w_picpath/               #相当于切换来原来的系统环境中

sh-4.1#passwd 

sh-4.1#exit

bash-4.1#init 0

然后进入到BIOS重新设置启动+Removable Devices



2.2 cd命令

cd  后面不加东西,就是进入到当前用户的家目录(whoami查看当前用户名字)
cd ~  这里的~符号也表示用户的家目录(cd == cd ~)
cd -  切换到上一次所在的目录
cd .  ..   其中.表示当前目录, ..表示上一级目录
注意区分绝对路径,相对路径概念,其中绝对路径是从/开始的



2.3 ls命令

命令ls (list)
-l   详细信息
-a  查看隐藏的文件或目录
-d  只看目录本身,不列出目录下面的文件和目录
-t  以时间先后排序,最新在最上面,最旧在最下面

-i (inode)每个文件或目录对应一个inode,iNode是唯一的



2.4 linux环境变量

echo $PATH 可以查看系统的环境变量PATH的值,使用which命令可以查看某个命令所在的绝对路径

which ls

ls --color=auto

alias    #就可以看到系统和自定义的别名

mv /bin/ls /tmp/
PATH=$PATH:/tmp/  这样我们可以使用/tmp/下面的可执行文件作为命令,只在当前终端生效,
让PATH永久生效的,需要把它加入到/etc/profile 里,重启生效,或者直接运行命令即时生效: 
source  /etc/profile                 #这个文件就是用来加载一些初始化变量的

PATH的作用:就是在usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin路径下查找命令,而不用去直接输入绝对路径。

alias设置命令的别名,例如 alias wuwu='ls -lt'  
解除别名使用 unalias  wuwu 
让别名永久生效,需要把设置别名的命令,加入到 ~/.bashrc 里


2.5 快捷键使用

Ctrl+c  取消命令

Ctrl+z 暂停命令        #fg恢复
Ctrl+a 光标到行首
Ctrl+e 光标到行尾
Ctrl+u 删除光标前所有字符
Ctrl+k 删除光标后所有字符
Ctrl+l 清屏 (clear)
Ctrl+d 退出登录 == exit  还有logout
Ctrl+s 锁住命令终端,按任何键都不会有反应
Ctrl+q 解锁命令终端

Ctrl+r 命令历史搜索




附加:

目录结构  (参考http://yangrong.blog.51cto.com/6945369/1288072
/bin, /sbin, /usr/bin, /usr/sbin  放命令的目录,sbin是超级用户root才可以用的命令
/boot Linux内核及引导系统程序所需要的文件目录
/dev 存放的是Linux的外部设备
/etc/ 配置文件目录
/home 用户家目录  命令:useradd
/lib  命令: ldd
/media, /mnt
/opt 是存放某些大型软件或者某些特殊软件的目录
/proc  系统内核映射
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
/root root用户家目录
/selinux 
/srv 存放一些服务启动之后需要提取的数据
/sys  
   /sys/class  包含所有注册在kernel里面的设备类型,链接到device
   /sys/dev 维护一个按照字符设备和块设备的主次号码列表,链接到device
   /sys/device  是全局设备结构体系,包含所有被发现的注册在各种总线上的各种物理设备,是内核对系统中所有设备的分层次表达模型,也是/sys文件系统管理设备的最重要的目录结构
   /sys/fs 描述系统中所有的文件系统
   /sys/kernel 存放的是内核中所有可调整的参数
/tmp 临时文件
/usr  用户程序存放目录,类似win program files文件夹
/var 存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。
更详细参考  http://www.360doc.com/content/14/0607/16/203871_384577619.shtml