开启Apache mod_rewrite模块示例代码

开启Apache mod_rewrite模块示例代码

启用mod_rewrite模块 在conf目录的httpd.conf文件中找到 LoadModule rewrite_module modules/mod_rewrite.so 将这一行前面的#去掉。 2.在要支持url rewirte的目录启用 Options FollowSymLinks和AllowOverride All Alias /php "c:/web/php/" 代码如下: < ···
13个实用的Apache Rewrite重写规则

13个实用的Apache Rewrite重写规则

1.去掉域名中的www标记 代码如下:RewriteCond %{HTTP_HOST} !^jb51.net$ [NC]RewriteRule .? http://jb51.net%{REQUEST_URI} [R=301,L]2.去掉www标记,但是保存子域名 代码如下:RewriteCond %{HTTP_HOST} ^www.(([a-z0-9_]+.)?jb51.net)$ [NC]RewriteRule .? http://%1%{REQUEST_URI} [R=301,L]这里,当匹配到1%变量以后,子域名才会在%2(内部原子)中抓取到,而我们需要的正是这个%1变量。3.给子域名加www标记 代码如下:RewriteCond %{HTTP_HOST} ^([a-z.]+)?jb51.net$ [NC]RewriteCond %{HTTP_HOST} !^www. [NC]RewriteRule .? http://www.%1jb51.net%{REQUEST_URI} [R=301,L]这个规则抓取二级域名的%1变量,如果不是以www开始,那么就加www,以前的域名以及{REQUEST_URI}会跟在其后。4.防止图片盗链一些站长不择手段的将你的图片盗链在他们网站上,耗费你的带宽。你可以加一下代码阻止这种行为。 代码如下:RewriteCond %{HTTP_REFERER} !^$RewriteCond %{HTTP_REFERER} !^http://(www.)?jb51.net/ [NC]RewriteRule .(gif|jpg|png)$ C [F]如果{HTTP_REFERER}值不为空,或者不是来自你自己的域名,这个规则用[F]FLAG阻止以gif|jpg|png 结尾的URL如果对这种盗链你是坚决鄙视的,你还可以改变图片,让访问盗链网站的用户知道该网站正在盗用你的图片。 代码如下:RewriteCond %{HTTP_REFERER} !^$RewriteCond %{HTTP_REFERER} !^http://(www.)?jb51.net/.*$ [NC]RewriteRule .(gif|jpg|png)$ 你的图片地址 [R=301,L]除了阻止图片盗链链接,以上规则将其盗链的图片全部替换成了你设置的图片。你还可以阻止特定域名盗链你的图片: 代码如下:RewriteCond %{HTTP_REFERER} !^http://(www.)?leech_site.net/ [NC]RewriteRule .(gif|jpg|png)$ C [F,L]这个规则将阻止域名黑名单上所有的图片链接请求。当然以上这些规则都是以{HTTP_REFERER}获取域名为基础的,如果你想改用成IP地址,用{REMOTE_ADDR}就可以了。5.如果文件不存在重定向到404页面如果你的主机没有提供404页面重定向服务,那么我们自己创建。 代码如下:RewriteCond %{REQUEST_FILENAME} !-fRewriteCond %{REQUEST_FILENAME} !-dRewriteRule .? /404.php [L]这里-f匹配的是存在的文件名,-d匹配的存在的路径名。这段代码在进行404重定向之前,会判断你的文件名以及路径名是否存在。你还可以在404页面上加一个?url=$1参数: 代码如下:RewriteRule ^/?(.*)$ /404.php?url=$1 [L]这样,你的404页面就可以做一些其他的事情,例如默认信心,发一个邮件提醒,加一个搜索,等等。6.重命名目录如果你想在网站上重命名目录,试试这个: 代码如下:RewriteRule ^/?old_directory/([a-z/.]+)$ new_directory/$1 [R=301,L]在规则里我添加了一个“.”(注意不是代表得所有字符,前面有转义符)来匹配文件的后缀名。7.将.html后缀名转换成.php前提是.html文件能继续访问的情况下,更新你的网站链接。 代码如下:RewriteRule ^/?([a-z/]+).html$ $1.php [L]这不是一个网页重定向,所以访问者是不可见的。让他作为一个永久重定向(可见的),将FLAG修改[R=301,L]。8.创建无文件后缀名链接如果你想使你的PHP网站的链接更加简洁易记-或者隐藏文件的后缀名,试试这个: 代码如下:RewriteRule ^/?([a-z]+)$ $1.php [L]如果网站混有PHP以及HTML文件,你可以用RewriteCond先判断该后缀的文件是否存在,然后进行替换: 代码如下:RewriteCond %{REQUEST_FILENAME}.php -fRewriteRule ^/?([a-zA-Z0-9]+)$ $1.php [L]RewriteCond %{REQUEST_FILENAME}.html -fRewriteRule ^/?([a-zA-Z0-9]+)$ $1.html [L]如果文件是以.php为后缀,这条规则将被执行。9.检查查询变量里的特定参数如果在URL里面有一个特殊的参数,你可用RewriteCond鉴别其是否存在: 代码如下:RewriteCond %{QUERY_STRING} !uniquekey=RewriteRule ^/?script_that_requires_uniquekey.php$ other_script.php [QSA,L]以上规则将检查{QUERY_STRING}里面的uniquekey参数是否存在,如果{REQUEST_URI}值为script_that_requires_uniquekey,将会定向到新的URL。10.删除查询变量Apache的mod_rewrite模块会自动辨识查询变量,除非你做了以下改动:a).分配一个新的查询参数(你可以用[QSA,L]FLAG保存最初的查询变量)b).在文件名后面加一个“?”(比如index.php?)。符号“?”不会在浏览器的地址栏里显示。11.用新的格式展示当前URI如果这就是我们当前正在运行的URLs:/index.php?id=nnnn。我们非常希望将其更改成/nnnn并且让搜索引擎以新格式展现。首先,我们为了让搜索引擎更新成新的,得将旧的URLs重定向到新的格式,但是,我们还得保证以前的index.php照样能够运行。是不是被我搞迷糊了?实现以上功能,诀窍就在于在查询变量中加了一个访问者看不到的标记符“marker”。我们只将查询变量中没有出现“marker”标记的链接进行重定向,然后将原有的链接替换成新的格式,并且通过[QSA]FLAG在已有的参数加一个“marker”标记。以下为实现的方式: 代码如下:RewriteCond %{QUERY_STRING} !markerRewriteCond %{QUERY_STRING} id=([-a-zA-Z0-9_+]+)RewriteRule ^/?index.php$ %1? [R=301,L]RewriteRule ^/?([-a-zA-Z0-9_+]+)$ index.php?marker &id=$1 [L]这里,原先的URL://www.jb51.net/index.php?id=nnnn,不包含marker,所以被第一个规则永久重定向到//www.jb51.net/nnnn,第二个规则将//www.jb51.net/nnnn反定向到//www.jb51.net/index.php?marker&id=nnnn,并且加了marker以及id=nnnn两个变量,最后mod_rewrite就开始进行处理过程。第二次匹配,marker被匹配,所以忽略第一条规则,这里有一个“.”字符会出现在//www.jb51.net/index.php?marker&id=nnnn中,所以第二条规则也会被忽略,这样我们就完成了。注意,这个解决方案要求Apache的一些扩展功能,所以如果你的网站放于在共享主机中会遇到很多障碍。12.保证安全服务启用Apache可以用两种方法辨别你是否开启了安全服务,分别引用{HTTPS}和{SERVER_PORT}变量: 代码如下:RewriteCond %{REQUEST_URI} ^secure_page.php$RewriteCond %{HTTPS} !onRewriteRule ^/?(secure_page.php)$ https://www.jb51.net/$1 [R=301,L]以上规则测试{REQUEST_URI}值是否等于我们的安全页代码,并且{HTTPS}不等于on。如果这两个条件同时满足,请求将被重定向到安全服务URI.另外你可用{SERVER_PORT}做同样的测试,443是常用的安全服务端口 代码如下:RewriteCond %{REQUEST_URI} ^secure_page.php$RewriteCond %{SERVER_PORT} !^443$RewriteRule ^/?(secure_page.php)$ https://www.jb51.net/$1 [R=301,L]13.在特定的页面上强制执行安全服务遇到同一个服务器根目录下分别有一个安全服务域名和一个非安全服务域名,所以你就需要用RewriteCond 判断安全服务端口是否占用,并且只将以下列表的页面要求为安全服务: 代码如下:RewriteCond %{SERVER_PORT} !^443$RewriteRule ^/?(page1|page2|page3|page4|page5)$ https://www.jb51.net/%1[R=301,L]以下是怎样将没有设置成安全服务的页面返回到80端口: 代码如下:RewriteCond %{ SERVER_PORT } ^443$RewriteRule !^/?(page6|page7|page8|page9)$//www.jb51.net%{REQUEST_URI} [R=301,L]
Apache伪静态Rewrite详解

