分类目录归档:System

二、文件处理命令

1、目录处理命令
建立目录:mkdir
mkdir -p [目录名]
— -p 递归创建
— 命令英文原意:make directories

切换所在目录:cd
cd [目录]
— 命令英文原意:change directory
简化操作
— cd ~ 进入当前用户的家目录
— cd
— cd – 进入上次目录
— cd .. 进入上一级目录
— cd . 进入当前目录
相对路径:参照当前所在目录,进行查找
如:[root@imooc ~]#cd ../usr/local/src/
绝对路径:从根目录开始指定,一级一级递归查找。在任何目录下,都能进入指定位置
如:[root@imooc ~]#cd /etc/

查询所在目录位置:pwd
pwd
— 命令英文原意:print working directory

删除空目录:rmdir
rmdir [目录名]
— 命令英文原意:remove empty directories

删除文件或目录:rm
rm -rf [文件或目录]
— 命令英文原意:remove
选项:
— -r 删除目录
— -f 强制删除

复制命令:cp
cp [选项] [原文件或目录] [目标目录]
— 命令英文原意:copy
选项:
— -r:复制目录
— -p:连带文件属性复制
— -d:若源文件是链接文件,则复制链接属性
— -a:相当于 -pdr

剪切或改名命令:mv
mv [原文件或目录] [目标目录]
— 命令英文原意:move

