光说有毛用


程序猿的小本本

last update:

linux screen 命令详解 – David_Tang – 博客园

一、背景

系统管理员经常需要SSH 或者telent 远程登录到Linux 服务器,经常运行一些需要很长时间才能完成的任务,比如系统备份、ftp 传输等等。通常情况下我们都是为每一个这样的任务开一个远程终端窗口,因为它们执行的时间太长了。必须等待它们执行完毕,在此期间不能关掉窗口或者断开连接,否则这个任务就会被杀掉,一切半途而废了。

二、简介

GNU Screen是一款由GNU计划开发的用于命令行终端切换的自由软件。用户可以通过该软件同时连接多个本地或远程的命令行会话,并在其间自由切换。

GNU Screen可以看作是窗口管理器的命令行界面版本。它提供了统一的管理多个会话的界面和相应的功能。

  • 会话恢复
只要Screen本身没有终止,在其内部运行的会话都可以恢复。这一点对于远程登录的用户特别有用——即使网络连接中断,用户也不会失去对已经打开的命令行会话的控制。只要再次登录到主机上执行screen -r就可以恢复会话的运行。同样在暂时离开的时候,也可以执行分离命令detach,在保证里面的程序正常运行的情况下让Screen挂起(切换到后台)。这一点和图形界面下的VNC很相似。
  • 多窗口
在Screen环境下,所有的会话都独立的运行,并拥有各自的编号、输入、输出和窗口缓存。用户可以通过快捷键在不同的窗口下切换,并可以自由的重定向各个窗口的输入和输出。Screen实现了基本的文本操作,如复制粘贴等;还提供了类似滚动条的功能,可以查看窗口状况的历史记录。窗口还可以被分区和命名,还可以监视后台窗口的活动。
  • 会话共享
Screen可以让一个或多个用户从不同终端多次登录一个会话,并共享会话的所有特性(比如可以看到完全相同的输出)。它同时提供了窗口访问权限的机制,可以对窗口进行密码保护。

GNU’s Screen 官方站点:http://www.gnu.org/software/screen/

三、语法

# screen [-AmRvx -ls -wipe][-d <作业名称>][-h <行数>][-r <作业名称>][-s ][-S <作业名称>]

参数说明

UE 的格式化功能不强,自带的astyle版本陈旧,一般采用开源工具astyle来实现代码格式化。  首先下载最新的astyle,因为ue自带的astyle版本太老,不支持空格、中文名等。下载点这里  解压缩后得到 astyle.exe, 将之拷贝到 ue目录的gnu目录下面,覆盖原来的astyle.exe  选择菜单->高级->工具栏配置->工具栏配置, 输入你命名的工具名”C++格式化”, 命令行输入: 前面使用你自己的UE安装路径 "C:\Program Files\IDM Computer Solutions\UEStudio\GNU\astyle.exe" --style=ansi "%f" 转到选项卡的”输出”页, 选择“捕捉输出”,选择“输出到列表框”。 其它的保留默认。 用ue打开源代码文件,然后”高级” – “格式化代码” 如图

 centos/redhat下安装tcpdump sudo yum install -y tcpdump  在tcpdump所在目录下执行 sudo chmod u+s tcpdump   原理参考: tcpdump 安装和文件的s权限 – arkblue的专栏 – 博客频道 – CSDN.NET

一、getopt函数

A.函数功能:处理命令行参数
B.参数:
argc代表命令行参数的个数,argv[i]存放命令行参数在内存存放的地址。这两个参数直接从mian(int argc,char *argv[])得到。
如果argv的元素是以 “-“开头称为一个选项元素,紧跟在”-“后面的一个字符称为选项字符。
eg:ls  -l
其中ls是可执行程序名称,-l称为选项元素,’l’称为选项字符
optstring:选项参数的集合
注意:如果getopt()函数被循环调用,每次调用都会返回一个对应选元素的选项字符,如果所有选项字符都放回后,再次调用getopt()函数返回-1。
./a.out   -a  -n  -l
 
while(1)
{
    ch = getopt(argc,argv,"anl");
}