Skip to content Skip to main navigation Skip to footer

Linux

Linux:一个用于Gnome桌面的下拉式终端: Guake 0.7.0 发布

Linux的命令行是最好、最强大的东西,它使新手着迷,并为老手和极客的提供极其强大的功能。那些在服务器和生产环境下工作的人早已认识到了这个事实。有趣的是,Linux终端是Linus Torvald在1991年写内核时实现的第一批功能之一。

终端是个强大的工具,由于它没有什么可调整的部分,所以十分可靠。终端介于控制台环境和GUI环境之间。终端自身作为一个GUI程序,运行在桌面环境下。有许多终端是适用于特定的桌面环境的,其它的则是通用的。Terminator, Konsole, Gnome-Terminal, Terminology, XFCE terminal, xterm都是些常用的终端模拟器。

您可以从下面的链接中获得一份使用最广泛的终端模拟器的列表。

前几日上网时,我偶遇了名为‘Guake’的终端程序,它是用于gnome的终端模拟器。尽管这并不是我第一次听到Guake。实际上,我在大约一年前便知道了这个应用程序,但不知怎么搞的,我那时没有写写Guake,再后来我便渐渐忘掉了Guake,直到我再一次听到Guake。所以,最终,这篇文章诞生了。我将给你讲讲Guake的功能,在Debian、Ubuntu、Fedora上的安装过程以及一些测试。

什么是Guake?

Guake是应用于Gnome环境的下拉式终端。主要由Python编写,使用了一些C,它以GPL2+许可证发布,适用于Linux以及类似的系统。Guake的灵感来源于电脑游戏Quake(雷神之锤)中的终端,Quake的终端能通过按下特定按键(默认为F12)从屏幕上滑下来,并在按下同样的键后滑上去。

值得注意的是,Guake并不是第一个这样的应用。Yakuake(Yet Another Kuake)是一个运行于KDE的终端模拟器,Tilda是一个用GTK+写成的终端模拟器。它们的灵感都来自于雷神之锤那上下滑动的终端。

Guake的功能

  • 轻量级
  • 简单而优雅
  • 功能众多
  • 强大
  • 美观
  • 将终端平滑地集成于GUI中
  • 在按下预定义的键后出现/消失
  • 支持热键、标签、透明化背景,这使得它适合所有Gnome用户
  • 可配置各种方面
  • 包括许多颜色的调色板
  • 设定透明度的快捷方式
  • 通过Guake配置,可在启动时运行一个脚本
  • 可以在多个显示器上运行

Guake 0.7.0最近发布,它带来了一些修正以及上面提到的一些功能。完整的版本历史和源代码包可以在这里找到。

在Linux中安装Guake终端

如果您对从源码编译Guake感兴趣,您可以从上面的链接处下载Guake,并在安装前进行编译。

然而Guake可以在许多的发行版中通过添加额外的仓库来安装。这里,我们将在Debian、Ubuntu、Linux Mint和Fedora下安装Guake。

首先从仓库获取最新的软件包列表,并从默认的仓库安装Guake,如下所示:

---------------- 在 Debian, Ubuntu 和 Linux Mint 上 ----------------
$ sudo apt-get update
$ apt-get install guake

---------------- 在 Fedora 19 及其以后版本 ----------------
# yum update
# yum install guake

安装后,可以从另一个终端中启动Guake:

$ guake

在启动它后,便可以在Gnome桌面中使用F12(默认配置)来拉下、收回终端。

看起来非常漂亮,尤其是透明背景。滑下来…滑上去…滑下来…滑上去…执行命令,打开另一个标签,执行命令,滑上去…滑下来…(作者已沉迷其中)

Guake Terminal in Action

Guake实战

如果您的壁纸或活动窗口的颜色和Guake的颜色有些不搭。您可以改变您的壁纸,减少透明度或者改变Guake的颜色。

下一步便是进入Guake的配置,根据每个人的需求修改设置。可以通过应用菜单或者下面的命令来运行Guake的配置。

$ guake --preferences

Guake Terminal Properties

Guake终端配置

设置滚动

Guake Scrolling Settings

Guake滚动配置

外观设置 – 在这里您可以修改文字颜色和背景色以及透明度。

Appearance Properties

外观设置

键盘快捷键 – 在这里您可以修改Guake显示的开关快捷键。

Keyboard Shortcuts

键盘快捷键

兼容性设置 – 基本上不必设置它。

Compatibility Setting

兼容性设置

结论

这个项目即不是太年轻也不是太古老,因此它已经达到了一定的成熟度,足够可靠,可以开箱即用。像我这样需要在GUI和终端间频繁切换的人来说,Guake是一个福利。我不需要管理一个多余的窗口,频繁的打开和关闭,使用tab在大量打开的应用程序中寻找终端或切换到不同的工作区来管理终端,现在我需要的只有F12。

我认为对任何同时使用GUI和终端的Linux用户来说,Guake都是必须的工具。同样的,我会向任何想要在系统中结合使用GUI和终端的人推荐它,因为它既平滑又没有任何障碍。

上面就是我要说的全部了。如果在安装和使用时有任何问题,请告诉我,我们会帮助您。也请您告诉我您使用Guake的经验。在下面的评论区反馈您宝贵的经验。点赞和分享以帮助我们宣传。


via: http://www.tecmint.com/install-guake-terminal-ubuntu-mint-fedora/

作者:Avishek Kumar 译者:wwy-hust 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出

来源:https://linux.cn/article-5507-1.html

Linux:如何修复 “fatal error: security/pam_modules.h: No such file or directory”

问题: 我尝试在 [某某 Linux 发行版] 上编译程序,但是出现下面的编译错误:

