网站建设导航栏设计系列推广软文范例
一、初识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