首页 文章 精选 留言 我的

精选列表

搜索[常用命令],共693篇文章
优秀的个人博客,低调大师

Docker常用命令

基本命令 sh 复制代码 # 版本信息 docker version # Docker信息 docker info # 帮助 docker --help 镜像命令 sh 复制代码 # 列出本地主机上的镜像 docker images # 可选参数 # -a:列出所有镜像 # -q:只显示镜像ID # --digests:显示镜像的摘要信息 # --no-trunc:显示镜像的完整信息 docker images --digests --no-trunc # 查找镜像[https://hub.docker.com/] docker search [镜像名] # 可选参数 # -s:列出收藏数不小于指定值的镜像 # --no-trunc:显示镜像的完整信息 # --automated:只列出automated build类型的镜像 docker search -s 30 --no-trunc --automated tomcat # 下载镜像 docker pull [镜像名]:[标签(版本)] # 删除镜像 docker rmi [镜像名]:[标签(版本)] docker rmi [镜像ID(空格分隔多个镜像)] # 可选参数 # -f:强制删除 # 删除全部镜像 docker rmi -f $(docker images -qa) # 删除所有包含none的镜像 docker images | grep none | awk '{print $3}' | xargs docker rmi # 导出docker镜像 docker save -o redis_v7.0.10.tar redis:7.0.10 # redis_v7.0.10.tar为保存本地的文件名 # redis:7.0.10为镜像名称和版本 # 必须带名称和版本,否则导入的时候名称和版本为空 # 导入docker镜像 docker load < redis_v7.0.10.tar # redis_v7.0.10.tar为保存本地的文件名 # 提交新镜像 docker commit -a="xujun" -m="my tomcat" [容器名 or 容器ID] xujun/tomcat:1.0 # -a:作者 # -m:说明 # xujun/tomcat:新镜像名 # 1.0:标签(版本) 容器命令 sh 复制代码 # 新建并启动容器 docker run -it --name centos00 centos # 可选参数 # --name="容器新名字":为容器指定一个别名 # -d:后台运行容器,并返回容器ID,即启动守护式容器 # -i:以交互模式运行容器,通常与-t同时使用 # -t:为容器重新分配一个伪输入终端,通常与-i同时使用 # -P:随机端口映射 # -p:指定端口映射,有以下四种格式 # ip:hostPort:containerPort # ip::containerPort # hostPort:containerPort # containerPort # 列出当前正在运行的所有容器 docker ps # 可选参数 # -a:列出当前所有正在运行和历史上运行过的容器 # -l:显示最近创建的容器 # -n:显示最近n个创建的容器 # -q:静默模式,只显示容器编号 # --no-trunc:不截断输出 # 退出容器 # 容器停止退出 exit # 容器不停止退出 ctrl+P+Q # 启动容器 docker start [容器名 or 容器ID] # 重启容器 docker restart [容器名 or 容器ID] # 停止容器 docker stop [容器名 or 容器ID] # 强制停止容器 docker kill [容器名 or 容器ID] # 删除已停止的容器 docker rm [容器名 or 容器ID] # 一次性删除多个 docker rm -f $(docker ps -a -q) docker ps -a -q | xargs docker rm # 启动守护式进程 docker run --name centos00 -d centos # 后台进程启动并循环打印hello xujun docker run --name centos01 -d centos /bin/sh -c "while true; do echo hello xujun; sleep 2; done" # 进入正在运行的容器并以命令行交互 # 重新进入容器交互界面 docker attach [容器名 or 容器ID] # 在宿主机往容器内推送命令 docker exec -it [容器名 or 容器ID] [命令] # 重新进入容器交互界面 docker exec -it [容器名 or 容器ID] /bin/bash # 共享数据卷 docker run -it -v [宿主机绝对路径(/data0/mydata)]:[容器内绝对路径(/data0/mydata)] --name centos00 centos # 读写保护 docker run -it -v [宿主机绝对路径(/data0/mydata)]:[容器内绝对路径(/data0/mydata)]:ro --name centos00 centos # 继承 docker run -it --name centos01 --volumes-from centos00 centos # centos01继承于centos00创建,内部数据卷也共享数据 监控命令 sh 复制代码 # 查看容器日志 docker logs -f -t -tall 3(查看行数) [容器名 or 容器ID] # 可选参数 # -t:加入的时间戳 # -f:跟随最新日志打印 # --tail 3:显示最后3条日志 # 查看容器内运行的进程 docker top [容器名 or 容器ID] # 查看容器内部细节 docker inspect [容器名 or 容器ID] # 查看容器占用的内存大小 docker stats [容器名 or 容器ID] 网络命令 sh 复制代码 # 查看网络 docker network ls # 删除网络 docker network rm <网络名称或ID> 系统命令 sh 复制代码 # 查看docker文件占用大小 docker system df 其他命令 sh 复制代码 # 复制文件 # 从容器内拷贝文件到主机上 docker cp [容器名 or 容器ID]:容器路径 宿主机文件路径 docker cp es8_00:/usr/share/elasticsearch/config/elasticsearch.yml /data0/elasticsearch.yml # 从主机到容器内拷贝文件上 docker cp 宿主机文件路径 [容器名 or 容器ID]:容器路径 docker cp /data0/elasticsearch.yml es8_00:/usr/share/elasticsearch/config/elasticsearch.yml

优秀的个人博客,低调大师

shell常用命令

