怎么这些东西每次都要现查啊!

记录一下明明很常用也很有用但查了一百次还是记不住的一些命令

Docker

拉取镜像:

1
docker pull image:tag

根据镜像创建一个容器运行:

1
2
3
docker run -it image:tag
# -i: 以交互模式运行容器,通常与 -t 同时使用;
# -t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;

但这种方式创建的容器会在使用 exit 退出时停止,并保留容器内容。可以利用 docker run 创建容器之后利用其它命令来运行、进入容器操作。

1
2
3
4
5
6
# 启动容器
docker start containernumber
# 进入容器
docker exec -it containernumber bash
# Keep STDIN open even if not attached
# Allocate a pseudo-TTY

此时如果使用 exit 退出容器,则容器不会停止运行。

停止容器:

1
docker stop containernumber

删除容器:

1
docker rm containernumber

删除镜像:

1
docker rmi image-id

修剪镜像:

1
2
3
4
5
6
7
docker image prune -af
# -a: WARNING! This will remove:
# - all stopped containers
# - all volumes not used by at least one container
# - all networks not used by at least one container
# - all images without at least one container associated to them
# -f: 不确认直接删除

列出镜像 / 容器:

1
2
3
4
# Show all images (default hides intermediate images)
docker image ls -a
# Show all containers (default shows just running)
docker ps -a

将容器中的文件拷贝到宿主机:

1
docker cp containernumber:path/to/the/file.name path/to/the/host/file.name

linux

查看磁盘使用:

1
2
df -hl # 查看磁盘剩余空间
df -h # 查看每个根路径的分区大小

查看文件大小:

1
2
3
ls -lh
# -l: 以长格式显示文件和目录的列表,以字节为单位显示大小
# -h: 文件或目录大小大于 1024 字节时,请以人类可读的 KB、MB、GB 或 TB 来表示文件大小和目录大小

统计文件数目:

1
2
3
ls -l | grep "^-" | wc -l    # 统计当前目录下文件的个数(不包括目录)
ls -lR| grep "^-" | wc -l # 统计当前目录下文件的个数(包括子目录)
ls -lR | grep "^d" | wc -l # 查看某目录下文件夹(目录)的个数(包括子目录)

文件取列:

1
2
3
cut -f columnnumber file.name
cut -d 'sep' -f columnnumber file.name
# -d: 更改分隔符,默认为 tab