Linux
介绍、整理并学习Linux的相关知识,包括Docker、bash shell等
打工人小飞
公众号:机器修行
展开
-
Linux 下几个查找命令 find,locate,whereis,which,type 总结
在 Linux 命令行下,常常根据需要进行相应文件的查找,有很多方法可以做到这一点,本次博客对这些方法进行一个总结,可根据需要灵活运用。1. findfind 是最常见也是最强大的查找命令,几乎能满足任何查找需求。find 命令使用格式:find 路径 参数时间查找参数:-atime n :将 n*24小时内存取过的的文件列出来-ctime n :将 n*24小时内改变、新增的文件...原创 2018-10-18 17:43:34 · 531 阅读 · 0 评论 -
Linux 中的 bash_profile,bashrc 以及 profile 联系与区别
/etc/profile,/etc/bashrc,~/.bash_profile,~/.bashrc 文件的区别和特点比较容易混淆,这里先分别介绍其功能特点:/etc/profile:用来设置系统环境参数,比如$PATH. 这里面的环境变量是对系统内所有用户生效的; /etc/bashrc:这个文件设置系统 bash shell 相关的东西,对系统内所有用户生效。只要用户运行 bash 命令...原创 2018-08-16 13:32:43 · 1723 阅读 · 0 评论 -
Linux sed 命令高效文本操作
Linux 下的 sed 命令功能十分强大,能够完美地配合正则表达式使用,灵活巧妙地利用sed命令,可以极大地提高工作效率。sed 的用法非常多,不可能一一枚举,本文仅针对个人实践过程中比较常见的几个功能作简要介绍。1.替换操作直接编辑文件选项 -i,会把 file 文件中每一行第一个匹配项替换为指定项:sed -i 's/pen/pencil/' file其中,s 表示替...原创 2018-06-16 19:38:05 · 951 阅读 · 0 评论 -
Linux 下 top 和 free 命令总结
top 命令提供了实时的对系统处理器的状态监视,比较像 windows 下的任务管理器。top 命令的显示如下: 下面对以上显示信息逐行做解释,比较重要和常用的信息均用斜黑体加粗: 第一行(任务队列信息,同 uptime 命令) 解释 16:19:04 系统当前时间 up 19 days,16min 主机已运行时间 2 users 用户连...原创 2018-05-12 17:15:04 · 6878 阅读 · 0 评论 -
TensorFlow 指定 GPU 训练模型
Linux 查看当前服务器 GPU 的占用情况可以使用 nvidia-smi 命令,如下所示:nvidia-smi关于 nvidia-smi 命令输出的详细解释,可参考笔者的另外一篇博客:GPU状态监测 nvidia-smi 命令详解。在此不再赘述,本文主要分享一下在用 TensorFlow 训练模型时如何指定 GPU。在用 TensorFlow 训练深度学习模型的时候,若无手...原创 2018-05-12 16:02:14 · 2048 阅读 · 0 评论 -
Linux 命令行处理图片(图片格式转换、缩放、旋转等)
Centos OS 中默认安装了 ImageMagick,ImageMagick 是一系列的用于修改、加工图像的命令行工具。ImageMagick 功能十分强大,本博文主要介绍自己在做实验过程中用得比较多的几个操作,更多更丰富的功能,读者可自行参考 ImageMagick 文档。1. 转换图像格式如下实例,将一个 JPG 格式的图片转换为 PNG 格式的图片:convert i...原创 2018-05-10 17:15:36 · 14952 阅读 · 0 评论 -
后台执行命令 nohup 以及强制结束进程命令 kill
通过终端远程操作服务器时,难免要使特定进程处于持续运行状态,例如深度学习训练网络参数,但又不可能长时间不间断操作终端,我们希望将进程保持后台持续运行,这里提供两个思路:(1)docker 内运行,退出但不终止程序;(2)nohup 命令与 & 结合。这里只讲第二个思路:nohup 命令与 & 结合。举个例子,我们需要保持 test.py 程序的持续运行(用于长时间训练神经网络),并且将控制台输出重定原创 2018-02-01 19:18:05 · 23515 阅读 · 1 评论 -
GPU状态监测 nvidia-smi 命令详解
在进行深度学习实验时,GPU 的实时状态监测十分有必要。今天详细解读一下 nvidia-smi 命令。上图是服务器上 GeForce GTX 1080 Ti 的信息,下面一一解读参数。 上面的表格中的红框中的信息与下面的四个框的信息是一一对应的:GPU:GPU 编号; Name:GPU 型号; Persistence-M:持续模式的状态。持续模式虽然耗能大,但是在新的GPU应用启动时,花费的时原创 2018-02-01 16:43:13 · 77956 阅读 · 4 评论 -
centos 挂载 NTFS 分区 以及 解决 linux 下 MATLAB 中文乱码问题
由于网络传输速度有限,有时候避免不了要将移动硬盘中的数据拷到服务器上。CentOS 上默认是不支持挂载 NTFS 格式的分区的,需要安装 ntfs-3g 这个程序就可以对 ntfs 分区进行读写了。下面讲解详细详细步骤。添加aliyun的epel源wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.re原创 2017-12-03 15:45:08 · 1014 阅读 · 0 评论 -
linux 中 xargs、cut 以及管道综合应用
熟练掌握 linux 各种命令以及管道的使用,无疑让工作效率大幅增加。笔者在做实验时,免不了各种文件的频繁操作,而且文件数量庞大,若以手工方式处理,效率低下不说,还容易出错。今天,结合一个具体实例场景,来谈谈 linux 中 xargs、cut 以及管道的使用。备忘之,分享之。1.批量新建文件夹 在当前路径下新建两个文件夹,并进入 alltxt 文件夹,批量创建100个文件夹:cd alltxt原创 2017-11-30 14:06:31 · 1817 阅读 · 0 评论 -
centos 7 下搭建 tensorflow+keras 深度学习环境
之前在阿里云服务器上搭建过 docker+tensorflow+keras 的深度学习环境,由于服务器停用等一系列问题,不得不在本地服务器重新搭建环境,本次以 root 用户直接操作,不再使用 docker 容器。作为分享和备忘,特此记录。1.python2.7.5 安装centos 系统自带 python,此步骤可省略(Mac Os 同样可省略此步骤),当然,也可升级 python3.x 版本。原创 2017-11-22 17:31:16 · 6821 阅读 · 1 评论 -
shell 脚本实现文件的随机无重复筛选
在做深度学习实验时,需要训练和测试较多类型的数据,以此来体现网络架构的合理性。不同的数据集数量不一,且列别繁多,在做图像分类实验时,如果人工的去筛选和划分图片,工作量巨大,还容易犯错。作为一名合格的程序员,不会偷懒是万万不行的!废话不多说,直接上代码:#!/bin/bashtrainPath="此处写训练集的路径"validationPath="此处写测试集的路径"# trainPath下的所有原创 2017-05-16 20:46:20 · 3952 阅读 · 0 评论 -
CentOS 添加环境变量的三种方法
在 Linux CentOS 系统上安装完 MATLAB 后,为了使用方便,需要将 matlab 命令加到系统命令中,如果在没有添加到环境变量之前,执行“matlab”命令时,则会提示命令不存在的错误,如下所示:下面我详细介绍一下在 linux 下将 MATLAB 加入到环境变量中的方法(MATLAB 安装在 /usr/local/MATLAB/R2013a/bin 目录下)。方法一(暂时生效)直接原创 2016-11-05 11:51:21 · 74672 阅读 · 1 评论 -
linux 下用 shell 给文件夹内的文件归类
如下图所示,现在需要将几百个文件夹(此处只列出两个举例子)内的图片按命名规范重新分类,用 bash shell 处理这个问题就比较方便。 #!/bin/bashProjPath=`cd $(dirname "$0");pwd`dirPath="$ProjPath/cultivar_process"#自定义分类文件夹名FileName=$1mkdir $FileName"_t"mkdir $F原创 2016-08-23 16:03:44 · 3610 阅读 · 0 评论 -
docker 导入与导出容器
如果要导出本地某个容器,可以使用 docker export 命令,可以使用 docker import 从容器快照文件中再导入为镜像1、首先查找正在运行的容器ID 2、然后使用 docker export 命令将容器导出(这里以GWAS_HF容器为例) 3、查看导出结果,scp命令传输到另一台服务器 4、使用 docker import 从容器快照文件中再导入为镜像 后面的 rna 为原创 2016-07-01 20:41:24 · 6644 阅读 · 1 评论 -
linux find命令-exec参数使用说明
find是我们很常用的一个Linux命令,但是我们一般查找出来的并不仅仅是看看而已,还会有进一步的操作,这个时候 exec 的作用就显现出来了。exec解释: -exec 参数后面跟的是command命令,它的终止是以 ; 为结束标志的,所以这句命令后面的分号是不可缺少的,考虑到各个系统中分号会有不同的意义,所以前面加反斜杠。 {} 花括号代表前面find查找出来的文件名。使用 find原创 2016-05-17 10:48:10 · 6537 阅读 · 1 评论 -
linux 下的硬链接与软链接
在Linux系统中,内核为每一个新创建的文件分配一个Inode(索引结点),每个文件都有一个惟一的inode号。文件属性保存在索引结点里,在访问文件时,索引结点被复制到内存,从而实现文件的快速访问。Linux链接分两种,一种被称为硬链接(Hard Link),另一种被称为符号链接(Symbolic Link)。默认情况下,ln命令产生硬链接。一、硬链接 硬链接说白了是一个指针,指向文件索引节点,系原创 2016-04-28 17:11:28 · 1798 阅读 · 0 评论 -
解决 swap file “*.swp”already exists!问题
在 Linux 下的 vim 编辑过程中,由于某种原因异常退出正在编辑的文件,再次编辑该文件时,会出现如下提示:使用vim编辑文件实际是先 copy 一份临时文件并映射到内存给你编辑, 编辑的是临时文件, 当执行:w 后才保存临时文件到原文件,执行:q 后才删除临时文件。每次启动检索是否有临时文件, 有则询问如何处理,就会出现如上情景。解决办法:将隐藏的 *.swp 文件删除即可,原先的文件便可再次原创 2016-04-23 15:47:52 · 98742 阅读 · 9 评论 -
用 shell 抠取文本中指定内容
如下图所示,想要抠出红色矩形标出的数字“3092”并赋值给变量,用Linux Shell 一行即可解决。要将抠出的数字“3092”赋值给指定变量“MarkerNum”,可用如下方式解决:MarkerNum=`grep "markers to be included" plink.log|awk '{print $1}'`同样的,想要抠出位于行尾的数字“2016”,并赋值给变量“MarkerNum”,原创 2016-04-14 19:25:28 · 12533 阅读 · 0 评论 -
用命令行安装和加载R(源码)程序包
今天遇到一个问题,在R中用命令install.packages(“bigmemory”)安装“bigmemory”这个用于处理大数据的包时,出现以下警告提示:提示R版本过低,查看官网才知道,目前最新的“bigmemory”包要求R版本在3.2以上,而当前版本为3.1.3,如果为了安装这个包而去升级R版本,会大费周折,而且如果升级R版本的话,原本已经下载安装的包可能也会受影响,那么处理这个问题的办法就原创 2016-04-08 21:55:34 · 11066 阅读 · 0 评论 -
linux shell 中的 2>&1 用法说明
linux中有三种标准输入输出,分别是 STDIN,STDOUT,STDERR,对应的数字是 0,1,2。STDIN 是标准输入,默认从键盘读取信息; STDOUT 是标准输出,默认将输出结果输出至终端,也就是显示器之类的东西; STDERR 是标准的错误信息,默认也会显示在终端上。 由于STDOUT与STDERR都会默认显示在终端上,为了区分二者的信息,就有了编号的0,1,2的定义,用1表示原创 2016-04-04 22:54:07 · 8649 阅读 · 0 评论 -
shell 与 /etc/shells 功能
只要能够操作应用程序的接口都能够成为 shell,Linux系统提供多种不同的Shell以供选择。常用的有 Bourne Shell(简称sh)、C-Shell(简称csh)、Korn Shell(简称ksh)和 Bourne Again Shell (简称 bash )等。(1)Bourne Shell(sh)是 AT&T Bell 实验室的 Steven Bourne为 AT&T 的 Unix原创 2016-04-04 15:41:28 · 8865 阅读 · 1 评论 -
Linux中的tar命令和scp命令
1、常见解压/压缩命令:.tar文件 解包:tar zvxf FileName.tar 打包:tar cvxf FileName.tar DirName (注:tar是打包,不是压缩).gz文件 解压1:gunzip FileName.gz 解压2:gzip -d FileName.gz 压缩:gzip FileName.tar.gz 和 .tgz文件 解压:tar zvxf File原创 2016-03-18 15:34:08 · 1922 阅读 · 0 评论 -
docker 常用命令
docker 各种命令及参数有很多,下面将比较常用的几个命令及参数作简要说明:1、docker images 查看现有镜像,第一列为镜像名,第二列为镜像版本。2、docker ps 查看正在运行的容器。3、docker ps -a 查看所有容器(包括已终止)4、在docker内exit 结束退出, 退出的容器还可以再次进入5、Ctrl-q + Ctrl-p原创 2016-03-03 19:30:32 · 4042 阅读 · 1 评论 -
intel编译器icc以及数学库MKL的下载与安装
icc是一款非常不错的编译器,intel有非商业版,可以免费下载,虽不提供技术支持,但对于大多数普通用户来讲,已经够用了.下面我就 ifort,icc编译器的下载安装及配置过程介绍如下,另外还介绍了相应的数学库MKL(Math Kernel Library )的安装,希望对您有用。我们的操作系统是Red Hat Enterprise Linux5-AS-X86-64。 1)下载原创 2015-07-07 10:14:23 · 16103 阅读 · 1 评论 -
linux下C语言的调试(1)
编写代码过程中少不了调试。在windows下面,我们有visual studio工具。在linux下面呢,实际上除了gdb工具之外,你没有别的选择。那么,怎么用gdb进行调试呢?我们可以一步一步来试试看。[cpp] view plaincopy#include int iterate(int value) {转载 2015-07-06 22:49:40 · 1212 阅读 · 0 评论