2019-06-26 11:39:11 qq_40270754 阅读数 551
  • 马哥Linux教程-Linux操作系统基础由浅入深全面讲解1

    本课程为全新马哥Linux全套系列课程之一--Linux基础入门和架构了解,从Linux起源,Linux架构和Linux形成历史开始逐步讲解,让你彻彻底底了解Linux的诞生,之后介绍了Linux相关文化和核心组成结构,以及Linux常用命令和基本用法,课程由浅入深,讲授方法受到98%学员一致好评!

    19296 人正在学习 去看看 马永亮

Ctrl+Shift+T 打开多个终端
Ctrl+D 关闭终端

2014-06-12 22:23:34 zcc_0015 阅读数 10005
  • 马哥Linux教程-Linux操作系统基础由浅入深全面讲解1

    本课程为全新马哥Linux全套系列课程之一--Linux基础入门和架构了解,从Linux起源,Linux架构和Linux形成历史开始逐步讲解,让你彻彻底底了解Linux的诞生,之后介绍了Linux相关文化和核心组成结构,以及Linux常用命令和基本用法,课程由浅入深,讲授方法受到98%学员一致好评!

    19296 人正在学习 去看看 马永亮

    作者:张昌昌

     在一些情况下,往往需要同时启动多个终端并让终端执行自动执行相应的命令,进而达到提高操作效率的目的。在linux下gnome-terminal启动终端命令,

gnome-terminal -x 后跟执行的命令,bash是linux启动子shell的命令,bash -c "所要执行的命令串",通过嵌套gnome-terminal -x bash -c ......,表示启动新终端,

并在新启动的终端里执行bash -c,即启动子shell,由子shell执行-c后面的双引号括起来的命令串。同时为保证gnome-terminal新启的终端不退出,要在bash -c的命令串后

加bash让其有一个进程在运行,本例中加的是erl命令,直接进入erl终端,当然不会退出。

c语言版:

 #include <unistd.h> 
#include <sys/types.h> 
#include <stdio.h> 
#include <stdlib.h> 
int main(int argc,char * argv[]) 
{ 
int count = atoi(argv[1]),i; 
for(i=0;i<count;i++) 
{ 
pid_t pid = fork(); 
if(pid == 0) 
{ 
//printf("child=%d ",getpid()); 
system("gnome-terminal -x bash -c 'ulimit -n 1000000;cd /home;erl'"); 
exit(0); 
} 
} 
exit(0); 
}   

执行 ./a.out 3
该程序采用异步多进程方式,fork子进程,通过system(。。。。)系统调用执行相应的命令,该程序需要注意的是(1)main函数如何带参数,所带的参数是从argv[1]开始的,argv[0]默认的参数为“0”,实际上argv数组的长度是外面参数的个数加1;(2)fork出的子进程,照样会执行for循环,因此为避免此现象发生,fork子进程执行后,exit(0)让子进程退出,启动下一个子进程;(3)fork返回值在子进程里是0,在父进程里是生成的子进程进程号;(4)c语言的atoi()可以把字符串转化为整型。

Bash shell版

#!/bin/bash
for((i=0;i<$1;i++))
do
((port=2+i))
gnome-terminal -x bash -c "cd /home;ulimit -n 1000000;erl +K true -run io format $port" &
done

该脚本更加轻量灵活,注意&是切换到后台运行,防止阻塞当前进程的for的下一次执行,由此可知shell也是多进程模型,而js脚本是单进程模型。

转载注明出处。
2019-03-11 17:27:12 qq_41951198 阅读数 681
  • 马哥Linux教程-Linux操作系统基础由浅入深全面讲解1

    本课程为全新马哥Linux全套系列课程之一--Linux基础入门和架构了解,从Linux起源,Linux架构和Linux形成历史开始逐步讲解,让你彻彻底底了解Linux的诞生,之后介绍了Linux相关文化和核心组成结构,以及Linux常用命令和基本用法,课程由浅入深,讲授方法受到98%学员一致好评!

    19296 人正在学习 去看看 马永亮

Ubuntu中同时打开多个终端窗口:Terminator( 本文的介绍基于Linux发行版Ubuntu desktop )

