搜索""的结果
vi 文本编辑器 对于新用户来说,vi 文本编辑器可能看起来不是很直观,但是不要误会,世界上许多最优秀的程序员仍然广泛地使用这种经历了 30 年之久的古老工具,之所以会这样,有一个很好的理由。 vi 文本编辑器将操作分为插入模式和命令模式,这允许您使用超快的键盘命令对文本和用户定义的段进行动态地编辑、插入和移动。开始之前了解本教程中包含的内容以及如何最好地利用本教程。关于本系列这个由四部分组成的文章系列将从用户的角度出发,介绍 UNIX® 的基本知识。对于很久没有使用类 UNIX 操作系统的用户来说,这个初始的教程是个很好的温习。对于具有 Windows® 使用经验的新的 UNIX 用户来说,它也很有价值,因为其中引用了 Windows,并将两者进行了比较。 本系列中的后续教程将详细地介绍一些特定的应用程序(比如 vi),并讨论关于 Shell 的诀窍与技巧。关于本教程vi 编辑器已有 30 多年的历史,并且到现在为止,仅对其进行了很少的更改。 它保持了不使用鼠标而通过键盘驱动的界面,这使得用户可以始终将手指放在标准键位处。 用户可以在两种模式(插入模式和命令模式)之间进行切换,以便分别插入文本或对文档进行操作和导航。 命令模式为用户提供了各种各样...
Linux Shell for循环写法总结 关于shell中的for循环用法很多,一直想总结一下,今天网上看到上一篇关于for循环用法的总结,感觉很全面,所以就转过来研究研究,嘿嘿...1、 for((i=1;i<=10;i++));do echo $(expr $i \* 4);done2、在shell中常用的是 for i in $(seq 10) 3、for i in `ls`4、for i in ${arr[@]} 5、for i in $* ; do 6、for File in /proc/sys/net/ipv4/conf/*/accept_redirects; do 7、for i in f1 f2 f3 ;do 8、for i in *.txt 9、for i in $(ls *.txt) for in语句与` `和$( )合用,利用` `或$( )的将多行合为一行的缺陷,实际是合为一个字符串数组10、LIST="rootfs usr data data2" for d in $LIST; do 用for in语句自动对字符串按空格遍历的特性,对多个目录遍历 11、for i in {1..10}12、for i in stringchar {1..10}13、awk 'BEGIN{for(i=1; i<=10; i++) print i}'注意:AWK中的for循环写法和C语言一样的
shell 编程——for in 循环 for in 格式for 无$变量 in字符串do $变量done一简单的字符串 枚举遍历法,利用forin格式对字符串按空格切份的功能SERVICES="80 22 25 110 8000 23 20 21 3306 "for x in $SERVICES do iptables -A INPUT -p tcp --dport $x -m state --state NEW -j ACCEPT done for variable invalues --------字符串数组依次赋值#!/bin/shfor i in a bc 字符串列表A B C 字符串用空格分隔,没有括号,没有逗号, 然后循环将其依次赋给变量i &nbs...
if [ $# -ne 1 ];then 是什么意思?$# 表示提供到shell脚本或者函数的参数总数;
$1 表示第一个参数。
-ne 表示 不等于
另外:
整数比较
-eq 等于,如:if ["$a" -eq "$b" ]
-ne 不等于,如:if ["$a" -ne "$b" ]
-gt 大于,如:if ["$a" -gt "$b" ]
-ge 大于等于,如:if ["$a" -ge "$b" ]
-lt 小于,如:if ["$a" -lt "$b" ]
-le 小于等于,如:if ["$a" -le "$b" ]
< 小于(需要双括号),如:(("$a" < "$b"))
<= 小于等于(需要双括号),如:(("$a" <= "$b"))
> 大于(需要双括号),如:(("$a" > "$b"))
>= 大于等于(需要双括号),如:(("$a" >= "$b"))
另外:$?是shell变量,表示"最后一次执行命令"的退出状态.0为成功,非0为失败.
linux变量$#,$0,$1,$2,$@,$*,$$,$UID,$?的含义我们先写一个简单的脚本,执行以后再解释各个变量的意义 # touch variable# vi variable 脚本内容如下: #!/bin/shecho "number:$#"echo "scname:$0"echo "first :$1"echo "second:$2"echo "argume:$@"echo "show parmlist:$*"echo "show processid:$$"echo "show precomm stat: $?"echo "show user id : $UID"保存退出 赋予脚本执行权限 # chmod +x variable 执行脚本 # ./variable aa bbnumber:2scname:./variablefirst:aasecond:bbargume:aa bbshow parm list:aa bbshow process id:24544show precomm stat:0show user id: 0 //说明是root用户通过显示结果可以看到: $# 是传给脚本的参数个数$0 是脚本本身的名字$1 是传递给该shell脚本的第一个参数$2 &...
CentOS6.3中安装SCP SCP使用SSH协议在Linux系统中进行文件传输,但我最小安装的CentOS 6.3没有该命令。[root@kashu /]# scp-bash: scp: command not found安装openssh-clients软件包后就可以使用SCP命令了。[root@kashu /]# yum install openssh-clientsLoaded plugins: fastestmirrorLoading mirror speeds from cached hostfileSetting up Install ProcessResolving Dependencies--> Running transaction check---> Package openssh-clients.i686 0:5.3p1-81.el6 will be installed--> Processing Dependency: libedit.so.0 for package: openssh-clients-5.3p1-81.el6.i686--> Running transaction check---> Package libedit.i686 0:2.11-4.20080712cvs.1.el6 will be installed--> Finished Dependency ResolutionDependencies Resolved=========================================================================================================== Package &...
Korn Shell 脚本入门 所有的 UNIX® 用户都应该了解如何使用 Korn Shell 脚本。通过编写 Shell 脚本,可以让您实现许多任务的自动化,并可以为您节约大量的时间。初看起来,它似乎令人生畏,但只要遵循正确的指导,您就可以熟练地使用它。本文将指导您编写自己的 Korn Shell 脚本。什么是 Shell?IBM® AIX® 操作系统和其他的类 UNIX 操作系统一样,都需要通过某种方式与内核进行通信。这项任务正是通过使用 Shell 来实现的。您可以使用各种不同的 Shell,但本文重点关注于 Korn Shell。Korn Shell 是 AIX 所使用的缺省 Shell。当您登录到 AIX 中时,将以某个目录的提示符作为开始。缺省目录通常是您的 home 目录。之所以将其称为 home 目录,是因为该目录的结构通常如下所示:$/home/jthomas:当登录时,您将处于命令行或者命令提示符处。这正是您输入 UNIX 命令的地方。您可以输入与 UNIX 内核进行交互的 Shell 命令。这些命令可能简单到只有一行(比如查看日期),也可能为多行,而这取决于您所进行的操作。清单 1 提供了一些示例命令。清单 1. 示例命令$date
Fri May 1 22:59:28 EDT 2008
$uptime
10:59PM up 259 days, 9:44, 5 users, load average:...
我们要做负载均衡的时候,我们必须考虑三个问题:1、智能DNS的使用;智能DNS我们可以用DNSPod来解决,看这篇文章:怎样用DNSPod做负载均衡。2、文件的同步;而文件的同步可以通过rsync软件来解决,看这篇文章:rsync服务器架设。3、MySQL数据库的同步。剩下是MySQL数据库的同步了,这节我们就来解决这个问题。MySQL是开源的关系型数据库系统。复制(Replication)是从一台MySQL数据库服务器(主服务器master)复制数据到另一个服务器(从服务器slave)的一个进程。配置主服务器(master)1、编辑数据库配置文件my.cnf,一般在/etc/目录下。#vi /etc/my.cnf在[mysqld]的下面加入下面代码:log-bin=mysql-binserver-id=1innodb_flush_log_at_trx_commit=1sync_binlog=1binlog-do-db=wordpressbinlog_ignore_db=mysqlserver-id=1中的1可以任定义,只要是唯一的就行。binlog-do-db=wordpress是表示只备份wordpress。binlog_ignore_db=mysql表示忽略备份mysql。不加binlog-do-db和binlog_ignore_db,那就表示备份全部数据库。2、然后重启MySQL:#service mysqld restart3、登录MySQL服务器。#mysql -uroot -p在主服务器新建一个用户赋予“REPLICATION SLAVE”的权限。你不需要再赋予其它...
DRBD介绍DRBD是一个用软件实现的、无共享的、服务器之间镜像块设备内容的存储复制解决方案。 DRBD Logo数据镜像:实时、透明、同步(所有服务器都成功后返回)、异步(本地服务器成功后返回)。DBRD的核心功能通过Linux的内核实现,最接近系统的IO栈,但它不能神奇地添加上层的功能比如检测到EXT3文件系统的崩溃。DBRD的位置处于文件系统以下,比文件系统更加靠近操作系统内核及IO栈。DRBD编译安装安装所需依赖:yum -y install gcc kernel-devel kernel-headers flex开始安装drbd,下载地址:http://oss.linbit.com/drbd/安装用户空间工具:cd /tmpwget http://oss.linbit.com/drbd/8.4/drbd-8.4.1.tar.gztar xzf drbd-8.4.1.tar.gzcd drbd-8.4.1./configure --prefix=/usr/local/drbd --with-kmmake KDIR=/usr/src/kernels/2.6.18-274.18.1.el5-i686/make installmkdir -p /usr/local/drbd/var/run/drbdcp /usr/local/drbd/etc/rc.d/init.d/drbd /etc/rc.d/init.dchkconfig --add drbdchkconfig drbd on安装drbd模块:cd drbdmake cleanmake KDIR=/usr/src/kernels/2.6.18-274.18.1.el5-i686/cp drbd.ko /lib/modules/`uname -r`/kernel/lib/depmod注:usr/src/kern...
如何用BIND, GeoIP, Nginx, Varnish来创建你自己的高效的CDN网络?CDN,意思是Content Distrubtion Network,意思是内容分发网络,简单的说,就是全地域范围内的负载均衡,全地域的概念可以是全国,也可以是全世界。由统一的DNS服务器进行地址转发,选择离用户最近的地区服务器进行负载均衡。本质上是从一个机房内的负载均衡扩展到了全世界范围内的负载均衡。同时可以将本地化的内容,由当地的服务器实现。做浏览器的地区自动选择。比如在中国,被人为划分成两大区域,北方是网通,南方是电信。这两个网络之间互访是比较慢的。作为大型网站,一种解决办法是将全部服务器架设在双线或三线ISP处,由ISP来提供路由上的选择。这样做,线路的成本会比较高。另一种办法就是将服务器架设在两边,南方一台,北方一台,然后由服务器自己选择,如果IP在电信,就转发请求到南方的服务器,如果是网通就转发到北方的服务器。再扩大范围,可以将美国来的请求交由美国服务器处理,这样也缩短了用户在路由上的等待时间。这就是内容分发网络。而作为这个网络上的所有节点,都可以当成虚拟服务器来看待。至于在各地的服务器如何做负载均衡,可以由各节点之间完成。准备工作如下:你需要下载如下...
最新评论