"pam_otpw.c:27:34: fatal error: security/pam_modules.h: No such file or directory"

我怎样才能修复这个错误?

缺失的头文件 ‘security/pam_modules.h’ 是 libpam 开发版的一部分,一个 PAM(Pluggable Authentication Modules:插入式验证模块)库。因此要修复这个错误,你需要安装 libpam 开发包,如下所示。

对于 Debian、 Ubuntu 或者 Linux Mint:

$ sudo apt-get install libpam0g-dev

对与 CentOS、 Fedora 或者 RHEL:

$ sudo yum install gcc pam-devel

现在验证缺失的头文件是否安装到了 /usr/include/security。


via: http://ask.xmodulo.com/fatal-error-security-pam-modules.html

作者:Dan Nanni 译者:ictlyh 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出

来源:https://linux.cn/article-5508-1.html

Linux:如何在CentOS上面安装“CentOS网页面板”

关于CentOS网页面板

目前有很多免费的或者付费的控制面板。今天,我们来讨论CentOS网页面板(CWP),这是特别为基于RPM 的发行版,如CentOS,RHEL,Scientific Linux等设计的。CWP 是免费且开源的控制面板,可以被广泛用于简单地配置一个网页托管环境。不同于其他的控制面板,CWP能自动部署LAMP的软件栈及Varnish 缓存服务器。

特性

CWP有很多的特性和免费的服务。如我前面提到的一样,CWP会在你的服务器上自动安装全套的LAMP服务(apache,php,phpmyadmin,webmail,mailserver等等)。

CWP安装过程中会安装和配置的软件列表

  • Apache 网页服务器
  • PHP 5.4
  • MySQL + phpMyAdmin
  • Postfix + Dovecot + roundcube webmail
  • CSF 防火墙
  • File System Lock (不需要修改网站,你的所有文件都会被锁定修改)
  • Backups; AutoFixer ,用于服务器配置

第三方应用:

  • CloudLinux + CageFS + PHP Selector
  • Softaculous – 脚本安装器 (免费版和白金版)

网页服务器:

  • Varnish 缓存服务器
  • 从代码编译 Apache
  • Apache 重新编译+附加模块
  • Apache 服务器状态,配置
  • 编辑 Apache 虚拟主机、虚拟主机模版,包括配置
  • 重建所有 Apache 虚拟主机
  • suPHP & suExec
  • Mod Security + OWASP 规则
  • Tomcat 8 服务器管理
  • DoS 防护
  • Perl cgi 脚本支持

PHP:

  • PHP 切换器 (在PHP版本如: 5.2、 5.3、 5.4、 5.5之间切换)
  • PHP选择器,选择每个用户或者每个文件的PHP版本(PHP 4.4、 5.2、 5.3、 5.4、5.5、 5.6)
  • 简单的php编辑器
  • 在用户面板下简单的php.ini生成器
  • PHP 插件
  • PHP.ini 编辑器 & PHP 信息 和列出模块
  • 每个帐号一个php.ini
  • FFMPEG,用于视频流网站
  • CloudLinux + PHP 选择器

用户管理

  • 添加、列出、编辑和移除用户
  • 用户监管
  • Shell访问管理
  • 用户限制管理
  • 限制进程
  • 限制访问文件
  • 用户 FTP & File 管理器
  • CloudLinux + CageFS
  • 每个帐号专有IP

DNS:

  • FreeDNS
  • 添加、编辑、列出和移除DNS区块
  • 编辑域名服务的IP
  • DNS区块模板编辑器
  • 新的易用DNS区块管理器 (用ajax)
  • 新的DNS区块列表,带有额外的google解析信息 (同时检测 rDNS, 域名服务…)

Email:

  • Postfix & dovecot
  • 邮箱、别名
  • Roundcube webmail
  • Postfix 邮件队列
  • rDNS 检查器模块
  • 垃圾邮件拦截
  • SPF & DKIM集成
  • 重构带有反病毒、反垃圾邮件防护的 Postfix/Dovecot 的邮件服务器
  • Email 自动应答器

系统:

  • CPU核心和时钟信息
  • 内存使用信息
  • 详细的磁盘状态
  • 软件信息如内核版本、正常运行时间等等.
  • 服务器状态
  • ChkConfig管理
  • 网络端口使用
  • 网络配置
  • sshd 配置
  • 自动修复(检查重要的配置并尝试自动修复问题)

监控:

  • 监控服务,例如 top、 apache 状态、 mysql 等
  • 在面板内使用Java SSH 终端/控制台
  • 服务器配置 (例如 Apache、 PHP、 MySQL 等)
  • 在屏幕/后台运行命令行

安全:

  • CSF防火墙
  • SSL生成器
  • SSL证书管理
  • CloudLinux + CageFS

SQL:

  • MySQL 数据库管理
  • 添加本地或者远程访问的用户
  • 实时监控MySQL进程列表
  • 创建,移除数据库
  • 为每个数据库添加额外的用户
  • MySQL服务器配置
  • PhpMyAdmin
  • PostgreSQL, phpPgAdmin支持

额外功能:

  • TeamSpeak 3 管理器
  • Shoutcast 管理器
  • 自动更新
  • 备份管理器
  • 文件管理器
  • 每个域名的虚拟FTP用户
  • cPanel帐号迁移 (恢复文件,数据库和数据库用户)
  • 还有更多

在CentOS 6上安装CentOS网页面板

写这篇教程的时候,CWP仅仅支持最高CentOS 6.x版本。在CentOS 7和更高的版本中是不支持的。

前期准备:

安装CWP之前,你必须知道以下的信息:

  • CWP 仅支持静态IP地址。它并不支持动态的,或者内部的IP地址。
  • CWP 并没有卸载程序。当你安装CWP后,你必须重新安装服务器来移除它。
  • 只能在一个新装的还没做任何配置改变的操作系统上安装CWP。
  • 对于32位操作系统至少需要512MB RAM。
  • 64位系统需要1024MB RAM。
  • 要求至少20GB的硬盘空间。

如果是在VirtualBox上面测试,640MB RAM和10GB磁盘空间就足够了。

更新服务器:

首先安装wget包,这是下载CWP需要的。

yum install wget -y

使用命令更新你的服务器:

yum update -y

重启一次,激活更新。

安装CWP:

进入/usr/local/src/目录:

cd /usr/local/src

使用命令下载最新的CWP版本:

wget http://centos-webpanel.com/cwp-latest

如果上面的URL出现错误,用下面的链接代替。

wget http://dl1.centos-webpanel.com/files/cwp-latest

然后,用命令开始安装CWP:

sh cwp-latest

样例输出:

安装过程会持续到30分钟或者更多,取决于你的网速。

最后,你会看到如下安装完成的信息。记下一些详细信息,如mysql超级用户密码和CWP的登录URL,你随后会需要它们。然后,按下回车Enter重启系统。

重启进入系统后,你会看见CWP的欢迎登录信息。

调整防火墙/路由:

CWP的默认网页控制界面的端口是2030(http)2031(https)。你应该通过防火墙/路由允许使用这两个端口,以便远程接入CWP网络控制台。

编辑iptables文件:

vi /etc/sysconfig/iptables

添加如下的内容:

[...]
-A INPUT -p tcp -m state --state NEW -m tcp --dport 2030 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 2031 -j ACCEPT
[...]

保存并关掉文件。更新iptables服务使改变生效。

service iptables restart

来源:https://linux.cn/article-5509-1.html

如何交互式地创建一个Docker容器

大家好,今天我们来学习如何使用一个docker镜像交互式地创建一个Docker容器。当我们从镜像中启动一个Docker进程,Docker就会获取该镜像及其父镜像,并重复这个过程,直到到达基础镜像。然后联合文件系统(UFS)会在其顶层添加一个读写层。读写层被称之为容器,它包含了一些关于父镜像信息及一些其他的信息,如唯一ID,网络配置和资源限制等。容器是有状态的,其状态可以从 运行态 切换到 退出态。一个处于 运行态的容器包含了在CPU上面运行的进程树,于其它在该主机上运行的进程相隔离,而退出态是指文件系统的状态,并保留了其退出值。你可以使用它来启动,停止和重启一个容器。

Docker技术为IT界带来了巨大的改变,它使得云服务可以用来共享应用和工作流程自动化,使得应用可以用组件快速组合,消除了开发、品质保证、产品环境间的摩擦。在这篇文章中,我们将会建立CentOS环境,然后用Apache网络服务器提供一个网站服务。

这是一个快速且容易的教程,讨论我们怎样使用交互的shell,以交互的方式来创建一个容器。

1. 运行一个Docker实例

Docker首先会尝试从本地取得并运行所需的镜像,如果在本地主机上没有发现,它就会从Docker公共注册中心拉取。这里,我们将会拉取镜像并在 Docker 容器中创建一个fedora实例,并连接到它的 tty 上的bash shell。

# docker run -i -t fedora bash

Downloading Fedora Base Image

2.安装Apache网络服务器

现在,在我们的Fedora基本镜像实例准备好后,我们将会开始交互式地安装Apache网络服务器,而不是为它创建Dockerfile。为了做到这点,我们需要在终端或者shell运行以下命令。

# yum update

Installing httpd

# yum install httpd

Installing httpd

退出容器的 tty。

# exit

3.保存镜像

现在,我们要去保存在Fedora实例里做的修改。要做到这个,我们首先需要知道实例的容器ID。而为了得到ID,我们又需要运行以下命令(LCTT 译注:在容器外执行该命令)。

# docker ps -a

Docker Running Container

然后,我们会保存这些改变为一个新的镜像,请运行以下命令。

# docker commit c16378f943fe fedora-httpd

committing fedora httpd

这里,修改已经通过使用容器ID保存起来了,镜像名字叫fedora-httpd。为了确认新的镜像是否在运行,我们将运行以下命令。

# docker images

view docker images

4. 添加内容到新的镜像

我们自己新的Fedora Apache镜像正成功的运行,现在我们想添加一些我们网站的网页内容到Apache网络服务器,使得网站能够开箱即用。为做到这点,我们需要创建一个新的Dockerfile,它会处理从复制网页内容到启用80端口的所有操作。要达到这样的目的,我们需要使用我们最喜欢的文本编辑器创建Dockerfile文件,像下面演示的一样。

# nano Dockerfile

现在,我们需要添加以下的命令行到文件中。