对Linux系统进行管理时,我们经常需要通过终端窗口输入各种操作命令。当我们进行命令行操作时,有时需要打开多个终端窗口,并且希望这些窗口能同时平铺显示,那该怎么办呢?其实,借助一款小巧而实用的软件——Terminator就可以轻松实现这一功能。

使用Terminator可以在一个窗口中显示多个GNOME终端窗口,并且可以按照用户的要求对窗口进行任意分割。
1.安装Terminator软件包

Ubuntu系统默认没有安装Terminator,我们可以使用apt-get命令从Ubuntu的软件源中下载并安装该软件。

输入以下命令:sudo apt-get install Terminator -----来进行安装,Terminator的当前版本为0.8.1-1。

2.Terminator使用技巧 (运行)

安装好Terminator软件后,我们可以在Ubuntu系统桌面的菜单“应用程序”→“附件”下找到“Terminator”项,单击该项可运行Terminator。

另外,我们也可以直接在X-Window终端窗口中输入命令“terminator”来运行它。

3.快捷键大全:The following keybindings can be used to control Terminator:
Ctrl+Shift+O
Split terminals Horizontally.
Ctrl+Shift+E
Split terminals Vertically.

Ctrl+Shift+N or Ctrl+Tab
Move to next terminal within the same tab, use Ctrl+PageDown to move to the next tab. If cycle_term_tab is False, cycle within the same tab will be disabled
Ctrl+Shift+P or Ctrl+Shift+Tab
Move to previous terminal within the same tab, use Ctrl+PageUp to move to the previous tab. If cycle_term_tab is False, cycle within the same tab will be disabled
Alt+Up
Move to the terminal above the current one.
Alt+Down
Move to the terminal below the current one.
Alt+Left
Move to the terminal left of the current one.
Alt+Right
Move to the terminal right of the current one.

Ctrl+Shift+T
Open new tab
Ctrl+Shift+W
Close the current terminal.

Ctrl+Shift+Right
Move parent dragbar Right.
Ctrl+Shift+Left
Move parent dragbar Left.
Ctrl+Shift+Up
Move parent dragbar Up.
Ctrl+Shift+Down
Move parent dragbar Down.
Ctrl+Shift+S
Hide/Show Scrollbar.
Ctrl+Shift+F
Search within terminal scrollback

Ctrl+Shift+C
Copy selected text to clipboard
Ctrl+Shift+V
Paste clipboard text
Ctrl+Shift+W
Close the current terminal.
Ctrl+Shift+Q
Quits Terminator
Ctrl+Shift+X
Toggle between showing all terminals and only showing the current one (maximise).
Ctrl+Shift+Z
Toggle between showing all terminals and only showing a scaled version of the current one (zoom).
Ctrl+PageDown
Move to next Tab
Ctrl+PageUp
Move to previous Tab
Ctrl+Shift+PageDown
Swap tab position with next Tab
Ctrl+Shift+PageUp
Swap tab position with previous Tab
Ctrl+Plus (+)
Increase font size. Note: this may require you to press shift, depending on your keyboard
Ctrl+Minus (-)
Decrease font size. Note: this may require you to press shift, depending on your keyboard
Ctrl+Zero (0)
Restore font size to original setting.
F11
Toggle fullscreen
Ctrl+Shift+R
Reset terminal state
Ctrl+Shift+G
Reset terminal state and clear window
Super+g
Group all terminals so that any input sent to one of them, goes to all of them.
Super+Shift+G
Remove grouping from all terminals.
Super+t
Group all terminals in the current tab so input sent to one of them, goes to all terminals in the current tab.
Super+Shift+T
Remove grouping from all terminals in the current tab.
Ctrl+Shift+I
Open a new window (note: unlike in previous releases, this window is part of the same Terminator process)
Super+i

2011-05-26 10:41:00 aben_2005 阅读数 2735
  • 马哥Linux教程-Linux操作系统基础由浅入深全面讲解1

    本课程为全新马哥Linux全套系列课程之一--Linux基础入门和架构了解,从Linux起源,Linux架构和Linux形成历史开始逐步讲解,让你彻彻底底了解Linux的诞生,之后介绍了Linux相关文化和核心组成结构,以及Linux常用命令和基本用法,课程由浅入深,讲授方法受到98%学员一致好评!

    19296 人正在学习 去看看 马永亮