- cd命令 进入某个目录 - cd ~ : 等价于cd - cd ~user : cd ~后跟用户名,直接返回用户的home目录 - cd /: 直接返回根目录 - cd "$var": var=变量, 变量里存路径,要加引号防路径中的空格 - ls命令 [参数] [过滤项] 查目录文件 - ls -l: 详细列表(long format) - ls -a: 显示所有文件(包括隐藏文件) - ls -h: human(人性化) - ls -t: 按时间排序,倒序 - ls -r: 反转,比如ls -l是按字母顺序正序,ls -lr就变成按字母顺序倒序 - ls -R:递归列出子目录 - ls -d:只显示目录 - ls -S: 按大小倒序 - ls -ltr: 详细信息,时间正序 - ls -lt: 详细信息,时间倒序 - cp 命名 复制文件 - cp a.txt b.txt : 复制a.txt文件,并将复制的新文件a.txt命名为b.txt, 若b.txt本身就存在,则直接用a.txt的内容进行覆盖 - cp -i a.txt b.txt: 复制a.txt文件,但在覆盖之前会确认下是否要覆盖 - cp -n a.txt b.txt: 复制a.txt文件,但如果存在b.txt,则跳过不覆盖 - cp - -backup a.txt b.txt: 复制a.txt文件,如果存在b.txt, 则对b.txt进行备份,备份后再进行覆盖 - mv 命令 移动文件(原文件还在) - mv -i a.txt b.txt: 覆盖前询问 - mv -n a.txt b.txt: 目前不存在就移动,存在则跳过不移动 - mv -f a.txt b.txt: 强制覆盖(不加f也是覆盖) - mv -b a.txt b.txt: 覆盖前原文件会备份,再移动 - rm 命令 删除文件 - rm -i a.txt: 删除前询问 - rm -f a.txt: 强制删除 - rm -r a.txt: 递归删除目录以及文件 - rm -d empty: 删除空目录,非空目录报错 - mkdir 创建空目录 - mkdir dir1: 创建目录 - mkdir -p dir1/dir2/dir3: 递归创建目录 - mkdir -v dir1: 创建目录时打印出详细信息 - mkdir dir1 dir2 dir3: 创建多个目录 - rmdir 删除空目录 - rmdir dir1: 删除空目录,成功,非空目录,失败 - rmdir -p dir1/dir2/dir3: 递归删除目录,遇到非空目录则报错 - rmdir -v dir1: 删除目录并输出详细过程 - file f 查看文件类型 - cat 打印文件 - cat -A a.txt: 显示文件所有字符(包括隐藏字符) - cat -s a.txt: 打印时压缩空行 - cat a.txt:默认输出到屏幕上 - cat > a.txt: 键盘输入写文件,ctrl+d保存 - cat -n a.txt: 输出行数 - tail 命令 — 查看文件的尾部信息 - tail a.txt: 默认显示最后10行 - tail -n 20 a.txt: 最后20行 和 tail 20 a.txt等价 - tail -n +50 a.txt: 从50行开始到末尾 - ps命令 查看进程 - ps -aux : 查看所有进程, 基本信息为pid,cpu,mem等, 可以与ww组合,ww不限制宽度 - -a : 查看所有终端进程 - -x: 与a放在一起可以查看所有进程 - -u: user, 输出更符合用户习惯 - ps -ef: 查看所有进程,基本信息为pid、ppid、终端id等, 可以与ww一起使用,ww不限制宽度 - -e: 所有进程 - -f: 完整格式 - kill 命令: 向进程发信号,默认发信号15 - 日常用法 - kill 123: 默认给pid=123的进程发信号15 - kill -s SIGTERM 123:根据信号名称发信号, s 可不写, 等价kill -SIGTERM 123 - kill -n 15 123: 给pid=123的进程发送信号15, n可不写, 等级kill -15 123 - 常用信号 - SIGHUP 1 :终端挂断, 日常被用作配置重载等(行业约定),比如nginx的配置重载,就是nginx接收到hup信号后执行配置重加载 - SIGINT 2:ctrl +c触发的,中断, 一般是用户收到ctrl + c产生 - SIGOUT 3: - SIGKILL 9: 强制终止, 进程无法捕获 - SIGTERM 15: 默认信号,优雅退出 - SIGCONT 18: 继续运行(配合stop) - SIGSTOP 19: 暂停进程(ctrl + z发的,不能被捕获) - pkill 命令: 和kill一样,发送信号,pkill可以按照进程名去发送消息, 但pkill需要注意名字接近的,避免误伤 - pkill -f : 不加-f只匹配进程名,加了 -f 才匹配整个命令行参数 - pkill -u root: 杀root用户所有进程 - pkill -u root -f "python": 杀root的python的进程 - top 命令: 实时查看系统资源和进程状态 - top -d 1 : 延迟时间间隔, 每隔1秒刷新一次 - top -p 12345 : 只盯着 PID=12345 - top -u nginx : 只看nginx用户 - top -b -n 1 : 只输出一次 n是刷新次数 -b 是batch mode(批处理模式) - top -b -n 1 > a.txt : 问题快照,将top刷新一次的数据重定向到a.txt - 实时参数 - P : 按cpu排序(默认) - M: 按内存排序 - T: 按内存cpu时间排序 - k: 杀进程(输入pid→信号) - u: 只看某个用户 - c: 显示完整命令行 - s: 改刷新间隔(秒) - df 命令 disk free 用来查看文件系统级别的磁盘空间使用情况 - df : 默认输出磁盘使用情况,但默认是字节,非人类友好 - df -h : 人类可读,会将单位转换成K/M/G/T等单位 - df -T: 显示文件系统类型 - df -i: 看inode - df -a: 显示所有包括伪文件系统 - free 命令 内存占用 - free -m: 以M单位输出 - free -g: 以G单位输出 - free -s 8: 每过8秒重复打印一次 - free -h:符合人类习惯输出 - systemctl 命令:systemd系统的核心命令控制工具 - systemctl start nginx: 启动nginx服务 - systemctl stop nginx: 关闭nginx服务 - systemctl restart nginx: 重启nginx服务 - systemctl reload nginx: 重载配置(接收hup信息执行配置重载) - systemctl status nginx: 服务状态,正常运行会弹running - journalctl 命令: systemd系统自带的日志查询工具 - journalctl -f : 持续跟进,类似于tail -f - journalctl -n 50: 最近的50行 - journalctl -u nginx: nginx日志 - journalctl -u nginx -f : 持续跟进nginx日志 - journalctl --since "2026-07-30" : 查看7月30号的日志 - 绝对时间 journalctl --since "2026-07-30 14:05" 查看7月30号 14:05开始的日志 - 自然语言 journalctl --since today : 查看今天的日志, today, yesterday, tomorrow, now - 英文ago句式 journalctl --since "1 hour ago": 查看1小时以前的日志 - -/+ 后跟s m h d w month year来表示单位 journalctl --since -1h: 1小时以前 - journalctl -S "2026-07-30" :查看7月30号的日志 --since等价于 -S