Apache伪静态Rewrite详解

一、Rewrite规则简介:Rewirte主要的功能就是实现URL的跳转,它的正则表达式是基于Perl语言。可基于服务器级的(httpd.conf)和目录级的 (.htaccess)两种方式。如果要想用到rewrite模块,必须先安装或加载rewrite模块。方法有两种一种是编译apache的时候就直接 安装rewrite模块,别一种是编译apache时以DSO模式安装apache,然后再利用源码和apxs来安装rewrite模块。二、在Apache配置中启用Rewrite打开配置文件httpd.conf: 代码如下:1.启用rewrite# LoadModule rewrite_module modules/mod_rewrite.so 去除前面的 #
修改.htaccess实现子目录绑定示例分享

修改.htaccess实现子目录绑定示例分享

代码如下:<IfModule mod_rewrite.c>RewriteEngine On  RewriteBase /# 把 www.jb51.net改为你要绑定的域名.# 如果是域名:RewriteCond %{HTTP_HOST} ^((www|blog).)?jb51.net$RewriteCond %{HTTP_HOST} ^((www|blog).)?127.0.0.1$# 把 www改为要绑定的目录.RewriteCond %{REQUEST_URI} !^/www/# 以下无需修改.RewriteCond %{REQUEST_FILENAME} !-fRewriteCond %{REQUEST_FILENAME} !-d# 把 www 改为要绑定的目录.RewriteRule ^(.*)$ /www/$1# 把 www.jb51.net 改为你要绑定的域名# 把 www 改为要绑定的目录.# www/ 后面是首页文件index.php, index.html# 如果是域名:RewriteCond %{HTTP_HOST} ^((www|blog).)?jb51.net$RewriteCond %{HTTP_HOST} ^((www|blog).)?127.0.0.1$RewriteRule ^(/)?$ www/index.php [L]</IfModule>
修改.htaccess实现301域名重定向示例分享