对Linux系统进行管理时,我们经常需要通过终端窗口输入各种操作命令。在GNOME集成桌面环境下,GNOME终端(gnome- terminal)是我们经常使用的终端程序,每次运行该程序都将打开一个单独的终端窗口。当我们进行命令行操作时,有时需要打开多个终端窗口,并且希望这些窗口能同时平铺显示,那该怎么办呢?其实,借助一款小巧而实用的软件——Terminator就可以轻松实现这一功能。
使用Terminator可以在一个窗口中显示多个GNOME终端窗口,并且可以按照用户的要求对窗口进行任意分割。本文的介绍基于Linux发行版Ubuntu desktop 8.04.1。
安装Terminator软件包
Ubuntu系统默认没有安装Terminator,我们可以使用apt-get命令从Ubuntu的软件源中下载并安装该软件。在GNOME集成桌面环境中,打开一个终端窗口,输入以下命令:sudo apt-get install Terminator来进行安装,Terminator的当前版本为0.8.1-1。
Terminator使用技巧
安装好Terminator软件后,我们可以在Ubuntu系统桌面的菜单“应用程序”→“附件”下找到“Terminator”项,单击该项可运行Terminator。另外,我们也可以直接在X-Window终端窗口中输入命令“terminator”来运行它。
Terminator运行后,在当前桌面显示一个终端窗口,乍一看,与GNOME的终端窗口很相似,只不过标题栏显示为“Terminator”,且没有菜单栏。
“Terminator”窗口的上方是标准的GNOME终端窗口。
1.分割终端窗口
如何通过Terminator来运行多个GNOME终端窗口呢?我们在Terminator窗口的空白区域点击鼠标右键,在弹出的快捷菜单中可以看到“水平分割”和“垂直分割”两项。“水平分割”是从水平方向将窗口分为左右两个部分,每部分放置一个终端窗口;“垂直分割”是从竖直方向将当前窗口分为上下两个部分,每部分放置一个终端窗口。
根据屏幕大小及实际需要,我们可以将Terminator窗口分割为若干个小的终端窗口。例如,我们在打开的Terminator空白窗口中,点击鼠标右键,在弹出的快捷菜单中选择“水平分割”项,此时,窗口被分为左右两个部分,在左边的终端窗口的空白处再点击鼠标右键,在弹出的快捷菜单中选择 “垂直分割”项,则左侧的终端窗口被分为上下两个终端窗口,即在一个Terminator窗口中打开了三个GNOME终端窗口。我们可以在各个终端窗口中输入命令,并可以同时查看到命令执行的结果。当执行多个需要长时间运行的命令时,我们可以随时了解各个命令的执行情况;而在多个单独的GNOME 终端窗口中执行类似操作时,往往需要在终端窗口间进行切换才能查看到所有结果。
2.关闭多个终端窗口
在Terminator窗口中添加的若干终端窗口该如何关闭呢?我们可以在每个终端窗口的命令行提示符后输入命令“exit”来关闭该窗口,也可以通过点击每个终端窗口的右键快捷菜单中的“close”项来关闭该终端窗口。
3.设置终端窗口
在Terminator窗口中添加的多终端窗口实质就是GNOME终端窗口,如要设置这些终端窗口的字体、背景色等属性,只要在标准的 GNOME终端窗口中设置就可以了。具体方法是打开一个单独的GNOME终端窗口(gnome-terminal),在程序菜单“编辑”下点击“当前配置文件”项,修改当前终端窗口的配置信息,信息保存后,在Terminator窗口中的终端窗口会同步生效,即使用新的终端窗口设置。

2017-05-22 17:00:53 wdy_2099 阅读数 6833
  • 马哥Linux教程-Linux操作系统基础由浅入深全面讲解1

    本课程为全新马哥Linux全套系列课程之一--Linux基础入门和架构了解,从Linux起源,Linux架构和Linux形成历史开始逐步讲解,让你彻彻底底了解Linux的诞生,之后介绍了Linux相关文化和核心组成结构,以及Linux常用命令和基本用法,课程由浅入深,讲授方法受到98%学员一致好评!

    19296 人正在学习 去看看 马永亮

