常用 Linux 命令和 shell 腳本語言整理

目錄

一、Linux 命令大全

1、文件和目錄操作

(1)ls 列出目錄內容

(2)pwd 查看當前目錄

(3)cd 切換目錄

(4)mkdir 創建目錄

(5)cp 復制文件或目錄

(6)mv?移動或重命名文件

(7)rm 刪除文件或目錄

(8)touch 創建空文件或更新時間戳

(9)?find 查找文件

2、文件內容操作

(1)cat 查看文件內容

(2)less/more ?分頁查看文件

(3)head/tail 查看文件開頭/結尾

(4)grep?文本搜索

(5)sed?流編輯器

(6)awk 文本處理

3、系統信息

(1)ps 查看進程

(2)top 系統監控

(3)free 內存使用

(4)df 磁盤空間使用

(5)du 目錄大小

4、網絡相關

(1)ping ?網絡連通性測試

(2)ifconfig/ip?網絡接口配置

(3)netstat - 網絡統計

(4)ssh 遠程登錄

(5)scp 安全復制

5、權限管理

(1)chmod 修改權限

(2)chown 修改所有者

6、壓縮和解壓

(1)tar 打包和解包

(2)zip/unzip ZIP壓縮

二、shell?腳本語言

1、shell 的變量

(1)常用系統變量

(2)自定義變量

(3)特殊變量

2、運算符

(1)算術運算符

(2)關系運算符

(3)字符運算符

(4)邏輯運算符

(5)文件測試運算符

3、流程控制

(1)if 判斷

(2)case 多條件判斷

(3)for 循環

(4)while 循環

(5)until 循環

(6)循環控制

4、函數

(1)系統函數

(2)自定義函數

5、shell 內置工具

(1)read

(2)cut

(3)sed

(4)awk

(5)sort


一、Linux 命令大全

