美文网首页
我的常用命令

我的常用命令

作者: JUN888 | 来源:发表于2022-11-01 16:36 被阅读0次

    我的常用命令

    ------------------------------docker相关-----------------------------------

    1、版本 \ 信息

    docker version
    docker info
    

    2、启动docker服务 (启动 、停止)

    systemctl start docker 
    systemctl stop docker
    

    3、查看image文件

    docker images
    docker image ls
    

    4、删除 image 文件

    docker image rm [imagename]
    docker rmi [imagename]
    

    5、从仓库抓取image到本地

    docker image pull library/hello-world
    docker image pull hello-world
    

    6、运行image 文件

    docker container run hello-world 
    

    7、终止容器

    docker container kill [containID]
    

    8、停用全部运行中的容器

    docker stop $(docker ps -q)
    

    9、列出容器

        列出本机正在运行的容器
        docker container ls
    
        列出本机所有容器,包括终止运行的容器
        docker container ls --all
    

    10、删除容器文件

        docker container rm [containerID]
        删除全部容器
        docker rm $(docker ps -aq)
    

    11、docker 获取镜像

        docker pull mysql:5.7
    

    12、docker 启动容器

        docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
        
        -a stdin:   指定标准输入输出内容类型,可选 STDIN/STDOUT/STDERR 三项;
        -d:         后台运行容器,并返回容器ID;
        -i:         以交互模式运行容器,通常与 -t 同时使用;
        -P:         随机端口映射,容器内部端口随机映射到主机的端口
        -p:         指定端口映射,格式为:主机(宿主)端口:容器端口
        -t:         为容器重新分配一个伪输入终端,通常与 -i 同时使用;
        --name="nginx-lb":  为容器指定一个名称;
        --dns 8.8.8.8:      指定容器使用的DNS服务器,默认和宿主一致;
        --dns-search example.com:       指定容器DNS搜索域名,默认和宿主一致;
        -h "mars":      指定容器的hostname;
        -e username="ritchie":      设置环境变量;
        --env-file=[]:              从指定文件读入环境变量;
        --cpuset="0-2" or --cpuset="0,1,2":     绑定容器到指定CPU运行;
        -m :                设置容器使用内存最大值;
        --net="bridge":     指定容器的网络连接类型,支持 bridge/host/none/container: 四种类型;
        --link=[]:          添加链接到另一个容器;
        --expose=[]:        开放一个端口或一组端口;
        --volume , -v:      绑定一个卷
    
    
        docker run -p 39100:3306 --name mysql -v $PWD/conf/my.cnf:/etc/mysql/my.cnf -v $PWD/logs:/logs -v $PWD/data:/mysql_data -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7
        docker run -p 9527:3306 --name mysql -v $PWD/conf/my.cnf:/etc/mysql/my.cnf -v $PWD/logs:/logs -v $PWD/data:/mysql_data -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7
        
        -p 3306:3306:   将容器的3306端口映射到主机的3306端口
        -v $PWD/conf/my.cnf:/etc/mysql/my.cnf:  将主机当前目录下的conf/my.cnf挂载到容器的/etc/mysql/my.cnf
        -v $PWD/logs:/logs:     将主机当前目录下的logs目录挂载到容器的/logs
        -v $PWD/data:/mysql_data:   将主机当前目录下的data目录挂载到容器的/mysql_data
        -e MYSQL_ROOT_PASSWORD=123456:  初始化root用户的密码
    

    13、进入容器

    docker exec -it mysql bash
    mysql -uroot -proot
    show databases;
    

    14 拷贝文件到docker容器的命令

        docker cp /xxxxx.sql mysqldb1:/root/
    

    -------------------------linux相关-------------------------------

    1、linux 查看可疑IP登陆

    last -f /var/log/wtmp
    

    2、linux 清除记录

    echo > /var/log/wtmp //清除用户登录记录
    echo > /var/log/lastlog //清除最近登录信息
    echo > /var/log/secure //登录信息
    echo > .bash_history //清除保存的用户操作历史记录
    history -cw //清除所有历史
    
    echo > /var/log/wtmp \
    echo > /var/log/lastlog \
    echo > /var/log/secure \
    echo > .bash_history  
    history -cw //清除所有历史
    
    

    3 查看占用端口

    lsof -i
    lsof -i:9002
    
    

    4 tar zip 压缩解压缩

    压缩:
    tar -zcvf   压缩文件名.tar.gz ./需要压缩的文件夹/
    tar -cvf    压缩文件名.tar ./需要压缩的文件夹/
    
    
    解压:
    tar -xzvf   压缩文件名.tar.gz ./解压到的文件夹
    tar -xvf    压缩文件名.tar ./解压到的文件夹
    
    zip 压缩 
    zip file1.zip file1         创建一个zip格式的压缩包 
    
    zip 解压 
    unzip file1.zip             解压一个zip格式压缩包 
    

    5、创建目录

    mkdir dir1                  创建一个叫做 'dir1' 的目录
    mkdir dir1 dir2             同时创建两个目录 
    mkdir -p /tmp/dir1/dir2     创建一个目录树 
    

    6、删除

    rm -f file1                 删除一个叫做 'file1' 的文件' 
    rmdir dir1                  删除一个叫做 'dir1' 的目录' 
    rm -rf dir1                 删除一个叫做 'dir1' 的目录并同时删除其内容 
    rm -rf dir1 dir2            同时删除两个目录及它们的内容 
    

    7、移动

    mv dir1 new_dir             重命名/移动 一个目录 
    

    8、复制

    cp file1 file2              复制一个文件 
    cp dir/* .                  复制一个目录下的所有文件到当前工作目录 
    cp -a /tmp/dir1 .           复制一个目录到当前工作目录 
    cp -a dir1 dir2             复制一个目录 
    

    9 显示系统当前时间

    date
    

    10 显示日历

    cal
    

    11 目录相关

    cd /home    进入 '/ home' 目录' 
    cd ..       返回上一级目录 
    cd ../..    返回上两级目录 
    cd          进入个人的主目录 
    cd ~user1   进入个人的主目录 
    cd -        返回上次所在的目录 
    pwd         显示当前工作路径
    

    12 显示目录文件信息

    ls          查看目录中的文件 
    ls -F       查看目录中的文件 
    ls -l       显示文件和目录的详细资料 
    ls -a       显示隐藏文件 
    ls *[0-9]*  显示包含数字的文件名和目录名 
    tree        显示文件和目录由根目录开始的树形结构
    

    13、创建目录

    mkdir dir1              创建一个叫做 'dir1' 的目录
    mkdir dir1 dir2         同时创建两个目录 
    mkdir -p /tmp/dir1/dir2 创建一个目录树     
    

    14 删除

    rm -f file1     删除一个叫做 'file1' 的文件' 
    rmdir dir1      删除一个叫做 'dir1' 的目录' 
    rm -rf dir1         删除一个叫做 'dir1' 的目录并同时删除其内容 
    rm -rf dir1 dir2    同时删除两个目录及它们的内容 
    

    15 重命名

    mv dir1 new_dir     重命名/移动 一个目录 
    

    16 复制

    cp file1 file2      复制一个文件 
    cp dir/* .          复制一个目录下的所有文件到当前工作目录 
    cp -a /tmp/dir1 .   复制一个目录到当前工作目录 
    cp -a dir1 dir2     复制一个目录 
    

    17 创建软链接

    ln -s file1 lnk1    创建一个指向文件或目录的软链接 
    ln file1 lnk1       创建一个指向文件或目录的物理链接
    

    18 以太网和WIFI无线相关命令

        ifconfig eth0 显示一个以太网卡的配置 
        ifup eth0 启用一个 'eth0' 网络设备 
        ifdown eth0 禁用一个 'eth0' 网络设备 
        ifconfig eth0 192.168.1.1 netmask 255.255.255.0 控制IP地址 
        ifconfig eth0 promisc 设置 'eth0' 成混杂模式以嗅探数据包 (sniffing) 
        dhclient eth0 以dhcp模式启用 'eth0' 
        route -n show routing table 
        route add -net 0/0 gw IP_Gateway configura default gateway 
        route add -net 192.168.0.0 netmask 255.255.0.0 gw 192.168.1.1 configure static route to reach network '192.168.0.0/16' 
    

    19 磁盘空间

        df -h           显示已经挂载的分区列表 
        ls -lSr |more   以尺寸大小排列文件和目录 
        du -sh dir1     估算目录 'dir1' 已经使用的磁盘空间' 
        du -sk * | sort -rn     以容量大小为依据依次显示文件和目录的大小 
        rpm -q -a --qf '%10{SIZE}t%{NAME}n' | sort -k1,1n   以大小为依据依次显示已安装的rpm包所使用的空间 (fedora, redhat类系统) 
        dpkg-query -W -f='${Installed-Size;10}t${Package}n' | sort -k1,1n   以大小为依据显示已安装的deb包所使用的空间 (ubuntu, debian类系统) 
    

    20 文件权限

    ls -lh              显示权限 
    ls /tmp | pr -T5 -W$COLUMNS         将终端划分成5栏显示 
    
    chmod ugo+rwx directory1            设置目录的所有人(u)、群组(g)以及其他人(o)以读(r )、写(w)和执行(x)的权限 
    chmod go-rwx directory1             删除群组(g)与其他人(o)对目录的读写执行权限 
    
    chown user1 file1                   改变一个文件的所有人属性 
    chown -R user1 directory1           改变一个目录的所有人属性并同时改变改目录下所有文件的属性 
    chgrp group1 file1                  改变文件的群组 
    chown user1:group1 file1            改变一个文件的所有人和群组属性 
    
    find / -perm -u+s       罗列一个系统中所有使用了SUID控制的文件 
    
    chmod u+s /bin/file1    设置一个二进制文件的 SUID 位 - 运行该文件的用户也被赋予和所有者同样的权限 
    chmod u-s /bin/file1    禁用一个二进制文件的 SUID位 
    chmod g+s /home/public  设置一个目录的SGID 位 - 类似SUID ,不过这是针对目录的 
    chmod g-s /home/public  禁用一个目录的 SGID 位 
    chmod o+t /home/public  设置一个文件的 STIKY 位 - 只允许合法所有人删除文件 
    chmod o-t /home/public  禁用一个目录的 STIKY 位 
    

    21 文件搜索相关

        find / -name file1      从 '/' 开始进入根文件系统搜索文件和目录 
        find / -user user1      搜索属于用户 'user1' 的文件和目录 
        find /home/user1 -name \*.bin   在目录 '/ home/user1' 中搜索带有'.bin' 结尾的文件 
        find /usr/bin -type f -atime +100 搜索在过去100天内未被使用过的执行文件 
        find /usr/bin -type f -mtime -10 搜索在10天内被创建或者修改过的文件 
        find / -name \*.rpm -exec chmod 755 '{}' \; 搜索以 '.rpm' 结尾的文件并定义其权限 
        find / -xdev -name \*.rpm 搜索以 '.rpm' 结尾的文件,忽略光驱、捷盘等可移动设备 
        locate \*.ps 寻找以'.ps'结尾的文件
        whereis halt 显示一个二进制文件、源码或man的位置 
        which halt 显示一个二进制文件或可执行文件的完整路径 
    

    22、 系统重启及关机

        shutdown -h now     关闭系统
        init 0              关闭系统
        telinit 0           关闭系统
        shutdown -h hours:minutes &     按预定时间关闭系统 
        shutdown -c         取消按预定时间关闭系统 
        shutdown -r now     重启
        reboot              重启
        logout              注销 
    

    23、防火墙

    systemctl start firewalld   启动防火墙
    systemctl status firewalld  查看防火墙状态
    systemctl stop   firewalld  停止防火墙
    systemctl disable firewalld 禁用、
    systemctl restart firewalld 重启
    systemctl enable firewalld  开机启动
    systemctl disable firewalld 开机不启动
    systemctl is-enabled firewalld 查看开机启动状态
    systemctl list-unit-files|grep enabled 查看开机启动项
    systemctl --failed    查看启动失败的项
    firewall-cmd --version  查看版本
    firewall-cmd --help     查看帮助
    firewall-cmd --state    显示状态
    
    firewall-cmd --get-active-zones  查看区域信息
    firewall-cmd --get-zone-of-interface=eth0 查看指定接口所属区域
    firewall-cmd --panic-on  拒绝所有包
    firewall-cmd --panic-off  取消拒绝状态
    firewall-cmd --query-panic  查看是否拒绝
    
    firewall-cmd --zone=public --list-ports   查看所有打开的端口
    firewall-cmd --reload    更新防火墙规则
    
    firewall-cmd --zone=public --add-port=80/tcp --permanent  添加端口(--permanent永久生效)
    firewall-cmd --zone= public --remove-port=80/tcp --permanent  删除端口 
    

    ---------------------数据库 mysql----------------------

    1、Mysql 连接

    mysql -u【用户名】 -p 【密码】 -P 【端口】 -h 【主机】
    mysql -uroot -proot -P3306 
    

    2、退出

    exit
    

    3、MySQL 创建数据库

    create database 【数据库名】
    

    4、删除数据库

    drop database 【数据库名】
    

    5、选择数据库

    use 【数据库名】
    

    6、创建表

    CREATE TABLE table_name (column_name column_type);
    
    CREATE TABLE `user` (
        `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
        `username` varchar(255) DEFAULT NULL COMMENT '用户账号',
        `nickname` varchar(255) DEFAULT NULL COMMENT '用户昵称',
        `realname` varchar(255) DEFAULT NULL COMMENT '真实姓名',
        `avatar` varchar(30) DEFAULT '' COMMENT '用户头像',
        `password` varchar(255) DEFAULT NULL COMMENT '账户密码',
        `ori_password` varchar(255) DEFAULT NULL COMMENT '初始密码',
        `mobile` varchar(255) DEFAULT NULL COMMENT '手机号码',
        `headimg` varchar(255) DEFAULT NULL COMMENT '用户头像',
        `login_date` datetime DEFAULT NULL COMMENT '登录时间',
        `login_ip` varchar(255) DEFAULT NULL COMMENT '登录IP',
        `create_time` datetime DEFAULT NULL COMMENT '创建时间',
        `update_time` datetime DEFAULT NULL COMMENT '更新时间',
        `status` int(11) DEFAULT '1' COMMENT '状态(0-禁用 1-启用)',
        `id_card_top` varchar(255) DEFAULT NULL COMMENT '身份证正面',
        `id_card_back` varchar(255) DEFAULT NULL COMMENT '身份证背面',
        `mail` varchar(255) DEFAULT NULL COMMENT '邮箱',
        `cloud_id` varchar(32) DEFAULT NULL COMMENT 'timid',
        `role_id` smallint(1) DEFAULT NULL COMMENT '角色id',
        PRIMARY KEY (`id`) USING BTREE
    ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
    
    create table 新表 like 旧表 
    create table 新表 as select 列,列,。。。from 旧表
    

    7 mysql 创建管理用户 yonghu

    create user 用户 identified by '密码';
    create user yonghu identified by 'mima';
    

    8 赋予 yonghu 数据库权限

    grant all privileges on 数据库.* to '用户'@'%';
    grant all privileges on www_lyjblog_com.* to 'yonghu'@'%';
    
    -- 刷新数据库
    flush privileges;
    

    9 查看用户权限

    show grants for 'yonghu';
    

    10 再次验证 需要root用户

    select User,Db,host,Select_priv,Insert_priv,Update_priv,Delete_priv from mysql.db where User='yonghu';
    

    11 导出数据

    mysqldump -h主机名 -P端口 -u用户名 -p密码 参数1,参数2.... > 备份文件.sql
    
    -- 导出全部数据库
    mysqldump -uroot -p1234  --all-databases  > /root/db_back/all.sql
    mysqldump -uroot -p1234  -A  > /root/db_back/all.sql
    
    mysqldump -P33061 -uroot -p  -A  > E:/资料下载/all_datebase_33061.sql
    

    12 删除表

    drop table 表名
    

    13 显示表的属性信息

    desc 表名
    

    14 增加列

    alter table 表名 add 列名 类型
    

    15 删除列

    alter table 表名 drop 列名
    

    16 修改一个列名

    alter table 表名 change 列名 新列名 类型
    

    17 修改类型

    alter table 表名 modify 列名 新类型
    

    18 增加、删除主键

    alter table 表名 add primary key 列名
    
    alter table 表名 drop primary key 列名
    

    19 查询语句

    关键字:
    1.or:   或
    2.and:  和
    3.having:   分组后的附加条件
    4.group by:分组
    5.order by:排序:asc:正序,desc:倒序
    6.in:       存在于某个值中
    7.not in:   不存在与某个值中
    8.inner join … on:  链接多表
    9.left join …  on:  左外连接
    10.right join … on:右外连接
    11.left(right,inner) out join … on: 去重
    12.count:   计数
    13.AVG: 平均值
    14.sum: 求和
    15.max: 最大值
    16.min: 最小值
    17.like ‘关键字%’: 取含有关键字的值
    18.distinct:    去重
    19.round:       四舍五入
    20.where 1=1:   全选
    21.where 1=2:   全不选
    22.limit 1,5:   从第二行开始显示5条数据
    23.top 10:select top 10 * from  表名:显示前十条数据
    24.newid(): 随机 
    
    1.选择查询:
    select * from 表名 where 范围
    
    2.完全查询:
    select * from 表名
    
    3.模糊查询:
    select * from 表名 where 列名 like ‘%value%’(查询包含value的值)
    
    4.排序查询(倒序,默认为正序):
    select * from 表名 order by 列名 desc
    
    5.计数查询:
    select count as 别名 from 表名
    
    6.求和查询:
    select sum(field) as 别名 from 表名
    
    7.平均值查询:
    select avg(filed) as 别名 from 表名
    
    8.最大值查询:
    select max(filed) as 别名 from 表名
    
    9.最小值查询:
    select min(filed) as 别名 from 表名
    
    10.四舍五入查询:
    select round(min(filed),要保留的小数位数) as 别名 from 表名
    
    11.去重查询:
    select distinct 列名 from 表名
    
    12.分组查询:
    select * from 表名 group by 列名
    
    13.多条件查询:
    select * from 表名 where 列名=‘范围’ and 列名=‘范围’
    
    14.不确定条件查询:
    select * from 表名 where 列名=‘范围’ or 列名=‘范围’
    
    15.多条件分组求值查询:
    select 列名,min(filed)from 表名 where 列名=‘范围’ group by 列名 having sum(列名)
    
    16.子查询(子查询的结果作为主查询的条件):
    select * from 表名 where=(select id from 表名 where 列名=‘范围’)
    
    17.连表查询(内连接):
    select * from 表名 inner join 表名 on 主键=外键(必须有主外键)
    
    18.连表查询(内连接)(去重):
    select * from 表名 inner out join 表名 on 主键=外键(必须有主外键)
    
    注:内连接只显示相关联的数据
    19.连表查询(左外连接)(显示左表的全部信息和右表相关联的信息):
    select * from 表名 left join 表名 on 主键=外键(必须有主外键)
    
    20.连表查询(右外连接)(显示右表的全部信息和左表相关联的信息):
    select * from 表名 right join 表名 on 主键=外键(必须有主外键)
    
    21.连表查询(全外连接)(显示两个表中的所有记录):
    select * from 表名 full/cross join 表名 on 主键=外键(必须有主外键)
    
    22.说明:几个高级查询运算词
    A:union(结合两个结果表并消除其中的重复行而派生出另一个表)
    例:select name from 表名1 union select name from 表名2(去除name的重复行)
    B:except(通过包括所有在 TABLE1 中但不在 TABLE2 中的行并消除所有重复行而派生出一个结果表)
    C:intersect(通过只包括 TABLE1 和 TABLE2 中都有的行并消除所有重复行而派生出一个结果表)
    注:当这三个运算符与all一起使用时不消除重复行
    

    20 数据操作语句:插入、修改、删除

    1.数据插入
    完全插入:insert into 表名 values(值1,值2,值3,…)
    选择插入:insert into 表名(列名1,列名2,列名,3…) values(值1,值2,值3,…)
    批量插入:insert into 表名 values(值1,值2,值3,…),(值1,值2,值3,…),(值1,值2,值3,…)…
    注1:完全插入可以省略列名,但是值必须包含所有字段,批量插入类同
    注2:选择插入必须选择需要插入的字段,选择对应字段的值,批量插入类同
    
    2.修改语句
    update 表名 set 列名=‘值’ where 列名=‘范围’
    where 1=1(全选)
    where 1=2(全不选)
    注:不加where条件为修改所有指定列的值
    
    3.删除语句
    delete from 表名 where 列名=‘范围’
    注:不加where条件为删除所有的值 
    

    相关文章

      网友评论

          本文标题:我的常用命令

          本文链接:https://www.haomeiwen.com/subject/tqettdtx.html