Linux 基礎指令與權限管理

一、Linux 操作系統概述

1.1 操作系統的核心價值

????????操作系統的本質是 "使計算機更好用"。它作為用戶與硬件之間的中間層,負責內存管理、進程調度、文件系統管理和設備驅動管理等核心功能,讓用戶無需直接操作硬件即可完成復雜任務。在服務器領域,Linux 憑借其穩定性、安全性和開源特性,已成為全球最主流的操作系統之一。

1.2 Linux 的發展歷程

1.2.1 UNIX 的起源

????????Linux 的故事始于 UNIX。1968 年,通用電器、貝爾實驗室和麻省理工學院合作開發了 Multics 系統,為后續操作系統奠定了多任務、多用戶的設計基礎。1969-1970 年,貝爾實驗室的 Ken Thompson 和 Dennis Ritchie 在 Multics 基礎上開發了 UNIX 系統,其高效性和可移植性使其迅速在學術界傳播。

????????1972 年,UNIX 開始商業發行,加州大學伯克利分校在此基礎上開發了 BSD 版本,與 AT&T 的 System V 形成兩大分支。1991 年,UNIX 系統實驗室推出 System V Release 4,整合了多個版本的特性,成為重要的商業標準。

1.2.2 Linux 的誕生

????????1991 年 10 月 5 日,赫爾辛基大學研究生 Linus Torvalds 在 Usenet 新聞組宣布了 Linux 操作系統的誕生。這款受 Minix 啟發的系統最初僅作為個人項目,卻意外引發全球開發者協作熱潮。1994 年,Linux 1.0 版本正式發布,標志著其進入實用階段。

????????與 UNIX 不同,Linux 采用 GNU GPL 開源協議,允許用戶自由使用、修改和分發源代碼,這種開源模式極大加速了其發展。如今,Linux 已從最初的個人項目成長為支撐全球互聯網基礎設施的核心系統。

1.3 Linux 的應用現狀

  • 服務器領域:占據全球 75% 的服務器市場份額,在政府、金融、電信等關鍵領域廣泛應用
  • 桌面領域:國內有中標麒麟、深度 Linux 等發行版,國際上 Ubuntu 憑借易用性積累了大量用戶,但在軟硬件兼容性上仍與 Windows 存在差距
  • 移動嵌入式領域:Android 系統基于 Linux 內核開發,占據全球 84.6% 的智能手機市場;路由器、智能電視等設備也大量采用定制化 Linux
  • 云計算 / 大數據領域:86% 的企業使用 Linux 構建云計算和大數據平臺,逐步取代 UNIX 成為主流

1.4 主流發行版本

  • Debian:以穩定性著稱,適合服務器場景,適合高級用戶和系統管理員
  • Ubuntu:Debian 的衍生版,易用性強,廣泛應用于桌面、服務器和云計算領域
  • 紅帽企業級 Linux(RHEL):首個商業 Linux 發行版,通過 RHCSA/RHCE 認證體系培養了大量系統管理員
  • CentOS:基于 RHEL 源代碼重構的免費版本,與 RHEL 兼容性極高,適合預算有限的企業
  • Fedora:紅帽的測試平臺,包含最新技術,適合開發者嘗鮮
  • Kali Linux:專注于滲透測試的發行版,預裝大量安全工具,是網絡安全從業者的首選

二、Linux 基礎操作指令

2.1 遠程登錄工具 XShell

????????在服務器管理中,圖形界面因資源消耗大、效率低而極少使用,遠程終端成為主要操作方式。XShell 是常用的遠程終端工具,其免費版本(home/school)可滿足個人學習需求(也可以使用虛擬機,但是不推薦新手使用虛擬機)。

登錄步驟

  1. 查看 Linux 主機 IP:ifconfig(可在各大平臺購買云服務器)
  2. 建立連接:ssh [IP地址]
  3. 輸入用戶名和密碼完成登錄

2.2 文件與目錄操作

2.2.1 目錄查看(ls)

ls命令用于列出目錄內容,選項:

  • -a:顯示所有文件(包括以.開頭的隱藏文件)
  • -l:顯示詳細信息(權限、所有者、大小、修改時間等)
  • -d:將目錄本身作為文件顯示
  • -i:顯示 inode 編號
  • -t:按修改時間排序
  • -r:反向排序
  • -R:遞歸顯示子目錄內容

