Linux文件删除原理:

     Linux是通过link的数量来控制文件删除的,只有当一个文件不存在任何link的时候,这个文件才会被删除。一般来说,每个文件都有2link计数器:i_count i_nlink

   可以理解为i_count是内存引用计数器,i_nlink是磁盘的引用计数器。

   对于删除命令rm而言,实际就是减少磁盘引用计数i_nlink,如果一个文件正在被某个进程调用,而用户却执行rm操作把文件删除了,再执行ls或者其他文件管理命令,无法再找到这个文件了,但是调用这个删除的文件的进程却在继续正常执行,依然能够从文件中正确的读取及写入内容。此时,并没有删除文件的实体即(block数据块),此时,如果及时停止机器工作,数据是可以找回的,如果此时继续写入数据,那么当新数据就可能会被分配到被删除的数据的block数据块,此时,文件就会被真正的回收了.

描述linux下软链接和硬链接的区别

   linux系统中,链接分两种:一种被称为硬链接(Hard Link),另一种被称为符号链接或软链接(Symbolic Link)。

 

  硬链接文件与源文件的inode节点号相同,而软链接文件的inode节点号与源文件不同.

  ln命令不能对目录创建硬链接,但可以创建软链接,对目录的软链接会经常被用到。

  软连接可以跨文件系统,硬链接不可以跨文件系统。

 linux的启动过程

开机bios自检--->MBR引导-->GRUB菜单-->加载kernel-->init进程-->rc.d下的开机自启动项

 用函数打印1到6

for ((i=001;i<=6;i++));do  echo $i;done

seq  -w 100  |sed  -n '1,3p'

seq 顺序打印  -w  深度   1,3p  第一到第三行

从0加到100函数

 #!/bin/bash
m=0
for((i=0;i<=100;i++))
do
((m=m+$i));
done
echo $m

使用sed计算

seq 100|tr '\n' '+'|sed 's/\+$/\n/g'|bc

x=0
until ((x>100))
do
let y=y+x
((x++))
done
echo $y

执行

5050
5050
5050

输入一个ip地址转换为网址

#!/bin/bash
read  -p "输入ip地址" I
s=`cat /etc/hosts|grep $I`
if  [ $? -eq 0 ]
then
echo $s|awk '{ print $2 }'
else
echo "错误"
fi

执行

输入ip地址192.168.1.2
www.baidu.com

输入ip地址192.168.3.8       
错误


通过find搜索/var/log下3天以前的日志并删除

 find /var/log/*.log -mtime +3 -exec rm {} \;
find /var/log/*.log -mtime +3 -type f -exec rm -f {} \;
find /var/log/*.log -type f -mtime +3 |xargs rm -f
 

如何添加路由

 route add -net 172.16.0.0  netmask 255.255.255.0 gw 192.168.0.1

route add -host 192.168.2.13 dev eth2
 route add default gw 192.168.1.254

 如何查看apache进程数

perfork模式:

 

ps -ef|grep http|grep -v grep|wc -l

worker模式
pstree -a|grep httpd|wc -l

 

前者进程模式  后者线程模式 故查看方法也有区别
 
         在Redhat等Linux操作系统中计划任务cron的全局配置文件是/etc/crontab,每个用户的cron配置文件位于/var/spool/cron目录下,文件与用户名同名。这些配置文件可以统称为crontab表

   crontab表中计划任务的书写格式:
分钟 小时 日 月 周 [用户名] 命令
第一个字段:分钟,表示从一个小时的第几分钟来执行,范围:0~59;
第二个字段:小时,表示从一天的第几个小时来执行,范围:0~23;
第三个字段:天,表示从一个月的第几天来执行,范围:1~31;
第四个字段:月,表示从一年的第几个月来执行,范围:1~12;
第五个字段:周,表示从一周的第几天来执行,范围0~6,其中0表示周日;
第六个字段:用户名,也就是要通过哪个用户来执行程序,一般可以省略;
第七个字段:执行的命令和参数。
前五个字段都是时间字段,它们的取值除了数字外还可以有几个特殊的符号,就是“*”、“/”、“-”和“,”。其中,“*”代表所有的取值范围内的数字;“/”代表每的意思,如“*/5”表示每5个单位;“-”代表从某个数字到某个数字;“,”分开几个离散的数字

0 6 * * * echo "Good morning." >>/tmp/test
//每天早上6点整在/tmp/test文件中写入"Good morning. "。
0 */2 * * * echo "Have a break now." >>/tmp/test
//每隔两个小时在/tmp/test文件中写入"Have a break now."。
0 23-7/2,8 * * * echo "Have a good dream." >> /tmp/test
//晚上11点到早上7点之间每隔两个小时,和早上8点在/tmp/test文件中写入" Have a good dream ."。
 

环境变量

全局系统环境变量

vim /etc/prifile

特殊个人环境变量

 vim /home/user1/.bash_profile

修改的格式

export path=$path:/path1:/path2:/pahtN

查看环境变量

env  或是 set 都可以

删除环境变量

unset