运行命令

在Unix系统中执行可执行文件

耗尽温柔 提交于 2019-12-04 12:23:41
  这篇文章是我在一个叫做Charlotte数据挖掘的公众号上看到的文章,文首提到转载自"朱小厮的博客",当我今天执行一个自己编译的可执行文件后的运行阶段想到了这篇文章,直接一次成功。非常感谢这篇文章。现在记录下来,仅供学习。 在Linux中,我们执行内置命令时,直接输入命令名称即可,如: $ mv a b #将a重命名为b 而在执行自己写好的程序时,却要带上./,例如: $ hellohello: command not found$ ./hellohello world 这是为什么呢?它们有什么区别呢? shell是如何运行程序的 在说明清楚问题之前,我们必须了解shell是如何运行程序的。首先我们必须要清楚的是,执行一条Linux命令,本质是在运行一个程序,如执行ls命令,它执行的是ls程序。那么在shell中输入一条命令,到底发生了什么?它会经历哪几个查找过程? alias中查找 alias命令可用来设置命令别名,而单独输入alias可以查看到已设置的别名: $ aliasalias egrep='egrep --color=auto'alias fgrep='fgrep --color=auto'alias grep='grep --color=auto'alias l='ls -CF'alias la='ls -A'alias ll='ls -alF'alias ls=

linux 实用后台任务

强颜欢笑 提交于 2019-12-04 10:55:16
linux实用后台任务 linux 使用后台任务 & # 这个用在一个命令的最后,可以把这个命令放到后台执行 ctrl + z #可以将一个正在前台执行的命令放到后台,并且暂停 jobs #查看当前有多少后台运行的命令 fg #把后台命令调到前台继续运行 | 如果后台有多个任务 fg后面接序号(jobs命令查看任务序号) bg # 将后台暂停的命令,变成继续执行, 多个任务后面接序号 ) ctrl+c # 前台进程的终止 nohup #不挂断地运行命令,退出用户后还继续运行的  nohup command > myout.file 2>&1 & //输出被重定向到myout.file文件中。 nohup<程序名>& //则控制台logout后,进程仍然继续运行,起到守护进程的作用(虽然它不是严格意义上的守护进程)。 无论是否将 nohup 命令的输出重定向到终端,输出都将附加到当前目录的 nohup.out 文件中。 如果当前目录的 nohup.out 文件不可写,输出重定向到 $HOME/nohup.out 文件中。 nohup startWeblogic.sh& 如果想要监控标准输出可以使用: tail -f nohup.out # Linux下使用Shell命令控制任务Jobs执行 下列命令可以用来操纵进程任务:   ps 列出系统中正在运行的进程;   kill

django-app

本秂侑毒 提交于 2019-12-04 10:25:09
django-app 1、新建一个应用 django-admin startapp 应用名 该命令必须在项目的根下运行 2、在 settings.py 中激活应用 ` INSTALLED_APPS = [ .... , 'user', ] ` 3、在项目路由中,配置 应用路由 url('^user/', include('user.urls')) 来源: https://www.cnblogs.com/hylone/p/11854683.html

Docker教程(4)Dockerfile 文件详解

空扰寡人 提交于 2019-12-04 09:58:18
Dockerfile介绍 Docker通过读取 Dockerfile 里面的内容可以自动build image,Dockerfile是一个包含了 build 过程中需要执行的所有命令的文本文件。也可以理解为Dockfile是一种被Docker程序解释的脚本,由一条一条的指令组成,每条指令对应Linux系统下面的一条命令,由Docker程序将这些Dockerfile指令翻译成真正的Linux命令。Dockerfile有自己书写格式和支持的命令,Docker程序解决这些命令间的依赖关系,类似于Makefile。 Docker程序将读取Dockerfile,根据指令生成定制的image。相比image这种黑盒子,Dockerfile这种显而易见的脚本更容易被使用者接受,它明确的表明image是怎么产生的。有了Dockerfile,当我们需要定制自己额外的需求时,只需在Dockerfile上添加或者修改指令,重新生成image即可,省去了敲命令的麻烦。 Dockerfile编写规则及指令说明 Dockerfile的指令是忽略大小写的,建议使用大写,使用#作为注释,每一行只支持一条指令,每条指令可以携带多个参数。 Dockerfile的指令根据作用可以分为两种:构建指令和设置指令。构建指令用于构建image,其指定的操作不会在运行image的容器上执行;设置指令用于设置image的属性

Docker基本命令使用详解

早过忘川 提交于 2019-12-04 09:46:58
因为工作中需要将服务容器化,所以最近开始学习Docker相关的知识,对于Docker入门常用的命令总结如下: 1. 运行容器 $ sudo docker run -i -t ubuntu /bin/bash -i 标志保证容器中的STDIN是开启的 -t 标志告诉Docker为要创建的容器分配一个伪tty终端 ubuntu 表示我们创建容器使用的镜像 /bin/bash 表示当容器创建完成之后,Docker就会执行容器中的/bin/bash命令 2. 给容器命名 $ sudo docker run --name my_container -i -t ubuntu /bin/bash --name为容器指定一个名称,使用指定的容器名称比使用容器ID更方便。 3. 重新启动已停止的容器 #使用容器ID启动容器 $ sudo docker start f5a9f05f4214 #使用容器名称启动容器 $ sudo docker start my_container $ sudo docker restart my_container 除了容器ID,我们还可以使用容器名称来运行容器,也可以用`docker restart`命令来重新启动一个容器,运行以上命令,使用`sudo docker ps`就可以看到我们的容器已经开始运行了。 4. 附着到容器上 $ sudo docker

