命令:

 

解压:

 # tar -xvf name.tar

 # tar -zxvf name.tar.gz

 # tar -jxvf name.tar.bz2

 

打包:

  # tar -cvf name.tar files

  # tar -czvf name.tar.gz files

  # tar -cjvf name.tar.bz2 files

 

 

远程拷贝: # scp root@【远程主机IP:【文件路径和文件名】【本地目录】

        例如: # scp root@192.168.12.100:/root/web/nginx-1.1.10.tar.gz /root/www

        如果是拷贝文件夹,在scp后添加 -r

ssh远程登录:# ssh root@【远程主机IP】 例如:# ssh root@172.18.81.2

 

查看进程ID# ps -ef | grep 进程名

 

yum命令:

  安装: # yum install 程序名

  卸载: # yum remove 程序名

  更新: # yum update

  查找: # yum search 程序名

更新系统已安装的程序: # yum upgrade

 

rpm命令:

   查询已安装的所有程序:# rpm -qa

   指定查询某个程序: # rpm -q 程序名

   安装*.rpm格式包: # rpm -ivh 程序名

   卸载*.rpm格式包: # rpm -e 程序名

   升级*.rpm格式包: # rpm -Uvh 程序名

   强制卸载: # rpm -e 程序名 --nodeps

 

其他命令请参考书本......

 

.安装播放器

安装前需要确保你的系统已安装gcc编译器,ubuntu系统可以通过ubuntu软件中心查找,把所有的附加组件都装上去,如果已装了gcc

ubuntu软件中心把所有的附加组件装上去(“应用变更”就行);对于红帽子可以通过命令查看,若装上的话,命令结果为:

    # rpm -q gcc

    gcc-4.1.2.42.el5

如果没有,可以从Redhat的安装光盘里找并安装或网上下载

下面是yasm-1.1.0.tar.gz安装包的安装步骤:

1.cd命令进入yasm-1.1.0.tar.gz所在的目录,然后解压:

  # tar -zxvf yasm-1.1.0.tar.gz

2.配置:

  # cd yasm-1.1.0

  # ./configure --prefix=/usr/local/yasm

3.编译:

  # make

4.安装:

  # make install

5.安装完成。

 

下面是ffmpeg.tar.gz安装包的安装步骤:

1.安装前需配置一下环境变量,命令:

   # export PATH="/usr/local/yasm/bin:#PATH"

2.解压ffmpeg.tar.gz,方法和上面一样:

   # tar -zxvf ffmpeg.tar.gz

3.配置:

   # ./configure --enable-shared --prefix=/usr/local/ffmpeg

4.编译:

   # make

5.安装:

   # make install

6.安装完毕!

 

/usr/local/ffmpeg/lib目录下的所有的*.so文件(如果下面的命令播放不了,就把所有*.*文件)复制到/usr/lib目录下,

命令:

     # cp /usr/local/ffmpeg/lib/*.so /usr/lib

 

如果遇到上面括号里的情况,上面的命令改为:# cp /usr/local/ffmpeg/lib/*.* /usr/lib   

 

播放视频:

命令格式为:

   # <ffplay所在的路径>/ffplay <视频所在的路径>

 

 我在ubuntu里运行的命令为:# /usr/bin/ffplay /root/xin/linux/2011新版西游记38.rmvb

 在红旗里的命令为:# /usr/local/ffmpeg/bin/ffplay /root/wwb/2011新版西游记38.rmvb

 

注意:如果不知道ffplay的路径,可以在桌面或菜单打开“/”目录,点击上面菜单栏进行查找!!!

 

 

.Vi与编辑

下面通过用几个C语言程序来演示一下vi编辑器的使用和用gcc命令对C程序的编译:

 

1.新建一个目录mu,并进入mu目录

  # mkdir mu

  # cd mu