优秀的个人博客,低调大师

Linux常用命令

1.PSps命令将某个进程显示出来grep命令是查找中间的|是管道命令 是指ps命令与grep同时执行ps是LINUX下最常用的也是非常强大的进程查看命令grep命令是查找,是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。以下这条命令是检查java 进程是否存在:ps -ef |grep java字段含义如下: UID PID PPID C STIME TTY TIME CMD zzw 14124 13991 0 00:38 pts/0 00:00:00 grep --color=auto dae **UID :程序被该 UID 所拥有PID :就是这个程序的 IDPPID :则是其上级父程序的ID,如果父进程先于子进程关闭,子进程将有init进程(PPID=1)管理C :CPU使用的资源百分比STIME :系统启动时间TTY :登入者的终端机位置TIME :使用掉的CPU时间。CMD :所下达的是什么指令**2.SCP不同IP的服务器间传输文件 scp ./nginx.conf root@192.168.0.116:/usr/local/nginx/conf/

优秀的个人博客,低调大师

dockerfile常用命令

ADD 复制文件 ADD 'src' 'dest'ADD microservice-discovery-eureka-0.0.1-SNAPSHOT.jar app.jar src必须在构建的上下文内,不能使用例如:ADD ../somethine /something 这样的命令,因为docker build 命令首先会将上下文路径和其子目录发送到docker daemon。 如果src是一个URL,同时dest不以斜杠结尾,dest将会被视为文件,src对应内容文件将会被下载到dest。 如果src是一个URL,同时dest以斜杠结尾,dest将被视为目录,src对应内容将会被下载到dest目录。 如果src是一个目录,那么整个目录下的内容将会被拷贝,包括文件系统元数据。 如果文件是可识别的压缩包格式,则docker会自动解压。 ARG 设置构建参数 ARG指令用于设置构建参数,类似于ENV。和ARG不同的是,ARG设置的是构建时的环境变量,在容器运行时是不会存在这些变量的。 ARG <name>[=<default value>]ARG user1=someuser CMD 容器启动命令 CMD指令用于为执行容器提供默认值。每个Dockerfile只有一个CMD命令,如果指定了多个CMD命令,那么只有最后一条会被执行,如果启动容器的时候指定了运行的命令,则会覆盖掉CMD指定的命令。 CMD echo "This is a test." | wc - COPY 复制文件 复制本地端的src到容器的dest。COPY指令和ADD指令类似,COPY不支持URL和压缩包。 COPY <src>... <dest> ENTRYPOINT 入口点 ENTRYPOINT和CMD指令的目的一样,都是指定Docker容器启动时执行的命令,可多次设置,但只有最后一个有效。ENTRYPOINT不可被重写覆盖。 ENTRYPOINT command param1 param2 ENV 设置环境变量 ENV <key> <value>ENV JAVA_HOME /path/to/java EXPOSE 声明暴露的端口 EXPOSE指令用于声明在运行时容器提供服务的端口,格式为:EXPOSE <port> [<port>...] # 声明暴露一个端口示例 EXPOSE port1 # 相应的运行容器使用的命令 docker run -p port1 image # 也可使用-P选项启动 docker run -P image # 声明暴露多个端口示例 EXPOSE port1 port2 port3 # 相应的运行容器使用的命令 docker run -p port1 -p port2 -p port3 image # 也可指定需要映射到宿主机器上的端口号 docker run -p host_port1:port1 -p host_port2:port2 -p host_port3:port3 image FROM 指定基础镜像 支持三种格式: FROM <image> FROM <image>:<tag> FROM <image>@<digest> LABEL 为镜像添加元数据(取代MAINTAINER) LABEL "com.example.vendor"="ACME Incorporated" LABEL com.example.label-with-value="foo" LABEL version="1.0" LABEL description="This text illustrates \ that label-values can span multiple lines." RUN 执行命令 RUN <command> RUN ["executable", "param1", "param2"]RUN <command> 在shell终端中运行,在Linux中默认是/bin/sh -c ,在Windows中是 cmd /s /c ,使用这种格式,就像直接在命令行中输入命令一样。 RUN ["executable", "param1", "param2"] 使用exec执行,这种方式类似于函数调用。指定其他终端可以通过该方式操作,例如:RUN ["/bin/bash", "-c", "echo hello"] ,该方式必须使用双引号[“]而不能使用单引号[‘],因为该方式会被转换成一个JSON 数组。 VOLUME 指定挂载点 该指令使容器中的一个目录具有持久化存储的功能,该目录可被容器本身使用,也可共享给其他容器。当容器中的应用有持久化数据的需求时可以在Dockerfile中使用该指令。格式为: VOLUME ["/data"] FROM nginx VOLUME /tmp # 容器ID是第一个容器的ID,镜像是第二个容器所使用的镜像。 docker run -volume-from 容器ID 镜像名称 WORKDIR 指定工作目录 WORKDIR /path/to/workdir切换目录指令,类似于cd命令,写在该指令后的RUN,CMD以及ENTRYPOINT指令都将该目录作为当前目录,并执行相应的命令。

