成都明腾网站建设公司wordpress 浮窗播放器
一、初识Linux
     1、常用操作系统:Windows、MacOS、Linux、Unix
     2、Linux操作系统:内核版本和发行版本
         -》内核版本官网:https://www.kernel.org/
         -》关系:内核版 -》二次开发 -》加入自己的定制功能 -》发行版进行发行
     3、Linux操作系统通常会用在哪些地方?
         -》服务器:稳定性和安全性
         -》http://www.netcraft.com/  查看互联网公司服务器概述信息
         -》嵌入式开发:遥控器、电梯、ATM取款机
         -》移动端操作系统:安卓,iOS,MacOS
二、VMware虚拟机软件
     1、不推荐大家在物理机上安装linux操作系统,推荐安装VMWare,在这款软件中安装linux操作系统
     2、安装vmware常遇到的问题:
         -》开启虚拟化支持:进入BIOS操作界面,把虚拟化支持设置为enable
         -》检查是否开启了vmware的所有服务
         
 三、CentOS操作系统
     1、官网:https://www.centos.org/
     2、CentOS版本下载地址:https://wiki.centos.org/Download
     3、CentOS版本介绍:
         -》CentOS-6.5-x86_64-bin-DVD1.iso        标准版本
         -》CentOS-6.5-x86_64-netinstall.iso        在线安装
         -》CentOS-6.5-x86_64-LiveDVD.iso        阉割版
         -》    CentOS-6.5-x86_64-minimal.iso        最小化版
         
 四、网络配置
     1、虚拟机网络配置分三种模式:
         -》NAT(推荐),既能局域网访问,也能访问外网
         -》桥接模式,既能局域网访问,也能访问外网
         -》hostonly(仅本地模式),只能局域网访问,不能访问外网
     2、配置网卡信息
         -》编辑网卡:vi /etc/sysconfig/network-scripts/ifcfg-eth0
             - ONBOOT yes
             - BOOTPROTO static
             - IPADDR=192.168.109.51
             - NETMASK=255.255.255.0
             - GATEWAY=192.168.109.2
             - DNS1=192.168.109.2
             保存配置信息:按esc退出编辑模式,然后按shift + :,输入wq,按回车即可
         -》重启网卡服务
             - 命令:service network restart
         -》检查配置是否生效
             - 命令:ifconfig
     3、配置主机名
         -》可以用命令配置主机名,但是不是永久生效的,重启之后就会失效
             - hostname bd26-server1.ibeifeng.com   临时配置
         -》编辑network文件:vi /etc/sysconfig/network
             - HOSTNAME=bd26-server1.ibeifeng.com
         -》查看主机名命令:hostname
     4、配置网络映射
         -》编辑hosts文件,命令:vi /etc/hosts
             - 192.168.109.51 bd26-server1.ibeifeng.com
     5、重启虚拟机,命令:reboot
     6、验证网络配置是否成功
         -》ping www.baidu.com 收到回复信息就表示成功了
         -》失败原因:
             - 关闭防火墙:service iptables stop
             - 关闭防火墙开机启动服务:chkconfig iptables off
             - route -n    检查路由器网关IP是否设置正确
             - 仔细检查上面的配置文件,是否哪里不小心写错了
     7、windows的hosts文件配置下网络映射
         -》路径:C:\Windows\System32\drivers\etc
         -》配置映射信息:192.168.109.51 bd26-server1.ibeifeng.com
         
 五、Linux常用命令
     1、命令格式
         -》命令 [-选项] [参数]
     2、ifconfig
         -》作用:查看网卡信息
     3、clear
         -》作用:清屏
         -》快捷键:crtl + L
     4、cd
         -》作用:移动到指定的目录下
         -》示例:cd /etc/sysconfig/network-scripts/
         -》示例:cd ..     表示返回上一级目录
         -》示例:cd        表示进入家目录
     5、pwd
         -》作用:打印当前所处路径
         -》示例:pwd
     6、ls
         -》作用:列出当前所在目录或指定目录下的所有文件
         -》示例:ls /        列出根目录下的所有文件
         -》示例:ls -l /     以详细信息列出根目录下的所有文件,也可以使用ll别名代替ls -l
         -》示例:ls -la    /    加-a表示显示所有文件(包括隐藏文件)    
         -》示例:ls -ld /    加-d表示只查看指定目录的信息,不查看目录下的文件信息
         -》示例:ls -lh /    加-h表示文件大小以人类可读的方式显示,默认是字节为单位
     7、mkdir
         -》作用:创建一个新的目录
         -》示例:mkdir /tmp/testdir            在根目录tmp下创建一个testdir目录
         -》示例:mkdir -p /tmp/logs/log1013    如果父目录logs不存在,需要加-p选项
     8、touch
         -》作用:创建文件
         -》示例:touch /tmp/log123.txt        在根目录的tmp下创建一个log123.txt文件
     9、rmdir
         -》作用:删除空目录
         -》示例:rmdir testdir
         -》注意:rmdir只能删除空目录,如果目录下有内容则删除不了
     10、rm
         -》作用:删除目录或文件
         -》示例:rm log123.txt        删除log123.txt文件
         -》示例:rm -r logs            删除目录的时候需要加-r选项
         -》示例:rm -rf logs        加-f表示不再询问,默认选择是
     11、cp
         -》作用:复制文件或目录
         -》示例:cp /etc/passwd /tmp        把etc目录下的passwd文件拷贝到根目录tmp下
         -》示例:cp -r /tmp/copydir /opt    拷贝目录的时候需要加-r选项
     12、mv
         -》作用:剪切和重命名
         -》示例:mv /tmp/passwd /opt        把passwd文件剪切到根目录的opt下
         -》示例:mv passwd new_passwd        把passwd文件重命名为new_passwd
     13、查看文件内容
         -》命令1:cat passwd                适合查看内容较小的文件
         -》命令2:more /etc/services        适合查看内容较多的文件,按Q退出。空格翻页,回车逐行查看,缺点不支持向上查看
         -》命令3:less /etc/services        和more功能类似,增加了向上查看。按"上箭头"即可向上逐行查看
         -》命令4:head -10 /etc/services    查看文件的头10行,想查看多少行可以自己指定
         -》命令5:tail -10 /etc/services    查看文件的末尾10行,想查看多少行可以自己指定
                   tail -f                    加-f选项适合查看实时写入的流式文件
                   
 六、用户和用户组的管理
     1、Linux用户的分类:
         -》超级管理员root用户
         -》系统用户(称作伪用户)
         -》普通用户
     2、查看linux系统当前有哪些用户
         -》命令:more /etc/passwd        查看passwd文件即可
         -》passwd文件内容截取:root:x:0:0:root:/root:/bin/bash   account:password:UID:GID:GECOS:directory:shell
             - 第1列:用户名
             - 第2列:密码标记位,如果用户有密码,则显示x
             - 第3列:用户ID,英文简称UID
                 - 0就代表是root用户
                 - 1-499代表系统用户
                 - 500之后代表普通用户
             - 第4列:用户组ID,英文简称GID
             - 第5列:用户的描述信息
             - 第6列:用户的家目录位置
             - 第7列:用户登录成功之后所使用的shell
         -》man 5 passwd 可以查看配置文件文档信息
         -》创建普通用户:useradd ibeifeng
         -》为用户设置密码:passwd ibeifeng
         -》删除普通用户:userdel -r zhangsan    加-r表示删除用户的同时把用户目录也一并删除
         -》用户之间的切换:su - ibeifeng
                            su - root            切换root用户需要输入root密码
     3、用户组管理
         -》linux系统在创建用户的时候,会默认创建一个和用户同名的用户组,并且用户组ID和用户ID一致
         -》查看用户组信息:cat /etc/group文件即可
         -》bin:x:1:bin,daemon
             - 第1列:用户组名称
             - 第2列:密码标记位
             - 第3列:用户组ID
             - 第4列:用户组里包含的用户,可能也没有任何用户
         -》创建用户组:groupadd teacher
         -》删除用户组:groupdel teacher
         
 七、Linux权限管理
     1、dr-xr-xr-x.   2 root teacher  4096 Oct 13 11:23 bin
         -》第1列:用户对bin的操作权限
         -》第2列:表示文件的修改次数
         -》第3列:bin文件的 所有者
         -》第3列:bin文件的 所属组
         -》第4列:文件大小,默认单位是字节
         -》第5列:日期
         -》第6列:文件的名称
     2、linux的文件根据操作权限把用户分成了三类
         -》所有者,用user表示,简称u
         -》所属组,用group表示,简称g
         -》其他人,用other表示,简称o
     3、d rwx rwx r-x
         -》第1个字符代表文件的类型:d代表目录,-代表文件,l代表链接文件
         -》第1组:表示文件的所有者拥有的操作权限
         -》第2组:表示文件的所属组拥有的操作权限
         -》第3组:表示其他人对改文件拥有的操作权限
         -》r代表读权限
         -》w代表写权限
         -》x代表执行权限
         -》-没有权限
     4、修改文件的权限
         -》使用chmod命令可以修改文件的权限,需要注意:只有root用户和文件的所有者才有权限执行chmod命令
         -》练习:-rw-r--r--. 1 root root    0 Oct 13 16:24 log.txt
             - chmod u+x log.txt            给所有者添加执行权限
             - chmod g-w log.txt            给所属组去掉写权限
             - chmod a-x log.txt            a表示对所有者、所属组以及其他人同时进行操作
         -》权限的数字表示法
             - r        4
             - w        2
             - x        1
             - -        0
             - 练习:- rw- r-- r-- 644
                     把这个权限rw-r--r--,修改成rwxr-xr-x  
             chmod 755 log.txt
     5、修改文件的所有者和所属组
         -》修改所有者命令:chown ibeifeng log.txt
         -》修改所属组命令:chgrp ibeifeng log.txt
         -》chown和chgrp命令只有root用户才有权限执行,即使是文件的所有者也没有权限执行
         -》一个命令同时修改文件的所有者和所属组?
             - chown root:root log.txt
     6、读写执行权限对于目录和文件来说意义是不一样
         -》r对于目录来说rwx有哪些执行命令:
             - r        ls
             - w        mkdir、touch、rmdir、rm
             - x        cd 
         
         -》对于文件来说rwx有哪些执行命令:
             - r        cat、more、less、head、tail
             - w        vi、>、>>
             - x        sh print.sh
     
