0%

如果你正在运行一个进程,而且你觉得在退出帐户时该进程还不会结束,那么可以使用 nohup 命令。

命令简介

$ nohup Command [ Arg … ] [ & ]

该命令可以在你退出帐户/关闭终端之后继续运行相应的进程。nohup 就是不挂起的意思(no hang up)。

nohup 运行由 Command 和相关的 Arg 参数指定的命令,忽略所有挂断(SIGHUP)信号。要运行后台中的 nohup 命令,添加 & ( 表示 and 的符号)到命令的尾部。

如果使用 nohup 命令提交作业,那么在缺省情况下该作业的所有输出都被重定向到一个名为 nohup.out 的文件中,除非另外指定了输出文件。

记录总结一下 Linuxfgbgjobs&ctrl + z 等相关指令对任务进程的操作。

一、基本用法

1.1 &jobs 指令

& 用在一个命令的最后,可以把这个命令转换为后台运行的任务进程。

jobs 查看当前终端有多少在后台运行的进程。

  • jobs 命令执行的结果, 表示是一个当前的作业,- 减号表示是一个当前作业之后的一个作业。

  • jobs -l 选项可显示所有任务的进程号 pid

  • jobs 的状态可以是 runningstoppedterminated。但是如果任务进程被终止了(kill),当前的终端环境中也就删除了任务的进程标识;也就是说 jobs 命令显示的是当前 shell 环境中后台正在运行或者被挂起的任务进程信息

一、手动档

手动档就是从源码开始编译内核安装,好处是可以自己选择任意版本的内核,缺点就是耗时长,编译安装消耗系统资源

1.1、获取 kernel 源码

这世界上最伟大的 Linux 内核源码下载地址是 kernel 官网,选择一个稳定版本下载即可

1.2、解压并清理

官方要求将其解压到 /usr/src 目录,其实在哪都可以,为了规范一点索性也解压到此位置,然后为了防止编译残留先做一次清理动作

# 下载内核源码
$ wget https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.8.6.tar.xz

# 解压并移动到 /usr/src
$ tar -Jxvf linux-4.8.6.tar.xz
$ mv linux-4.8.6 /usr/src/kernels

# 执行清理(没 gcc 的要装一下)
$ cd /usr/src/kernels/linux-4.8.6
$ make mrproper && make clean

在 Docker 容器之间如果需要共享数据,可以创建一个数据卷容器来实现,并且可以方便的通过数据卷容器来备份、恢复、迁移数据。

创建数据卷容器

创建一个名为:dbdata 的数据卷容器;设置挂载点为 /vdata

$ sudo docker run -d -v /vdata --name dbdata alpine sh

数据卷容器是一个普通的 Docker 容器,可以不需要启动。

CentOS 7 默认安装了 Python 2,当需要使用 Python 3 的时候,可以手动下载 Python 源码后编译安装。

一、安装 Python 3

1.1 安装准备

$ sudo mkdir /usr/local/python3 # 创建安装目录

# 下载 Python 源文件
$ wget --no-check-certificate https://www.python.org/ftp/python/3.6.0/Python-3.6.0.tgz
# 注意:wget获取https的时候要加上:--no-check-certificate

$ tar -xzvf Python-3.6.0.tgz # 解压缩包

$ cd Python-3.6.0 # 进入解压目录

时光飞逝,转眼间,2016 年已经在今天画上句号,结束了,再提起 2016 年就已经是过往了…

印象中,十年应该要算是很长的一段时间吧,但仔细一琢磨十年前也就才 2006 年…那时候是高中,每天除了上课就是写作业,学习很枯燥总感觉时间很多,憧憬着美好的未来,过着也算是无忧无虑生活。每天放学,下晚自习,总是很快的骑着自行车冲出校门口,因为晚了学生会很多,那时候骑自行车一个比一个快。周五不用上晚自习,三五成群去网吧通宵,包宿八块钱八个小时,从晚上十点到第二天早上六点,六点从网吧出来总会有种恍如隔世的感觉,大街上几乎没有人,回出租屋睡上一天,感觉就是一周最美好的时光了!看着别的同学拿着小灵通、MP3 ,很羡慕,自已也想要有一个,都不敢奢望能有一台电脑…一切仿佛也就是昨天而已,但是已经十年之前了,不禁一颤,人生能有几个十年…

shell 可以识别 4 种不同类型的引字符号:单引号字符 ',双引号字符 ",反斜杠字符 \,反引号字符 ` ,学习 shell 编程的朋友可以看下。

1. 单引号( ' )

$ grep Susan phonebook
Susan Goldberg 403-212-4921
Susan Topple 212-234-2343

如果我们想查找的是 Susan Goldberg,不能直接使用 grep Susan Goldberg phonebook 命令,grep 会把 Goldbergphonebook 当作需要搜索的文件。

$ grep 'Susan Gold' phonebook
Susan Goldberg 403-212-4921

shell 碰到第一个单引号时,它忽略掉其后直到右引号的所有特殊字符。

一、安装准备

首先由于 Nginx 的一些模块依赖一些 lib 库,所以在安装 Nginx 之前,必须先安装这些 lib 库,这些依赖库主要有 g++、gcc、openssl-devel、pcre-devel 和 zlib-devel,执行如下命令安装:

$ yum install gcc-c++
$ yum install pcre pcre-devel
$ yum install zlib zlib-devel
$ yum install openssl openssl--devel

二、安装 Nginx

安装之前,最好检查一下是否已经安装有 Nginx

$ find -name nginx

Windows 系统压缩的 rar 和 zip 文件,在 Linux 系统下是无法通过 tar 命令解压缩的,需要使用 rar 和 zip 命令来解压缩。下面记录一下 rar 和 zip 安装和简单的使用。

一、rar 安装使用

Linux 系统下使用 rarlinux 解压缩 rar 压缩文件,下载页面:http://www.rarsoft.com/download.htm。

1.1 下载系统对应的版本

$ wget http://www.rarsoft.com/rar/rarlinux-x64-5.4.0.tar.gz

1.2 解压、安装

$ tar -zxvf rarlinux-x64-5.4.0.tar.gz
$ cd rar
$ make

vim 的配置文件中(Liunx:/etc/vimrc)中添加以下代码后,重启 vim 即可实现按 TAB 产生 4 个空格:

set ts=4 # 注:ts 是 tabstop 的缩写,设 TAB 宽 4 个空格
set expandtab

对于已保存的文件,可以使用下面的方法进行空格和 TAB 的替换:

TAB 替换为空格:

:set ts=4
:set expandtab
:%retab!