1、文件和目錄操作
(1)ls 列出目錄內容
# 按修改時間順序排序
[root@host181 test1]# ls -lrt
total 4
-rw-r--r-- 1 root root  0 Jun 22 19:37 2.log
-rw-r--r-- 1 root root  0 Jun 22 20:54 3.log
-rw-r--r-- 1 root root  0 Jun 24 23:31 4.log
-rw-r--r-- 1 root root 43 Jun 24 23:33 1.log# 列出隱藏目錄
[root@host181 test1]# ls -la
total 4
drwxr-xr-x 2 root root 58 Jun 24 23:31 .
drwxr-xr-x 7 root root 71 Jun 22 19:30 ..
-rw-r--r-- 1 root root 43 Jun 24 23:33 1.log
-rw-r--r-- 1 root root  0 Jun 22 19:37 2.log
-rw-r--r-- 1 root root  0 Jun 22 20:54 3.log
-rw-r--r-- 1 root root  0 Jun 24 23:31 4.log
[root@host181 test1]# 
(2)pwd 查看當前目錄
[root@host181 test1]# pwd
/root/testdir/test1
(3)cd 切換目錄
# 切換到家目錄下
cd ~# 回到到上次所在目錄下
cd - # 回到到上級目錄
cd ..# 切換到絕對路徑
cd /xxx/xxx# 切換到相對路徑
cd xxx
(4)mkdir 創建目錄
# 創建多級目錄
[root@host181 test1]# mkdir -pv logs/serve/lib
mkdir: created directory ‘logs’
mkdir: created directory ‘logs/serve’
mkdir: created directory ‘logs/serve/lib’# 創建單個目錄
mkdir dir1
(5)cp 復制文件或目錄
# 復制文件
cp file1 file2 # 遞歸復制目錄
cp -r dir1 dir2
(6)mv?移動或重命名文件
# 重命名文件
mv oldname newname# 移動文件
mv file1 /target/dir/   
(7)rm 刪除文件或目錄
# 刪除文件
rm file.txt# 遞歸刪除目錄
rm -r directory# 強制刪除不提示
rm -f *.log
(8)touch 創建空文件或更新時間戳
# 創建新文件
touch newfile.txt# 設置特定時間戳
[root@host181 test1]# touch -t 202401010000 file.txt
[root@host181 test1]# ll file.txt 
-rw-r--r-- 1 root root 0 Jan  1  2024 file.txt
[root@host181 test1]# 
(9)?find 查找文件
# / 目錄下查找 2.log 文件
[root@host181 test1]# find / -name "2.log"
/root/testdir/test1/2.log
[root@host181 test1]# 
2、文件內容操作
(1)cat 查看文件內容
# 顯示文件內容
cat file.txt          
(2)less/more ?分頁查看文件
# 可上下翻頁
less largefile.log# 只能向下翻頁
more largefile.log     
(3)head/tail 查看文件開頭/結尾
# 顯示前10行
head -n 10 file.txt      # 顯示后20行
tail -n20 file.txt# 實時跟蹤日志
tail -f test.log
(4)grep?文本搜索
# 搜索包含error的行
grep "error" logfile # 忽略大小寫
grep -i "warning" file   # 忽略大小寫
(5)sed?流編輯器
# 替換文本
sed -i 's/old/new/g' file # 原地編輯并備份,會生成一個 file.bak 的備份文件
sed -i.bak 's/foo/bar/' file 
(6)awk 文本處理
# 打印第一列
awk '{print $1}' file# 打印以:為分隔的第一列
awk -F: '{print $1}' file
3、系統信息
(1)ps 查看進程
# 查看所有進程
ps -ef# 查看當前賬戶進程
ps -ux# 查找指定xxx進程
ps -ef|grep xxx
(2)top 系統監控
[root@host181 test1]# top
top - 00:09:14 up 49 min,  1 user,  load average: 0.00, 0.01, 0.02
Tasks: 161 total,   2 running, 159 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  1863000 total,   935332 free,   514628 used,   413040 buff/cache
KiB Swap:  2098172 total,  2098172 free,        0 used.  1146600 avail Mem PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+ COMMAND                                                                                                                                                         1 root      20   0  125708   4164   2616 S  0.0  0.2   0:00.72 systemd                                                                                                                                                         2 root      20   0       0      0      0 S  0.0  0.0   0:00.00 kthreadd                                                                                                                                                        4 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 kworker/0:0H                                                                                                                                                    5 root      20   0       0      0      0 S  0.0  0.0   0:00.04 kworker/u256:0                                                                                                                                                  6 root      20   0       0      0      0 S  0.0  0.0   0:00.05 ksoftirqd/0                                                                                                                                                     7 root      rt   0       0      0      0 S  0.0  0.0   0:00.00 migration/0                                                                                                                                                     8 root      20   0       0      0      0 S  0.0  0.0   0:00.00 rcu_bh                                                                                                                                                          9 root      20   0       0      0      0 S  0.0  0.0   0:00.12 rcu_sched                                                                                                                                                       10 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 lru-add-drain                                                                                                                                                   11 root      rt   0       0      0      0 S  0.0  0.0   0:00.00 watchdog/0                                                                                                                                                      13 root      20   0       0      0      0 S  0.0  0.0   0:00.00 kdevtmpfs                                                                                                                                                       14 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 netns                                                                                                                                                           15 root      20   0       0      0      0 S  0.0  0.0   0:00.00 khungtaskd                                                                                                                                                      16 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 writeback                                                                                                                                                       17 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 kintegrityd                                                                                                                                                     18 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 bioset        
(3)free 內存使用
[root@host181 test1]# free -htotal        used        free      shared  buff/cache   available
Mem:           1.8G        502M        913M         22M        403M        1.1G
Swap:          2.0G          0B        2.0G
[root@host181 test1]# 
(4)df 磁盤空間使用
[root@host181 test1]# df -h
Filesystem      Size  Used Avail Use% Mounted on
devtmpfs        895M     0  895M   0% /dev
tmpfs           910M     0  910M   0% /dev/shm
tmpfs           910M   11M  900M   2% /run
tmpfs           910M     0  910M   0% /sys/fs/cgroup
/dev/sda3        48G  6.6G   42G  14% /
/dev/sda1       297M  163M  134M  55% /boot
tmpfs           182M   12K  182M   1% /run/user/42
tmpfs           182M     0  182M   0% /run/user/0
[root@host181 test1]# 
(5)du 目錄大小
[root@host181 test1]# du -sh *
4.0K	1.log
0	2.log
0	3.log
0	4.log
0	dir1
0	dir2
0	file.txt
0	logs
[root@host181 test1]# du -sh /root/testdir/
4.0K	/root/testdir/
[root@host181 test1]# 
4、網絡相關
(1)ping ?網絡連通性測試
[root@host181 test1]# ping -c 4 www.baidu.com
PING www.baidu.com (36.152.44.93) 56(84) bytes of data.
64 bytes from 36.152.44.93 (36.152.44.93): icmp_seq=1 ttl=52 time=35.7 ms
64 bytes from 36.152.44.93 (36.152.44.93): icmp_seq=2 ttl=52 time=35.8 ms
64 bytes from 36.152.44.93 (36.152.44.93): icmp_seq=3 ttl=52 time=37.6 ms
64 bytes from 36.152.44.93 (36.152.44.93): icmp_seq=4 ttl=52 time=35.5 ms--- www.baidu.com ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3004ms
rtt min/avg/max/mdev = 35.571/36.209/37.658/0.865 ms
[root@host181 test1]# 
(2)ifconfig/ip?網絡接口配置
[root@host181 test1]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500inet 192.168.1.181  netmask 255.255.255.0  broadcast 192.168.1.255inet6 fe80::ee63:14dd:db70:74b2  prefixlen 64  scopeid 0x20<link>ether 00:0c:29:ff:08:8a  txqueuelen 1000  (Ethernet)RX packets 17351  bytes 1455172 (1.3 MiB)RX errors 0  dropped 0  overruns 0  frame 0TX packets 1140  bytes 201247 (196.5 KiB)TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536inet 127.0.0.1  netmask 255.0.0.0inet6 ::1  prefixlen 128  scopeid 0x10<host>loop  txqueuelen 1000  (Local Loopback)RX packets 2  bytes 102 (102.0 B)RX errors 0  dropped 0  overruns 0  frame 0TX packets 2  bytes 102 (102.0 B)TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0virbr0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500inet 192.168.122.1  netmask 255.255.255.0  broadcast 192.168.122.255ether 52:54:00:42:ec:8d  txqueuelen 1000  (Ethernet)RX packets 0  bytes 0 (0.0 B)RX errors 0  dropped 0  overruns 0  frame 0TX packets 0  bytes 0 (0.0 B)TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0[root@host181 test1]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00inet 127.0.0.1/8 scope host lovalid_lft forever preferred_lft foreverinet6 ::1/128 scope host valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000link/ether 00:0c:29:ff:08:8a brd ff:ff:ff:ff:ff:ffinet 192.168.1.181/24 brd 192.168.1.255 scope global noprefixroute ens33valid_lft forever preferred_lft foreverinet6 fe80::ee63:14dd:db70:74b2/64 scope link noprefixroute valid_lft forever preferred_lft forever
3: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000link/ether 52:54:00:42:ec:8d brd ff:ff:ff:ff:ff:ffinet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0valid_lft forever preferred_lft forever
4: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast master virbr0 state DOWN group default qlen 1000link/ether 52:54:00:42:ec:8d brd ff:ff:ff:ff:ff:ff
[root@host181 test1]# 
(3)netstat - 網絡統計
# 監聽端口和進程
netstat -tulnp # 路由表   
netstat -r  # 查看ipv4路由表       
route -4n# 查看ipv6路由表
route -6n
(4)ssh 遠程登錄
ssh -p 22 user@host
(5)scp 安全復制
# 上傳
scp file user@host:/path  # 下載
scp user@host:file .    
5、權限管理
(1)chmod 修改權限
# 設置權限
chmod 755 script.sh    # 添加執行權限
chmod +x file          
(2)chown 修改所有者
# 修改所有者和組
chown user:group file
6、壓縮和解壓
(1)tar 打包和解包
# 創建tar.gz壓縮包
tar -czvf archive.tar.gz dir/ # 解壓tar.gz包
tar -xzvf archive.tar.gz     
(2)zip/unzip ZIP壓縮
# 創建zip
zip -r archive.zip dir/ # 解壓zip
unzip archive.zip          