修改.htaccess实现301域名重定向示例分享

代码如下:<IfModule mod_rewrite.c> RewriteEngineOnRewriteBase/#将www.jb51.net跳转到www.jb51.comRewriteCond%{HTTP_HOST}^www.jb51.net$[NC]RewriteRule^(.*)$//www.jb51.net/$1[R=301,L]#将huanhang.net跳转到www.jb51.comRewriteCond%{HTTP_HOST}^huanhang.net$[NC]RewriteRule^(.*)$//www.jb51.net/$1[R=301,L]</IfModule>
Linux防火墙iptables入门教程

Linux防火墙iptables入门教程

一、关于iptablesIptables是一个基于命令行的防火墙工具,它使用规则链来允许/阻止网络流量。当一条网络连接试图在你的系统中建立时,iptables会查找其对应的匹配规则。如果找不到,iptables将对其采取默认操作。几乎所有的Linux发行版都预装了iptables。在Ubuntu/Debian中更新/安装iptables的命令为: 代码如下:sudo apt-get install iptables现有的一些图形界面软件也可以替代iptables,如Firestarter。但iptables用起来并不难。配置iptables的规则时要特别小心,特别是在你远程登陆服务器的时候。因为这时的一个错误有可能让你和服务器永久失去连接,而你必须要到服务器面前才能解决它。二、Iptables规则链的类型
apache日志文件详解和实用分析命令

apache日志文件详解和实用分析命令

一.日志分析 如果apache的安装时采用默认的配置,那么在/logs目录下就会生成两个文件,分别是access_log和error_log 1).access_log access_log为访问日志,记录所有对apache服务器进行请求的访问,它的位置和内容由CustomLog指令控制,LogFormat指令可以用来简化该日志的内容和格式 例如,我的其中一台服务器配置如下: 代码如下:CustomLog "| /usr/sbin/rotatelogs /var/log/apache2/%Y_%m_%d_other_vhosts_access.log 86400 480" vhost_combined
apache和IIS共享80端口解决办法

apache和IIS共享80端口解决办法

第一步:把iis所发布的网站默认端口由80改为8080;第二步:修改apache的httpd.conf配置文件。 首先,要让apache支持转发也就是做iis的代理那么就要先启用apache的代理模块.首先我在Apacheconf目录下面找到httpd.conf文件,用记事本打开该文件找到以下几行代码: 代码如下: #LoadModule proxy_module modules/mod_prox ···
centos更改时区的方法