背景:起初是这样的:在一个tomact里放了好多个web项目,启动过,过一段时间,发现不能正常访问,现象就是感觉tomcat已经关闭了。查看日志发现:tomcat报错了<java.lang.OutOfMemoryError:PermGen space>,这才知道内存溢出了。FK!!!原来的放的项目太多了,这样就需要配置多个tomcat。

每个tomcat都有自己的端口和监听的端口,那么要多个运行,就必须使用不同的端口,具体怎么操作呢,看下面:

1)需要JDK作为支撑,这里就不做处理了,我这里的目录:/usr/local/jdk7

2)首先下载对应的linux下的tomcat版本,存放于2个目录,这里以/usr/local/tomcat01和/usr/local/tomcat02为例,多个以此类推。这里tomcat01为了统一,就也把默认配置改掉了。

3)首先,将tomcat02的根目录配置到/etc/profile中,如下:

export JAVA_HOME=/usr/local/jdk7
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$JAVA_HOME/bin:$PATH

CATALINA_BASE=/usr/local/tomcat01
CATALINA_HOME=/usr/local/tomcat01
export CATALINA_BASE CATALINA_HOME

CATALINA_2_BASE=/usr/local/tomcat02
CATALINA_2_HOME=/usr/local/tomcat02
export CATALINA_2_BASE CATALINA_2_HOME

TOMCAT_HOME=/usr/local/tomcat01
export TOMCAT_HOME
TOMCAT_2_HOME=/usr/local/tomcat02
export TOMCAT_2_HOME

配置完成后,执行source /etc/profile 使之生效。

4)修改对应tomcat下conf目录下的server.xml文件,指定其对应端口号。

tomcat01的,修改如下:第一个地方:修改关闭监听端口,默认8005,修改为8051,当然你可以改成其他任意没有用过的端口号。

<Server port="8051" shutdown="SHUTDOWN">
  <Listener className="org.apache.catalina.startup.VersionLoggerListener" />
第二个地方:修改http监听端口,默认8080,这里改成8081,我这里加了下其他配置。
<Connector
         port="8081" protocol="org.apache.coyote.http11.Http11NioProtocol"
         URIEncoding="UTF-8"
         minSpareThreads="1000"
         maxSpareThreads="4000"
         enableLookups="false"
         disableUploadTimeout="true"
         connectionTimeout="20000"
         acceptCount="4000"
         maxThreads="5000"
         maxProcessors="5000"
         minProcessors="100"
         useURIValidationHack="false"
         compression="on"
         compressionMinSize="2048"
        compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain"
         redirectPort="8443" />
第三个地方:修改 AJP 的对应端口,默认8009,修改为9080:

<Connector port="9080" protocol="AJP/1.3" redirectPort="8443" />
好了,这样就把第一个的server.xml配置修改完成了。第二个tomca02的配置类似,3个端口我设置的是:8052,8083,9081

5)修改tomcat/bin下的启动脚本,其实就是添加几行代码,如在tomcat01的startup.sh和shutdown.sh文件中添加如下代码:

# -----------------------------------------------------------------------------
# Start Script for the CATALINA Server
# -----------------------------------------------------------------------------

export JAVA_HOME=/usr/local/jdk7
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=$JAVA_HOME/lib
export CATALINA_HOME=$CATALINA_HOME
export CATALINA_BASE=$CATALINA_BASE

# Better OS/400 detection: see Bugzilla 31132
[注:]上下被#注释掉的地方,是为了方便大家找到添加的位置,是原来文件中的内容,我们这里添加的是export开头的代码。

那么对应的tomcat02配置如下;

export JAVA_HOME=/usr/local/jdk7
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=$JAVA_HOME/lib
export CATALINA_HOME=$CATALINA_2_HOME
export CATALINA_BASE=$CATALINA_2_BASE
哦了,这样就完成了linux中多个tomcat的配置。下面就可以在每个tomcat/bin目录下分别执行./startup.sh了。最后在浏览器中分别输入http://localhost:8081和http://localhost:8083就可以看到,已经配置成功了。

###如果您觉得帮到您,请顶一下。谢谢呢!###





没有更多推荐了,返回首页