FROM fedora-httpd
ADD mysite.tar /tmp/
RUN mv /tmp/mysite/* /var/www/html
EXPOSE 80
ENTRYPOINT [ "/usr/sbin/httpd" ]
CMD [ "-D", "FOREGROUND" ]

configuring Dockerfile

这里,上述的Dockerfile中,放在mysite.tar里的网页内容会自动解压到/tmp/文件夹里。然后,整个站点会被移动到Apache的网页根目录/var/www/html/,命令expose 80会打开80端口,这样网站就能正常访问了。其次,入口点放在了/usr/sbin/https里面,保证Apache服务器能够执行。

5. 构建并运行一个容器 

现在,我们要用刚刚创建的Dockerfile创建我们的容器,以便将我们的网站添加到上面。为做到这,我们需要运行以下命令。

# docker build -rm -t mysite .

Building mysite Image

建立好我们的新容器后,我们需要要用下面的命令来运行容器。

# docker run -d -P mysite

Running mysite Container

总结

最后,我们已经成功的以交互式的方式建立了一个Docker容器。在本节方法中,我们是直接通过交互的shell命令建立我们的容器和镜像。在建立与配置镜像与容器时,这种方法十分简单且快速。如果你有任何问题,建议和反馈,请在下方的评论框里写下来,以便我们可以提升或者更新我们的文章。谢谢!祝生活快乐 🙂


via: http://linoxide.com/linux-how-to/interactively-create-docker-container/

作者:Arun Pyasi 译者:wi-cuckoo 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出

来源:https://linux.cn/article-5484-1.html

解决wordpress后台安装插件主题或自动升级时需要填写FTP用

VPS安装WordPress后,在后台自动升级时,或者更新、删除主题或者插件的时候,如果提示需要输入FTP账户信息,然而即使我们正确输入了FTP用户名和密码也无法完成升级,这个是服务器端的权限设置问题,不是用户的问题。如果你是管理员,也遇到了这样的问题(新手)下面提供几个方法以供大家参考:
一、如果使用虚拟主机
方法1、可以在wp-config.php里加入下面代码:

define("FS_METHOD", "direct");
define("FS_CHMOD_DIR", 0777);
define("FS_CHMOD_FILE", 0777);
 

方法2、拷贝下面的代码到wp-config.php中的?>之前

/** Override default file permissions */
if(is_admin()) {
add_filter(‘filesystem_method’, create_function(‘$a’, ‘return “direct”;’ ));
define( ‘FS_CHMOD_DIR’, 0751 );
}
 

方法3、修改FTP相关信息之后,拷贝代码到wp-config.php的?>之前

//*added ftp login credentials to avoid the annoying prompt asking for login info every time I wanted to upgrade a plugin*
define(‘FTP_HOST’, ‘ftp.yoursite.com’);
define(‘FTP_USER’, ‘Your_FTP_Username’);
define(‘FTP_PASS’, ‘Your_FTP_password’);
//*If you can use a SSL connection set this to true*
define(‘FTP_SSL’, true);
 

二、如果使用独立服务器或VPS,可以修改网站所在目录属性:

chmod -R 755 /home/admin
chown -R www /home/admin
 

其实出现这个的问题就是Apache/Nginx的执行身份非文件属主身份。
解决方法:
假设你的wordpress安装目录为
/home/admin/wordpress
执行:

chown -R www /home/admin/wordpress
 

执行上面的命令就可以将
/home/admin/wordpress下所有文件的属主改为www,
“www”换成你自己的ftp用户名,“/home/admin/wordpress”换成你自己的wordpress安装目。
这样就可以解决自动更新必须填FTP的问题。
Apache下命令为:

chown -R apache /home/admin/byncc.com
 

注意:
1,必须是把wordpress程序文件上传到空间以后再执行该命令,顺序不能颠倒;
2,添加完虚拟主机以后,也必须把wordpress程序文件上传到空间以后,再执行该命令才有效!
若出现了这个问题,不仅后台安装不了插件或主题,在ftp的wordpress目录下也是上传不了文件的,(折磨了我很久。。。)

Linux下文本文件中^M 符号问题的解决

在linux下,不可避免的会用VIM打开一些windows下编辑过的文本文件。我们会发现文件的每行结尾都会有一个^M符号,这是因为 DOS下的编辑器和Linux编辑器对文件行末的回车符处理不一致,
对于回车符的定义:
windows:0D0A
unixlinux: 0A
MAC: 0D
比较快捷的去除这些符号的方法有这么几种:
(1)是用VI的命令:
使用vi打开文本文件
vi dos.txt
命令模式下输入

    :set fileformat=unix
    :w
 

(2) VI下使用正则表达式替换

   g/^M/s/^M//
 

或者

   %s/^M//g
 

(3)使用sed 工具

    sed ’s/^M//’ filename > tmp_filename
 

(4)既然window下的回车符多了‘ ’,那么当然通过删除‘ ’ ,也可以实现:
tr -d ” ”
(5)最后一个方法是本人最常用的方法,个人觉得最方便
在终端下敲命令:

   $ dos2unix filename
 

直接转换成unix格式,就OK了!~

wordpress搬家后在编辑器无法上传图片或附件问题

Cannot upload to WordPress Media Library (in WordPress Appliance)
我们的博客搬家之后,我们的附件在服务器的绝对地址可能会产生变化。您会发现在我们想在新的服务器上传图片的时候,会产生类似这样子的问题:
无法建立目录 /home1/hugege/public_html/wp-content/uploads/2009/09。
“test.jpg” has failed to upload due to an error
The uploaded file could not be moved to /var/www/wordpress/wp-content/uploads/2013/05.
是否上级目录没有写权限?
解决问题的办法是运行下面的命令:
chown -R www-data:www-data /var/www/wordpress/wp-content/uploads
chmod -R 755 /var/www/wordpress/wp-content/uploads
这个主要针对debian,ubuntu 主机, 因为ubuntu系统中的apache 用户默认是www-data…所以必须这么改。。。。

VSftpd连接错误425 Security: Bad IP connecting解决方法

今天在linux机器上安装了一个vsftpd服务器,结果在连接时出现425 Security: Bad IP connecting错误了,经过一上午的搜索总结出一此问题解决办法。
错误提示

425 Security: Bad IP connecting
 

主要是需要在/etc/vsftpd/vsftpd.conf文件中添加如下一行:
代码如下 复制代码

pasv_promiscuous=YES
service vsftpd restart
 