二、shell?腳本語言

1、shell 的變量
(1)常用系統變量
變量名說明
$PWD當前工作目錄
$HOME當前用戶的家目錄
$SHELL當前使用的 Shell
$USER當前登錄的用戶名
$HOSTNAME當前主機名
[root@host181 testdir]# echo $PWD
/root/testdir
[root@host181 testdir]# echo $HOME
/root
[root@host181 testdir]# echo $SHELL
/bin/bash
[root@host181 testdir]# echo $USER
root
[root@host181 testdir]# echo $HOSTNAME
host181
(2)自定義變量

在bash中,變量默認類型都是字符串類型

定義變量:變量=值

撤銷變量:unset 變量

(3)特殊變量
變量說明
$0當前腳本的文件名
$1,?$2, ...,?$9腳本的第 1~9 個參數
${10},?${11}, ...第 10 個及以后的參數(需要用?${ }?語法)
$#傳遞給腳本的參數個數
$?上一個命令的退出狀態(0=成功,非0=失敗)
$RANDOM隨機數

2、運算符
(1)算術運算符

用于數值計算

運算符說明示例
+加法echo $((5 + 3))?→?8
-減法echo $((10 - 2))?→?8
*乘法echo $((2 * 4))?→?8
/除法(取整)echo $((10 / 3))?→?3
%取模(余數)echo $((10 % 3))?→?1
**冪運算(Bash 支持)echo $((2 ** 3))?→?8
++自增x=5; ((x++)); echo $x?→?6
--自減x=5; ((x--)); echo $x?→?4
(2)關系運算符