centos更改时区的方法

对于中国用户,如果centos默认使用UTC时区,那时间相差八个小时,其实可以通过简单的设置,变为中国时区,这时候机器上的时间和本地手表上的时间就是一致的。执行如下命令: 代码如下:cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime就可以了,如果没有看到/Asia/Shanghai文件,手动执行以下 tzselect ,按照提示选择即可。
linux设置tomcat自启动的方法

linux设置tomcat自启动的方法

linux设置tomcat自动启动在centos下,开机后会自动执行/etc/rc.local中的命令,平时启动tomcat的命令为tomcat_home/bin/startup.sh或tomcat_home/bin/catalina.sh start,当直接把他们任何一个加入到/etc/rc.local中,重启机器后发现tomcat并没有启动。原因是开机时java的环境还没有设置好,故自己写一个脚本,先设置java环境,然后在启动,脚本如下:
Linux proc目录下子文件或子文件夹的作用

Linux proc目录下子文件或子文件夹的作用

一.Linux /proc目录 简介Linux 内核提供了一种通过 /proc 文件系统,在运行时访问内核内部数据结构、改变内核设置的机制。proc文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间。它以文件系统的方式为访问系统内核数据的操作提供接口。用户和应用程序可以通过proc得到系统的信息,并可以改变内核的某些参数。由于系统的信息,如进程,是动态改变的,所以用户或应用程序读取proc文件时,proc文件系统是动态从系统内核读出所需信息并提交的。下面列出的这些文件或子文件夹,并不是都是在你的系统中存在,这取决于你的内核配置和装载的模块。另外,在/proc下还有三个很重要的目录:net,scsi和sys。 Sys目录是可写的,可以通过它来访问或修改内核的参数,而net和scsi则依赖于内核配置。例如,如果系统不支持scsi,则scsi 目录不存在。除了以上介绍的这些,还有的是一些以数字命名的目录,它们是进程目录。系统中当前运行的每一个进程都有对应的一个目录在/proc下,以进程的 PID号为目录名,它们是读取进程信息的接口。而self目录则是读取进程本身的信息接口,是一个link。二. /proc目录的子文件或子文件夹的作用/proc/buddyinfo 每个内存区中的每个order有多少块可用,和内存碎片问题有关/proc/cmdline 启动时传递给kernel的参数信息/proc/cpuinfo cpu的信息/proc/crypto 内核使用的所有已安装的加密密码及细节/proc/devices 已经加载的设备并分类/proc/dma 已注册使用的ISA DMA频道列表/proc/execdomains Linux内核当前支持的execution domains/proc/fb 帧缓冲设备列表,包括数量和控制它的驱动/proc/filesystems 内核当前支持的文件系统类型/proc/interrupts x86架构中的每个IRQ中断数/proc/iomem 每个物理设备当前在系统内存中的映射/proc/ioports 一个设备的输入输出所使用的注册端口范围/proc/kcore 代表系统的物理内存,存储为核心文件格式,里边显示的是字节数,等于RAM大小加上4kb/proc/kmsg 记录内核生成的信息,可以通过/sbin/klogd或/bin/dmesg来处理/proc/loadavg 根据过去一段时间内CPU和IO的状态得出的负载状态,与uptime命令有关/proc/locks 内核锁住的文件列表/proc/mdstat 多硬盘,RAID配置信息(md=multiple disks)/proc/meminfo RAM使用的相关信息/proc/misc 其他的主要设备(设备号为10)上注册的驱动/proc/modules 所有加载到内核的模块列表/proc/mounts 系统中使用的所有挂载/proc/mtrr 系统使用的Memory Type Range Registers (MTRRs)/proc/partitions 分区中的块分配信息/proc/pci 系统中的PCI设备列表/proc/slabinfo 系统中所有活动的 slab 缓存信息/proc/stat 所有的CPU活动信息/proc/sysrq-trigger 使用echo命令来写这个文件的时候,远程root用户可以执行大多数的系统请求关键命令,就好像在本地终端执行一样。要写入这个文件,需要把/proc/sys/kernel/sysrq不能设置为0。这个文件对root也是不可读的/proc/uptime 系统已经运行了多久/proc/swaps 交换空间的使用情况/proc/version Linux内核版本和gcc版本/proc/bus 系统总线(Bus)信息,例如pci/usb等/proc/driver 驱动信息/proc/fs 文件系统信息/proc/ide ide设备信息/proc/irq 中断请求设备信息/proc/net 网卡设备信息/proc/scsi scsi设备信息/proc/tty tty设备信息/proc/net/dev 显示网络适配器及统计信息/proc/vmstat 虚拟内存统计信息/proc/vmcore 内核panic时的内存映像/proc/diskstats 取得磁盘信息/proc/schedstat kernel调度器的统计信息/proc/zoneinfo 显示内存空间的统计信息,对分析虚拟内存行为很有用以下是/proc目录中进程N的信息/proc/N pid为N的进程信息/proc/N/cmdline 进程启动命令/proc/N/cwd 链接到进程当前工作目录/proc/N/environ 进程环境变量列表/proc/N/exe 链接到进程的执行命令文件/proc/N/fd 包含进程相关的所有的文件描述符/proc/N/maps 与进程相关的内存映射信息/proc/N/mem 指代进程持有的内存,不可读/proc/N/root 链接到进程的根目录/proc/N/stat 进程的状态/proc/N/statm 进程使用的内存的状态/proc/N/status 进程状态信息,比stat/statm更具可读性/proc/self 链接到当前正在运行的进程三. 实际操作例子1.列出 /proc/ 下的所有文件 代码如下:yafang@QA:~$ ls /proc/1      16819  21242  2180   2494  8768         interrupts    partitions116    16820  21244  2181   2524  885          iomem         sched_debug11740  17901  21245  21810  2525  acpi         ioports       scsi11742  17903  21247  21812  3     asound       irq           self11743  17904  2131   21813  39    buddyinfo    kallsyms      slabinfo13452  18362  21319  21923  4     bus          kcore         stat13454  18364  2132   2193   41    cgroups      key-users     swaps13455  18365  2139   21933  42    cmdline      kmsg          sys149    19451  2142   2209   5     cpuinfo      kpagecount    sysrq-trigger150    19453  21572  2212   5330  crypto       kpageflags    sysvipc151    19454  21574  2219   596   devices      loadavg       timer_list152    2      21575  2243   597   diskstats    locks         timer_stats15771  2083   2158   2260   6     dma          meminfo       tty15773  2092   21625  2261   617   driver       misc          uptime15774  2101   21627  2262   619   execdomains  modules       version16232  21112  21628  2263   7     fb           mounts        vmallocinfo16234  21115  2165   2264   804   filesystems  mtrr          vmstat16235  21116  2167   2265   8765  fs           net           zoneinfo16811  2112   2177   2338   8767  ide          pagetypeinfo2. 查看系统信息和内核参数 代码如下:yafang@QA:~$ ls /proc/sysdebug  dev  fs  kernel  net  vm[code]3. 查看网卡设备信息[code]yafang@QA:~$ ls /proc/netanycast6   ip6_flowlabel  netfilter  raw6       sockstat6     udplitearp        ip6_mr_cache   netlink    route      softnet_stat  udplite6dev        ip6_mr_vif     netstat    rt6_stats  stat          unixdev_mcast  ip_mr_cache    packet     rt_acct    tcp           vlandev_snmp6  ip_mr_vif      protocols  rt_cache   tcp6          wirelessif_inet6   ipv6_route     psched     snmp       tr_rifigmp       mcfilter       ptype      snmp6      udpigmp6      mcfilter6      raw        sockstat   udp64. 查看SCSI设备信息 代码如下:yafang@QA:~$ ls /proc/scsidevice_info  scsi5. 查看所有加载到内核的模块列表 代码如下:root@BDSP-A-2-1-2:~# cat /proc/modulesbdspboard 8486 2 dspcontrol, Live 0xe134c000dspcontrol 9575 1 clkmon, Live 0xe135b000clkmon 6765 1 - Live 0xe136c000diagint 6635 1 - Live 0xe1379000bdsprio 10775 2 srioif,tsi577, Live 0xe9389000tsi577 17998 1 srioif, Live 0xe939e000srioif 7329 0 - Live 0xe93b2000linux_kernel_bde 54666 1 linux_user_bde, Live 0xf1417000 (P)linux_user_bde 17849 0 - Live 0xf1427000 (P)root@BDSP-A-2-1-2:~#6. 查看已经加载的设备并分类 代码如下:root@BCNMB-A:~# cat /proc/devicesCharacter devices:  1 mem  2 pty  3 ttyp  4 /dev/vc/0  4 tty  4 ttyS  5 /dev/tty  5 /dev/console  5 /dev/ptmx  7 vcs 10 misc 13 input 89 i2c 90 mtd116 linux-user-bde2117 linux-kernel-bde2126 linux-user-bde127 linux-kernel-bde128 ptm136 pts180 usb189 usb_device245 ext_alarm251 ipmidev252 usb_endpoint253 usbmon254 rtcBlock devices:  1 ramdisk  8 sd 31 mtdblock 65 sd 66 sd 67 sd 68 sd 69 sd 70 sd 71 sd128 sd129 sd130 sd131 sd132 sd133 sd134 sd135 sd
关闭selinux(防火墙)方法分享