2.vi命令新建一个m.c文件,并输入一个简单的C语言程序:

  # vi m.c

  

    C语言程序为:

     #include<stdio.h>

     #include"n.h"

     int main(void)

     {

      int i;

      printf("请输入一个总数i:");

      scanf("%d",&i);

      square(i);

      ven(i);

      return 0;

     }

3.vi命令新建一个n1.c文件,并输入一个简单的C语言程序:

  # vi n1.c

   

     C语言程序为:

      #include<stdio.h>

      int square(int x)

      {

       printf("The square=%d\n",x*x);

       return x*x;

      }

4.vi命令新建一个n2.c文件,并输入一个简单的C语言程序:

  # vi n2.c

   

      C语言程序为:

        #include<stdio.h>

        int ven(int x)

    {

     printf("The ven=%d\n",x*10);

     return x*10;

    }

5.vi命令新建一个n.h文件,并输入一个简单的C语言程序:

  # vi n.h

  

    输入:

     int square(int x);

     int ven(int x);

现在mu下已经有了4个文件m.cn1.cn2.c,n.h

6.对上面几个文件进行编译,生成目标文件n1.o,n2.o

  # gcc -c n1.c n2.c

  通过ls命令发现目录多了两个文件n1.o,n2.o

7.m.c,n1.o,n2.o进行链接,生成可执行文件m

  # gcc -o m m.c n1.o n2.o

  通过ls命令发现目录又多了一个文件m,它就是一个可执行文件

8.执行m

  # ./m

  此命令提示你输入一个数字并回车

  例如:chen@lanyu:~/mu# ./m

       请输入一个数并按回车键:5

       The square=25

       The ven=50

 

78两步可以合并为一步,命令为:# gcc -o m m.c n1.c n2.c

 

对于含有多个子文件,比如这里有n1.c n2.c两个文件,为了对源代码进行保护和...,可以把这些文件理解一个库文件。  

为可方便先把m.c n1.c n2.c n.h cp到一个新的目录,进入该目录后执行以下命令:

  # gcc -c n1.c n2.c

  # ll    /*执行此命令可以发现目录下多了两个文件n1.o n2.o*/

  # ar crv libm.a n1.o n2.o   /*该命令是把n1.o,n2.o生成一个libm.a的库文件,约定以“lib"开头*/

  # ll    /*可以发现目录下有了一个libm.a的文件*/

  # gcc -o m m.c libm.a  /*编译生成一个文件名为m的可执行文件*/

  # ./m   /*执行,结果和第8步一样*/

 

.C语言程序编译成静态库和动态库

假如当前目录有三个C语言文件:func.c,func.h,mfile.c

func.c内容为:

 

   #include<stdio.h>

   int pf(int x)

   {

     printf("x的平方为:%d ",x*x);

     return x*x;

   }

     int lf(int x)

   {

     printf("x的立方为:%d",x*x*x);

     return x*x*x;

   }

 

func.h内容为:

   int pf(int x);

   int lf(int x);

 

mfile.c内容为:

        #include<stdio.h>

    #include"func.h"

    int main(void)

    {

     int x;

     printf("请输入一个数x");

     scanf("%d",&x);

     pf(x);

     lf(x);

    }

 

下面把它们编译成静态库和动态库然后执行他们

编译成静态库:

 

func.c编译成目标代码func.o

# gcc -c func.c

 

func.o生成静态库文件libfunc.a

# ar -crv libfunc.a func.o

 

libfunc.a移动到/usr/lib目录下

# mv libfunc.a /usr/lib

 

func.h移动到/usr/include目录下

# mv func.h /usr/include

 

mfile.c生成可执行文件mfile

# gcc mfile.c -lfunc -o mfile

 

执行可执行文件mfile

# ./mfile

 

输入5显示结果为:

    请输入一个数x5

    x的平方为:25

    x的立方为:125

 

    

编译此动态库:

func.c编译成目标代码func.o

# gcc -c func.c

 

生成动态库文件

# gcc -shared -fPIC -o libfunc.so func.o

 

 