用于數值比較

運算符說明示例
-eq等于(Equal)[ 5 -eq 5 ]?→?true
-ne不等于(Not Equal)[ 5 -ne 3 ]?→?true
-gt大于(Greater Than)[ 5 -gt 3 ]?→?true
-lt小于(Less Than)[ 5 -lt 10 ]?→?true
-ge大于等于(Greater or Equal)[ 5 -ge 5 ]?→?true
-le小于等于(Less or Equal)[ 5 -le 5 ]?→?true
(3)字符運算符

用于字符串比較

運算符說明示例
=字符串相等[ "abc" = "abc" ]?→?true
!=字符串不相等[ "abc" != "def" ]?→?true
-z字符串為空[ -z "" ]?→?true
-n字符串非空[ -n "abc" ]?→?true
str1 > str2按字典序大于[[ "b" > "a" ]]?→?true
str1 < str2按字典序小于[[ "a" < "b" ]]?→?true
(4)邏輯運算符
運算符說明示例
&&邏輯與(AND)

[ 5 -gt 3 ] && [ 2 -lt 4 ]?→?true

||邏輯或(OR)

[ 5 -lt 3 ] ||?[ 2 -lt 4 ]true

!邏輯非(NOT)

! [ 5 -eq 3 ]?→?true

(5)文件測試運算符
運算符說明示例
-e文件/目錄是否存在[ -e file.txt ]?→?true
-d是目錄[ -d /tmp ]?→?true
-r可讀[ -r file.txt ]?→?true
-w可寫[ -w file.txt ]?→?true
-x可執行[ -x /bin/bash ]?→?true
-s文件非空[ -s file.txt ]?→?true
3、流程控制
(1)if 判斷
if [ 條件1 ]; then# 條件1成立時執行
elif [ 條件2 ]; then# 條件2成立時執行
else# 所有條件都不成立時執行
fi

?示例:

#!/bin/bash
read -p "請輸入一個數字: " numif [ "$num" -gt 10 ]; thenecho "數字大于 10"
elif [ "$num" -eq 10 ]; thenecho "數字等于 10"
elseecho "數字小于 10"
fi
(2)case 多條件判斷

適用于匹配多個固定值的情況。

case 變量 in"值1")# 如果變量的值等于值1,則執行程序1 ;;"值2")# 如果變量的值等于值2,則執行程序2 ;;*)# 默認情況(類似 else);;
esac

示例:

#!/bin/bash
read -p "請輸入 yes/no: " choicecase "$choice" in[Yy][Ee][Ss]|"y"|"Y")echo "你輸入了 yes";;[Nn][Oo]|"n"|"N")echo "你輸入了 no";;*)echo "輸入無效";;
esac
(3)for 循環

遍歷列表或范圍。

for 變量 in 列表; do# 循環體
done

?示例:

#!/bin/bash
# 遍歷列表
for fruit in "apple" "banana" "orange"; doecho "水果: $fruit"
done# 遍歷數字范圍(1~5)
for i in {1..5}; doecho "數字: $i"
done# 遍歷命令輸出
for file in $(ls); doecho "文件: $file"
done
(4)while 循環

當條件成立時循環

while [ 條件 ]; do# 循環體
done

?示例:

#!/bin/bash
count=1
while [ "$count" -le 5 ]; doecho "計數: $count"((count++))
done
(5)until 循環

直到條件成立時停止

until [ 條件 ]; do# 循環體
done

示例:

#!/bin/bash
count=1
until [ "$count" -gt 5 ]; doecho "計數: $count"((count++))
done
(6)循環控制
命令說明
break跳出當前循環
continue跳過本次循環,進入下一次
exit退出腳本(可帶狀態碼)
4、函數
(1)系統函數

basename 提取文件名

[root@host181 test1]# ls -lrt
total 8
-rw-r--r-- 1 root root   0 Jan  1  2024 file.txt
-rw-r--r-- 1 root root   0 Jun 22 19:37 2.log
-rw-r--r-- 1 root root   0 Jun 22 20:54 3.log
-rw-r--r-- 1 root root   0 Jun 24 23:31 4.log
drwxr-xr-x 3 root root  19 Jun 24 23:52 logs
drwxr-xr-x 2 root root   6 Jun 24 23:53 dir1
drwxr-xr-x 2 root root   6 Jun 24 23:53 dir2
-rw-r--r-- 1 root root 558 Jun 25 02:07 1.log.bak
-rw-r--r-- 1 root root 555 Jun 25 02:08 1.log
[root@host181 test1]# pwd
/root/testdir/test1[root@host181 test1]# basename /home/user/test1/1.log
1.log# 去掉文件后綴
[root@host181 test1]# basename /home/user/test1/1.log .log
1
[root@host181 test1]# 

dirname 提取文件所在絕對路徑

[root@host181 test1]# dirname /home/user/test1/1.log
/home/user/test1
[root@host181 test1]# 
(2)自定義函數
# 方式1(推薦,兼容性強)
函數名() {# 函數體
}# 方式2(Bash 擴展語法)
function 函數名 {# 函數體
}# 方式3 return 帶上返回值(0~255)
函數名() {# 函數體return 0;
}
5、shell 內置工具
(1)read

# 從文件中讀取數據

#!/bin/bash
while read line; doecho "行內容: $line"
done < filename.txt

# IFS 是 shell 中的一個特殊環境變量,它定義了字段分隔符