优秀的个人博客,低调大师

docker 常用命令

docker start 。启动一个或多少已经被停止的容器 docker stop 。停止一个运行中的容器 docker restart 。重启容器 docker run 镜像名 docker rm 容器名 docker rmi 镜像名。(注意必须删除使用此镜像的容器) docker images 。查看所有镜像 docker ps -a 。查看所有容器 exit 。退出容器 docker start 容器名 。启动容器 docker stop 容器名 。 停止容器 docker commit 容器id 新镜像名:新镜像tag 。创建新镜像例如:docker commit 57c312bbaad1 huangyong/javaweb:0.1

优秀的个人博客,低调大师

[hadoop]常用命令

启动Hadoop 进入HADOOP_HOME目录。 执行sh bin/start-all.sh 关闭Hadoop 进入HADOOP_HOME目录。 执行sh bin/stop-all.sh 1、查看指定目录下内容 hadoop dfs –ls [文件目录] eg: hadoop dfs –ls /user/wangkai.pt2、打开某个已存在文件 hadoop dfs –cat [file_path] eg:hadoop dfs -cat /user/wangkai.pt/data.txt3、将本地文件存储至hadoop hadoop fs –put [本地地址] [hadoop目录] hadoop fs –put /home/t/file.txt /user/t (file.txt是文件名)4、将本地文件夹存储至hadoop hadoop fs –put [本地目录] [hadoop目录] hadoop fs –put /home/t/dir_name /user/t (dir_name是文件夹名)5、将hadoop上某个文件down至本地已有目录下 hadoop fs -get [文件目录] [本地目录] hadoop fs –get /user/t/ok.txt /home/t6、删除hadoop上指定文件 hadoop fs –rm /user/kettle/obdbi/original/trip_stat/stat_date=20160101/trip-stat[文件地址] hadoop fs –rm /user/t/ok.txt7、删除hadoop上指定文件夹(包含子目录等) hadoop fs –rm [目录地址] hadoop fs –rmr /user/kettle/ubi/dm/ubi_dm_cluster_point/*8、在hadoop指定目录内创建新目录 hadoop fs –mkdir /user/t9、在hadoop指定目录下新建一个空文件 使用touchz命令: hadoop fs -touchz /user/new.txt10、将hadoop上某个文件重命名 使用mv命令: hadoop fs –mv /user/test.txt /user/ok.txt (将test.txt重命名为ok.txt)11、将hadoop指定目录下所有内容保存为一个文件,同时down至本地 hadoop dfs –getmerge /user /home/t12、将正在运行的hadoop作业kill掉 hadoop job –kill [job-id]

优秀的个人博客,低调大师

Docker入门-常用命令

Docker镜像操作 Docker运行容器前需要本地存在对应的镜像,如果本地不存在该镜像,Docker会从镜像仓库下载该镜像。 获取镜像 从Docker镜像仓库获取镜像的命令是docker pull。其命令格式为: docker pull [选项][Docker Registry地址[:端口号]/]仓库名[:标签] 具体的选项可以通过docker pull --help命令看到,这里我们说一下镜像名称的格式。Docker镜像仓库地址:地址的格式一般是<域名/IP>[:端口号]。默认地址是Docker Hub。仓库名:如之前所说,这里的仓库名是两段式名称,即<用户名>/<软件名>。对于Docker Hub,如果不给出用户名,则默认为library,也就是官方镜像。 docker pull ubuntu:16.04 上面的命令中没有给出Docker镜像仓库地址,因此将会从Docker Hub获取镜像。而镜像名称是ubuntu:16.04,因此将会获取官方镜像library/ubuntu仓库中标签为16.04的镜像。 运行镜像 有了镜像后,我们就能够以这个镜像为基础启动并运行一个容器。以上面的ubuntu:16.04为例,如果我们打算启动里面的bash并且进行交互式操作的话,可以执行下面的命令。 docker run -it --rm ubuntu:16.04 bash -it:这是两个参数,一个是-i:交互式操作,一个是-t终端。 --rm:这个参数是说容器退出后随之将其删除 ubuntu:16.04:这是指用ubuntu:16.04镜像为基础来启动容器。 bash:放在镜像名后的是命令,这里我们希望有个交互式shell,因此用的是bash。 最后我们通过exit退出了这个容器。 列出镜像 要想列出已经下载下来的镜像,可以使用docker image ls命令。列表包含了仓库名、标签、镜像ID、创建时间以及所占用的空间。 docker image ls 查看镜像、容器、数据卷所占用的空间。 docker system df 仓库名、标签均为的镜像称为虚悬镜像(dangling image),显示这类镜像 docker image ls -f dangling=true 一般来说,虚悬镜像已经失去了存在的价值,是可以随意删除的,可以用下面的命令删除 docker image prune 删除本地镜像 如果要删除本地的镜像,可以使用docker image rm命令,其格式为: docker image rm [选项] <镜像1>[<镜像2>...] 其中,<镜像>可以是镜像短ID、镜像长ID、镜像名或者镜像摘要。 使用docker image ls -q来配置docker image rm,这样可以批量删除希望删除的镜像。 docker image rm $(docker image ls -q ubuntu) #删除所有仓库名为redis的镜像 或者删除所有在ubuntu:16.04之前的镜像: docker image rm $(docker image ls -q -f before=ubuntu:16.04) Docker容器操作 容器是独立运行的一个或一组应该,以及它们运行态环境。对应的,虚拟机可以理解为模拟运行的一整套操作系统(提供了运行态环境和其他系统环境)和跑在上面的应用。 启动容器 启动容器有两种方式,一种是基于镜像新建一个容器并启动,另外一个是将在终止状态(stopped)的容器重新启动。 因为Docker的容器实是轻量级的,用户可以随时删除和新创建容器。 新建并启动 docker run 输出一个“Hello World”,之后终止容器。 docker run ubuntu:16.04 /bin/echo "Hello world" 启动已终止容器 docker container start 或者 docker start 启动一个bash终端,允许用户进行交互。 docker run -t -i ubuntu:16.04 /bin/bash -t 让Docker分配一个伪终端并绑定到容器的标准输入上,-i则让容器的标准输入保持打开。当利用docker run来创建容器时,Docker在后台运行的标准操作包括: 检查本地是否存在指定的镜像,不存在就从公有仓库下载 利用镜像创建并启动一个容器 分配一个文件系统,并在只读的镜像层外面挂载一层可读写层 从宿主主机配置的网桥接口中桥接一个虚拟接口到容器中去 从地址池配置一个ip地址给容器 执行用户指定的应用程序 执行完毕后容器被终止 后台运行 很多时间,需要让Docker在后台运行而不是直接把执行命令的结果输出在当前宿主机下。此时,可以通过添加-d参数来实现。 如果不使用-d参数运行容器,比如docker run hello-world会把日志打印在控制台。如果使用-d参数运行容器,比如docker run -d hello-world不会输出日志,只会打印容器id(输出结果可以用docker logs查看); 注:容器是否会长久运行,是和docker run指定的命令有关,和-d参数无关。 停止运行的容器 可以使用docker container stop来终止一个运行中的容器。终止状态的容器可以用docker container ls -a 命令看到。处于终止状态的容器,可以通过docker container start命令来重新启动。此处,docker container restart命令会将一个运行态的容器终止,处于再重新启动它。 进入容器 在使用-d参数时,容器启动后进入后台,某些时候需要进入容器进行操作,使用docker exec命令可以进入到运行中。 exec命令 -i -t参数 docker exec后边可以跟多个参数,这是主要说明 -i -t参数。只用-i参数时,由于没有分配伪终端,界面没有我们熟悉的Linux命令提示符,但命令执行结果仍然可以返回。当-i -t参数一起使用时,则可以看到我们熟悉的Linux命令提示符。 docker exec -it 容器id /bin/bash 导出和导入容器 导出容器 如果要导出本地某个容器,可以使用docker export命令。 docker export 容器ID>导出文件名.tar 导入容器 可以使用docker import从容器快照文件中再导入为镜像 cat 导出文件名.tar|docker import - 镜像用户/镜像名:镜像版本 此外,也可以通过指定URL或者某个目录来导入 docker import http://study.163.com/image.tgz example/imagerepo 删除容器 删除容器 可以使用docker container rm来删除一个处于终止状态的容器 docker container rm ubuntu:16:04 如果要删除一个运行中的容器,可以添加-f参数。Docker会发送SIGKILL信号给容器。 清楚所有处于终止状态的容器 用docker container ls -a 命令可以查看所有已经创建的包括终止状态的容器,如果数量太多要一个个删除可以会很麻烦,用下面的命令可以清理掉所有处于终止状态的容器。 docker container prune

优秀的个人博客,低调大师

常用命令集合

# dd if=/dev/zero of=/dev/null zero源源不断的产生数据到黑洞null # dd if=/dev/zero of=/data/a.tgz bs=1M count=100 zero产生100M的数据到/data/a.tgz Shift trl T 打开新的终端页面 # echo 123 | passwd --stdin root 开机默认修改root密码 # cat /etc/services | less 查看端口号 # convmv -f GB2312 -t utf8 -r --notest 目录 乱码转换工具convmv # cp /etc/vsftpd/vsftpd.conf{,.bak} 快速备份 # cp /etc/vsftpd/vsftpd.conf{.bak,} 备份覆盖 # yum search elinks // # yum provides "*/elinks" 查询软件包名 # ps aux | grep httpd 查看进程 最小安装rhel图形界面: # yum -y groupinstall "Desktop" "Fort" "General Purpose Desktop" "Input Methods" "X Window System" "Desktop Platform" "Chinese Support" # vim /etc/services 查看默认协议端口 # vim /etc/sysconfig/i18n 修改系统语言 # uuidgen 自动生成UUID # > /etc/udev/rules.d/70-persistent-net.rules #reboot 清空网卡命名规则 # du -sh /opt 查看文件大小 # cat /proc/cpuinfo # top # uptime 查看CPU信息,平均负载 [ -f /var/run/httpd/httpd.pid ] echo $? 判断http服务是否在运行 # /usr/share/doc/* 软件的使用说明目录 # vim /etc/ld.so.conf # ldconfig 系统读取的库文件目录设置 # ab -c 100 -n 1000 http://1.1.1.1/ 模拟100个人访问服务器1000次 # vim /etc/security/limits.conf # ulimit -a 系统内核的一些限制数目, 修改完后需重启reboot # data -d ‘@1421242424’ 时间戳转换 # yum -y groupinstall "X Window System" "Desktop" 安装桌面环境 # cat /etc/redhat-release uname -a 查看系统版本 # yum -y install bash-completion 参数补全 # egrep -v“^$|^#” /etc/login.defs |wc -l 去除#和空行的配置文件 # awk '/[a-z]|^\[/{print}' chrony.conf # awk '!/^#|^$/{i++}END{print i}' chrony.conf # awk '!/#|^$/{print}' conf/nginx.conf # vim /etc/resolv.conf nameserver 114.114.114.114 # for i in * ; do docker load <${i} ; done # for i in `docker images | grep -v REPOSITORY | awk '{print $1}' ` ;do docker push $i;done # doceker rm $(docker ps -aq) # cat >centos.repo <<EOF [CENTOS] Name=centos EOF http://IP:5000/v2/_catalog cp ifcfg-{eth0,br-ex} # curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo # yum -y install epel-release (rpm -ivh http://mirrors.aliyun.com/epel/epel-release-latest-7.noarch.rpm) 阿里云epel源 # yum install -y centos-release-openstack-newton 安装Openstack仓库 # nohup ..... & 放在后台运行 # cat -n /etc/passwd | head -15 | tail -5 打印第11行到15行 # ip add | tee a.txt | grep "inet " 输出到a.txt并打印inet # openssl rand -hex 10 生成随机数

