Linux基础命令
修改ip地址 cd /etc/sysconfig/network-scripts/ifcfg-ens33
vim /etc/sysconfig/network-scripts/ifcfg-ens33
切换用户: su username
查看端口号和进程号
杀掉端口为8080的进程 netstat -ntlp|grep 8080
netstat -ntlp|grep 8080
less的用法
定义: less 命令也是对文件或其它输出进行分页显示的工具。
优点: 不止可以向下搜,也可以向上搜。less指令在显示文件内容时,并不是一次将整个文件加载之后才显示,而是根据显示需要加载内容,对于显示大型文件具有较高的效率。
语法: less 文件名
ps 查看当前系统进程状态
grep 过滤查找及“|”管道符
grep “abc” myfile.txt 匹配myfile.txt文件中包含字符穿abc的行显示出来;
grep "abc”*西配当前目录下的所有文件中包含字符串abc的行全部显示出来;
参数说明
-i:忽略大小写,如:grep-i “Abc” myfile.txt;
-n:显示匹配的行号,如:grep -n "abe myfile.txt;
-i:忽略大小写,如:grep-i “Abc” myfile.txt;-n:显示匹配的行号,
如:grep -n "abe myfile.txt;
-V:反向匹配,只打印没有匹配的,而匹配的反而不打印。
如:grep -v “abc” myfile.txt;
grep还可以和命令组合,对命令的输出结果进行匹配过滤。
如:ls-l | grep "test”
在当前目录下所有文件中,匹配出文件名中包含test字符串的文件
管道符,“|”,表示将前一个命令的处理结果输出传递给后面的命令处理
cat 查看文件内容 cat filename
more 分页查看 more filename
编辑时常用操作:
Enter向下n行,需要定义。默认为1行
Ctrl+F 向下滚动一屏
空格键向下滚动一屏Ctrl+B 返回上一屏
= 输出当前行的行号
q 退出more
kill 终止进程
查看日志信息 tail -f filename
文件外查找 cat 文件名 | grep 关键字
ps 显示当前进程
实例
ps -u root,显示root用户进程信息
ps -ef,显示所有进程,连带命令行
kill进程号(pid)结束某个运行的进程
Kill-9进程号(pid)强制结束某个运行的进行
chmod 改变文件权限
mode可以是数字形式或以who opcode permission形式表示。
用数字形式表示权限通过4(读)、2(写)、1(执行)三种数值的和来确定权限。
如6(4+2)代表有读写权,7(4+2+1)有读、写和执行的权限。
who: u用户g组o其它a所有用户(默认)
opcode;+增加权限 -册除权限
permission:r读w写×执行示例:
$ chmod u+x file给file的属主增加执行权限
$ chmod 751 file给file的属主分配读、写、执行(7)的权限,给file的所在组分配读、执行(5)的权限,给其他用户分配执行(1)的权限
df 查看文件系统磁盘使用情况
df -k 按照k字节查看
df -m 按照兆字节查看
vim 打开寻找内容 不按i 输入 /关键字
刚打开文件时为非编辑状态,
按以下按键进入编辑状态:
i在光标前插入文本;
I在当前行首插入文本
a光标后插入文本;
A在当前行尾插入文本编辑状态下
按ESC退回非编辑状态:
:w保存当前文件;
❌wq)保存当前文件并退出
:q退出vi;
:q!不保存文件并退出vi
Ctrl+f向文件尾翻一屏;
Ctrl+b向文件首翻一屏:
set nu显示当前行号
/(查询文本)非编辑状态下查找对应的文本
×非编辑状态删除一个字符
dd非编辑状态下删除整行
寻找文件 find path -name filename
find . -name "hello”寻找目前目录及所有的子目录内叫hello的文档
find . -size +2000c找出大小超过2000字节的文档
find . -mtime +10找出最新修改时间在10天前的文件
删除 rm
rm file1删除档名为file1之文档
rm file1删除档名为file1之文档
rm file?删除档名中有五个字元,前四个字元为file之所有文档rmf删除档名中,以f为字首之所有文档
rm -r dir1删除目录dir1,及其下所有文档及子目录
rm -r
rm -rf *
移动文件 mv 文件名 地址
mv file1 file2将文档file1,更改文档名为file2
mv file1 dir1将文档file1,移到目录 dir1下,文档名仍为file1
mv dir1 dir2若目录dir2存在,则将目录dir1,及其所有文档移到目录dir2下,新目录名称为 dir1
若目录dir2不存在,则将dir1,及其所有文档和子目录,更改为目录dir2
复制文件 cp 文件位置/文件名 目的位置
cp file1 file2 将文档file1 复制成 file2
cp file1 dir1 将文档file1 复制到目录dir1 下,文件名认为file1
cp /tmp/file1 . 将目录、/tmp下的文档file1复制到现行目录下,文档名认为file1
cp /tmp/file1 file2将目录/tmp下的文档file1现行目录下,文档名为file2
cp -r dir1 dir2(recursive copy)复制整个目录
tar 命令
-c新建一个压缩文档,即打包-x解压文件
-t查看压缩文档里的所有内容-z具有压缩或解压属性
-v显示操作过程
-f使用文档名,在f之后要立即接文档名,不要再加其他参数!
例子:
tar -cvf 123.tar 111 222 将111和222打包成123.tar
tar -tvf 123.tar 查看123.tar中归档的文件
tar -xvf 123.tar解包123.tar
tar -zxvf 123.tar.gz解压缩并解包123.tar.gz
Ctrl+C Ctrl+z
Ctrl+c: (kill foreground process)发送终止信号给前台进程组中的所有进程,强制终止程序的执行;
Ctrl+z:( suspend foreground process)发送挂起信号给前台进程组中的所有进程,常用于挂起一个进程。
修改主机名字 Vim /etc/hostname
修改hosts的映射文件 vim /etc/hosts
修改 windows 的主机映射文件
man 查看方法的用法
查看Linux命令的用法,
示例:man ls查看ls命令的使用方法
mkdir 创建文件夹
mkdir dir1建立新目录dir1
mkdir -p dir/subdir直接创建多级目录
网络服务
防火墙
重启 reboot
数据同步
查看ip地址 ip addre
防火墙
启动防火墙
systemctl start firewalld
关闭防火墙
systemctl stop firewalld
查看防火墙状态
systemctl status firewalld
Linux 目录结构
Vim 编辑器的用法
查看文件大小
du -h 文件名
修改文件名的大小
mv file1 file2
Docker报错
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
service docker start
Docker容器官网
https://hub.docker.com/
Docker基础命令
docker 查看命令 docker ordername --help
docker 删除镜像命令 docker rmi [REPOSITORY]:TAG
docker rmi redis:latest
docker加载本地文件 docker load -i 文件名
docker load -i redis.tar
导出镜像 docker save -o [保存的目标文件名称] [镜像名称]
docker save -o nginx.tar nginx:latest
查看镜像 docker images
删除镜像 docker i
Docker容器命令
docker run 运行一个容器
docker run --name containerName -p 80:80 -d nginx
docker ps 查看所有运行的容器及状态
docker ps
docker logs 查看容器运行日志
docker logs -f containerName -f的作用是 后台运行
docker exec 进入容器执行命令
docker exec -it mn bash
docker stop 从 运行到停止
docker stop containName
docker start 从停止到运行
docker start containName
docker rm 删除指定容器
docker rm containName 不能删正在运行的容器
强删 docker 容器
docker rm -f containName 能删掉正在运行的容器
docker pause 从运行到暂停
docker unpause 从暂停到运行
docker rmi (IMAGE ID)
Docker 安装sqlserver2017
https://yang-roc.blog.csdn.net/article/details/121313368
docker pull mcr.microsoft.com/mssql/server:2017-latest
docker run -e “ACCEPT_EULA=Y” -e “SA_PASSWORD=qwe20211114.” -p 1433:1433 --name sqlserver2017 -d mcr.microsoft.com/mssql/server:2017-latest
docker exec -it sqlserver2017 /bin/bash
/opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P “qwe20211114.”
Docker 启动sqlServer
service docker start
docker pull mcr.microsoft.com/mssql/server
docker run -e “ACCEPT_EULA=Y” -e “SA_PASSWORD=888@limiaomiao”
-p 1433:1433 --name sqlserver
-d mcr.microsoft.com/mssql/server
docker ps
docker exec -it sqlserver “bash”
/opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P “888@limiaomiao”
如果成功,应会显示 sqlcmd 命令提示符:1>
断开连接 exit;
https://blog.csdn.net/LI_RONGHUA/article/details/106369810
启动sqlserver
[root@es ~]# docker exec -it sqlserver “bash”
/opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P “888@limiaomiao”
连接sqlServer
MSSM
Docker 启动mysql
https://www.cnblogs.com/ybyn/p/13698058.html
二选一
docker pull mysql
docker pull mysql:8.0.16
mkdir -p /usr/mysql/conf /usr/mysql/data
chmod -R 755 /usr/mysql/
vim /usr/mysql/conf/my.cnf
[client]
#socket = /usr/mysql/mysqld.sock
default-character-set = utf8mb4
[mysqld]
#pid-file = /var/run/mysqld/mysqld.pid
#socket = /var/run/mysqld/mysqld.sock
#datadir = /var/lib/mysql
#socket = /usr/mysql/mysqld.sock
#pid-file = /usr/mysql/mysqld.pid
datadir = /usr/mysql/data
character_set_server = utf8mb4
collation_server = utf8mb4_bin
secure-file-priv= NULL
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# Custom config should go here
!includedir /etc/mysql/conf.d/
增加版本号
docker run --restart=unless-stopped -d mysql:8.0.16 --name mysql -v /usr/mysql/conf/my.cnf:/etc/mysql/my.cnf -v /usr/mysql/data:/var/lib/mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql
最新版本号
docker run --restart=unless-stopped -d --name mysql -v /usr/mysql/conf/my.cnf:/etc/mysql/my.cnf -v
/usr/mysql/data:/var/lib/mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql
docker ps -a
docker exec -it mysql /bin/bash
mysql -uroot -p
mysql> use mysql
mysql> ALTER USER ‘root’@‘%’ IDENTIFIED WITH mysql_native_password BY ‘新密码’;
flush privileges
Docker 启动 redis
docker pull redis
docker run --name myredis -p 6379:6379 -d redis redis-server --appendonly yes
docker ps
docker exec -it myredis bash
redis-cli
一步到位的启动方式
docker exec -it myredis redis-cli
Docker 数据卷
查看数据命令 docker volume --help
创建数据卷 docker volume create className
查看所有数据 docker volume ls
查看数据卷详细信息卷 docker volume inspect className
数据卷 案例
VMware 安装
虚拟机克隆
安装JDK(jdk U盘保存)
1.在opt 下面建立两个文件夹 software module
cd /opt
mkdir software
mkdir module
2.将JDK的jdk-8u212-linux-x64.tar.gz 传到 software 下面
cd /opt/software
3.输入解压命令
tar -zxvf jdk-8u212-linux-x64.tar.gz -C /opt/module
4.配置JDK的环境变量
sudo vim /etc/profile.d/my_env.sh
5.输入下内容(JAVA_HOME 的内容使用pwd )
#JAVA_HOME
export JAVA_HOME=/opt/module/jdk1.8.0_212
export PATH=$PATH:$JAVA_HOME/bin
6.source 一下/etc/profile 文件,让新的环境变量 PATH 生效
source /etc/profile
7.测试 JDK 是否安装成功
java -version
成功会出现
java version “1.8.0_212”
没有成功
sudo reboot
安装ZooKeeper(jdk U盘保存)
1.在opt 下面建立两个文件夹 software module
cd /opt
mkdir software
mkdir module
2.将apache-zookeeper-3.5.7-bin.tar.gz 传到 software 下面
cd /opt/software
3 解压
tar -zxvf apache-zookeeper-3.5.7-bin.tar.gz -C /opt/module/
4 重新命名
cd /opt/module
mv apache-zookeeper-3.5.7 -bin/ zookeeper-3.5.7
5 建立zkData 文件夹
cd /opt/module/zookeeper-3.5.7
mkdir zkData
6 配置修改
cd /opt/module/zookeeper-3.5.7/conf
mv zoo_sample.cfg zoo.cfg
vim zoo.cfg
将以下的修改
dataDir=/opt/module/zookeeper-3.5.7/zkData
7 测试
mysql 安装
------------https://blog.csdn.net/u011421988/article/details/107234718?spm=1001.2014.3001.5506--------------
root@es /]# cd /usr/local
[root@es local]# wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.21-linux-glibc2.12-x86_64.tar.xz
[root@es local]# tar xvJf mysql-8.0.21-linux-glibc2.12-x86_64.tar.xz
[root@es local]# mv mysql-8.0.21-linux-glibc2.12-x86_64 mysql-8.0
[root@es local]# cd mysql-8.0/
[root@es mysql-8.0]# mkdir data
[root@es mysql-8.0]# groupadd mysql
[root@es mysql-8.0]# useradd -g mysql mysql
[root@es mysql-8.0]# chown -R mysql.mysql /usr/local/mysql-8.0
[root@es mysql-8.0]# cd bin
[root@es bin]# ./mysqld --user=mysql --basedir=/usr/local/mysql-8.0 --datadir=/usr/local/mysql-8.0/data/ --initialize
[root@es mysql-8.0]# vi /etc/my.cnf
----------------------------------------------------
修改配置文件
[mysqld]
#skip-grant-tables
basedir=/usr/local/mysql-8.0/
datadir=/usr/local/mysql-8.0/data/
socket=/tmp/mysql.sock
character-set-server=UTF8MB4
#datadir=/var/lib/mysql
#socket=/var/lib/mysql/mysql.sock
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# Settings user and group are ignored when systemd is used.
# If you need to run mysqld under a different user or group,
# customize your systemd unit file for mariadb according to the
# instructions in http://fedoraproject.org/wiki/Systemd
#[mysqld_safe]
#log-error=/var/log/mariadb/mariadb.log
#pid-file=/var/run/mariadb/mariadb.pid
#
# include all files from the config directory
#
!includedir /etc/my.cnf.d
[root@es bin]# cd …
[root@es mysql-8.0]# cp -a ./support-files/mysql.server /etc/init.d/mysql
[root@es mysql-8.0]# chmod +x /etc/init.d/mysql
[root@es mysql-8.0]# chkconfig --add mysql
[root@es mysql-8.0]# service mysql start
[root@es mysql-8.0]# service mysql status
[root@es mysql-8.0]#ln -s /usr/local/mysql-8.0/bin/mysql /usr/bin
16.登录mysql: mysql -uroot -p 密码使用之前随机生成的密码
ALTER USER ‘root’@‘localhost’ IDENTIFIED WITH mysql_native_password BY ‘123456’;
flush privileges;
use mysql;
update user set host=‘%’ where user=‘root’;
flush privileges;