pasv_promiscuous选项参数说明:
此选项激活时,将关闭PASV模式的安全检查。该检查确保数据连接和控制连接是来自同一个IP地址。小心打开此选项。此选项唯一合理的用法是存在于由安全隧道方案构成的组织中。默认值为NO。
合理的用法是:在一些安全隧道配置环境下,或者更好地支持FXP时(才启用它)。

ubuntu启用apache的mod_headers和mod_expires

ubuntu部署好wordpress后,发现插件wp_super_cache里面有几个警告,请启用mod_expires和mod_headers.
可以按照以下命令,启用apache的缓存

root@vr:~# a2enmod headers
Enabling module headers.
To activate the new configuration, you need to run:
  service apache2 restart
root@vr:~# a2enmod expires
Enabling module expires.
To activate the new configuration, you need to run:
  service apache2 restart
root@vr:~# service apache2 restart
 * Restarting web server apache2
 

问题解决!

Shell脚本监控CPU、内存和硬盘利用率

在linux 下如何使用shell脚本来监控系统的cpu,内存和硬盘的使用率呢。请参考下面的脚本。
1、监控CPU利用率(通过vmstat工具)

#!/bin/bash
if [ `uname` != "Linux" ];then
       echo "check os not linux."
       exit 1
fi
which vmstat &>/dev/null
if [ $? -ne 0 ];then
       echo "vmstat command no found, please install procps package."
        exit 1
fi
cpu_us=`vmstat | awk '{print $13}' | sed -n '$p'`
cpu_sy=`vmstat | awk '{print $14}' | sed -n '$p'`
cpu_id=`vmstat | awk '{print $15}' | sed -n '$p'`
cpu_wa=`vmstat | awk '{print $16}' | sed -n '$p'`   #等待I/0完成
cpu_sum=$(($cpu_us+$cpu_sy))
cpu_info()
{echo "CPU_Sum : $cpu_sum% ( CPU_Use:${cpu_us}% , CPU_System:${cpu_sy}% )"
 echo "CPU_Idle : ${cpu_id}%"<br />echo "CPU_Wait : ${cpu_wa}"}
#cpu_info;<br />if [ $cpu_sum -ge 90 ];then
       echo "CPU utilization $cpu_sum." | mail -s "CPU Monitor" baojingtongzhi@163.com
fi
 

2、监控内存利用率

#!/bin/bash
which bc &>/dev/null
if [ $? -ne 0 ];then
       echo "bc command no found, Please install bc package."
       exit 1
fi
Date=`date +%F" "%H:%M`
IP=`ifconfig eth0 | awk '/inet addr/ {print $2}' | cut -d: -f2`
Total=`free -m | grep Mem | awk '{print $2}'`
Use=`free -m | awk '/buffers\// {print $NF}'`
Free=$(($Total-$Use))
Total_conv=`echo "scale=2;$Total/1024" | bc | awk '{print $1"G"}'`  #通过bc计算,保留小数点后两位(scale)
if [ $Free -lt 200 ];then
        Content=`echo -e "Date : $Date \nHost : $IP \nTotal : ${Total_conv} \nUse : ${Use}M \nFree : ${Free}M"`
        echo "$Content" | mail -s "Memory Monitor" baojingtongzhi@163.com
fi
 

3、监控磁盘利用率

#!/bin/bash
Date=`date +%F" "%H:%M`
IP=`ifconfig eth0 | awk '/inet addr/ {print $2}' | cut -d: -f2`
Total=`fdisk -l | grep "Disk /dev/sd[a-z]" |awk '{print $2$3"GB"}' |sed 's/:/=/'`
Disk_Use=`df -h |awk '{print $1"="$5}' | sed '1d' | sed 's/%//g'`
for i in $Disk_Use
do
       A=`echo $i |awk -F'=' '{print $2}'`
       if [ $A -gt 8 ];then
               echo -e "Date : $Date \nHost : $IP \nTotal : $Total \nProblem : Part Use ${i}%" | mail -s "Disk Monitor" aaa@163.com
      fi
done
 

vim /vi :如何在vim 编辑器里画图

如果你想在vim编辑器里也可以实现画简单的线性图,那么可以使用vim 里的一个叫 VIM Drawit!的插件。
下面来看看如何来安装vim drawit! 插件:
首先下载vim drawit! 安装包,输入下面的命令:

wget -O DrawIt.vba.gz http://www.vim.org/scripts/download_script.php?src_id=8798
 

安装vim drawit!插件
使用vim 命令编辑下载的vim drawit! 文件,在末行模式下输入下面的命令:

:so %
:q
 

vim 编辑器里 Drawit! 插件使用
\di 命令将会开启drawit! 插件
\ds 命令将会关闭drawit! 插件
举个例子:
使用vim drawit!插件画个导航图
使用上下左右键你可以用来画出方框或者方向线。
如下图:
如何在vim 编辑器里画图1

5个最好的 linux 文本编辑器

不管是在windows系统还是linux系统下都会有很多的文本编辑器,用来编辑文件,或者用来写文章,写代码。文本将会总结出在linux操作系统下使用最多的,也可以说是最好的5个 linux 文本编辑器 。
vi /vim 文本编辑器无可厚非是linux系统下最好的也是用的最多的文本编辑器,而且linux系统默认情况下也会安装vi编辑器。
下图是五个 linux 文本编辑器 的统计情况:
5个最好的linux 文本编辑器2
 
1# linux vi/vim 文本编辑器
vi/vim
 
产品主页:http://www.vim.org
作者: Bram Moolenaar
最新版本:vim 7.4
操作系统:unix,linux,windows
更多内容关于vim
 
2# linux gEdit 文本编辑器
5个最好的linux 文本编辑器2
 
gEdit 文本编辑器是Linux GNOME桌面环境中默认的文本编辑器。
产品主页:http://projects.gnome.org/gedit/
最新版本: 2.26.2
操作系统:多平台
 