优秀的个人博客,低调大师

Docker 常用命令总结

列出镜像列表 docker images 获取新的镜像 docker pull centos:7.0 查找镜像 docker search httpd 更新镜像 docker commit -m="提交的信息" -a="作者" e218edb10161 更改后的镜像名 删除镜像 docker rmi 49c614fbbea8 Error response from daemon: conflict: unable to delete 49c614fbbea8 (must be forced) - image is referenced in multiple repositories # 这个报错说明它被其他的镜像依赖,所以需要先删除依赖的image [root@FantJ ~]# docker rmi 49c614fbbea8 Error response from daemon: conflict: unable to delete 49c614fbbea8 (must be forced) - image is being used by stopped container ffd74d6603e0 #这个报错说明它被容器所使用,所以需要先删除容器 [root@FantJ ~]# docker rm ffd74d6603e0 ffd74d6603e0 #如果发现它被很多个容器占用,就用批量命令 [root@FantJ ~]# docker rm $(docker ps -a -q) 27298d317f59 955bbef03be9 95889edc40c8 518eff5fed00 c0b7ca7b267b ce5935dfa127 63c212771b1e 906780ebb103 [root@FantJ ~]# docker rmi 49c614fbbea8 Untagged: learn/pingtag:latest Deleted: sha256:49c614fbbea80b328834ecde9a39d8f5bb812c32851e0e5ae39b514642426984 Deleted: sha256:1de562b8b13c8b7af429a9072ef19a35e3c9085a202ffee5ed5c8aef4046cad4 运行容器 我们通过docker的两个参数 -i -t,让docker运行的容器实现"对话"的能力 -t:在新容器内指定一个伪终端或终端。 -i:允许你对容器内的标准输入 (STDIN) 进行交互。 [root@FantJ ~]# docker run -i -t REPOSITORY:TAG /bin/bash root@dc0050c79503:/# REPOSITORY:TAG 表示的是 镜像仓库源:镜像版本标签 在容器中执行ls 在完成操作之后,输入 exit命令来退出这个容器 后台启动 -d:让容器在后台启动 查看正在运行的容器 [root@FantJ ~]# docker ps 查看容器内控制台打印 [root@FantJ ~]# docker logs id docker logs -f 7a38a1ad55c6 跟踪查看日志 停止容器 [root@FantJ ~]# docker stop 112f9e089c33 运行容器并设置端口 docker run -d -p 5000:5000 training/webapp python app.py 容器内部的 5000 端口映射到我们本地主机的 5000 端口上。 docker run -d -p 127.0.0.1:5001:5000 training/webapp python app.py 这样我们就可以通过访问127.0.0.1:5001来访问容器的5000端口 查看 容器端口 docker port 7a38a1ad55c6 查看容器运行进程 docker top determined_swanson 构建镜像 后面章节讲 设置镜像标签 docker tag 860c279d2fec fantj/ip-web:1.0 使用本地配置运行nginx镜像 docker run -p 80:80 --name mynginx -v $PWD/www:/www -v $PWD/conf/nginx.conf:/etc/nginx/nginx.conf -v $PWD/logs:/wwwlogs -d nginx -p 80:80:将容器的80端口映射到主机的80端口 --name mynginx:将容器命名为mynginx -v $PWD/www:/www:将主机中当前目录下的www挂载到容器的/www -v $PWD/conf/nginx.conf:/etc/nginx/nginx.conf:将主机中当前目录下的nginx.conf挂载到容器的/etc/nginx/nginx.conf -v $PWD/logs:/wwwlogs:将主机中当前目录下的logs挂载到容器的/wwwlogs 进到docker里的某一服务 docker exec -it id bash

