unix重定向不同用户_unix输出重定向 - CSDN
  • unix 输入输出重定向

    2013-11-03 13:24:55
    关于>&2、2>&1等重定向的详细解释! 在POSIX shell中,命令的结果可以通过%>的形式来定义(其中%表示文件描述符:1为标准输出stdout、2为标准错误stderr)!系统默认%值是1,也就是1>,而1>可以简写为>,也就是...
    关于>&2、2>&1等重定向的详细解释! 
    在POSIX shell中,命令的结果可以通过%>的形式来定义(其中%表示文件描述符:1为标准输出stdout、2为标准错误stderr)!系统默认%值是1,也就是1>,而1>可以简写为>,也就是默认为>。而stdout的默认目标是终端(这点不用验证吧)。另外,stderr的默认目标我个人认为也是终端,比如:
    #abcddcba
    sh: abcddcba: not found.
    错误信息显示在终端上(对于telnet、dtterm等,那就说虚拟终端了)。
    ==============实验环境==============
    #mkdir redtest
    #cd redtest
    #mkdir a4
    #touch a1 a2 a3
    ==============简单试验==============
    #ls >redout.lst (等同于ls 1>redout.lst,标准输出重定向)
    系统先执行>redout.lst,生成一个空文件,然后系统执行ls,再把结果重定向到redout.lst。这时在终端看不到任何信息,但是#more redout.lst可以看到a1、a2、a3、a4和redout.lst。
    #./ourgame 2>rederr.lst (标准错误重定向)
    因为系统找不到执行脚本ourgame,产生错误,但并不是显示在终端上,而是把错误信息重定向到了rederr.lst。
    #more rederr.lst
    sh: ourgame: not found.
    ==============组合试验==============
    #rm rederr.lst
    #rm redout.lst
    #vi conj
    #!/usr/bin/sh
    #Email:webmaster@myhpux.com
    for FN in `ls`
    do
    if [[ -f $FN ]]
    then
    echo $FN
    else
    cp $FN $FN.new
    fi
    done
    //conj的作用是执行以后产生标准输出(echo)和标准错误(cp)
    #chmod 755 conj
    看看一下命令的结果:
    #./conj
    a1 //stdout
    a2 //stdout
    a3 //stdout
    cp: a4: is a directory. Need "-R" option.//stderr
    conj //stdout
    再试试重定向的结果:
    (1)、输出重定向到文件a1,终端上只能看到标准错误:
    #./conj >a1
    #./conj 1>a1
    #more a1
    a1
    a2
    a3
    conj
    (2)、错误重定向到文件a1,终端上只能看到标准输出:
    #./conj 2>a1
    #more a1
    cp: a4: is a directory. Need "-R" option.
    (3)、把标准输出和标准错误都重定向到a1,终端上看不到任何信息:
    #./conf >a1 2>&1 (等同于#./conf 1>a1 2>&1)
    #more a1
    a1
    a2
    a3
    cp: a4: is a directory. Need "-R" option.
    conj
    //其中&的意思,可以看成是“The same as”、“与...一样”的意思。本例中就是2>和1>一样,都输出到a1中。
    再看一个例子:
    #./conj 2>&1 >a1
    同样可以解释为2>和1>一样,但是这时1>是系统默认输出到终端,所以标准错误也输出到终端;然后,系统把标准输出重定向到文件a1。
    记得unixpianpianMM有个问题:
    echo "Usage $0 -d" >&2
    那么可以解释为echo "Usage $0 -d" 1>&2
    也就是把结果输出到和标准错误一样;之前如果有定义标准错误重定向到某log文件,那么标准输出也重定向到这个log文件。
    展开全文
  • Unix重定向

    2010-08-31 16:41:00
    在使用Unix系统的过程中,可能大家会遇到如下这些问题:  1、在Unix系统下需要编译一个比较大的程序,估计要20分钟。在编译过程中可能会出现一些警告或者错误信息。系统工程师不可能这二十分钟都盯着...

    在使用Unix系统的过程中,可能大家会遇到如下这些问题:

      1、在Unix系统下需要编译一个比较大的程序,估计要20分钟。在编译过程中可能会出现一些警告或者错误信息。系统工程师不可能这二十分钟都盯着屏幕看。为此系统工程师希望shell能够把这这些编译过程中出现的警告或者错误信息能够保存在一个文件中,以供系统工程师或者程序开发人员后续查询所用。

      2、在开发程序的时,有时候是根据代码的行数来收费的,在Unix系统中开发应用程序也是如此。为此系统工程师也希望能够有工具能够方便的来统计某个程序文件的行数。

      3、有时候系统管理员可能希望能够把几个文本文件合并起来。虽然通过复制、粘贴可以实现类似的功能。但是当需要被合并的文件比较多的时候,通过赋值粘贴来实现合并的目的,并不是很好的处理方法。等等。

      以上这些问题虽然在Unix系统中没有专门的命令来解决。但是通过重定向功能,再结合其他的一些处理技巧,这些问题就迎刃而解了。

      一、利用重定向功能实现文件的合并。

      在Unix系统中,当要把多个文件合并为一个文件时,重定向功能就会显得特别有用。如现在系统管理员希望帮Unix系统中的A1.TXT、A2.TXT 文件合并(甚至多个文件)就可以通过重定向功能来实现。在谈具体的原理之前,笔者先把这个命令写出来。

      Cat A1.TXT、A2.TXT > new.txt

      这个命令的具体执行过程如下:

      首先当shell发现命令行中有特殊字符时,就会把流从它的默认设备上断开。现在这个命令中有>符号时,系统就会创建一个新的文件new.txt为写入做准备。不过这里要注意一个问题,如果此时Unix系统中已经存在了这个文件,则shell会覆盖这个文件,而不会给系统管理员任何的提示。所以在利用输出重定向功能的时候,一定要谨慎。特别是最好不要以root身份来运行这个命令。因为特权用户对于系统中的所有文件与目录都有完全控制的权限。为此其运行这个命令的话,万一这个文件已经存在,则会毫不犹豫的覆盖这个文件,即使这个文件的所有者不是特权用户。

      其次shell会断开默认设备。Cat命令的默认设备通常情况下就是屏幕终端。但是shell在解释命令的时候看到了命令中有特殊符号,故会断开其默认设备,而会连接到new.txt这个文件中。即把这个文件当作其默认的显示设备。注意这里是断开默认设备,连接一个新设备;而不是创建一个备份设备。也就是说,此时执行这个命令的时候,因为已经断开了与屏幕终端的连接,故这两个文件的内容不会在屏幕上显示,而直接保存到了new.txt文件中。

      第三cat命令打开依次打开文件并读取数据。这里系统管理员需要弄清楚一个问题,是shell打开了这两个文件呢还是命令cat打开了这两个文件?搞清楚这个问题的答案对于后续的学习很有帮助。笔者在后续的文章中会谈到这个问题。在这里系统管理员只需要记住,执行这个命令的时候是cat命令打开了这些文件,而不是shell。然后Cat命令会把读取的数据写入到已经重定向到new.txt文件的标准输出。

      注意在这个命令的执行过程中,Cat命令并不知道它实际上是把内容写入到了一个新的文件中。也就是说,任何使用标准输出的命令都不知道它输出的目标对象。他们总认为他们是在向默认设备中输出。

      不过利用上面这个命令来合并文件的时候,还有一个小小的缺陷。即上面的输出流合并的过程中并没有显示合并的文件名。而系统管理员可能希望在new.txt文件的开头能够显示合并的文件名字,以提高文件的阅读性。要实现这个功能也很简单。假如现在在当前目录下有以A开头的、.txt结尾的文件五个,系统管理员希望能够把他们合并起来,并在新文件的开头显示这五个文件的名字,此时就可以通过如下的命令来实现。

      (ls –x A*.txt;echo;cat A*.txt)> new.txt

      这个命令中ls表示列出所有需要合并文件的名字,通过重定向符号会把这个结果写入到合并后的文件中。而这个命令中的echo命令是为了在表头列于C语言代码之间插入一空行。也就是说,执行这个命令后程序文件名将显示在表头列里,这样代码列表清单的最前面就好像建立了一个目录一样。

      笔者最后再强调一次,在使用标准输出重定向功能的时候,当一个命令的输出被重定向到一个文件时,这个输出文件由shell在命令执行前创建。如果输出文件不存在,则shell 会在命令执行前自动创建它;如果输出文件已经存在,则shell会覆盖这个已经存的文件。为此在使用这个功能的时候,最好能够通过ls等命令查看这个文件是否存在,以免因为误操作而给用户带来不必要的损失。

      二、把错误信息写入到文本文件中。

      现在系统工程师在shell 中执行一个脚本文件。由于这个脚本文件比较复杂,可能需要花费半个小时的时间。系统工程师可能还有其他事情要做,故会暂时离开。为此系统工程师希望能够把程序运行中的错误信息写入到一个文本文件中。此时该如何处理呢?

      run.sh 2>error.txt

      这个命令跟上面提到的标准输出重定向功能类似,都是利用了重定向符号。不过在这个命令中,重定向符号前面多了一个数字2,是什么意思呢?其实这个数字2在Unix系统中有一个特殊的含义,叫做文件描述符。在shell中有三个特殊的文件,他们跟Unix系统的终端有关。这三个特殊文件实际上吧命令的输出与输入的结果当作字符流来处理。一个流就似乎一个字节序列。当系统管理员登陆到系统时,shell就会自动创建这三个流文件,每个流文件对应一个默认的设备(即所谓的终端)。这三个特殊的文件分别为标准输入(这个流文件代表输入,通常情况下来自键盘,不包括鼠标的输入)、标准输出(这个流文件通常代表着屏幕,它输出到屏幕上)、标准错误(这个流文件代表错误信息,来自于相关命令或者shell的错误信息)。任何一个使用流的命令都可以使用这些流文件。而这三个文件在Unix系统中还都对应一个称为文件描述符的数字代码(就是上面提到的数字2)。在打开一个文件时需要用到文件的路径,而对这些流文件进行读写操作时则需要用到文件描述符。在Unix操作系统内核中为系统中每一个进程创建一张文件描述符表。默认情况下这个文件描述符表中的前三行就跟这三个流文件相关,即0表示标准输入、1表示标准输出、2表示标准错误信息。重定向符号前面往往会因含这些文件描述符。如上面的Cat A1.TXT、A2.TXT > new.txt标准输出命令,其实跟Cat A1.TXT、A2.TXT 1> new.txt是等价的。

      但是在用到标准错误这个流文件时,这需要注意,系统工程师需要显示的说明这些描述符号。如在运行某个程序时,需要用到一个参数文件。而这个文件不存在或者已经损坏的情况下,则默认情况下会有错误信息显示在屏幕上。这个在Unix操作系统中就叫做标准错误流,它的默认输出目标是屏幕终端。但是如果要把这个标准错误流重定向到一个系统工程师指定的文件中,则需要在重定向符号前面显示的加入文件描述符2,即run.sh 2>error.txt。

      也许这么说还不够直接,笔者可以把这个命令写成run.sh >info.txt 2>error.txt。这个命令表示什么意思呢?也许在run.sh这个程序运行的过程中,可能没有什么错误。此时在屏幕上就会显示这个程序正常运行的结果。这个就是标准输出流。这个信息会纪录在info.txt文件中。如果这个程序在运行中由于某些原因出现了运行错误,则这些标准错误信息会被记录到error.txt文件中。也就是说,在重定向符号面前加入2字,主要是为了区分标准输出流与标准错误流。为此需要把标准错误流重定向到一个文件中的时候,必须要显示的使用文件描述符2。否则的话,系统会把其当作标准输出流来处理。

      可见重定向功能跟其他功能结合可以实现很多意想不到的功能。而这些功能可以明显提高系统工程师的工作效率。这个重定向功能跟Unix系统自带的mailx命令结合,还可以让系统自动监视Unix操作系统的运作情况。关于这方面的内容笔者在下篇文章中就会谈到,请大家耐心关注。

    展开全文
  • Unix系统中,任何命令,包括Shell本身,默认情况下总是读取来自终端键盘输入的数据,这个数据输入源通常称作标准输入(stdin),其文件描述符为0. 默认情况下,命令的处理结果总是输出到用户终端的屏幕上,这个输出目的...
        在Unix系统中,任何命令,包括Shell本身,默认情况下总是读取来自终端键盘输入的数据,这个数据输入源通常称作标准输入(stdin),其文件描述符为0.
        默认情况下,命令的处理结果总是输出到用户终端的屏幕上,这个输出目的通常称作标准输出(stdout),其文件描述符为1.
        另外,在命令的执行期间,如果出现问题,相应的错误信息默认情况下也将输出到用户的终端屏幕上,这个输出目的通常称作标准错误输出(stderr),其文件描述符为2.

        有上面的基础知识后,我们现在来讨论Linux/Unix系统命令行的精妙之处:输入输出重定向.
        例如:
           ls -l > fname
        上述命令就是把ls命令的返回结果输出到fname这个文件中去,但是要注意的事情是输出前将清空原文件内容(如果原文件存在).使用ls -l >>fname这个命令是将结果附加到原文件后面.
           grep root < fname
        上述命令是在fname这个文件中寻找带有root这个字段的内容,是把标准输入重定向为文件输入.

    上述命令其实是简化后的形式,其原始形式为
        0 < fname   把标准输入重定向到指定文件中
        1 > fname   把标准输出重定向到文件中
        2 > fname   把标准错误输出重定向到文件中

    还有一个重要的用法
        i>& j   把文件描述符i表述的输出文件重定向到文件描述符j表示的文件
        例如: 
           command_1 2 >& 1   把这个错误命令的标准错误输出重定向到标准输出

    其原理是用指针实现的.
    展开全文
  • Unix IO 重定向

    2019-01-23 23:03:21
    标准I/O与重定向的若干概念 3个标准文件描述符 所有的Unix工具都使用文件描述符0、1和2。如下图所示,标准输入文件的描述符是0,标准输出的文件描述符是1,标准错误输出的文件描述符则是2。Unix假设文件描述符0、1和...

    转自:https://segmentfault.com/a/1190000006651669

    标准I/O与重定向的若干概念

    3个标准文件描述符

    所有的Unix工具都使用文件描述符012。如下图所示,标准输入文件的描述符是0,标准输出的文件描述符是1,标准错误输出的文件描述符则是2Unix假设文件描述符012都已经被打开,可以分别进行读、写和写的操作。

    图片描述

    重定向I/O的是shell而不是程序

    通过使用输出重定向标志,命令cmd>filename告诉shell将文件描述符1定位到文件。于是shell就将文件描述符与指定的文件连接起来。程序持续不断地将数据写到文件描述符1中,根本没有意识到数据的目的地已经改变了。listargs.c展示了程序甚至没有看到命令行中的重定向符号。

    int main(int ac, char* av[]) {
    int i;
    printf(“Number of args: %d, Args are: \n”, ac);
    for(i = 0; i < ac; i++) {
    printf(“args[%d] %s\n”, i, av[i]);
    }
    fprintf(stderr, “This message is sent to stderr.\n”);
    }" title="" data-original-title=“复制”>

    #include <stdio.h>

    int main(int ac, char* av[]) {
    int i;
    printf(“Number of args: %d, Args are: \n”, ac);
    for(i = 0; i < ac; i++) {
    printf(“args[%d] %s\n”, i, av[i]);
    }
    fprintf(stderr, “This message is sent to stderr.\n”);
    }

    程序listargs将命令行参数打印到标准输出。注意listargs并没有打印出重定向符号和文件名。

    图片描述

    如上图所示验证了关于shell输出重定向的一些重要概念。

    • shell并不将重定向标记和文件名传递给程序。

    • 重定向可以出现在命令行中的任何地方,并且在重定向标识符周围并不需要空格来区分。例如上图命令./listargs testing >xyz one two 2>oops也可以写成./listargs >xyz testing one two 2>oops,如下图所示。

    图片描述

    最低可用文件描述符(Lowest-Available-fd)原则

    文件描述符是一个数组的索引号。每个进程都有其打开的一组文件,这些打开的文件被保持在一个数组中。文件描述符即为某文件在此数组中的索引。并且,当打开文件时,为此文件安排的文件描述符总是此数组中最低可用位置的索引。

    将stdin重定向到文件

    考虑如何将标准输入重定向以至可以从文件中读取数据。更加精确的说,进程并不是从文件读数据,而是从文件描述符读取数据。如果将文件描述符0重定向到一个文件,那么此文件就成为标准输入的源。

    方法1:close-then-open

    第一种放方法是close-then-open策略,具体步骤如下:

    • 开始时,系统中采用的是典型的设置,即三种标准流是被连接到终端设备上的。输入的数据流经过文件描述符0而输出的流经过文件描述符12

    • 接下来,调用close(0),将标准输入与终端设备的连接切断。

    • 最后,使用open(filename, O_RDONLY)打开一个想连接到stdin上的文件。当前的最低可用文件描述符是0,因此所打开的文件将被连接到标准输入上。任何从标准输入读取数据的函数都将从此文件中读取数据。

    方法2:open-close-dup-close

    Unix系统调用dup建立指向已经存在的文件描述符的第二个连接,这种方法需要4个步骤。

    • open(file),打开stdin将要重定向的文件。这个调用返回一个文件描述符fd,这个描述符并不是0,因为0在当前已经被打开了。

    • close(0),将文件描述符0关闭,现在文件描述符0已经空闲了。

    • dup(fd),系统调用dup(fd)将文件描述符fd做了一个复制。此处复制使用最低可用的文件描述符号。因此获得的文件描述符是0。这样,就将磁盘文件与文件描述符0连接在一起了。

    • close(fd),使用close(fd)来关闭原始连接,只留下文件描述符0的连接。

    dup在学习管道的时候非常重要,一个简单一点的方案是将close(0)和dup(fd)结合在一起作为一个单独的系统调用dup2

    重定向I/O:who>userlist

    当输入who>userlist时,shell运行who程序,并将who的标准输出重定向到名为userlist的文件上。shell实现该重定向的关键之处在于forkexec之间的时间间隙。在fork执行完后,子进程仍然在运行父进程也就是shell程序,并准备执行execexec将替换进程中运行的程序,但是它不会改变进程的属性和进程中所有的连接。也就是说,在运行exec之后,进程的用户ID不会改变,其优先级也不会改变,并且其文件描述符也和运行exec之前一样。因此,利用这个原则来实现重定向标准输出。

    此时who就是子进程要执行的命令,当执行fork前,父进程的文件描述符1指向终端。当执行fork之后,子进程的文件描述符也喜欢指向终端,此时,子进程尝试执行close(1)close(1)之后,文件描述符1成为最低未用文件描述符,子进程现在再执行creat(userlist, mode)打开文件userlist,文件描述符1被连接到文件userlist。因此,子进程的标准输出被重定向到文件userlist,子进程然后调用exec执行who

    子进程执行了who程序,于是子进程中的代码和数据都被who程序的代码和数据所替换了,然而文件描述符被保留下来。因为打开的文件并非是程序的代码也不是数据,它们属于进程的属性,因此exec调用并不改变它们。

    管道编程

    管道是内核中一个单向的数据通道,管道有一个读取端和一个写入端,可以用来连接一个进程的输出和另一个进程的输入。

    创建管道

    使用系统调用result = pipe(int array[2])来创建管道,并将其两端连接到两个文件描述符。如下图所示,array[0]为读取数据端的文件描述符,而array[1]则为写数据端的文件描述符。类似与open调用,pipe调用也使用最低可用文件描述符。

    图片描述

    程序pipedemo.c展示了如何创建管道并使用管道向自己发送数据。核心代码如下:

    数据流从键盘到进程,从进程到管道,再从管道到进程以及从进程回到终端。

    使用fork来共享管道

    当进程创建一个管道之后,该进程就有了连向管道两端的连接。当这个进程调用fork的时候,它的子进程也得到了这两个连向管道的连接。父进程和子进程都可以将数据写到管道的写数据端口,并从读数据端口将数据读出。但是当一个进程读,而另一个进程写的时候,管道的使用效率是最高的。程序pipedemo2.c说明了如何将pipefork结合起来,创建一对通过管道来通信的进程,核心代码如下:

    技术细节

    • 从管道中读取数据

      • 当进程试图从管道读取数据时,进程被挂起直到数据被写进管道。

      • 当所有的写进程关闭了管道的写数据端时,试图从管道中读取数据的调用会返回0,这意味这文件的结束。

    • 向管道中写数据

      • 写入数据阻塞直到管道有空间去容纳新的数据。

      • 如果所有的读进程都已关闭了管道的读数据端,那么对管道的写入调用将会执行失败。

    总结

    • Unix默认从文件描述符0读取数据,写数据到文件描述符1,将错误信息输出到文件描述符2

    • 创建文件描述符的系统调用总是使用最低可用文件描述符号。

    • 重定向标准输入、标准输出和错误输出意味着改变文件描述符012的连接。

    • 管道是内核中的一个数据队列,其每一端连接一个文件描述符。程序通过pipe系统调用来创建管道。

    • 当父进程调用fork的时候,管道的两端都被复制到子进程中。

    • 只有有共同父进程的进程之间才可以用管道连接。

    代码

    相关代码见Github

    参考

                </div>
    
    展开全文
  • 重定向不在显示屏打印命令的错误信息,当找不到文件的时候,屏蔽了错误信息。 2和>之间不要有空格[s14516@gdufs]$find / -name 'stdio.h' 2> /dev/null整合文件内容f1和f2的文件内容合起来保存在一个文件cat f1 f2 ...
  • Linux基础之重定向

    2017-07-24 08:44:28
    在计算机领域,重定向是大多数命令行解释器所具有的功能,包括各种可以将标准流重定向用户规定地点的Unix shells。Linux作为一种类UNIX系统,支持重定向。Linux下重定向是指对原来系统命令的默认执行方式进行改变,...
  • dos2unixunix2dos命令使用  dos2unix, unix2dos 用来实现 DOS UNIX text file 转换 aptitude install sysutils 行末: DOS 格式 0d 0a UNIX 格式 0a 可用功能相同的指令組合...
  • unix下的重定向

    2020-04-29 16:40:43
    unix下的重定向 2020-03-27 16:48:23 -0700 重定向 linux 理解 输出重定向:一般情况下,我们在终端下执行命令,或者执行程序,如果有输出信息,则会显示在终端上,...
  • Linux重定向的说明

    2014-06-23 13:18:39
     在计算领域,重定向是大多数命令行解释器所具有的功能,包括各种可以将标准流重定向用户规定地点的Unix shells。类Unix操作系统的程序可以通过dup2系统调用完成重定向,或者通过缺少一些灵活性但是更高一级层次的...
  • 在了解重定向之前,我们先来看看linux 的文件描述符。 linux文件描述符:可以理解为linux跟踪打开文件,而分配的一个数字,这个数字有点类似c语言操作文件时候的句柄,通过句柄就可以实现文件的读写操作。 用户可以...
  • linux重定向简介

    2014-06-15 10:44:41
     在计算领域,重定向是大多数命令行解释器所具有的功能,包括各种可以将标准流重定向用户规定地点的Unix shells。类Unix操作系统的程序可以通过dup2系统调用完成重定向,或者通过缺少一些灵活性但是更高一级层次的...
  • 所谓重定向就是将网页自动转向重定向,即:301永久性重定向和302临时性重定向。实施301后,新网址完全继承旧网址,旧网址的排名等完全清零;实施302后,对旧网址没有影响,但新网址不会有排名。页面永久性移走(301...
  • 大多数 UNIX 系统命令从你的终端接受输入并将所产生的输出发送回​​到您的终端。一个命令通常从一个叫标准输入的地方读取输入,默认情况下,这恰好是你的终端。同样,一个命令通常将其输出写入到标准输出,默认情况...
  • UNIX命令有三个有效的数据流:标准输入,标准输出,标准错误。 管道是从一个程序进程向另一个程序进程单向传送信息的技术。与其它形式的进程间通讯,如IPC、MESSAGE PASSING、SOCKET等不同,管道特点是单向的。...
  • 用户输入名字后提交表单,然后点击浏览器的刷新按钮,会看到一个莫名其妙的警告,要求在再次提交表单之前进行确认。之所以出现这种情况,是因为刷新页面时浏览器会重新发送之前已经发送过的最后一个请求。如果这个...
  • 命令行下的程序和图形界面下的程序一个很大的区别是输入和输出。图形界面下的程序是事件驱动的,无论要完成什么功能,都必须启动主窗口;命令行下的程序是指令驱动的,用户给什么指令,...用重定向语法可以改变这一默认
  • shell 输入 输出重定向

    2016-10-26 09:16:44
    Shell 输入/输出重定向 大多数 UNIX 系统命令从你的终端接受输入并将所产生的输出发送回​​到您的终端。一个命令通常从一个叫标准输入的地方读取输入,默认情况下,这恰好是你的终端。同样,一个命令通常将其...
  • nginx 伪静态 重定向 包括域名、目录、文件等方法 ... 小】 在网站建设中需要网页重定向的情况很...如果不做重定向用户的收藏和搜索引擎数据库中的旧地址只能让访客得到一个404错误信息页面,访问流量白白丧失。不仅如
  • 301永久重定向对SEO无任何不好的影响,而且网页A的关键词排名和PR级别都会传达给网页B,网站更换了域名,表示本网页永久性转移到另一个地址,对于搜索引擎优化|SEO来说,给搜索引擎一个友好的信息,告诉它此页面已...
  • 而301重定向是一项非常重要的重定向手段,它可以将网页扩展名、网页地址、网站域名等进行重定向,使用户能够访问到你指定的网站内容。 哪些情况下你需要用到301重定向呢? 1.网站调整(如调整了网站目录结构) 2....
1 2 3 4 5 ... 20
收藏数 49,982
精华内容 19,992
关键字:

unix重定向不同用户