find命令
 用来检索文件
 命令格式:find [搜索范围] [-name -iname -size -type....] 搜索条件
 find / -name init  区分大小写
 find / -iname init 不区分大小写
 根据文件的大小进行搜索
 数据块(512字节)1kb=1024字节=2个数据块 
 find / -size 10M
 find / -size +10M
 find / -size -10M
 根据文件的类型进行搜索
 find [范围] [-type] [d(目录) f(普通文件)] 
 find / -name init* -a -type d
vi编辑器:
 1:命令模式:在打开vi的时候,默认是命令模式
              编辑模式按esc退出后
 dd --删除光标所在这一行的文本
 n+dd 删除从光标位置起的n行文本
 u:撤销
 yy:--复制光标所在这一行的文本
 n+yy 复制从光标位置起的n行文本
 p:粘贴
 gg:迅速定位到头部
 shift+g(G):迅速定位到尾部
 shift+a:光标定位到本行末尾,同时进入了编辑模式
 shift+zz(ZZ):快速保存并退出
 按/,输入带查找的关键字,按回车进入查找模式,n:向下查找,shift+n :向上查找
 2:编辑模式:在命令模式下按i键进入,左下角有insert
 按esc退出编辑模式
 3:最后行模式:在命令模式下shift+:进入最后行模式
 w -- 保存  q --退出  wq---保存并退出  
 ! -- 强制执行
 显示行号:set nu 或者 set number  
 取消行号:set nonu 
 替换:1,$s/待替换内容/想替换成的内容/g 
