1. 常用的简单命令
- cd usr/local 进入目录
- ls 打印当前目录下文件(只显示名称)
- ll 打印当前目录下文件(显示名称、权限、文件大小、创建时间等信息)
- pwd 查看当前路径
- mkdir mydata 创建文件夹mydata
- touch demo.txt 创建文件demo.txt
- vi demo.txt 编辑demo.txt(输入 i 进入编辑模式,Esc键退出编辑模式,输入 :wq! 修改退出,输入 :q! 不修改退出,非编辑模式输入 dd 可以删除光标所在行)
- cat demo.txt 查看demo.txt
- rm demo.txt 删除demo.txt(会询问是否删除,输入y确认删除,输入其他取消删除)
- rm -f demo.txt 强制删除demo.txt(不会询问是否删除,慎用)
- rm -r mydata 删除mydata文件夹(会询问,加-f强制删除)
- mv demo.txt demo 将 demo.txt 文件改名为 demo
- cp demo test 将复制demo文件到当前文件夹并改名为test
2. 其他命令
- find -name mysql 查找名称为mysql的文件(非二进制文件,find / -name mysql 在根路径下查找名称为mysql的文件)
- whereis mysql 查找名称为mysql的二进制格式文件
- history 查看历史命令(加 | grep tar 查询含有tar的历史命令)
- gzip demo.txt 压缩文件(后缀为.gz)
- gunzip demo 解压文件(解压文件名为demo.gz)
- tar -cvf test.tar test 压缩文件(将test文件压缩为test.tar)
- tar -cvf test.tar ./test/ 压缩文件夹(将test文件夹压缩为test.tar)
- tar -xvf test.tar 解压文件(解压文件夹也是该命令)
- chmod -R 777 mydata 给mydata文件夹赋所有用户都可读的权限
- curl www.baidu.com 发送请求 www.baidu.com
- ping 192.168.56.1 查看ip是否通
- telnet 192.168.56.1 3306 查看端口号是否通
- yum list installed 列出所有安装过的包
- yum install package_name 安装包(比如说telnet不能用,可以输入 yum install telnet 来安装telnent命令)
- yum update package_name 更新包
- yum remove package_name 移除包
- netstat -lnp | grep 8080 查看端口8080占用的进程
- kill 45052 结束45052进程
- netstat -lnp 查看所有的端口占用情况
- ifconfig 查看网络接口
- df 显示磁盘使用情况
- free -m 显示内存使用情况
- date 查看日期
- sudo 管理员命令
- useradd test -d /home/test 创建test用户并指定目录
- passwd test 设置test用户密码(输入指令后会提示输入密码和再次输入)
- chown -R test /home/test 将访问目录权限赋给test用户
- chown root /home/ 将上层目录设置为root所有
- chmod 771 /home 赋予权限给上层目录
- sh test.sh 对于shell文件使用该命令执行(或 ./ test.sh)
3. 日志查询相关命令
- grep jay demo.txt 在demo.txt文件中查找有关键字jay的内容(加 -c 查询匹配的行数,加 -n 查询内容并显示行号,加 -A 5 查询关键字所在行及之后5行,加 -B 5 查询关键字所在行及之前5行,加 -C 5 查询关键字所在行及其前后5行)
- tailf log.txt 用来查看实时日志
- less log.txt 用来查询日志(输入 shift+G 到日志结尾,输入 ?+关键字 即可查找关键字在文件中的位置,输入 n 向上查找关键字,输入 shift + n 向下查找,输入 q 退出)
- find -name test.log | xargs grep hello -n 在test.log文件中搜索关键字hello并显示所在行
- cat test.log | grep hello -n 在test.log文件中搜索关键字hello并显示所在行
- cat test.log | sed -n ‘/2023-01-01 12:00:00/,/2023-01-01 12:10:00/p’ 日志搜索两个关键字之间内容(比如时间)
- cat test.log >> a.txt 将test.log文件内容追加到a.txt中(没有会创建)
- head test.log -n 3 >> a.txt 将test.log文件头3行内容追加到a.txt中
- tail test.log -n 2 >> a.txt 将test.log文件最后2行内容追加到a.txt中
4. docker 常用命令
docker镜像操作
- docker images 查看所有镜像
- docker images -q 查看所有镜像id
- docker search nginx 查看docker hub所有的nginx镜像
- docker pull nginx 拉取nginx的远程镜像
- docker pull nginx:1.11 拉取nginx的远程1.11版本镜像
- docker rmi nginx 删除nginx的本地镜像
- docker rmi -f nginx 强制删除nginx的本地镜像
- docker save imagename -o name.tar 将镜像打包成tar文件
- docker load -i name.tar 从tar文件加载镜像
docker容器命令
- docker run -d -p 8080:80 --name mynginx nginx 启动nginx镜像,并容器80端口映射到外部8080端口
-p 端口映射 -d 后台运行 --name 映射名称 -v 宿主机路径:容器内路径 挂载运行,可以多个-v连用 - docker start id 启动容器
- docker ps 查看所有运行容器
- docker ps -q 查看所有运行容器id
- docker ps -a 查看所有容器,包括已经关闭的
- docker stop id 关闭容器
- docker stop -f id 强制关闭容器
- docker kill id 杀掉容器
- docker rm -f id 强制删除容器
- docker rm -f $(docker ps -qa) 强制删除所有容器
- docker commit -m “修改首页” id newName 将容器保存为镜像
docker容器内部命令
- docker top id 查看容器内部进程
- docker inspect id 查看容器内部信息
- docker logs -f --tail 10 id 查看容器最后10行日志,并跟随最新日志
进入容器执行命令
- docker exec -it id bash 进入容器执行命令 -i 交互式运行容器 -t 分配一个伪终端,通常与-it一起使用
echo “hello world” > index.html 将index.html内容修改为hello world
apt-get update docker容器默认ubuntu系统,该命令更新远程软件列表到本地
apt-get install vim 安装vim命令
exit 退出容器 - docker cp id:容器内路径 宿主机路径 将docker内文件复制到宿主机
构建docket内部网络
-
docker network ls 查看所有网络
-
docker network create congnet 创建网络
-
docker inspect -f ‘{{.NetworkSettings.IPAddress}}’ 容器id 查看容器ip
-
docker network inspect congnet 查看网络情况
-
docker network rm congnet 删除网络
-
docker run -d --name mynginx --net congnet nginx 启动nginx容器并放入congnet网络中
-
docker network connect congnet name/id 将已存在的容器加入到congnet网络中
-
docker network disconnect congnet name/id 将已存在的容器从congnet网络中移除
-
测试网络连通
- apt-get update && apt-get install curl 安装curl命令
- curl mynginx 测试是否可以到达mynginx
- apt-get install iputils-ping 也可安装ping命令
- ping mynginx 测试是否能ping通