1、Linux命令
新建txt文件:touch xxx.txt
給txt文件夾權限:chmod +x xxx.txt
查看日志:tail -f xxx.log / less xxx.log
根據關鍵字查看日志:grep "error" 文件名
查看端口狀態:netstat -an|grep xxxxx
查看當前運行進程:ps -ef|grep mock
查看進程:ps -aux |grep xxx(ps -aux 和ps -ef 沒有區別)
lsof -i:9090
jps -m
殺死進程:kill -9 xxx
流水查看日志:grep -lr "流水號"
查看當前位置:pwd
字段查找:/字段
重啟服務:systemctl restart xxx
查看服務運行狀態:systemctl status xxx
獲取服務器uuid dmidecode -s system-uuid
快速找到相關歷史命令:ctrl+r
查找文件:locate xxx
echo : 用于打印輸出數據到終端
$SHELL : 是全局共享的環境變量讀取解析器類型,所有的Shell程序都可以讀取的變量
2、docker命令
安裝redis: docker run --name redis -d -p 6379:6379 redis
停止原有的redis鏡像: docker stop redis
刪除原有的redis鏡像: docker rm redis
安裝帶有向量化功能的redis: docker run --name redis-vector -d -p 6379:6379 redislabs/redisearch
安裝mysql: docker run --name mysql -d -p 3307:3306 -e MYSQL_ROOT_PASSWORD=1234 mysql
3、ollama
3.1、基礎操作指令
指令 | 功能 | 示例 |
---|---|---|
ollama run <模型名> | 運行指定模型(自動下載若不存在) | ollama run llama3 |
ollama list | 查看本地已下載的模型列表 | ollama list |
ollama pull <模型名> | 手動下載模型 | ollama pull mistral |
ollama rm <模型名> | 刪除本地模型 | ollama rm llama2 |
ollama help | 查看幫助文檔 | ollama help |
3.2、模型交互指令
3.21. 直接對話
ollama run llama3 "用中文寫一首關于秋天的詩"
3.2.2. 進入交互模式
ollama run llama3
# 進入后輸入內容,按 Ctrl+D 或輸入 `/bye` 退出
3.2.3. 從文件輸入
ollama run llama3 --file input.txt
3.2.4. 流式輸出控制
參數 | 功能 | 示例 |
---|---|---|
--verbose | 顯示詳細日志 | ollama run llama3 --verbose |
--nowordwrap | 禁用自動換行 | ollama run llama3 --nowordwrap |
3.3、模型管理
3.3.1. 自定義模型配置(Modelfile)
創建 Modelfile
文件:
FROM llama3 # 基礎模型
PARAMETER temperature 0.7 # 控制隨機性(0-1)
PARAMETER num_ctx 4096 # 上下文長度
SYSTEM """ 你是一個嚴謹的學術助手,回答需引用論文來源。""" # 系統提示詞
構建自定義模型:
ollama create my-llama3 -f Modelfile
ollama run my-llama3
3.3.2. 查看模型信息
ollama show <模型名> --modelfile # 查看模型配置
ollama show <模型名> --parameters # 查看運行參數
3.4、高級功能
3.4.1. API 調用
啟動 API 服務
ollama serve
通過 HTTP 調用
curl http://localhost:11434/api/generate -d '{"model": "llama3","prompt": "你好","stream": false
}'
3.4.2. GPU 加速配置
# 指定顯存分配比例(50%)
ollama run llama3 --num-gpu 50
4、Git 命令
倉庫
在當前目錄新建一個Git代碼庫
$ git init
新建一個目錄,將其初始化為Git代碼庫
$ git init [project-name]
下載一個項目和它的整個代碼歷史
$ git clone [url]
配置
顯示當前的Git配置
$ git config --list
編輯Git配置文件
$ git config -e [--global]
設置提交代碼時的用戶信息
$ git config [--global] user.name "[name]"
$ git config [--global] user.email "[email address]"
增加/刪除文件
添加指定文件到暫存區
$ git add [file1] [file2] ...
添加指定目錄到暫存區,包括子目錄
$ git add [dir]
添加當前目錄的所有文件到暫存區
$ git add .
添加每個變化前,都會要求確認
對于同一個文件的多處變化,可以實現分次提交
$ git add -p
刪除工作區文件,并且將這次刪除放入暫存區
$ git rm [file1] [file2] ...
停止追蹤指定文件,但該文件會保留在工作區
$ git rm --cached [file]
改名文件,并且將這個改名放入暫存區
$ git mv [file-original] [file-renamed]
代碼提交
提交暫存區到倉庫區
$ git commit -m [message]
提交暫存區的指定文件到倉庫區
$ git commit [file1] [file2] ... -m [message]
提交工作區自上次commit之后的變化,直接到倉庫區
$ git commit -a
提交時顯示所有diff信息
$ git commit -v
使用一次新的commit,替代上一次提交
如果代碼沒有任何新變化,則用來改寫上一次commit的提交信息
$ git commit --amend -m [message]
重做上一次commit,并包括指定文件的新變化
$ git commit --amend [file1] [file2] ...
分支
列出所有本地分支
$ git branch
列出所有遠程分支
$ git branch -r
列出所有本地分支和遠程分支
$ git branch -a
新建一個分支,但依然停留在當前分支
$ git branch [branch-name]
新建一個分支,并切換到該分支
$ git checkout -b [branch]
新建一個分支,指向指定commit
$ git branch [branch] [commit]
新建一個分支,與指定的遠程分支建立追蹤關系
$ git branch --track [branch] [remote-branch]
切換到指定分支,并更新工作區
$ git checkout [branch-name]
切換到上一個分支
$ git checkout -
建立追蹤關系,在現有分支與指定的遠程分支之間
$ git branch --set-upstream [branch] [remote-branch]
合并指定分支到當前分支
$ git merge [branch]
選擇一個commit,合并進當前分支
$ git cherry-pick [commit]
刪除分支
$ git branch -d [branch-name]
刪除遠程分支
$ git push origin --delete [branch-name]
$ git branch -dr [remote/branch]
標簽
列出所有tag
$ git tag
新建一個tag在當前commit
$ git tag [tag]
新建一個tag在指定commit
$ git tag [tag] [commit]
刪除本地tag
$ git tag -d [tag]
刪除遠程tag
$ git push origin :refs/tags/[tagName]
查看tag信息
$ git show [tag]
提交指定tag
$ git push [remote] [tag]
提交所有tag
$ git push [remote] --tags
新建一個分支,指向某個tag
$ git checkout -b [branch] [tag]
查看信息
顯示有變更的文件
$ git status
顯示當前分支的版本歷史
$ git log
顯示commit歷史,以及每次commit發生變更的文件
$ git log --stat
搜索提交歷史,根據關鍵詞
$ git log -S [keyword]
顯示某個commit之后的所有變動,每個commit占據一行
$ git log [tag] HEAD --pretty=format:%s
顯示某個commit之后的所有變動,其"提交說明"必須符合搜索條件
$ git log [tag] HEAD --grep feature
顯示某個文件的版本歷史,包括文件改名
$ git log --follow [file]
$ git whatchanged [file]
顯示指定文件相關的每一次diff
$ git log -p [file]
顯示過去5次提交
$ git log -5 --pretty --oneline
顯示所有提交過的用戶,按提交次數排序
$ git shortlog -sn
顯示指定文件是什么人在什么時間修改過
$ git blame [file]
顯示暫存區和工作區的差異
$ git diff
顯示暫存區和上一個commit的差異
$ git diff --cached [file]
顯示工作區與當前分支最新commit之間的差異
$ git diff HEAD
顯示兩次提交之間的差異
$ git diff [first-branch]...[second-branch]
顯示今天你寫了多少行代碼
$ git diff --shortstat "@{0 day ago}"
顯示某次提交的元數據和內容變化
$ git show [commit]
顯示某次提交發生變化的文件
$ git show --name-only [commit]
顯示某次提交時,某個文件的內容
$ git show [commit]:[filename]
顯示當前分支的最近幾次提交
$ git reflog
遠程同步
下載遠程倉庫的所有變動
$ git fetch [remote]
顯示所有遠程倉庫
$ git remote -v
顯示某個遠程倉庫的信息
$ git remote show [remote]
增加一個新的遠程倉庫,并命名
$ git remote add [shortname] [url]
取回遠程倉庫的變化,并與本地分支合并
$ git pull [remote] [branch]
上傳本地指定分支到遠程倉庫
$ git push [remote] [branch]
強行推送當前分支到遠程倉庫,即使有沖突
$ git push [remote] --force
推送所有分支到遠程倉庫
$ git push [remote] --all
撤銷
恢復暫存區的指定文件到工作區
$ git checkout [file]T
恢復某個commit的指定文件到暫存區和工作區
$ git checkout [commit] [file]
恢復暫存區的所有文件到工作區
$ git checkout .
重置暫存區的指定文件,與上一次commit保持一致,但工作區不變
$ git reset [file]
重置暫存區與工作區,與上一次commit保持一致
$ git reset --hard
重置當前分支的指針為指定commit,同時重置暫存區,但工作區不變
$ git reset [commit]
重置當前分支的HEAD為指定commit,同時重置暫存區和工作區,與指定commit一致
$ git reset --hard [commit]
重置當前HEAD為指定commit,但保持暫存區和工作區不變
$ git reset --keep [commit]
新建一個commit,用來撤銷指定commit
后者的所有變化都將被前者抵消,并且應用到當前分支
$ git revert [commit]
暫時將未提交的變化移除,稍后再移入
$ git stash
$ git stash pop
其他
生成一個可供發布的壓縮包
$ git archive
5、Shell腳本
1、shell是什么?
是命令,類似windows的dos命令
又是一門程序設計語言,里面含有,變量、函數、邏輯控制語句等
2、Shell腳本是什么?
是一個文本文件,里面可以編寫shell命令或進行編程,形成一個可重用執行的腳本文件
3、shell腳本的作用?
通過shell編程提高對linux系統管理工作效率
4、linux默認的shell解析器
bin/bash
查看linux系統centos支持的shsell解析器:cat /etc/shells
centos默認的解析器是bash
打印輸出當前系統環境使用的解析器類型:echo $SHELL
$SHELL
: 是全局共享的環境變量,全局環境變量是所有的Shell程序都可以讀取的變量
Shell腳本文件編寫規范
腳本文件后綴名規范
shell腳本文件就是一個文本文件, 后綴名建議使用.sh結尾
首行格式規范
首行需要設置Shell解析器的類型,語法
#! /bin/bash
含義:設置當前shelI腳本文件采用bash解析器運行腳本代碼
注釋格式
單行注釋,語法
# 注釋內容
多行注釋,語法
#注釋內容1
#注釋內容2
腳本文件的常用執行3種方式
- sh解析器執行方式
語法: sh腳本文件
介紹:就是利用sh命令執行腳本文件,本質就是使用ShelI解析器運行腳本文件 - bash解析器執行方式
語法: bash腳本文件
介紹:就是利用bash命令執行腳本文件,本質就是使用Shell解析器運行腳本文件 - 僅路徑執行方式
語法: ./腳本文件
介紹:執行當前目錄下的腳本文件
注意:腳本文件自己執行需要具有可執行權限,否則無法執行
3種方式的區別
sh或bash執行腳本文件方式是直接使用ShelI解析器運行腳本文件,不需要可執行權限
僅路徑方式是執行腳本文件自己,需要可執行權限