示例

# 顯示當前目錄所有文件的詳細信息
ls -al# 顯示/var目錄的inode信息
ls -id /var# 按大小排序顯示/tmp目錄內容
ls -lS /tmp

這里常用選項有 -l -a記住這兩個就行

2.2.2 路徑查看(pwd)

????????在這里介紹幾個標識符 '.' 代表當前工作路徑 '..'代表上一級工作路徑'/'代表根目錄

pwd命令用于顯示當前工作目錄的絕對路徑:

2.2.3 目錄切換(cd)

cd命令用于切換工作目錄,Linux 的路徑分為:

  • 絕對路徑:從根目錄/開始的完整路徑(如/home/whb/test
  • 相對路徑:相對于當前目錄的路徑(如../temp表示上級目錄的 temp 文件夾)

常用操作

# 切換到/tmp目錄
cd /tmp# 返回上級目錄
cd ..# 切換到用戶家目錄
cd ~# 切換到上一次所在目錄
cd -
2.2.4 文件創建(touch)

touch命令用于創建空文件或修改文件時間戳:

  • -a:僅修改訪問時間
  • -m:僅修改修改時間

示例

# 創建新文件
touch newfile.txt# 修改文件訪問時間
touch -a oldfile.txt# 查看文件時間信息
stat newfile.txt

文件的時間戳包含三種:

  • Access:最后訪問時間
  • Modify:內容最后修改時間
  • Change:元數據(權限、所有者等)最后修改時間

2.2.5 目錄創建(mkdir)

mkdir命令用于創建目錄,關鍵選項-p可遞歸創建多級目錄:

# 創建單級目錄
mkdir docs# 創建多級目錄
mkdir -p project/src/main/java# 查看創建結果 tree命令可能會沒有安裝 安裝指令為:(sudo) yum/apt install -y tree (root賬戶不需要sudo)
tree project
2.2.6 目錄刪除(rmdir)

rmdir用于刪除空目錄,-p選項可刪除空的父目錄(指令不常用,推薦使用rm):

# 刪除空目錄
rmdir empty_dir# 遞歸刪除空目錄鏈
rmdir -p a/b/c

注意:若目錄非空,rmdir 會提示錯誤,需使用rm -r命令

2.2.7 文件 / 目錄刪除(rm)

rm是刪除文件和目錄的核心命令,常用選項:

  • -f:強制刪除,不提示
  • -i:刪除前詢問確認
  • -r:遞歸刪除目錄及內容

示例

# 刪除文件(會提示)
rm file.txt# 強制刪除目錄及所有內容
rm -rf old_project# 刪除前詢問的遞歸刪除
rm -ri data/

警告:rm -rf /是極其危險的命令,會刪除系統所有文件,絕對禁止使用

2.2.8 文件復制(cp)

cp用于復制文件或目錄,核心選項:

  • -i:覆蓋前詢問
  • -r:遞歸復制目錄
  • -f:強制覆蓋

示例

# 復制文件
cp document.txt backup/# 遞歸復制目錄
cp -r src/ dest/# 覆蓋前詢問
cp -i new.txt old.txt# 復制所有txt文件到archive目錄
cp *.txt archive/
2.2.9 文件移動 / 重命名(mv)

mv可實現文件移動或重命名,常用選項:

  • -i:覆蓋前詢問
  • -f:強制覆蓋

示例

# 重命名文件
mv oldname.txt newname.txt# 移動文件到目錄
mv report.pdf docs/# 移動多個文件到歸檔目錄
mv *.log logs/# 覆蓋前詢問
mv -i temp.txt data/

2.3 文件內容查看

2.3.1 文本查看(cat)

cat用于查看文件內容,適合小文件:

  • -n:顯示所有行號
  • -b:僅顯示非空行號
  • -s:壓縮連續空行為一行

示例

# 查看文件內容
cat README.md# 顯示行號
cat -n script.sh# 壓縮空行
cat -s notes.txt
2.3.2 分頁查看(more/less)
  • more:基本分頁工具,僅支持向前滾動

    • -n:指定每頁顯示行數
    • q:退出查看
  • less:增強版分頁工具,支持前后滾動和搜索

    • -N:顯示行號
    • /關鍵詞:向下搜索
    • ?關鍵詞:向上搜索
    • n:重復上一次搜索
    • q:退出

示例

# 分頁查看長文件
more -20 large_file.log# 帶行號查看并允許搜索
less -N access.log
2.3.3 頭尾查看(head/tail)
  • head:顯示文件開頭內容(默認 10 行)
  • tail:顯示文件結尾內容(默認 10 行),-f選項可實時監控文件更新

示例

# 顯示前5行
head -5 config.ini# 顯示最后3行
tail -3 results.txt# 實時監控日志文件
tail -f /var/log/syslog

高級用法:顯示文件的 180-200 行

head -200 file.txt | tail -20

2.4 系統信息查詢

2.4.1 幫助手冊(man)

man命令用于查看命令手冊,手冊分為 9 個章節:

  1. 普通命令
  2. 系統調用(如 open、write)
  3. 庫函數(如 printf)
  4. 特殊文件(/dev 下的設備文件)
  5. 文件格式(如 passwd 文件結構)
  6. 游戲程序
  7. 系統變量和附件
  8. 系統管理命令
  9. 內核相關

示例

# 查看ls命令手冊
man ls# 查看printf庫函數(第三章)
man 3 printf# 查看系統調用fork(第二章)
man 2 fork
2.4.2 命令定位(which/whereis)
  • which:查找命令的可執行文件路徑
  • whereis:查找命令的二進制文件、源代碼和手冊頁

示例

# 查找ls命令位置
which ls# 查找gcc的相關文件
whereis gcc
2.4.3 時間管理(date/cal)

date命令用于顯示和設置系統時間:

# 顯示當前時間
date# 按指定格式顯示(年/月/日-時:分:秒)
date +%Y/%m/%d-%H:%M:%S# 顯示時間戳(從1970-01-01開始的秒數)
date +%s# 時間戳轉換為可讀時間
date -d @1673432636

cal(calendar)命令用于查看日歷:

# 顯示當前月日歷
cal# 顯示2024年全年日歷
cal 2024# 顯示包含上月、本月、下月的日歷
cal -3# 顯示當天是當年的第幾天
cal -j
2.4.4 系統信息(uname)

uname用于查看系統內核信息:

# 顯示內核版本
uname -r# 顯示所有系統信息
uname -a# 查看操作系統版本(部分發行版支持)
lsb_release -a

2.5 搜索與文本處理

2.5.1 文件搜索(find)

find在目錄樹中搜索文件,常用選項:

  • -name:按文件名搜索
  • -type:按文件類型搜索(f:普通文件,d:目錄,l:鏈接)
  • -size:按文件大小搜索
  • -mtime:按修改時間搜索

示例

# 在當前目錄搜索test.c文件
find . -name "test.c"# 在/home下搜索所有目錄
find /home -type d# 搜索大于100MB的文件
find / -size +100M# 搜索近7天修改過的文件
find /var/log -mtime -7
2.5.2 文本搜索(grep)

grep用于在文件中搜索字符串,支持正則表達式:

  • -i:忽略大小寫
  • -n:顯示行號
  • -v:反向匹配(顯示不包含關鍵詞的行)
  • -r:遞歸搜索目錄

示例

# 在文件中搜索關鍵詞
grep "error" app.log# 忽略大小寫搜索
grep -i "warning" system.log# 顯示行號并反向匹配
grep -vn "debug" debug.log# 遞歸搜索目錄中的關鍵詞
grep -r "config" /etc/

2.6 壓縮與打包

2.6.1 zip/unzip(知道)

zipunzip用于處理 ZIP 格式壓縮文件:

# 壓縮目錄
zip -r docs.zip documents/# 解壓到指定目錄
unzip docs.zip -d /tmp/
2.6.2 tar(重要)

tar是 Linux 最常用的打包工具,支持多種壓縮算法:

  • -c:創建打包文件
  • -x:解包
  • -t:查看包內文件
  • -z:使用 gzip 壓縮 / 解壓
  • -j:使用 bzip2 壓縮 / 解壓
  • -v:顯示過程
  • -f:指定文件名
  • -C:指定解壓目錄

示例

# 打包目錄(不壓縮)
tar -cvf data.tar data/# 用gzip壓縮
tar -zcvf logs.tar.gz /var/log/# 用bzip2壓縮
tar -jcvf docs.tar.bz2 documents/# 查看壓縮包內容
tar -ztvf logs.tar.gz# 解壓到指定目錄
tar -zxvf logs.tar.gz -C /tmp/# 僅解壓包中的特定文件
tar -zxvf docs.tar.bz2 README.md

三、Linux 權限管理系統

3.1 權限的核心概念

????????Linux 是多用戶操作系統,權限系統確保不同用戶對資源的訪問受到合理控制。權限管理基于三個維度:

  • 訪問者分類

    • u(User):文件所有者
    • g(Group):所有者所在組的用戶
    • o(Others):其他用戶
    • a(All):所有用戶
  • 文件類型

    • d:目錄
    • -:普通文件
    • l:軟鏈接(快捷方式)
    • b:塊設備文件(如硬盤)
    • c:字符設備文件(如終端)
    • p:管道文件
    • s:套接口文件

3.2 基本權限表示

Linux 為每種訪問者分配三種基本權限:

權限字符表示數字表示文件含義目錄含義
r4可讀取文件內容可列出目錄內容
w2可修改文件內容可創建 / 刪除目錄內文件
執行x1可執行文件可進入目錄
無權限-0無對應權限無對應權限

????????權限組合采用三位數表示(類似八進制如755),第一位表示所有者權限,第二位表示組權限,第三位表示其他用戶權限。例如:

  • rwxr-xr-x(755):所有者擁有全部權限,組和其他用戶有讀和執行權限
  • rw-r--r--(644):所有者有讀寫權限,組和其他用戶僅有讀權限

3.3 權限修改命令

3.3.1 chmod:修改文件權限

chmod用于修改文件或目錄的權限,支持兩種修改方式:

符號法chmod [u/g/o/a][+/-/=][r/w/x] 文件名

# 給所有者增加執行權限
chmod u+x script.sh# 移除其他用戶的寫權限
chmod o-w data.txt# 給所有用戶設置讀寫權限
chmod a=rw config.ini# 遞歸修改目錄權限
chmod -R g+rx docs/

數字法chmod 三位數字 文件名

# 設置權限為rw-r--r--
chmod 644 article.txt# 設置目錄權限為rwxr-x---
chmod 750 project/# 遞歸設置目錄及內容權限
chmod -R 775 shared/
3.3.2 chown:修改所有者

chown用于修改文件的所有者(僅 root 或文件所有者可執行):

# 改變文件所有者
chown alice report.txt# 同時改變所有者和所屬組
chown bob:devs data.csv# 遞歸修改目錄所有者
chown -R www:www /var/www/
3.3.3 chgrp:修改所屬組

chgrp用于修改文件的所屬組:

# 改變文件所屬組
chgrp devs code.c# 遞歸修改目錄所屬組
chgrp -R admins docs/

3.4 權限掩碼(umask)

umask 用于設置新建文件和目錄的默認權限,其值為 "要去掉的權限"。計算方式為:

  • 新建文件默認權限:0666 & ~umask(文件默認無執行權限)
  • 新建目錄默認權限:0777 & ~umask

示例

# 查看當前umask
umask# 設置umask(root默認0022,普通用戶默認0002)
umask 002# 驗證:新建文件權限為664(666-002)
touch test.txt
ls -l test.txt  # -rw-rw-r--

3.5 特殊權限:粘滯位

????????在默認權限下,只要用戶對目錄有寫權限,就可以刪除目錄中的任何文件,無論該文件的所有者是誰。為解決此問題,Linux 引入粘滯位(Sticky Bit):

  • 目錄設置粘滯位后(權限末尾顯示t),僅以下用戶可刪除文件:
    1. 超級管理員(root)
    2. 目錄所有者
    3. 文件所有者

操作示例

# 給目錄添加粘滯位
chmod +t /tmp# 查看權限(顯示drwxrwxrwt)
ls -ld /tmp# 移除粘滯位
chmod -t /tmp

系統臨時目錄/tmp默認設置粘滯位,確保普通用戶不能刪除他人文件。

3.6 sudo 權限管理(需要學習vim工具,后續會講)

sudo 允許普通用戶臨時執行 root 權限命令,配置步驟:

  1. 修改 sudo 配置文件(需 root 權限):
chmod 740 /etc/sudoers
vi /etc/sudoers
  1. 添加權限配置(格式:用戶名 主機=(執行用戶) 命令):
# 允許alice執行所有命令
alice ALL=(ALL) ALL# 允許bob僅執行useradd和userdel命令
bob ALL=(root) /usr/sbin/useradd, /usr/sbin/userdel
  1. 普通用戶使用 sudo 執行命令:
# 以root權限創建用戶
sudo -u root useradd newuser

四、Linux 常用進階操作

4.1 管道與重定向

  • 重定向:改變命令輸出方向

    • >:覆蓋寫入文件
    • >>:追加寫入文件
    • <:從文件讀取輸入
  • 管道:將一個命令的輸出作為另一個命令的輸入(|

示例

# 將命令輸出寫入文件
ls -l > filelist.txt# 追加輸出到文件
echo "new line" >> notes.txt# 統計文件行數
cat large_file.txt | wc -l# 搜索進程并顯示詳細信息
ps aux | grep "nginx"

4.2 系統進程管理(top)

top用于實時監控系統進程和資源占用:

  • -d:設置刷新間隔(秒)
  • -n:設置刷新次數

操作快捷鍵

  • q:退出
  • P:按 CPU 使用率排序
  • M:按內存使用率排序
  • k:終止指定進程
  • h:顯示幫助

示例

# 每2秒刷新一次,共刷新5次
top -d 2 -n 5

4.3 別名設置(alias)

alias用于創建命令別名,簡化復雜操作:

# 設置別名
alias ll='ls -alF'
alias rm='rm -i'  # 刪除前自動詢問# 查看別名
alias# 取消別名
unalias ll

永久生效需將別名添加到~/.bashrc~/.bash_profile文件。

4.4 文件傳輸(rz/sz)

通過 XShell 在 Windows 和 Linux 間傳輸文件:

# 安裝工具
sudo yum install -y lrzsz# 上傳文件(從Windows到Linux)
rz  # 執行后選擇本地文件# 下載文件(從Linux到Windows)
sz filename.txt

五、權限管理實踐案例

5.1 網站目錄權限配置

為確保 Web 服務器安全,合理配置目錄權限:

# 創建網站根目錄
mkdir -p /var/www/example.com# 設置所有者為www-data(Web服務用戶)
chown -R www-data:www-data /var/www/example.com# 目錄權限:所有者讀寫執行,組讀執行,其他無權限
find /var/www/example.com -type d -exec chmod 750 {} \;# 文件權限:所有者讀寫,組讀,其他無權限
find /var/www/example.com -type f -exec chmod 640 {} \;

5.2 多用戶協作目錄

創建團隊共享目錄,確保成員可讀寫但不能刪除他人文件:

# 創建共享目錄
mkdir /team/share# 設置所屬組為dev
chgrp -R dev /team/share# 允許組內用戶讀寫,添加粘滯位
chmod -R 775 /team/share
chmod +t /team/share

5.3 日志文件權限控制

確保日志文件可被服務寫入,同時僅管理員可查看:

# 創建日志目錄
mkdir /var/log/app# 設置所有者為應用用戶,所屬組為adm
chown -R appuser:adm /var/log/app# 目錄權限:所有者全權限,組讀執行,其他無
chmod 750 /var/log/app# 日志文件權限:所有者讀寫,組讀,其他無
chmod 640 /var/log/app/*.log

六、總結與擴展學習

????????Linux 指令和權限管理是系統運維的基礎,掌握這些知識不僅能提高工作效率,更能構建安全可靠的系統環境。學習建議:

  1. 刻意練習:通過實際操作記憶指令,避免死記硬背
  2. 查看手冊:善用man命令查詢參數細節
  3. 理解原理:不僅要知道 "怎么做",更要理解 "為什么"
  4. 安全意識:操作權限和刪除命令時務必謹慎,養成備份習慣

????????進階學習方向:Shell 腳本編程、Linux 內核原理、容器化技術(Docker)等,這些都需要扎實的 Linux 基礎作為支撐。

????????Linux 的開源生態和豐富工具鏈為技術人員提供了無限可能,持續探索和實踐,才能真正發揮其強大能力。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/93752.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/93752.shtml
英文地址,請注明出處:http://en.pswp.cn/web/93752.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

深度學習-167-MCP技術之工具函數的設計及注冊到MCP服務器的兩種方式

文章目錄 1 MCP協議概述 1.1 MCP的原理 1.2 兩種主要的通信模式 2 工具函數的設計與實現 2.1 tools.py(工具函數) 2.2 工具函數的設計原則 2.3 工具函數的測試 3 MCP服務器的構建與配置 3.1 安裝mcp庫 3.2 main.py(MCP服務器) 3.2.1 方式一(add_tool方法) 3.2.2 方式二(@mcp.to…

哈希:兩數之和

問題描述&#xff1a;在一個整數數組中&#xff0c;找到兩數之和為target的兩個值&#xff0c;返回找到的兩個值的下標。 nums[3,3] target6 返回&#xff1a;[0,1] 說明&#xff1a;返回結果&#xff0c;索引無順序要求&#xff1b;有唯一的答案&#xff1b;不能使用兩次相…

PHP反序列化的CTF題目環境和做題復現第5集_POP鏈構造4

1 題目 下載yii2.0.37版本,https://github.com/yiisoft/yii2/releases/tag/2.0.37 放在phpstudy的www目錄下或ubuntu的/var/www/html的目錄下。 3 EXP <?php namespace PHPUnit\Framework\MockObject{class MockTrait {private $classCode = "system(whoami);php…

廣東省省考備考(第八十一天8.19)——資料分析、數量(強化訓練)

資料分析 錯題解析解析解析解析解析今日題目正確率&#xff1a;67% 數量&#xff1a;數學運算解析解析解析標記題解析今日題目正確率&#xff1a;80%

決策樹剪枝及數據處理

一、核心決策樹算法&#xff08;3 類主流算法&#xff09;1. ID3 算法&#xff1a;用 “信息增益” 選屬性ID3 是決策樹的 “開山鼻祖” 之一&#xff0c;它的核心邏輯是 “選能讓數據最‘純’的屬性”—— 這里的 “純” 用 “信息增益” 衡量。簡單說&#xff0c;“信息增益”…

Ansible 角色管理

環境準備# 創建一個叫web的文件夾并進入&#xff08;相當于新建一個工作目錄&#xff09;[lykcontroller ~]$ mkdir web && cd web?# 創建Ansible的配置文件ansible.cfg[lykcontroller web]$ cat > ansible.cfg <<EOF[defaults]remote_user lykinventory .…

Java面試準備指南!

現在已經是8月中旬了&#xff0c;秋招馬上就要開始了&#xff0c;不知道大家準備好了嗎&#xff1f;現階段找工作真的是千軍萬馬過獨木橋&#xff0c;沒有真本事&#xff0c;真的會被淘汰掉&#xff0c;現實就是如此的殘酷&#xff01; 為了能夠幫助到大家在秋招Java面試中脫穎…

Encoder-Decoder Model編碼器-解碼器模型

Encoder-Decoder編碼器-解碼器是一種深度學習模型&#xff0c;應用于圖像處理、語音識別、自然語言處理等領域。主要由編碼器和解碼器兩部分組成&#xff0c;這種結構能夠處理序列到序列的任務。編碼器-解碼器模型具備獨特的雙階段處理&#xff0c;先對輸入信息進行編碼&#x…

Python函數總結

目錄 一、普通函數 1.1 函數的定義與調用 1.2 函數的說明文檔 1.3 函數的參數 1.4 函數的返回值 二、函數的作用域和關鍵字 2.1 局部作用域 2.2 全局作用域 2.4 global關鍵字和nonlocal關鍵字的使用 三、函數的遞歸與嵌套 3.1 嵌套函數 3.2遞歸函數 四、函數名的應…

sqlite-gui:一款開源免費、功能強大的SQLite開發工具

sqlite-gui 是一個輕量級的 SQLite 編輯器&#xff0c;基于 C/mingw64/WinAPI 開發&#xff0c;支持 Windows 平臺。 sqlite-gui 是一個免費開源的項目&#xff0c;代碼托管在 GitHub&#xff1a; https://github.com/little-brother/sqlite-gui 功能特性 支持 SQL 語法高亮…

Ethan獨立開發新品速遞 | 2025-08-19

每日精選Product Hunt上最值得關注的獨立產品&#xff0c;發現全球創新靈感&#xff0c;助力你的產品成長。 下面挑選出對獨立開發者最有參考價值的 10 個項目&#xff0c;側重開發工具、AI 工具、SaaS 和創業支持類產品&#xff0c;去除娛樂、小眾垂直和大公司產品。每條保留原…

從 Hive 數倉出發,全面剖析 StarRocks、MySQL、HBase 的使用場景與區別

以 Hive 數倉為底座,深入理解 StarRocks、MySQL 和 HBase 的區別與使用場景 一、前言 在現代大數據架構中,Hive 通常作為離線數倉的核心底座,負責批量數據的接入、清洗、計算與存儲。然而,為了滿足 實時計算、低延遲查詢、業務交互型操作和高并發存儲 等不同需求,我們往…

低延遲、跨平臺與可控性:直播SDK的模塊化價值解析

引言 音視頻直播已經從單純的娛樂應用&#xff0c;成長為產業級的實時交互基礎設施。無論是安防監控的秒級告警聯動、工業巡檢的遠程可視化操作&#xff0c;還是智慧教育中的多終端互動課堂、遠程醫療里的超低延遲手術協作&#xff0c;都離不開一條低延遲、高穩定性、跨平臺可…

JVM參數優化

JVM 參數優化是提升 Java 應用性能、減少 GC 停頓、避免 OOM&#xff08;內存溢出&#xff09;等問題的核心手段。優化的核心目標是平衡內存使用、GC 效率與應用響應速度&#xff0c;需結合應用類型&#xff08;如 Web 應用、批處理應用&#xff09;、業務場景&#xff08;如高…

pytest高級用法之插件開發

背景 pytest&#xff0c;python全功能測試框架&#xff08;用某句名言&#xff0c;甩unittest幾條街&#xff09;&#xff0c;鉤子函數、pytest插件、pytest裝飾器都能擴展pytest。 提及pytest高級用法&#xff0c;不得不說pytest插件&#xff0c;例如assert斷言失敗繼續斷言…

cesium中實時獲取鼠標精確坐標和高度

/*** 獲取鼠標位置的三維坐標(包含高度信息)* @param {Cesium.Cartesian2} position 鼠標位置* @returns {Cesium.Cartesian3|null} 三維坐標*/ function getMousePosition(position) {if (!position) return null;

Netty 集成 protobuf

什么是 Protobuf Protobuf(Protocol Buffers)是 Google 開發的一種高效、語言中立、平臺中立的序列化協議,用于在不同系統或語言之間傳輸結構化數據。開發者通過 .proto 文件定義消息結構,再使用生成的類進行序列化(轉為緊湊的二進制數據)和反序列化(還原為對象),相比…

程序調用 AI 大模型 -- Java

程序調用 AI 大模型 – Java 1、SDK 接入 安裝阿里云百煉SDK_大模型服務平臺百煉(Model Studio)-阿里云幫助中心 <dependency><groupId>com.alibaba</groupId><artifactId>dashscope-sdk-java</artifactId><!-- 請將 the-latest-version 替…

VMware 虛擬機完全使用教程:從基礎到高級應用

VMware 虛擬機完全使用教程&#xff1a;從基礎到高級應用 一、引言 在當今數字化時代&#xff0c;計算機技術的飛速發展使得硬件性能不斷提升&#xff0c;但同時也帶來了資源浪費和管理復雜等問題。虛擬機技術應運而生&#xff0c;它能夠在一臺物理計算機上模擬出多臺獨立的計…

函數對象 vs 函數指針 vs lambda:該用哪個才高效?

博主介紹&#xff1a;程序喵大人 35 - 資深C/C/Rust/Android/iOS客戶端開發10年大廠工作經驗嵌入式/人工智能/自動駕駛/音視頻/游戲開發入門級選手《C20高級編程》《C23高級編程》等多本書籍著譯者更多原創精品文章&#xff0c;首發gzh&#xff0c;見文末&#x1f447;&#x…