一、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