3# Linux Nano 文本编辑器
5个最好的linux 文本编辑器2
 
产品主页: http://www.nano-editor.org/
Latest Stable Release: 2.0.9
更多关于 Nano 编辑器
 
4# Linux gVim 文本编辑器
产品主页:http://vimdoc.sourceforge.net/htmldoc/gui.html
gVim 是vim 编辑器的图形界面版本。
 
5# linux Emacs 文本编辑器
5个最好的linux 文本编辑器2
 
产品主页: http://www.gnu.org/software/emacs/
当前版本: 22.3
操作系统:多平台
更多关于 Emacs 编辑器
 

vi /vim:如何将光标跳转到文件末尾

当你用 vi /vim 编辑一个大文件的时候,如何能从当期行快速跳转到最后一行呢?
你可以使用下面的 vi / vim 的快捷键命令:

G
 

该命令会直接跳转到末尾行。
如果想在回到开始行的话,可以输入下面的命令:

1G
 

gg
 

 
更多参考:
1. Linux 下 vi/vim 文本编辑器超详细使用指南
2. 29个最基本的 vim /vi 命令
3. vim 命令大全 / vi 命令大全

Linux: vi / vim 字符串搜索和替换

在linux或者unix系统下,我们常常会用vi/vim命令打开一个文件,并在文件里查找特定的字符串,也有可能会将找到的字符串替换成另一个字符串。
vi/vim
 
vi /vim 命令字符串搜索并替换的命令格式如下:

%s/old/new/
 

 
vi /vim 命令字符串搜索并替换例子
查找字符串“oldtest”并将其替换成”newtest”,在vim 末行模式下输入命令:

:$s/oldtest/newtest/
 

 
上面的命令只会替换所有行里发现的第一个匹配的字符串。
如果你想替换文本所有匹配的字符串,可以使用下面的命令:

:%s/oldtest/newtest/g
 

 
vi/vim命令限定范围查找并替换字符串
如果你只想将从第10行到第20行的文本行中的查找并替换字符串,那么可以输入下面的命令:

:10,20s/oldtest/newtest/
 

 
更多参考:
1. Linux 下 vi/vim 文本编辑器超详细使用指南
2. 29个最基本的 vim /vi 命令
3. vim 命令大全 / vi 命令大全

vi / vim: 如何在打开文件的时候直接跳转到指定的函数或行

当使用linux 下vi /vim命令打开文件后,你肯定想直接跳转到某个特定的函数或者字符串或者某行。如何来做?
你可以使用下面的命令来实现:
vi +<函数名> <要打开的文件名>

vi +<行号> <要打开的文件名>
例子:打开文件后直接跳转到第五行,输入下面的命令:

vim +5 foo.txt
 

输出如下:
vim 如何在打开文件的时候直接跳转到指定的函数或行1
打开文件后直接跳转当特定的函数,输入下面的命令:

vim +/pathmunge /etc/profile
 

命令输出:
vim 如何在打开文件的时候直接跳转到指定的函数或行1
 
更多参考:
1. Linux 下 vi/vim 文本编辑器超详细使用指南
2. 29个最基本的 vim /vi 命令
3. vim 命令大全 / vi 命令大全

常用 vi / vim 快捷键命令总结

当你在使用vim命令编辑一个文件的时候,会用到很多的快捷键操作,比如拷贝一整行,拷贝多行文本等。。
vi/vim
#1 拷贝整行文本

yy
 

shift y
 

:ny
 

#2 拷贝从光标位置开始到行尾的字符串

y$
 

#3 拷贝当前行之后的三行内容

3yy
 

#4 拷贝一个范围的文本行

:1,5y
 

1y5
 

#5 删除一整行

dd
 

:nd
 

#6 删除从光标处到行末的所有字符串

d$
 

shift d
 

#7 删除多行文本

:1,5d
 

1d 5
 

#8 将vim切换到替换模式

shift r
 

#9 撤销操作

u
 

#10 重做操作

ctrl r
 

解决ubuntu下vim “E319:命令不可用”问题

在ubuntu linux 系统下,但使用vim 命令打开一个文件后,如果你输入 vim 命令:syntax on 来开启代码高亮显示的时候,会遇到下面的E319问题。
E319: Sorry, the command is not available in this version: syntax on
如何来解决这个问题呢?
你需要重新安装完整版的vim版本,输入下面的命令:

sudo apt-get install vim
 

vim / vi命令在没有root权限的情况下如何保存文件

当你在linux系统下以一个普通用户登录系统后,使用vi/vim命令编辑一个文件,当你想保存文件的时候,系统会提示说你么有root权限,无法保存。这个时候该怎么办?
 
你可以使用 linux tee 命令结合 linux sudo 命令来实现没有root权限的情况下不用创建临时文件就可以保存更改的文件。
 
首先使用普通用户登录当前系统,输入下面的vi 命令,打开一个文件:
 

vi /etc/apache2/conf.d/mediawiki.conf
 

 
打开文件后,做一些更改,输入wq保存,你会看到下面的错误。

E166: Can't open file for writing
 

 
看下图:
 
vim vi 没有root权限保存文件1
这个时候如果想保存文件,可以在末行模式下输入下面的命令:

:w !sudo tee %
 

 
vim vi 没有root权限保存文件2
 
其中,
:w 是写一个文件
!sudo 是调用shell sudo 命令
tee 是将输出的内容重定向
 
vim vi 没有root权限保存文件3
 
更多参考:
1. Linux 下 vi/vim 文本编辑器超详细使用指南
2. 29个最基本的 vim /vi 命令
3. vim 命令大全 / vi 命令大全

