ls -l命令如何只输出文件名

【场景】:一个目录下有好多子目录,子目录中有一些文件需要打印出来。 【指令】: 为了抓取需要的文件列表,可以使用ll *|grep ‘标识字符’ [jackey@fnode1 jacoxu]$ ll * -h|grep Prec -rw-rw-r– 1 jackey jackey 543K Nov 9 19:11 0-0-4-3-4-2-0-0-4-2-0-0-4-10-0-0-Prec-0.57372 -rw-rw-r– 1 jackey jackey 544K Nov 9 22:33 0-0-4-3-4-2-0-0-4-2-0-0-4-10-0-1-Prec-0.57364 -rw-rw-r– 1 jackey jackey 543K Nov 10 01:55 0-0-4-3-4-2-0-0-4-2-0-0-4-10-1-0-Prec-0.58598 -rw-rw-r– 1 … 继续阅读

nohup启动程序后如何获取进程号Pid

【需求背景】:在Linux上执行一个Matlab程序,多个用户在同一个账号下同时启动了多个Matlab程序。运行一段时间后 如果想终止其中的某个进行 需要kill掉,但是kill掉哪一个呢?利用Top指令显示的结果是: PID USER … COMMAND 6853 jackey   …  /media/workOne/matlab/bin/glnxa64/MATLAB 通过COMMAND已经服务区分多个进程了,因而我们需要在启动进程时打出此进程号。比较笨的方法是自己拿纸笔来记录了,哈哈,执行nohup后会在终端输出给你的。而自动输出方法是什么呢?nohup后显示的pid既不是标准输出也不是标准错误输出,无论用2>还是1>都是无法获取的。那么我们可以通过另外一种方法进行记录:利用$!创建进程号的文件。 直接上示例(run.sh): #!/bin/sh ls test_jacoxu-* | (while read line; do echo “Start to run the matlab file:”${line} nohup ../matlab.ln <$line> $(date ‘+%Y-%m-%d_%H-%M-%S’)${line}.out& touch $!”.pid” done) 通过touch $!”.pid”就可以输出以当前进程号命名的文件啦.pid ======================== … 继续阅读

Linux文件打开数问题-Too many open files

运行在Linux系统上的Java程序可能会出现”Too many open files”的异常情况,且常见于高并发访问文件系统,多线程网络连接等场景。 程序经常访问的文件、socket在Linux中都是文件file,系统需要记录每个当前访问file的name、location、access authority等相关信息,这样的一个实体被称为file entry。 查看文件打开数: unlimit -n 临时修改文件打开数 ulimit -n 2048 永久修改文件打开数: vi /etc/security/limits.conf * soft nofile 100000 * hard nofile 200000 (注意上限是 150W左右) 另外一种修改配置,可能是更为底层些,Suse的路径为: vi /etc/sysconfig/ulimit 检测某个进程的文件打开数情况,如下: lsof -p 所列出的结果中会包含当前进程依赖的jar包,会放到JVM虚拟机内存中去。而打开的磁盘文件会分配一个序列号 如:382r, 383r, … COMMAND PID USER … 继续阅读

Linux下安装Eclipse调试C/C++

参考:http://wuyebamboo.blog.51cto.com/3344855/1224574 一. 下载JDK,Eclipse,Cdt 其中JDK是java开发和运行环境,Eclipse需要先装JDK,才可能运行,Cdt是在eclipse中运行c\c++程序的插件。 1.1. 下载JDK 网址是:http://www.oracle.com/technetwork/java/javase/downloads/index.html,点击JDK下载 具体配置方法,前面的博文都有提及,这里就先略过了。 1.2. Eclipse下载 网址是:http://www.eclipse.org/downloads/,选择Eclipse Juno(4.4) Release for windows 那个选择框,选择“Linux“ 下载 Eclipse IDE for Java EE Developers — Linux 64 bits. 得到 eclipse-jee-juno-SR2-linux-gtk-x86_64.tar.gz 压缩包。 1.3. Cdt下载 网址是:http://www.eclipse.org/cdt/ ,点击最上面的“Download” 选择 CDT 8.1.2 for Eclipse Juno … 继续阅读

VMware+Ubuntu安装,创建多个集群虚拟机

目的:测试Hadoop+Mapreduce及MPI,安装Vmvare,并安装两个Ubuntu; Micorsoft近期也开始做虚拟机,Hyber-v,但是只支持Windows2008 Sever以上版本及Windows 8,暂不支持WIN7 系统。因而还是需要安装VMware。 安装版本VMware Workstation(虚拟机)v10.2 简体中文破解版,Ubuntu版本为14.04桌面版。通过打开CPU的Virtualization Technology支持,在VMWare WorkStation上安装64位操作系统。这个一般在BIOS的Performance选项中,记住,即使宿主机器使用的是64位操作系统,也需要打开这一选项才能在虚拟机中安装64位操作系统。 安装步骤: [1]. 安装Vmware; [2]. 创建新的虚拟机; [3]. 新建虚拟机向导中选择 自定义(高级); [4]. 选择虚拟机硬件兼容性(默认); [5]. 选“稍后安装操作系统; [6]. 选择Linux下的Ubuntu 64位; [7]. 命名虚拟机,分布式集群时需要安装多个虚拟机,因而这里我们命名为Ubuntu-64bit_Node001; [8]. 建议分配1个处理器,2个核,2G内存; [9]. 网络类型使用网络地址转换(默认); [10]. I/O控制器 默认即可 LSI Logic(L)(默认); [11]. 磁盘类型 SCSI (默认); … 继续阅读

Linux高物理内存(Physical Memory)占用率现象

最近项目联调发现各种OutOfMemory,然后大家很容易的就把原因归结到High Physical Memory上去,因为在shell中运行top指令可以看到free的内存很少(64G的内存只有1G空闲) 但是习惯了Windows的内存机制,很容易对Linux的内存机制产生误解。再细看上面图片中,应用进程占用的内存并不高,几近30G左右,而剩下的30G去哪了?Linux核把它分配给了cached缓存区,用于文件的快速读写。那么有必要手动释放这一部分内存吗?答案是不必的,linux有自己的机制可以在物理内存紧缺的情况下,快速释放缓存,所以尽量不要人工参与. 那么如何判断内存真的紧缺?看Swap的free内存时候在快速减少。所以通过top可以得知现在可以申请到的最高内存大致为Mem free + cached 内存,上例中即大致35G。 但是有时候cached占用过高的内存也容易导致其他一些异常,可参考ulimit -v 进行内存占用设置 ———————————————————————————— 关于top中的各个参数的释义为: top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。下面详细介绍它的使用方法。 top – 01:06:48 up 1:22, 1 user, load average: 0.06, 0.60, 0.48 Tasks: 29 total, 1 running, 28 sleeping, 0 stopped, 0 zombie Cpu(s): 0.3% … 继续阅读

Linux 常用指令记录

1. 超级终端快捷键: ctrl+alt+t 2. 复制文件夹: cp -r dir1 dir2 3. user,group ,others都有读写和可执行权限: chmod 777 file, 如果不需要把所有权限都打开则使用: chmod 755 file 4. 跳到自己的home directory : cd ~ 5. win采用GBK, linux采用utf-8, linux平台下转码指令: iconv -f GBK -t UTF-8 file1 -o file2 (注:file1和file2不要重名) 6. gedit类似于win下的记事本, … 继续阅读