sudo权限管理
 作用是把本来属于root用户有权限执行的命令,赋予普通用户执行权限
 sudo命令的操作对象是命令
 配置文件路径:/etc/sudoers
 只能使用visudo命令打开
 root      ALL=(ALL)                 ALL
 用户名  所有机器 以谁的身份去执行   命令
 A,B,C,D,E   hostname=(ALL)
 hadoop  ALL=(ALL)      /usr/sbin/useradd
 which useradd :查看useradd命令的绝对路径
 sudo useradd csy
 sudo -l 可以查看用户当前被赋予了那些命令的执行权限
Linux常用的系统管理命令
 1:网络管理命令:
 查看网卡信息:ifconfig
 查看路由器信息:route -n
 临时添加一个网关IP:route add default gw 192.168.145.1
2:服务管理命令
 命令格式:service [network[网卡],iptables[防火墙]..] [start,stop,restart,status]
service network restart :重启网卡
 service iptables status
开机服务管理:设置服务是否开机启动
 命令格式:chkconfig [iptables] [on,off]
 查看所有服务项状态:chkconfig --list
 chkconfig --list iptables
 chkconfig iptables off
3:端口管理命令
 命令格式:netstat [-a -t -u -l ...]
4:进程管理命令
 ps 查看系统进程
 jps 查看Java进程
 kill -9 PID 强制终止相应的PID进程
 killall java 强制终止所有Java进程