启用或关闭vim编辑器中的代码高亮显示

当你使用vim编辑器编写代码的时候,vim编辑器具有识别不同语言代码的高亮显示功能,如何来开启vim代码高亮显示功能呢? 如何来关闭vim 代码高亮显示呢?
大家都知道vim是一个非常强大的代码编写工具,可以用来编写各种不同的语言。
 
启用vim代码高亮显示
首先使用vim命令打开一个文件,输入命令:

vim filename
 

 
然后输入“:”进入末行模式,输入下面的vim命令:

:syntax on
 

 
默认情况下,vim编辑器的代码高亮功能是启用的。
 
下面是用vim打开的高亮显示的bash shell 代码:
 
启用或关闭vim编辑器中的代码高亮显示
启用或关闭vim编辑器中的代码高亮显示
 
关闭vim代码高亮显示
进入末行模式,输入下面的命令:

:syntax off
 

 
看下图:
启用或关闭vim编辑器中的代码高亮显示
 
让代码高亮显示设置永久生效
你可以通过编辑~./vimrc 配置文件,加入下面的内容到文件里,保存并退出后,就会永久生效

vim .vimrc
 

加入行:

syntax on
 

 
保存退出。
 
更多参考:
1. Linux 下 vi/vim 文本编辑器超详细使用指南
2. 29个最基本的 vim /vi 命令
3. vim 命令大全 / vi 命令大全

vi /vim:如何退出 vi /vim 文本编辑器

在linux 系统下如何退出当前的vi/vim编辑器。
vi /vim 是linux系统下用的最多的一个文本编辑器,可以用这个编辑器来编辑所有的二进制文本,特别是用来编辑不同的程序文件,可以高亮显示代码行。
输入下面的vim/vi 命令打开文件:
vim filename
vi filename
退出vim编辑器
首先你需要从输入模式退出到命令模式,可以输入ESC键。然后,输入下面的命令,并回车就可以退出vim编辑器。

:q
 

:q!
 

:x
 

如图:
如何退出 vi vim 文本编辑器
 
更多参考:
1. Linux 下 vi/vim 文本编辑器超详细使用指南
2. 29个最基本的 vim /vi 命令
3. vim 命令大全 / vi 命令大全

Vi / Vim:如何保存并退出编辑器

当使用vi /vim 命令编辑一个文件后,如何才能保存并退出当前的vi /vim 编辑器呢?
vi/vim
为了保存并退出vi /vim,可以参照下面的步骤:
1# 首先从输入模式返回到命令模式,输入:ESC 键
2# 输入”:”,进入末行模式
3# 再输入下面的命令

x
 

x!
 

wq!
 

如下图:
Vi Vim 如何保存并退出编辑器
之后输入回车,就能保存并退出 vi /vim 了。
更多参考:
1. Linux 下 vi/vim 文本编辑器超详细使用指南
2. 29个最基本的 vim /vi 命令
3. vim 命令大全 / vi 命令大全

Vim如何同时编辑多个文件

在linux系统下,如何使用vim 命令同时打开并编辑多个文件呢?文本将会讲述如何使用vim 命令在编辑器里同时显示多个文件的窗口,并对其进行编辑。
vi/vim
 
在命令行窗口下输入下面的vim 命令同时打开两个编辑窗口(水平显示):

vim -o /etc/passwd /etc/hosts
 

 
输出入下图:
Vim如何同时编辑多个文件1
 
如果想垂直显示编辑窗口,可以使用大O选项,输入下面的命令:

vim -O /etc/passwd /etc/hosts
 

 
输出如下图:
Vim如何同时编辑多个文件1
 
在不同的窗口之间切换
当你在不同的窗口打开多个文件的时候,你需要在不同的窗口之间切换,参照下面的vim 快捷键命令:
1.输入 CTRL + W + <左箭头> 将光标定位到左边的窗口
2.输入 CTRL + W + <右箭头> 将光标定位到右边的窗口
3.输入 CTRL + W + <向上箭头> 将光标定位到上面的窗口
4.输入 CTRL + W + <向下箭头> 将光标定位到下面的窗口
5. 输入两次CTRL+W将会快速的在不同的窗口之间切换
 
当你切换到你想编辑的窗口后,就可以和正常使用 vim 编辑器一样对文件进行编辑了。
 
更多参考:
1. Linux 下 vi/vim 文本编辑器超详细使用指南
2. 29个最基本的 vim /vi 命令
3. vim 命令大全 / vi 命令大全

vi / vim 如何同时打开多个文件

对于刚使用 linux vi /vim 文本编辑器的人来说,可能想知道,如何才能使用 vi /vim 同时打开多个文件,并在不同的打开的文件之间进行切换。本文将会讲述通过 vi /vim 命令同时打开两个文件,并在这两个文件之间进行切换。
vi/vim
 
输入下面的 vi /vim 命令,打开两个文件:

vi foo.txt test.txt
 

 
如果想同时打开当前目录下所有的”.txt”的文件,可以输入:

vi *.txt
 

 
当打开多个文件后,我们来看些如何在不同的文件之间进行切换。
1# 列出当前 vi /vim 命令打开的所有文件
输入命令:

:ls
 

 
命令输出:

:ls
  1 %a   "foo.txt"                         line 1
  2      "test.txt"                     line 0
 

 
2# 从当前打开文件切换到另一个文件
输入vi /vim 命令:

:n
 

:bn
 

 
3# 切换到当前打开文件的前一个打开的文件
输入 vi /vim 命令:

:p
 

:bp
 

 
vi /vim 可视化编辑
将当前的编辑屏幕垂直切分
输入:

CTRL+W v
 

 
将当前的编辑屏幕水平切分