优秀的个人博客,低调大师

Linux Shell常用命令

1.什么是Linux Shell Linux Shell是用户和Linux内核之间的接口程序,为用户提供使用操作系统的借口。当Shell向Linux传递命令时,内核会做出响应的反应。 Shell是一个用户程序,或是一个为用户和系统交互提供的环境。 它是一个执行从标准输入设备读入的命令的语言解释程序,他拥有自己內建的Shell命令集,Shell也能被系统中的其他命令所调用。 当登陆或打开控制台时Shell就会运行。 Shell不是系统内核的一部分,但是他可以使用内核系统执行命令、创建文件等。 Linux Shell自身就是一个解释性的程序设计语言。 可以使用如下按键组合来编辑和回调命令: CTAL+W :删除光标位置前的单词。 CTAL+U :清空行 CTAL+R :搜索先前使用的命令。 CTAL+C :终止当前的命令。 CTAL+D :退出登陆shell。 ESC+T :调换光标前的两个单词。 Tab :自动补全文件名、目录名和命令名。 上下键:查看命令历史 定制自己的Bash登陆脚本 vim /etc/vimrc "map <F9> ms:call WESTOS()<cr>'s autocmd BufNewFile *.sh exec ":call WESTOS()" ##新的以.sh结尾的文件为shell的脚本文件 function WESTOS() call append(0,"#################################################") call append(1,"#Aythor: lee #") call append(2,"# CreateTime:".strftime("%Y-%m-%d %H:%M:%S").("#")) call append(3,"#Version: 1.0 #") call append(4,"#Mail: lee@westos.org #") call append(5,"#Description: #") call append(6,"# #") call append(7,"#################################################") call append(8," ") call append(9,"#!/bin/bash") endfunction vim hello.sh 脚本的调式 sh -x hello.sh 必须有X权限 cut命令的使用 被用于文本处理,可以用这个命令来提取文件中指定的列或者指定的字符的内容。 cut -d 指定分隔符 cut -f 1.7|1-7 指定截取的列 cut -c 指定借取的字符 diff命令 用来比较两个文件或目录的不同 diff 【options】 target1 target2 比较的结果读取方式 【num1,num2】【a|c|d】【num3,num4】 num1,num2表示在第一个文件中的行数 a表示添加 c表示更改 d表示删除 表示在第一个文件的第二行后添加linux才能匹配第二个文件的三行 删除第一个文件的第三行的linux才能匹配第二个文件的两行 diff中常用的参数 -b 或 ignore-space-change 不检查空个字符的不同 -B 或 --ignore-blank-lines 不检查空白行的不同 -c 显示全部内文,并标出不同之处 -i 或 --ignore-case 不检查大小写的不同 -p :若比较的文件为 C 语言的程序码文件时,显示差异所在的函数名称 -q 或 --brief :仅显示有无差异,不显示详细的信息 -r 或 --recursive :比较子目录中的文件 -u 以合并的方式来显示文件内容的不同 补丁patch 下载patch yum install patch 将两个文件的不同放到补丁文件中 然后用patch将补丁文件打入原文件进行修改 grep命令的使用 全面搜索研究正则表达式并显示出来grep 命令是一种强大的文本搜索工具 , 根据用户指定的“模式”对目标文本进行匹配检查 , 打印匹配到的行由正则表达式或者字符及基本文本字符所编写的过滤条件。 grep 的格式 grep 匹配条件 处理文件 grep root passwd ##过滤passwd文件中含有root的信息 grep ^root passwd ##过滤以roo开头的信息 grep root$ passwd ##过滤以root结尾的信息 \< 关键字 不匹配开头 关键字 \> 不匹配结尾 \< 关键字 \> 只匹配关键字 grep -i 强制grep命令忽略关键字的大小写 -r/R 可以递归搜索指定目录下的文件 -w 默认情况下当搜索字符,grep命令也会匹配含有关键字的所有字符,使用-w选项,则强制匹配关键字的行 -c 可以报告文件或文本中模式被匹配的次数 -n 可以显示每一个匹配行的行号 -v 可以输出除匹配行以外的其他所有行 --color 输出中将匹配的字符串以彩色形式输出 grep 中字符的匹配次数设定 * 字符出现【0-任意次】 \? 字符出现【0-1次】 \+ 字符出现 【1-任意次】 \{n\} 字符出现【n次】 |{m,n\} 字符出现【最少出现 m 次,最多出现 n 次】 \{0,n\} 字符出现 [0-n 次 ] \{m,\} 字符出现 [ 至少 m 次 ] xy">xyxy\{n\}xy 关键字出现 [n 次 ] .* 关键字之间匹配任意字符 sed 行编译器 stream editor用来操作纯 ASCII 码的文本处理时 , 把当 前处理的行存储在临时缓冲区中 , 称为“模式空间” (pattern space) 可以指定仅仅处理哪些行sed 符合模式条件的处理 不符合条件的不予处理处理完成之后把缓冲区的内容送往屏幕接着处理下一行 , 这样不断重复 , 直到文件末尾. sed一次处理一行输入的优点时在读取非常庞大的文件时不会出现问题。一般的文件编辑器必须将整个文件读入内存,这将会产生内存溢出或者在处理庞大的文件系统是速度非常慢。它的优势在于你可以在一处(一个sed脚本中)指定所有的编辑命令,然后逐条执行他们. 常用选项 -e——他告诉sed将下一条参数解释为sed指令,只有在命令行给出多个sed指令时才需要使用-e -f——指定由sed指令组成的脚本的名称,如果sed脚本的第一行为“#n”,则sed的行为与-n选项相同。 -i——直接修改读取内容,而不是输出到终端 -n——取消默认输出如果使用-n参数后,只有经过sed处理的行才会被显示。 p显示 模式操作 sed -n '/\:/p' /etc/fstab ##只显示fstab文件中含有“:” 的行 sed -n ‘/UUID$/p’ /etc/fstab ##只显示以UUID结尾的行 sed -n ‘2~6p’ /etc/fstab ##显示2~6行的内容 sed -n ‘2~6!p’ /etc/fstab ##显示除2~6行以外的内容 =显示在第几行 ##d 删除模式操作 ##a追加 ##i插入 如果之追加不插入则只改变输出终端 a,i不影响模式空间的内容,提供的文本将不匹配脚本中后续命令i的任何地址 ##c更改 可以处理一个范围内的行。他用一个文本备份取代所有被寻地址的行,但提供的文本植被输入一次。。它会清楚模式空间,他在模式空间内与删除命令有同样的效果i,所以在sed脚本中,变更命令被放在最后。 ##s替换 n——1~512之间的数字,表示对文本模式pattern中指定模式第n次出现的情况进行替换 g——对模式空间的所有出现的情况进行全局更改,如果没有g时通常只有第一次出现的情况被更改 p——打印模式空间的内容 w——将空间模式的内容写入到文件file中 & 作为元字符,“&”符号表示模式匹配的范围,不是被匹配的行,可以使用‘&’符号匹配一个单词或一串字符 \n——匹配第n个子字符,这个子字符是先前在模式中使用的“\"指定的 \——用于转义符号“&”“\”等字符。它还可以用于转义换行符cut test命令 Shell脚本可以使用逻辑,使用脚本可以根据参数、Shell变量或是其他条件的值采取不同的行动。test命令允许你做各种测试每当测试成功或失败时设置他的退出状态码为0或1. test命令用于 文本属性测试、字符串测试、算术测试 -e <file> 如果file存在则为真 -f 存在且是一个常规文件为真 -d 存在是一个目录为真 -c 存在且是一个则特殊字符文件为真 -b 存在且是一个特色块文件为真 -p 存在且是一个命名管道为真 -S 存在且是一个套接字文件为真 -L /-h 存在且是一个符号连接则为真 -g 存在且是设置了sgid位则为真 -u 存在且时设置了suid位则为真 -r/-w/-x 存在且是可读可写可执行的则为真 -s 存在且不为空的文件则为真 <File1> -nt <File2> 如果1比2新则为真 -ot 1比2旧则为真 -ef 1有硬链接到2则为真 字符串测试的操作符 -z <STRING> 如果<STRING>为空则为真 -n <STRING> 如果<STRING>不为空则为真 <STRING1> = <STRING2> 如果相同则为真 <STRING1> != <STRING2> 如果不相同则为真 <STRING1> < <STRING2> 如果1排在2之前则为真(ASCII码) <STRING1> > <STRING2> 如果1排在2之后则为真(ASCII码) 算术测试的操作符 <INTEGER1> [操作符]<INTEGER2> -eq 相等则为真 -ne 不相等则为真 -le 小于等于则为真 -ge 大于等于则为真 -lt 小于则为真 -gt 大于则为真 sort名令 sort命令用于对文本文件的行进行排序,也可以通过管道符对其他命令的输出进行排序 多用于字符排序 sort -n 纯数字排序 sort -r 倒序 sort -u 去掉重复数字 sort -o 输出到指定文件中 sort -t 指定分隔符 sort -k 指定要排序的列 uniq 对重复字符做相应的处理 uniq -u显示唯一的行 uniq -d显示重复的行 uniq -c每行显示一次并统计重复次数 awk命令的用法 awk是被设计用于文本处理,并通常被用作数据提取和报告工具的解释性程序设计语言。 运行awk的方式有两种 awk 【OPTIND】【--】 program-text file { } 用于将代码块集和在一起 BEGIN{}: 读入第一行文本之前执行 , 一般用来初始化操作 END{}: 处理完最后一行文本之后执行 , 一般用来输出处理结果 awk '{print $0}' 变量$0表示当前的一整行 要是将参数改为固定的字符串如{print "hello"} 你的文集那有多少行,就会打印多少hello 使用awk打印指定的列 如 awk '{print $1}' 不指定分隔符的情况下默认空格作为分隔符 -F 用来指定分隔符;$1表示第一列字符 awk基本用法 awk '{print 第NR行,NF列}' awk '/bash$/' 打印以bash结尾的行 awk -F : '/bash$/{print $1}' 打印以bash结尾的行的以:为分隔符的第一列 awk 的表达式和块 可以把任意类型的表达式放在代码块之前来控制特定的块什么时候执行,只有当表达式为真时,awk才会执行此代码块 比如输出文件/etc/passwd 文件中第一列等于root的所有行的第三列 && 和 || && 用来执行条件成立后执行的命令 || 用来执行条件不成立后执行的命令 抓取eth0网卡的ip

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册