libfunc.so移动到/usr/lib目录下

# mv libfunc.so /usr/lib

 

func.h移动到/usr/include目录下

# mv func.h /usr/include

 

mfile.c生成可执行文件mfile

# gcc mfile.c -lfunc -o mfile

 

执行可执行文件mfile

# ./mfile

 

输入5显示结果为:

    请输入一个数x5

    x的平方为:25

    x的立方为:125

.nginx的安装与配置(已nginx-1.1.10为例,配置为均衡负载器)

在这里,有些系统可能在安装是没有安上PCRE库;这样在安装nginx是会提示你,你可以在网上下载一个pcre包来安装就行了。

下面开始安装过程:

1.从网上下载nginx-1.1.10.tar.gz,并安装nginx

 # tar -zxvf nginx-1.1.10.tar.gz

 # cd nginx-1.1.10

 # ./configure

 # make

 # make install

 

2.安装完成后,运行nginx,并在浏览器上测试一下,看nginx是否正常运行

 # cd /usr/local/nginx/sbin

 # ./nginx

 

 在浏览器上输入localhost,如果看到有“Welcome to nginx!”显示出来就OK

 

3.配置均衡负载器

# cd /usr/local/nginx/conf

# vi nginx.conf

 

nginx.conf配置文件里的http{}改为

 

http {

    include       mime.types;

    default_type  application/octet-stream;

  #下面的地址为三台服务器的地址

      upstream server_pool

   {

    server 172.18.81.4;

    server 172.18.81.9;

    server 172.18.81.10;

   }

 

   #下面的地址为负载器的地址

    server {

        listen       80;

        server_name  172.18.81.2;

 

        location / {

           proxy_pass http://server_pool;

   

        }

 

    }

}

 

注意:这里为了简洁,我把http{}里的其他分段删除,本人建议把其他段用“#”号注释

 

4.重载一下配置文件

 [root@lanyu nginx]# sbin/nginx -s reload

 如果没报错就说明配置成功

 下面测试一下

 [root@lanyu nginx]# sbin/nginx -t

 nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok

 nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful

 如果显示上面的内容就OK

 

5.查看nginx进程

 # ps -ef | grep nginx

 root      6217     1  0 02:03 ?        00:00:00 nginx: master process nginx

 nobody    6289  6217  0 02:16 ?        00:00:00 nginx: worker process

 root      6328  6157  0 02:30 pts/2    00:00:00 grep nginx

 

6.杀掉nginx进程(上面的nginx进程好为6217

 # kill 6217

 

7.启动nginx

 # cd /usr/local/nginx/sbin

 # ./nginx

 

注意:要配置均衡负载器,必须要有多台计算机作为装有nginx的服务器,上面三个IP就是

三台服务器的IP

 

 

.配置SSHD

1.进入ssh目录

# cd /etc/ssh

 

配置sshd_config 允许root登录

# vi ssd_config

把“#PermitRootLogin yes””#”去掉,如果有“PermitRootLogin no”把它注释掉则在前面加一个“#”。

 

启动sshd

# service sshd start

重启:# service sshd restart

停止:# service sshd stop

查看当前状况:# service sshd status

 

设置开机自动启动:

# chkconfig sshd on

 

 

文本远程登录:

# ssh root@[远程IP]

 

2.桌面远程登录

(1)把运行级别设为5

# vi /etc/inittab

 

(2)配置vncservers

# cd /etc/sysconfig/

# vi vncservers

vncservers最后添加下面的内容:

 VNCSERVERS="1:root"

 VNCSERVERARGS1=-geometry 800x600

 

(3)设置VNC用户密码

#vncpasswd

 

(4)启动:# service vncserver start

(5)# cd /root/.VNC

   # vi xstartup

   xstartup里去掉“unset .....”和”exec .....“这两行的注释

(6)重启:service vncserver restart

(7)设置开机自动启动:chkconfig sshd on