文件的压缩和打包
 常见的有 gzip  tar
 gzip [待压缩文件]
 gzip b.txt
 注意:不会保留原始文件
       不支持压缩目录,只能压缩文件
 解压:gunzip [待解压缩文件]
tar [-c,-x,-z,-v,-f] 
 -c :打包 -x:解压 ,-z:有gzip属性,-v:显示过程
 -f:使用档案名字,是最后一个参数,后面只能接档案名
tar -cvf b.txt.tar      b.txt
          压缩后的名字   原文件
 tar -xvf b.txt.tar -C /tmp  解压到指定目录
.tar.gz 
 分两步:tar -cvf b.txt.tar      b.txt
         gzip  b.txt.tar
 一步完成:tar -zcvf b.txt.tar.gz      b.txt
 解压缩:tar -zxvf b.txt.tar.gz -C test/
df -h :查看当前磁盘的使用情况
 软件管理:
 1:软件包类型
 --》源码包
 --》二进制包:源码包经过编译之后得到的
 依赖性:A->B->C
 卸载了c,b就用不了,卸载要强制卸载
 Linux:rpm
 查询  rpm -qa 只能查询已安装的
 rpm -qa | grep 'java' 
 rpm -qa | grep 'zlib'
 安装:rpm -ivh zlib-devel-1.2.3-29.el6.x86_64.rpm
 卸载:rpm -e  zlib-devel-1.2.3-29.el6.x86_64
rpm -e --nodeps java-1.7.0-openjdk-1.7.0.45-2.4.3.3.el6.x86_64
管道符: |  两边都是命令
 cat /etc/passwd | more
grep:过滤筛选
 cat /etc/passwd | grep 'root'
 追加:>>
 ifconfig | grep 'init' >> b.txt
 覆盖:> 
 ifconfig | grep 'inet' > /home/hadoop/b.txt
 yum命令:要求虚拟机必须联网状态,必须可以访问外网
 在线安装
查询:  yum list
 @符号或者installed --已经安装的
 yum install -y zlib-devel.x86_64  安装
 yum remove -y zlib-devel.x86_64
 yum list installed | more 查看系统中安装好的rpm包
