一、Linux命令总结
系统相关
- hostname 查看主机名
- uname -a 显示Linux系统版本以及核心版本
- uname -r 显示Linux系统版本
- cat /proc/version 比 uname -a 显示更全
- lsb_release -a 显示Linux版本,格式化之后更直观 ---推荐
- free -m 单位:兆 查看物理内存使用情况
- df -h 查看磁盘分区使用情况
- df -a 计算器磁盘使用情况
- du -sh filename 查看某个文件的大小
- du -sh /* 统计某个文件夹下各个文件大小
- cat /proc/meminfo |grep MemTotal 查看内存大小
- fdisk -l |grep Disk 查看磁盘(数据盘)大小
- cat /proc/cpuinfo| grep "processor"| wc -l 查看物理CPU的个数
- cat /proc/cpuinfo | grep "cpu cores" | uniq 查看Linux内核个数即核心数
用户相关
- sudo su - 切换到root用户
- adduser tommy 新增用户
- passwd tommy 修改密码
- userdel tommy 删除用户
- 赋予root权限 如下:
修改 /etc/sudoers 文件,找到下面一行,在root下面添加一行,如下所示:
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
tommy ALL=(ALL) ALL
修改完毕,现在可以用tommy帐号登录,然后用命令 su - ,即可获得root权限进行操作。
- chown hcadmin -R /data/ 给hcadmin用户data目录下面的权限
- who 查看当前登录用户
文件夹相关
- mkdir -p /data/scs/ 连级创建文件夹
- mkdir /data 创建文件夹
- touch test.txt 创建文件
- cp -rf /test1/. /test2/ 复制文件夹里内容到另一个文件夹 注意有点
- zip -q -r test.zip test/ 压缩test文件夹下所有文件 (去掉-q 显示百分比)
- zip -q -r test.zip ./* 压缩test文件夹下所有文件 在当前文件夹下(去掉-q 显示百分比)
- unzip -q test.zip 解压缩zip文件
- xz -d *.tar.xz 解压xz文件
- gzip -zxvf jdk1.7.0_75.tar.gz 解压tar.gz文件
- tar -zxvf xx.tar.gz -C /usr/local 解压问价到指定目录
- tar -cvf file.tar.gz file_00.txt file_01.txt file_02.txt
业务相关
- netstat -tnlp | grep 8080 查看8080端口使用情况
- ps -ef | grep java 查看Java进程
- JPS JDK自带查看Java进程命令,可直接查看对应Java进程的PID
- ps -ef | grep 8080 查看进程
- ps -A | grep nginx 查看Nginx进程
- cat log.txt | grep keyword 查找指定文本中关键字
- cat log.txt | grep keyword > test.log 查找指定文本中关键字并输出到一个新文件
- find / -name keyword 全文查找关键字所在位置
- grep -rn "key" ./* 全局查询关键字
- tail -f catalina.out 实时输出当前日志信息
- tail -n 1000 catalina.out 输出文件最后1000行日志信息
- head -n 1000 catalina.out 输出文件前1000行日志信息
- scp SimSun.ttc [email protected]: /tmp 可以从一台服务器上传到另一台服务器 --需要用户密码
- curl -i -H "Content-Type:application/json" -X POST -d ' ' http://www.baidu.com curl 发送数据
- netstat -nat|grep -i “80” |wc -l 统计80端口的连接数量
- nuhup java -jar base.jar > /opt/base.log 2>&1 & 后台启动jar包程序,并将日志输出到指定文件中
- java -jar base.jar & 后台启动jar包
- nuhup java -jar base.jar & 后台启动jar包
- :set nu 显示所有行号
- :nu 显示当前行号
- > test.log 快速清空日志文件内容
- ls -lrt 'keyword' 查找关键字
查看日志
- 查看日志文件 less tem.log
- 向上查找关键字 ?keyword
- 向下查找 /keyword
- 向上翻页 b
- 向下翻页 d
- 向上一行 k
- 向下一行 j
- 退出 q
二、MYSQL命令总结
备份数据
- mysqldump -h 172.19.0.152 -P 3306 -u root -p scs > scs.sql 备份数据库 --大写P是端口 小写p是密码
- mysqldump -h 172.19.0.152 -u root -p scs --tables t_template > scs.sql 备份数据库某张表
- source < scs.sql 导入数据
数据库操作
- mysql -u root -p 123456 登陆数据库
- use scs 切换数据库
- show databases 显示所有数据库
- show tables 显示所有数据库表
- CREATE DATABASE IF NOT EXISTS test_db DEFAULT CHARSET utf8 COLLATE utf8_general_ci; 创建数据库test_db可以不指定排序规则,因为字符集utf8的默认排序规则就是utf8_general_ci
- drop database <数据库名>; 删除数据库--希望你不会用到
- CREATE TABLE IF NOT EXISTS `runoob_tbl`( `runoob_id` INT UNSIGNED AUTO_INCREMENT, `runoob_title` VARCHAR(100) NOT NULL, `runoob_author` VARCHAR(40) NOT NULL, `submission_date` DATE, PRIMARY KEY ( `runoob_id` ) )ENGINE=InnoDB DEFAULT CHARSET=utf8; 创建数据库表
- INSERT INTO table_name ( field1, field2,...fieldN ) VALUES ( value1, value2,...valueN ); 插入数据
- ALTER TABLE runoob_tbl RENAME TO runoob_tb2 修改表名
- ALTER TABLE testalter_tbl MODIFY status CHAR(10); 修改字段的类型--例如:从 CHAR(1) 改为 CHAR(10)
- ALTER TABLE testalter_tbl CHANGE i j BIGINT(20); 修改字段的名称以及类型--例如:将字段i 变成 j 类型为BIGINT长度20
- ALTER TABLE testalter_tbl ADD i INT(10); 添加字段i
- ALTER TABLE testalter_tbl DROP i; 删除字段i
- ALTER TABLE testalter_tbl ADD INDEX idx_title (runoob_title); 创建普通索引
- ALTER TABLE testalter_tbl ADD UNIQUE idx_id (runoob_id); 创建唯一索引
- ALTER TABLE testalter_tbl DROP INDEX idx_title; 删除索引
- 其他常用的请看文档 https://www.runoob.com/mysql/mysql-operator.html
三、REDIS命令总结
list集合
set集合
zset集合
string
hashMap
四、docker命令总计
常用命令
- docker info 查看docker完整的信息
- systemctl status docker 查看docker的状态
- systemctl daemon-reload 重新加载配置文件
- systemctl restart docker 重启docker
- systemctl start docker 启动docker
- systemctl enable docker 加入到开机启动
- docker run -d -p 8080:8080 sh 启动容器--参数说明:-d 后台运行 -p暴露端口 本地端口:容器端口
- docker exec -it tomcat sh 进入容器
- docker images 查看正在使用的镜像文件
- docker images -a 查看所有镜像文件
- docker ps 查看正在运行的容器
- docker ps -a 查看所有容器
- docker stop 容器ID 停止正在运行的容器
- docker rm 容器ID 删除容器
- docker rmi 镜像ID 删除镜像文件
- docker pull 拉取镜像文件
- docker push 向镜像仓库推送镜像文件
- docker tag 给镜像文件打标签
- docker logs -f 容器名 实时打印日志
- docker run -d -p 5000:5000 --privileged=true -v /opt/data/registry:/var/lib/registry -v /data/config.yml:/etc/docker/registry/config.yml registry 启动镜像仓库命令
- curl -XGET http://registry:5000/v2/_catalog 查看镜像仓库中镜像的命令
- curl -XGET http://registry:5000/v2/image_name/tags/list 查看镜像仓库中镜像的命令
- sudo docker rm $(sudo docker ps -a -q) 删除所有未运行的容器(已经运行的删除不了,未运行的就一起被删除了
- docker rmi $(docker images | grep "none" | awk '{print $3}') 这条命令可以删除所有名字中带 “none” 关键字的镜像,即可以把所有编译错误的镜像删除。其中none关键字可以换成别的!!!
- docker image prune -a 通过 -a 标志可以删除没有被已有容器使用的所有镜像
- docker 修剪/删除(prune)未使用的 Docker 对象 文档请看:https://blog.csdn.net/kikajack/article/details/79514903
五、Git命令总结
工作中常用命令
- git reset hard~ 撤销刚commit的代码
- git push origin 分支名 --force 强制提交本地分支覆盖远程分支
- git删除远程某个文件
- git rm -r signature-common.iml 删除本地的iml文件
- git commit -m "删除iml文件" 提交修改
- git push -u origin master 提交到远程仓库
git 命令介绍
Git global setup
git config --global user.name "胡经波" git config --global user.email "[email protected]"
Create a new repository
git clone http://hcgit.hengchang6.com/base-service/signature_old.git cd signature_old touch README.md git add README.md git commit -m "add README" git push -u origin master
Existing folder
cd existing_folder git init git remote add origin http://hcgit.hengchang6.com/base-service/signature_old.git git add . git commit -m "Initial commit" git push -u origin master
Existing Git repository
cd existing_repo git remote add origin http://hcgit.hengchang6.com/base-service/signature_old.git git push -u origin --all git push -u origin --tags