关闭selinux(防火墙)方法分享

刚好手工装完一台CentOS6.4,就顺便记录一下。 代码如下:# sestatusSELinux status:                 enabledSELinuxfs mount:                /selinuxCurrent mode:                   enforcingMode from config file:          enforcingPolicy version:                 24Policy from config file:        targeted
Linux目录结构分解及意义和建议

Linux目录结构分解及意义和建议

/root --- 启动Linux时使用的一些核心文件。如操作系统内核、引导程序Grub等。home --- 存储普通用户的个人文件 ftp --- 用户所有服务 httpd samba user1 user2bin --- 系统启动时需要的执行文件(二进制)sbin --- 可执行程序的目录,但大多存放涉及系统管理的命令。只有root权限才能执行proc --- 虚拟,存在linux内核镜像;保存所有内核参数以及系统配置信息 1 --- 进程编号usr --- 用户目录,存放用户级的文件 bin --- 几乎所有用户所用命令,另外存在与/bin,/usr/local/bin sbin --- 系统管理员命令,与用户相关,例如,大部分服务器程序 include ---  存放C/C++头文件的目录 lib --- 固定的程序数据 local --- 本地安装软件保存位置 man --- 手工生成的目录 info --- 信息文档 doc --- 不同包文档信息 tmp X11R6 ---  该目录用于保存运行X-Window所需的所有文件。该目录中还包含用于运行GUI要的配置文件和二进制文件。 X386 --- 功能同X11R6,X11 发行版5 的系统文件boot --- 引导加载器所需文件,系统所需图片保存于此lib --- 根文件系统目录下程序和核心模块的公共库 modules --- 可加载模块,系统崩溃后重启所需模块dev --- 设备文件目录etc --- 配置文件 skel --- home目录建立,该目录初始化 sysconfig --- 网络,时间,键盘等配置目录var file lib --- 该目录下的文件在系统运行时,会改变 local --- 安装在/usr/local的程序数据,变化的 lock --- 文件使用特定外设或文件,为其上锁,其他文件暂时不能访问 log --- 记录日志 run --- 系统运行合法信息 spool --- 打印机、邮件、代理服务器等假脱机目录 tmp catman --- 缓存目录mnt --- 临时用于挂载文件系统的地方。一般情况下这个目录是空的,而在我们将要挂载分区时在这个目录下建立目录,再将我们将要访问的设备挂载在这个目录上,这样我们就可访问文件了。tmp --- 临时文件目录,系统启动后的临时文件存放在/var/tmplost+found --- 在文件系统修复时恢复的文件
个性化修改Linux登录时的字符界面