cat passwd | grep --color '[0-4]:[0-4]'
sed
 sed 's/inet addr://g'
 Bcast:192.168.145.255  Mask:255.255.255.0
sed 's/Bcast.*//g'
cut 是一个选取命令,以行为单位,用指定分割符将行切为若干个字段,选取所需要的字段
 -d:用来定义分割符  
 -f:需要选取的字段,下标从1开始
 ifconfig | grep 'inet addr' | cut -d : -f 2
 ifconfig | grep 'inet addr' | cut -d ' ' -f 2
linux shell
编程语言:shell中可以直接调用Linux系统命令
chmod 755 1.sh
自定义变量:
 name=[value]
 name='hello world'
val=123
 val="$val"456
 echo $val
 val=${val}789
 echo $val
 unset val  ---:删除变量
定义环境变量:export AGE=18
 env :专门查看环境变量
位置变量:$1....$9,${10}...
&& : 逻辑与
 cmd1 && cmd2 : 前面一个执行成功后才会执行后面一个命令
cat /etc/passwrd && mkdir boy
||: 逻辑或
 cmd1 && cmd2 :
 前面一个执行失败后才会执行后面一个命令
 cat /etc/passwrd || mkdir boy2 
; 没有逻辑
 cmd1 ; cmd2  顺序执行
shall计算
 a=1
 b=2
echo $((a+b))
 echo $[a+b]
 echo $(($a+$b))
 echo $[$a+$b]
 expr $a + $b 
内置判断:
 数字判断:
 -eq 等于
 -ne 不等于
 -gt 大于
 -ge 大于等于
 -lt 小于
 -le 小于等于
[ $a -eq $b ]
 echo $?
字符串判断:
 == :字符串内容相同
 !=:字符串内容不同
 -z : 字符串内容为空则为真
 -n: 字符串内容不为空则为真
[ "as" == "ab" ]
文件测试:
 -e 文件名 :如果文件名存在为真
 [ -e /root ]  echo $?
 -r 文件名: 如果文件名存在且可读为真
 -w 文件名 : 如果文件名存在且可写为真
 -x 文件名:如果文件名存在且可执行为真
 ! : 非
 -a : and 
 -o : or 
 [ -e /etc/passwd -a 2 -eq 2 ]
#!/bin/bash
for i in tom li lei    {1..12}  $(seq 1 12)
 do
     echo $i
 done 
求和1--10
 #!/bin/bash
 for((i=1;i<=10;i++))
 do 
 sum=$((sum+i))
 done
 echo $sum
if判断:
 #!/bin/bash
 if [ 3 -eq 3 ]
 then 
 echo YES
 fi 
#!/bin/bash
 if [ -e /rooot ]
 then 
 ls /home/hadoop
 else
 mkdir /home/hadoop/boy3
 echo "ok"
 fi
#!/bin/bash
 case $1 in 
 top)
     top
     ;;
 free)
     free
     ;;
 *)
     echo "ok"
 esac
 #!/bin/bash
 read -p "please input yes or no: " an 
 case $an in
 [Yy] | [Yy][Ee][Ss])
     echo YES ;;
 [Nn] | [Nn][Oo])
     echo NO ;;
 *)
     echo input false!
 esac
while 循环:
 #!/bin/bash
 i=1
 while [ $i -le 10 ]
 do 
 sum=$((sum+i))
 i=$[i+1]
 done
 echo $sum 
while read line
 do
     echo $line
 done < file(待读取的文件)
 linux 中的定时任务
 at :
 sercive atd status
/var/spool/at
 at 时间---now+2minutes 按回车
 at> mkdit /tmp/boy555
 at> 按 Ctrl + d 结束编辑
at -l : 查看未执行的定时任务
 5 1 10,25 * * 
*/10 * * * *
* 1-6 * * *
 userdel  -r 用户名
 poweroff 
  
    
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
         
         
         
         
         
         
         
         
         
         
         
         
         
         
                                                                                                                                                                                                                                                                                                                                               