CTRL+W s
 

 
更多参考:
1. Linux 下 vi/vim 文本编辑器超详细使用指南
2. 29个最基本的 vim /vi 命令
3. vim 命令大全 / vi 命令大全

vi /vim 如何在编辑文件的时候文件名自动补齐

当使用vi /vim 文本编辑器编辑文件的时候,如何自动补齐文件名?这个有点类似于bash shell 里的命令自动补齐功能。
在vi /vim 编辑器里,当在你打开了一个文件,然后想在打开另一个文件,这个时候可以再末行模式下输入类似于命令补齐功能的命令,使用tab键,将文件名补齐,并打开该文件。
比如要打开foo.txt文件,输入命令:

:f foo[TAB]
 

如果想切换目录,也可以使用目录自动补齐,输入:

cd /e[TAB]
 

查看更多的帮助,输入:

:help
 

更多参考:
1. Linux 下 vi/vim 文本编辑器超详细使用指南
2. 29个最基本的 vim /vi 命令
3. vim 命令大全 / vi 命令大全

VI / VIM: 在文本里插入当前的日期和时间

当使用vi /vim 文本编辑器编辑文件的时候,如何在当前行插入并显示当前系统的日期和时间呢。
你可以使用下面的两个 vi / vim 命令来插入当前的日期和时间到文件中光标所在的行。
输入下面的命令:

:r !date
 

或从输入模式返回到命令模式后,直接输入下面的命令:

!!date
 

如下图所示:
vi 命令
 
更多参考:
1. Linux 下 vi/vim 文本编辑器超详细使用指南
2. 29个最基本的 vim /vi 命令
3. vim 命令大全 / vi 命令大全

vim: 移动光标的快捷键

当使用 vi /vim 文本编辑器编辑文件的时候,我们会用到很多的 vi / vim 快捷键命令,那么在vi /vim 里都有那些快捷键呢。
 
首先使用vi /vim 打开一个文件,尝试下面的快捷键:
#1移动光标到文本第一行
输入:

gg
 

或者

1 shift g
 

:0
 

回车后你会看到光标已经定位到第一行了
 
#2将光标移动到最后一行
输入下面的快捷命令:

shift g
 

:$
 

 
#3 将光标移动到第8行
输入:

8 shift g
 

或者

:8
 

 
#4 将光标向下移动一屏
输入:

ctrl+f
 

 
#5 将光标想上移动一屏
输入:

ctrl + b
 

 
#6 将当前行光标移动第一个字符位置
输入:

 

 
#7 将当前行光标移动到最后一个字符位置
输入:

$
 

 
#8 将光标想上下左右移动一个字符位置

l,h,k,j
 

或者使用上下左右键
 
#9 查看你现在所在的位置已经百分比
输入:

ctrl +g
 

vim
 
更多参考:
1. Linux 下 vi/vim 文本编辑器超详细使用指南
2. 29个最基本的 vim /vi 命令
3. vim 命令大全 / vi 命令大全

vi/vim 命令:如何向前或向后跳转到最后一次光标的位置

当你使用vim 文本编辑器去写bash shell脚本或者编辑一个配置文件的时候,我们经常会会需要去搜索之前写的bash shell 函数或者某一个字符串,那么光标就会移动到函数名或字符串所在的行。当查看完这个函数或字符串后,如何才能再回档原来写代码的位置或者搜索字符串之前的光标所在的位置呢?我们如何使用linux vi /vim 命令 向前或向后跳转到最后一次光标所在的位置呢?
vi/vim
本文将会讲述如何在vim /vi 文本编辑器中使用 vi /vim 命令自动跳转到最后一次光标所在的位置。
我们可以使用下面的两个 vi /vim 命令来做光标的跳转:
1)CTRL – O : 将光标向文本上方跳转到最后一次光标的位置
2)CTRL-i : 将光标想文本下方跳转到最后一次光标的位置
这里需要注意的是,每次的跳转都会被记录的一个跳转列表里,这样的话,你就可以使用CTRL-o 和CTRL -i 这两个命令,来回的做跳转,可以让你很方便的跳转到之前的光标所在的位置。对用vim 编辑器写代码的人来说,用处很大。
举个例子:
用vim 命令打开一个bash shell 脚本文件text.sh, 输入命令:

vim test.sh
 

将光标定位在第20 行,输入命令:

:20
 

查找脚本里的一个函数start,输入命令:

/sart
 

这个时候光标就会定位在start函数所在位置
现在我们想在回到上一次光标所在的位置,那么就可以输入vim 命令: ctrl -o 或 ctrl -i, 让光标回到第20行。
更多参考:
1. Linux 下 vi/vim 文本编辑器超详细使用指南
2. Linux/Ubuntu:在命令行下安装vim文本编辑器
3. linux vi/vim man 帮助文档

vi/vim 命令:如何消除并撤销所有对文件的更改

对于一个刚开始使用linux vi /vim 文本编辑器的新手来说,你可能已经知道如何不保存退出vi编辑器。但是如何不退出vi /vim 编辑器并撤销所有的对文本的更改,是文本能够恢复到原来的状态呢? 如何对当前使用 vi /vim 编辑器打开的文件撤销所有的更改呢?
vi/vim
为了对通过vim /vi编辑器打开的文件撤销所有的更改,你需要按照下面的步骤:
1)退出当前的输入模式,回到命令模式,输入“ESC”键
2)输入”:”
3) 紧接着输入下面的命令:

e!
 

或者

edit!
 

上面的命令会将你的文本回退到最后一次保存的版本。
更多参考:
1. Linux 下 vi/vim 文本编辑器超详细使用指南
2. Linux/Ubuntu:在命令行下安装vim文本编辑器
3. vim 命令大全 / vi 命令大全