常用目录的作用
— / 根目录
— /bin 命令保存目录(普通用户就可以读取的命令
— /boot 启动目录,启动相关文件
— /dev 设备文件保存目录
— /etc 配置文件保存目录
— /home 普通用户的家目录
— /lib 系统库保存目录
— /mnt 系统挂载目录
— /media 挂载目录
— /root 超级用户的家目录
— /tmp 临时目录
— /sbin 命令保存目录(超级用户才能使用的目录)
— /proc 直接写入内存的
— /sys
— /usr 系统软件资源目录
— /usr/bin/ 系统命令(普通用户)
— /usr/sbin/ 系统命令(超级用户)
— /var 系统相关文件内容

2、文件处理命令

3、链接命令
ln -s [原文件] [目标文件]
— 命令英文原意:link
— 功能描述:生成链接文件
选项:
— -s 创建软链接

硬链接特征
1、拥有相同的i节点和存储block块,可以看做是同一个文件
2、可通过i节点识别
3、不能跨分区
4、不能针对目录使用

软链接特征
1、类似Windows快捷方式
2、软链接拥有自己的I节点和Block块,但是数据块中只保存原文件的文件名和I节点号,并没有实际的文件数据
3、lrwxrwxrwx:I 软链接
— 软链接文件权限都为rwxrwxrwx
4、修改任意文件,另一个都改变
5、删除原文件,软链接不能使用

Linux安装

一、虚拟机安装
1、VMware简介
VMware是一个虚拟PC的软件,可以在现有的操作系统上虚拟出一个新的硬件环境,相当于模拟出一台新的PC,以此来实现在一台机器上真正同时运行两个独立的操作系统。
VMware官方网站 http://www.vmware.com

VMware主要特点
— 不需要分区或重新开机就能在同一台PC上使用两种以上的操作系统
— 本机系统可以与虚拟机系统网络通信
— 可以设定并且随时修改虚拟机操作系统的硬件环境

2、建议的VMware配置
— CPU:建议主频为1GHz以上
— 内存:建议1GB以上
— 硬盘:建议分区空闲空间8GB以上

二、虚拟机使用
1、新建虚拟机
New_Virtual_Machine

2、虚拟机硬件设置
The virtual machine hardware Settings

三、系统分区
1、磁盘分区
磁盘分区是使用分区编辑器(partition editor)在磁盘上划分几个逻辑部分。碟片一旦划分成数据个分区(Partition),不同类的目录与文件可以存储进不同的分区
分区类型
主分区:最多只能有4个
扩展分区:
— 最多只能有1个
— 主分区加扩展分区最多有4个
不能写入数据,只能包含逻辑分区
逻辑分区

2、格式化
格式化(高级格式化)又称逻辑格式化,它是指根据用户选定的文件系统(如FAT16、FAT32、NTFS、EXT2、EXT3、EXT4等),在磁盘的特定区域写入特定数据,在分区中划出一片用于存放文件分配表、目录表等用于文件管理的磁盘空间。

3、硬件设备文件名
Hardware device file name
分区设备文件名
设备文件名
— /dev/hda1(IDE硬盘接口)
— /dev/sda1(SCSI硬盘接口、SATA硬盘接口)

4、挂载
必须分区
— / (根分区)
— swap分区 (交换分区,内存2倍,不超过2GB)
推荐分区
— /boot (启动分区,200MB)

文件系统结构
The file system structure

四、Linux系统安装
1、安装欢迎界面
“Install or upgrade an existing system”:安装或升级现有系统
“Install system with basic video driver”:安装过程采用基本的显卡驱动
“Rescue installed system”:进入系统修复模式
“Boot from local drive”:退出安装从硬盘启动
“Memory test”:存储介质检测

2、密码原则
复杂性
— 八位字符以上、大小写字母、数字、符号
— 不能是英文单词
— 不能是和用户相关的内容
易记忆性
时效性

3、软件包选择
— Desktop (桌面)
— Minimal Desktop(最小化桌面)
— Minimal(最小化)
— Basic Server(基本服务器)
— Database Server(数据库服务器)
— Web Server(网页服务器)
— Virtual Host(虚拟主机)
— software development workstation(软件开发工作站)

4、安装日志
/root/install.log:存储了安装在系统中的软件包及其版本信息
/root/install.log.syslog:存储了安装过程中留下的事件记录
/root/anaconda-ks.cfg:以Kickstart配置文件的格式记录安装过程中设置的选项信息

Linux简介

1_1.Linux简介
Linux内核版本
Linux内核官网:wwww.kernel.org

Linux主要发行版本
Linux_main_distributions

1_2.开源软件简介
Open_source_software

开源软件
使用的自由
— 绝大多数开源软件免费
研究的自由
— 可以获得软件源代码
散布及改良的自由
— 可以自由传播、改良甚至销售

1_3.Linux应用领域
基于Linux的企业服务器
http://www.netcraft.com/

Linux在嵌入式领域

1_4.Linux学习方法
应该如何提问?
先要尝试自己解决
— 帮助
— 文档
— 示例
提问的智慧
— 问题详尽
— 贴图

1_5.Linux与Windows的不同
Linux严格区分大小写
Linux中所有内容以文件形式保存,包括硬件
Linux不靠扩展名区分文件类型
— 压缩包:”*.gz”、”*.bz2″、”*.tar.bz2″、”*.tgz”等
— 二进制软件包:”.rpm”
— 网页文件:”*.html”、”*.php”
— 脚本文件:”*.sh”
— 配置文件:”*.conf”
Windows下的程序不能直接在Linux中安装和运行

1_6.字符界面的优势
优势一:字符界面占用的系统资源更少
优势二:字符界面减少了出错、被攻击的可能性

Linux中的计划任务-Crontab

一、背景
CRONTAB
从定时重复工作中解出来

工作中遇到的困难
每分钟需要执行一个程序检查系统运行状态
第天凌晨需要对过去一天的业务数据进行统计
每个星期需要把日志文件备份
每个月需要把数据库进行备份

二.Crontab简介
Crontab是一个用于设置周期性被执行的任务的工具。
被周期性执行的任务我们称为Cron Job
周期性执行的任务列表我们称为Cron Table

三、Crontab实践
3_1.实践提纲
相关工具
安装并检查Crontab服务
Crontab的基本组成
Crontab的配置文件格式
Crontab工具的使用
Crontab的日志
Crontab觉见错误

3_2.相关工具putty介绍
Putty
一个免费的易用的SSH连接工具
http://wwww.putty.org/

3_3.安装并检查Crontab服务
检查cron服务
— 检查Crontab工具是否安装:crontab -l
— 检查crond服务是否启动:service crond status
安装cron
— yum install vixe-cron
— yum install crontabs

3_4.一个简单的例子
每分钟都打印当前时间到一个日志文件中
– */1**** date >> /tmp/log.txt

3_5.Crontab的基本组成
crontab_basic_parts

3_6.Crontab的配置的文件格式
crontab_configurition_file_format
例:
每晚的21:30重启apache
— 30 21 * * * service httpd restart
每月1、10、22日的4:45重启apache
— 45 4 1,10,22 * * service httpd restart
每月的1到10日的4:45重启apache
— 45 4 1-10 * * service httpd restart
每隔两分钟重启Apache服务器
— */2 * * * * service httpd restart
— 1-59/2 * * * * service httpd restart
晚上11点到早上7点之间,每隔一小时重启Apache
— 0 23-7/1 * * * service httpd restart
每天18:00至23:00之间每隔30分钟重启Apache
— 0,30 18-23 * * * service httpd restart
— 0-59/30 18-23 * * * service httpd restart
小结:
— *表示任务时候都匹配
— 可以用“A,B,C”表示A或者B或者C时执行命令
— 可以用“A-B”表示A到B之间时执行命令
— 可以用“*/A”表示每A分钟(小时等)执行一次命令

3_7.Crontab工具的使用
查看某用户的计划任务列表
修改某用户的计划任务
查看生成的最终计划任务文件
— /var/spool/cron

3_8.Crontab的配置文件
全局(系统)配置文件
— /etc/crontab
— 注意格式
Root配置文件
— 只有root用户才会把这些内容载入到计划任务表中

3_9.Crontab的日志
/var/log/cron文件保存着cron的任务执行记录

四、Crontab常见错误
环境变量
命令行双引号中使用%时,未加反斜线\
第三和第五个域之间执行的是“或”操作
分钟设置误用
4_1.环境变量

4_2.命令行操作
命令行双引号中使用%时,未加反斜线\
四月的第一个星期日1时29分运行a.sh
— 59 1 1-7 4 0 /root/a.sh
— 59 1 1-7 4 * test `date +\%w` -eq 0 ** /root/a.sh

4_3.分钟设置误用
两个小时运行一次
— * 0,2,4,6,8,10,12,14,16,18,20,22 *** date (错误)
— 0 */2 * * * date (正确)

4_4.Crontab补充
Crontab中最小只能设置到每分钟执行一个命令,如果想每半分钟执行某个怎么做到?
— 通过shell脚本的sleep命令配合Crontab即可完成这一功能
— date && sleep 0.5s  && date

linux单网卡配置双ip

  • linux单网卡上配置双IP临时方法

linux下一个网卡如何配置多个IP?不像window那么方便设置,在RedHat linux下边图形界面的网络配置没有找到在哪里配置第二个IP的地方。

如果临时性的增加一个IP(重启后就丢失了),可以使用ifconfig命令;ifconfig的用法可以使用man ifconfig查看,最常用的给网卡配置ip的命令为:

#ifconfig eth0 192.168.0.101 netmask 255.255.255.0 up

说明:

eth0是第一个网卡,其他依次为eth1,eth*

192.168.0.101是给网卡配置的第一个网卡配置的ip地址

netmask 255.255.255.0 配置的是子网掩码

up是表示立即激活

如果给单个网卡eth0配置多个ip地址如何操作呢,如果使用ifconfig命令那么上边需要改动的地方只有eth0这个而已,将 eth0改为eth0:x(x是0-255例如eth0:0或者eth0:1等等),eth0:x称为虚拟网络接口,是建立在网络接口 (eth0)上边。

所以给单网卡配置多ip的方法就是使用命令:

#ifconfig eth0:1 192.168.0.102 netmask 255.255.255.0 up

在window下就可以利用ping进行测试:

#ping 192.168.0.101

#ping 192.168.0.102

ping测试通过,就完成了单网卡配置多ip的功能。

但是值得注意的是,reboot以后发现ip地址变了回去。因为通过ifconfig配置的只是暂时有效而已。那么想要永久有效,一种简单的方式就是设置启动时自动激活ip设置:将上边的命令ifconfig加入到rc.local中去即可。

  • linux单网卡上配置双IP永久方法
  1. 将/etc/sysconfig/network-scripts下的ifcfg-eth0复制ifcfg-eth0 为ifcfg-eth0:1
  2. 然后用vi编辑进行编辑(vi ifcfg-eth0:1),内容如下:

DEVICE=eth0:1                        #网络虚拟接口eth0:0

ONBOOT=yes                           #启动的时候激活

BOOTPROTO=none                 #ip绑定形式

IPADDR=192.168.0.102             #分配的ip地址

NETMASK=255.255.255.0         #子网掩码

GATEWAY=192.168.0.254         #默认网关

  1. 保存退出然后把eth0:1激活:ifconfig eht0:1 up
  2. 将网络重启:service network restart即可

 

如果想要关闭一个ip,则使用:#ifconfig eth*[:x] down(*代表的是网卡编号,x代表虚拟接口号0-255)

3.源码包服务管理

1、源码包安装服务的启动
— 使用绝对路径,调用启动脚本来启动。不同的源码包的启动脚本不同。可以查看源码包的安装说明,查看启动脚本的方法。
/usr/local/apache2/bin/apachectl start|stop

2、源码包服务的自启动
[root@localhost ~]# vi /etc/rc.d/rc.local
加入
/usr/local/apache2/bin/apachectl start

3、让源码包服务被服务管理命令识别
— 让源码包的apache服务能被service命令管理启动
ln -s /usr/local/apache2/bin/apachectl /etc/init.d/apache

4、让源码包的apache服务能被chkconfig与ntsysv命令管理自启动
vi /etc/init.d/apache
#chkconfig:35 86 76
#指定httpd脚本可以被chkconfig命令管理。格式是:chkconfig: 运行级别 启动顺序 关闭顺序
#description:source package apache
#说明,内容随意
[root@localhost ~]# chkconfig –add apache
#把源码包apache加入chkconfig命令

参考视频:http://www.imooc.com/video/10894