docker镜像、容器以及命令操作

南笙酒味 提交于 2019-12-04 09:43:28
docker image docker image是一个极度精简版的Linux程序运行环境,官网的java镜像包括的东西更少,除非是镜像叠加方式的如centos+java7 docker image是需要定制化build的一个安装包,包括基础镜像+应用的二进制部署包 docker image内不建议有运行期需要修改的配置文件 Dockerfile用来创建一个自定义的image,包含了用户指定的软件依赖等。当前目录下包含Dockerfile,使用命令build来创建新的image docker image的最佳实践之一是尽量重用和使用网上公开的基础镜像 为docker添加国内镜像,加速下载镜像: 修改配置文件/etc/docker/daemon.json,如果该文件没有则进行创建: [root@docker ~]# cat /etc/docker/ daemon.json { " dns " : [ " 192.168.101.2 " , " 8.8.8.8 " ], " registry-mirrors " : [ " https://docker.mirrors.ustc.edu.cn " ] } 然后重启docker: # systemctl restart docker 关于image的一些命令: 搜索镜像: # docker search nginx nginx为镜像名称

docker exec 运行命令

荒凉一梦 提交于 2019-12-04 09:41:34
docker:/root/sbin# docker exec -it 17aaf60ee3a1 /sbin/ifconfig -a eth1 Link encap:Ethernet HWaddr 22:EC:37:B0:5E:0E inet addr:192.168.32.152 Bcast:192.168.32.255 Mask:255.255.255.0 inet6 addr: fe80::20ec:37ff:feb0:5e0e/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:75782 errors:0 dropped:0 overruns:0 frame:0 TX packets:3598 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:6371340 (6.0 MiB) TX bytes:257864 (251.8 KiB) lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU

docker容器运行和资源限制

我怕爱的太早我们不能终老 提交于 2019-12-04 09:33:22
Docker学习笔记 一,运行容器 如图运行容器 容器执行完命令后就退出了。 容器的生命周期依赖于启动时执行的命令,只要该命令不结束,容器也就不会退出。 可以通过加上参数-d以后台方式启动容器,如图 CONTAINER ID 是容器的短id,前面启动容器时返回的使长id。短id是长id的前12个字符。 NAMES字段显示容器的名字,在启动容器时可以通过–name参数显示地为容器命名,如果不指定,docker会自动为容器分配名字。 二,两种进入容器的方法 我们经常需要进入到容器里去做一些工作,比如查看日志、调试、启动其他进程等。有两种方法进入容器: 1,docker attach 通过docker attach可以attach到容器启动命令的终端 2,docker exec 通过docker exec进入相同的容器,-it指定以交模式打开,执行exit退出容器,回到docker host 3,attach和exec的区别: attach直接进入容器启动命令的终端,不会启动新的进程。 exec则是在容器中打开新的终端,并且可以 启动新的进程。 如果想直接在终端查看启动命令的输出,用attach,其他情况使用exec。 如果只是为了查看启动命令的输出,可以使用docker logs命令。 三,运行容器的最佳实践 按用途容器大致可分为两类:服务类容器和工具类容器。

docker容器保持运行不退出

↘锁芯ラ 提交于 2019-12-04 09:25:40
nsenter工具进入docker容器 概述 对于运行在后台的docker容器,我们经常需要做的事情是进入到容器中,docker为我们提供了docker exec 、docker attach 命令,并且还提供了nsenter工具,外部工具供我们使用。docker attach存在的问题是:当多个窗口同时attach到同一个容器时,所有的窗口都会同步的显示,假如其中的一个窗口发生阻塞时,其它的窗口也会阻塞,docker attach命令可以说是最不方便的进入后台docker容器的方法。docker exec命令是在docker 1.3之后增加的一个比docker attach命令更加方便的命令。和docker exec差不多方便的命令是nsenter工具。 nsenter安装 $ cd /tmp; $ curl https://www.kernel.org/pub/linux/utils/util-linux/v2.24/util-linux-2.24.tar.gz | tar -zxf-; cd util-linux-2.24; $ ./configure --without-ncurses $ make nsenter && sudo cp nsenter /usr/local/bin nsenter使用 在使用nsenter命令之前需要获取到docker容器的进程

Docker学习笔记八:Swarm

让人想犯罪 __ 提交于 2019-12-04 09:20:49
创建一个swarm 1、登录管理节点 manager1 执行如下命令创建一个新的swarm: $ docker swarm init --advertise-addr 192.168.99.100 Swarm initialized: current node (dxn1zf6l61qsb1josjja83ngz) is now a manager. To add a worker to this swarm, run the following command : docker swarm join \ --token SWMTKN-1-49nj1cmql0jkz5s954yi3oex3nedyz0fb0xx14ie39trti4wxv-8vxv8rssmk743ojnwacrr2e7c \ 192.168 .99 .100 : 2377 To add a manager to this swarm, run 'docker swarm join-token manager' and follow the instructions. 2、执行 docker state 查看swarm的当前状态: $ docker info Containers: 2 Running: 0 Paused: 0 Stopped: 2 .. .snip ... Swarm: active NodeID