个性化修改Linux登录时的字符界面

如果采用root账号登录编辑/etc/bashrc内容,那所有其他帐号登录都会提示相同的内容,如果想每个用户进行配置,那就去每个帐号的目录下去配置吧。这里提供改一个文件所有帐号都能看到的个性显示内容。 代码如下:vim /etc/bashrc#在顶部添加以下内容:c2="$(tput bold)$(tput setaf 2)"echo "$c2  _     _            _                 ___ "echo "$c2 | |   (_)          | |               / __)"echo "$c2 | |  _ _  ____ ____| | _____ _____ _| |__ "echo "$c2 | |_/ ) |/ ___) ___) || ___ (____ (_   __)"echo "$c2 |  _ (| ( (__( (___| || ____/ ___ | | |   "echo "$c2 |_| _)_|____)____)_)_____)_____| |_|   "echo "$(tput sgr0)"
高效使用SSH的16条技巧

高效使用SSH的16条技巧

1. 多条连接共享如果你需要在多个窗口中打开到同一个服务器的连接,而不想每次都输入用户名,密码,或是等待连接建立,那么你可以配置SSH的连接共享选项,在本地打开你的SSH配置文件,通常它们位于~/.ssh/config,然后添加下面2行: 代码如下:ControlMaster autoControlPath /tmp/ssh_mux_%h_%p_%r