#!/bin/bash
# 處理冒號分隔的/etc/passwd文件
while IFS=':' read -r username _ uid gid desc home shell; doecho "用戶: $username (UID: $uid, 主目錄: $home)"
done < /etc/passwd
(2)cut
參數說明
-d指定字段分隔符(默認是制表符?\t
-f選擇字段(列)
-c按字符位置剪切
-b按字節位置剪切
--complement反選(顯示未被選中的部分)

示例:以 “,” 號分隔,提取第1、2列字段

示例:按字符位置提取

(3)sed
參數說明
-n只輸出處理過的行(默認會輸出所有行)
-i直接修改文件(慎用,建議先不加?-i?測試)
-e指定多個命令
-r使用擴展正則表達式(`+? ()` 等不需要轉義)
-f從腳本文件讀取?sed?命令

# 批量替換文件內容

# 替換每行第一個 "apple" 為 "orange"(不修改原文件)
sed -i 's/apple/orange/' file.txt# 替換所有 "apple"(全局替換)
sed -i 's/apple/orange/g' file.txt# 替換第2行開始的 "apple"
sed -i '2,$ s/apple/orange/' file.txt# 只替換包含 "banana" 的行中的 "apple"
sed -i '/banana/ s/apple/orange/' file.txt# 使用擴展正則表達式(`+` 匹配1次或多次)
sed -i -r 's/a+/AAA/' file.txt

#?刪除日志文件中的空行

# 刪除第3行
sed -i '3d' file.txt# 刪除空行
sed -i '/^$/d' file.txt# 刪除包含 "error" 的行
sed -i '/error/d' file.txt# 刪除從第2行到第4行
sed -i '2,4d' file.txt

?

# 插入/追加文本

# 在每行前插入 "INSERT: "
sed -i 'i\INSERT: ' file.txt# 在第2行前插入 "INSERT: "
sed -i '2i\INSERT: ' file.txt# 在包含 "world" 的行后追加 "APPEND: Hello"
sed -i '/world/ a\APPEND: Hello' file.txt# 替換整行(將包含 "old" 的行替換為 "new line")
sed -i '/old/ c\new line' file.txt

(4)awk
# 提取文件的第一列(默認空格分隔)
awk '{print $1}' file.txt# 指定分隔符(如逗號)
awk -F ',' '{print $2}' data.csv# 打印最后一列
awk '{print $NF}' file.txt# 打印文件名和行號(調試用)
awk '{print FILENAME, NR, $0}' file.txt

?

(5)sort
# 按字母排序
sort file# 按數字大小排序
sort -n file# 去重排序
sort -u file# 反向排序
sort -r file

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

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

相關文章

YOLOv12_ultralytics-8.3.145_2025_5_27部分代碼閱讀筆記-autobackend.py

autobackend.py ultralytics\nn\autobackend.py 目錄 autobackend.py 1.所需的庫和模塊 2.def check_class_names(names: Union[List, Dict]) -> Dict[int, str]: 3.def default_class_names(data: Optional[Union[str, Path]] None) -> Dict[int, str]: 4.cla…

【MySQL基礎】MySQL索引全面解析:從原理到實踐

MySQL學習&#xff1a; https://blog.csdn.net/2301_80220607/category_12971838.html?spm1001.2014.3001.5482 前言&#xff1a; 在前面我們基本上已經把MySQL的基礎知識都進行了學習&#xff0c;但是我們之前處理的數據都是十分少的&#xff0c;但是如果當我們的數據量很大…

第三十五章 I2S——音頻傳輸接口

第三十五章 I2S——音頻傳輸接口 目錄 第三十五章 I2S——音頻傳輸接口 1 I2S概述 1.1 簡介 1.2 功能特點 1.3 工作原理 1.4 利用DMA通信的I2S 1.4.1 I2S配合DMA通信工作原理 1.4.2 配置要點 2 應用場景 2.1 消費類音頻設備 2.2 專業音頻設備 2.3 通信設備 2.4 汽車電子 2.5 嵌…

產品-Figma(英文版),圖像的布爾類型圖例說明

文章目錄 Union SelectionSubtract SelectionIntersect SelectionExclude SelectionFlatten Selection Union Selection 把多個形狀合并成一個新的完整形狀&#xff0c;保留所有外部輪廓&#xff0c;內部不被切割。由于紅色的長方形在外面的一層&#xff0c;所以切割后&#x…

Windows CMD命令分類大全

?? ?一、系統與磁盤管理? ?系統信息? systeminfo&#xff1a;查看詳細硬件及系統配置&#xff08;版本/內存/補丁&#xff09;211 winver&#xff1a;快速檢查Windows版本11 msinfo32&#xff1a;圖形化系統信息面板811?磁盤工具? chkdsk /f&#xff1a;修復磁盤錯誤&…

【Dify系列】【Dify1.4.2 升級到Dify1.5.0】

1. 升級前準備工作 1.1 數據備份&#xff1a; 進入原安裝包 docker 目錄&#xff0c;備份“volumes”文件夾&#xff0c;此文件夾包含了 Dify 數據庫數據&#xff1a; rootjoe:/usr/local/dify/docker/volumes# pwd /usr/local/dify/docker/volumesrootjoe:/usr/local/dify/…

DeepSeek網頁版隨機點名器

用DeepSeek幫我們生成了一個基于html5的隨機點名器&#xff0c;效果非常棒&#xff0c;如果需要加入名字&#xff0c;請在代碼中按照對應的格式添加即可。 提示詞prompt 幫我生成一個隨機點名的HTML5頁面 生成真實一點的名字數據 點擊隨機按鈕開始隨機選擇 要有閃動的效果 &…

前后端分離實戰2----后端

戳我抵達前端 項目描述&#xff1a;用Vscode創建Spring Bootmybatis項目&#xff0c;用maven進行管理。創建一個User表&#xff0c;對其內容進行表的基本操作&#xff08;增刪改查&#xff09;&#xff0c;顯示在前端。 項目地址&#xff1a;戳我一鍵下載項目 運行效果如下&…

深入 ARM-Linux 的系統調用世界

1、引言 本篇文章以 ARM 架構為例&#xff0c;進行講解。需要讀者有一定的 ARM 架構基礎 在操作系統的世界中&#xff0c;系統調用&#xff08;System Call&#xff09;是用戶空間與內核空間溝通的橋梁。用戶態程序如 ls、cp 或你的 C 程序&#xff0c;無權直接操作硬件、訪問文…

LabVIEW鍵盤鼠標監測控制

通過Input Device Control VIs&#xff0c;實現對鍵盤和鼠標活動的監測。通過AcquireInput Data VI 在循環中持續獲取輸入數據&#xff0c;InitializeKeyboard與InitializeMouse VIs 先獲取設備ID 引用&#xff0c;用于循環內監測操作&#xff1b;運行時可輸出按鍵信息&#xf…

Linux 系統管理:自動化運維與容器化部署

在現代 IT 基礎設施中&#xff0c;自動化運維和容器化部署是提高系統管理效率和可維護性的關鍵。Linux 系統因其穩定性和靈活性而被廣泛應用于服務器和數據中心。本文將深入探討 Linux 系統管理中的自動化運維和容器化部署技術&#xff0c;幫助系統管理員實現高效運維和快速部署…

直播 APP 開發需要多少成本

直播行業的火爆催生了大量直播 APP 開發需求&#xff0c;而開發成本是開發者最關注的問題之一。其成本構成復雜&#xff0c;受功能需求、開發方式、技術難度等多種因素影響。? 基礎功能開發是成本的重要組成部分。用戶注冊登錄、直播間創建與管理、視頻播放、聊天互動等功能開…

Reactor操作符的共享與復用

在 Reactor 中&#xff0c;transform 和 transformDeferred 是兩個用于代碼復用和操作符鏈封裝的高級操作符。它們允許你將一組操作符封裝成一個函數&#xff0c;并在適當的時候應用到響應式流中。以下是它們的詳細總結&#xff1a; 1. transform 操作符 作用&#xff1a;tran…

C#中的Converter詳解

Converter是C#中一個非常有用的概念&#xff0c;主要用于類型轉換。它通常以委托或接口的形式出現&#xff0c;允許開發者定義如何將一種類型轉換為另一種類型。下面我將詳細介紹Converter的概念、使用場景&#xff0c;并以布爾型轉換為例展示具體應用。 Converter的基本概念 …

LabVIEW熒光微管圖像模擬

利用LabVIEW平臺&#xff0c;集成 PI 壓電平臺、Nikon 熒光顯微鏡及Andor sCMOS 相機等硬件&#xff0c;構建熒光微管滑行實驗圖像序列模擬系統。通過程序化模擬微管運動軌跡、熒光標記分布及顯微成像過程&#xff0c;為生物醫學領域微管跟蹤算法測試、運動特性分析提供標準化仿…

CentOS下Nginx服務器搭建全攻略

Nginx 安裝與配置完整指南 一、安裝 Nginx 1.1 添加 Nginx 官方倉庫 在 CentOS 系統中&#xff0c;默認倉庫的 Nginx 版本可能較舊&#xff08;通常為 1.12 或更早版本&#xff09;&#xff0c;建議添加官方倉庫來安裝最新穩定版本&#xff08;目前為 1.25.x&#xff09;&am…

網絡拓撲圖繪制全流程:從架構解析到工具實戰

在數據呈現與系統管理中&#xff0c;清晰展示設備間的邏輯關系至關重要。網絡拓撲圖正是這樣一種有效的可視化工具。它通過節點設備和連接線路&#xff0c;直觀呈現網絡結構或項目流程中各元素的布局與交互關系&#xff0c;幫助理解系統運作、診斷問題并確保項目順利進行。 1. …

Git 簡介安裝教程

&#x1f4e2;歡迎點贊&#x1f44d;收藏?留言&#x1f4dd;如有錯誤敬請指正&#xff01; 目錄 一、Git 的安裝1.1 Git 的下載1.2 Git 的安裝1.2.1 使用許可聲明1.2.2 選擇安裝目錄1.2.3 選擇安裝組件1.2.4 選擇開始菜單文件夾1.2.5 選擇 Git 默認編輯器1.2.6 決定初始化新項…

鴻蒙NEXT-鴻蒙三層架構搭建,嵌入HMRouter,實現便捷跳轉,新手攻略。(2/3)

在上一小節我們已經完成了關于三層架構的搭建&#xff0c;接下來我們來實現在三層架構中的導入依賴&#xff0c;將他們相互聯系起來。 第一步&#xff1a;在features產品定制層中&#xff0c;對其中所有的動態共享包導入依賴&#xff0c;示例features>my>oh-package.jso…

【每天一個知識點】語料投毒(Corpus Poisoning)

“語料投毒”&#xff08;Corpus Poisoning&#xff09; 是指攻擊者通過向大型語言模型&#xff08;如 ChatGPT&#xff09;使用的外部知識庫中注入惡意或誤導性文檔&#xff0c;從而干擾模型的檢索與回答過程&#xff0c;導致其輸出錯誤、虛假或有害內容。 &#x1f50d; 舉個…