Debian常用命令
以下是完整的 Linux 命令大全,适用于 Debian、Ubuntu 及其衍生系统,涵盖系统管理、文件操作、磁盘管理、用户管理、网络调试、安全、进程管理等多个方面。
目录
- 基本命令
- 关机与重启
- 文件和目录管理
- 文件搜索
- 挂载文件系统
- 磁盘空间管理
- 用户和群组管理
- 文件和目录权限
- 文件的特殊属性
- 打包和压缩文件
- DEB 包管理
- 查看文件内容
- 文本处理
- 字符设置和文件格式转换
- 文件系统分析
- 初始化文件系统
- SWAP 文件系统
- 备份与恢复
- 光盘操作
- 网络管理与调试
- 系统监控与性能
- 进程管理
- 硬件管理
- 安全与权限
- 日志管理
- VIM 编辑器
- 进阶工具
- 附录:常用快捷命令
- 总结
1. 基本命令
uname -m
:显示机器的处理器架构uname -r
:显示正在使用的内核版本dmidecode -q
:显示硬件系统部件 (SMBIOS / DMI)hdparm -i /dev/hda
:列出磁盘的架构特性hdparm -tT /dev/sda
:在磁盘上执行测试性读取操作arch
:显示机器的处理器架构cat /proc/cpuinfo
:显示 CPU 信息cat /proc/interrupts
:显示中断cat /proc/meminfo
:检查内存使用cat /proc/swaps
:显示哪些 swap 被使用cat /proc/version
:显示内核的版本cat /proc/net/dev
:显示网络适配器及统计cat /proc/mounts
:显示已加载的文件系统lspci -tv
:列出 PCI 设备lsusb -tv
:显示 USB 设备date
:显示系统日期cal 2007
:显示 2007 年的日历表date 041217002007.00
:设置日期和时间(格式:月日时分年.秒)clock -w
:将时间修改保存到 BIOS
2. 关机与重启
shutdown -h now
:立即关闭系统init 0
或telinit 0
:关闭系统shutdown -h hh:mm &
:按预定时间关闭系统shutdown -c
:取消按预定时间关闭系统shutdown -r now
:立即重启系统reboot
:重启系统logout
:注销当前用户
3. 文件和目录管理
导航
cd /home
:进入/home
目录cd ..
:返回上一级目录cd ../..
:返回上两级目录cd
或cd ~
:进入个人的主目录cd ~user1
:进入指定用户user1
的主目录cd -
:返回上次所在的目录pwd
:显示当前工作路径
查看目录
ls
:列出当前目录文件(不包括隐藏文件)ls -a
:列出当前目录文件(包括隐藏文件)ls -F
:列出当前目录文件,并附加文件类型标志ls -l
:显示文件和目录的详细资料ls *[0-9]*
:显示包含数字的文件名和目录名tree
:显示目录树(需安装tree
工具)
创建与删除
mkdir dir1
:创建目录dir1
mkdir dir1 dir2
:同时创建多个目录mkdir -p /tmp/dir1/dir2
:创建一个目录树rm -f file1
:强制删除文件file1
rmdir dir1
:删除空目录dir1
rm -rf dir1
:删除目录dir1
及其内容
复制与移动
mv dir1 new_dir
:重命名或移动目录mv 路径/文件 /路径/文件
:移动文件到指定路径mv file1 file2
:在当前目录下重命名文件cp file1 file2
:复制文件cp -a /tmp/dir1 .
:复制目录到当前工作目录cp -r source_dir destination_dir
:递归复制目录
链接
ln -s file1 lnk1
:创建指向文件或目录的软链接ln file1 lnk1
:创建物理链接
时间戳与类型
touch -t 0712250000 file1
:修改文件的时间戳file file1
:输出文件的 MIME 类型
编码转换
iconv -l
:列出已知的编码iconv -f fromEncoding -t toEncoding inputFile > outputFile
:转换文件编码iconv -f gbk -t utf8 $i > newfile
:转换文件内容由 GBK 到 UTF8
批量操作
find . -maxdepth 1 -name "*.jpg" -print -exec convert "{}" -resize 80x60 "thumbs/{}" \;
:批量调整文件大小(需安装 ImageMagick)
4. 文件搜索
find / -name file1
:从根目录开始搜索文件find / -user user1
:搜索属于用户user1
的文件和目录find /home/user1 -name "*.bin"
:在/home/user1
目录中搜索.bin
文件find /usr/bin -type f -atime +100
:搜索过去 100 天内未被使用过的文件find /usr/bin -type f -mtime -10
:搜索 10 天内被创建或修改的文件find / -name "*.rpm" -exec chmod 755 '{}' \;
:搜索.rpm
文件并更改权限find / -xdev -name "*.rpm"
:搜索.rpm
文件,忽略可移动设备locate "*.ps"
:使用locate
工具搜索.ps
文件(需先运行updatedb
)whereis halt
:显示halt
的位置which halt
:显示halt
命令的路径
5. 挂载文件系统
mount /dev/hda2 /mnt/hda2
:挂载/dev/hda2
到/mnt/hda2
umount /dev/hda2
:卸载/dev/hda2
fuser -km /mnt/hda2
:强制卸载磁盘(设备繁忙时)mount /dev/fd0 /mnt/floppy
:挂载软盘mount /dev/cdrom /mnt/cdrom
:挂载 CD/DVDmount /dev/hdc /mnt/cdrecorder
:挂载 CDRW/DVDmount /dev/hdb /mnt/cdrecorder
:挂载 CDRW/DVDmount -o loop file.iso /mnt/cdrom
:挂载 ISO 镜像文件mount -t vfat /dev/hda5 /mnt/hda5
:挂载 Windows FAT32 文件系统mount /dev/sda1 /mnt/usbdisk
:挂载 USB 闪存设备mount -t smbfs -o username=user,password=pass //WinClient/share /mnt/share
:挂载 Windows 网络共享
6. 磁盘空间管理
df -h
:显示已挂载的分区列表ls -lSr | more
:按尺寸大小排列文件和目录du -sh dir1
:估算目录dir1
的磁盘使用情况du -sk * | sort -rn
:按磁盘使用大小排序显示文件和目录dpkg-query -W -f='${Installed-Size}\t${Package}\n' | sort -k1,1n
:显示已安装的 DEB 包的大小free -h
:查看内存和交换空间使用情况
7. 用户和群组管理
groupadd group_name
:创建一个新用户组groupdel group_name
:删除一个用户组groupmod -n new_group_name old_group_name
:重命名一个用户组useradd -c "Name Surname" -g admin -d /home/user1 -s /bin/bash user1
:创建属于admin
用户组的用户useradd user1
:创建一个新用户userdel -r user1
:删除用户及其主目录usermod -c "User FTP" -g system -d /ftp/user1 -s /bin/nologin user1
:修改用户属性passwd user1
:修改用户的口令(需 root 权限)chage -E 2005-12-31 user1
:设置用户口令的失效期限pwck
:检查/etc/passwd
的文件格式和语法grpck
:检查群组文件格式和语法newgrp group_name
:切换至新群组
8. 文件和目录权限
ls -lh
:显示文件权限chmod ugo+rwx directory1
:设置所有用户的读、写、执行权限chmod go-rwx directory1
:删除群组和其他用户的所有权限chown user1 file1
:改变文件所有者chown -R user1 directory1
:递归改变目录及其内容的所有者chgrp group1 file1
:改变文件的群组chown user1:group1 file1
:改变文件的所有者和群组find / -perm -u+s
:列出所有使用了 SUID 位控制的文件chmod u+s /bin/file1
:设置文件的 SUID 位chmod u-s /bin/file1
:禁用文件的 SUID 位chmod g+s /home/public
:设置目录的 SGID 位chmod g-s /home/public
:禁用目录的 SGID 位chmod o+t /home/public
:设置文件的 Sticky 位chmod o-t /home/public
:禁用文件的 Sticky 位
添加或删除执行权限
chmod +x 文件路径
:为所有用户添加执行权限chmod -x 文件路径
:删除所有用户的执行权限chmod u+x 文件路径
:为所有者添加执行权限chmod g+x 文件路径
:为群组添加执行权限chmod o+x 文件路径
:为其他用户添加执行权限chmod ug+x 文件路径
:为所有者和群组添加执行权限chmod =wx 文件路径
:为所有用户添加写、执行权限,取消读权限chmod ug=wx 文件路径
:为所有者和群组添加写、执行权限,取消读权限
9. 文件的特殊属性
- 使用 “+” 设置属性,使用 “-” 取消属性:
chattr +a file1
:只允许以追加方式读写文件chattr +c file1
:允许文件被内核自动压缩/解压chattr +d file1
:在文件系统备份时忽略该文件chattr +i file1
:设置文件为不可变,不能删除、修改或重命名chattr +s file1
:允许文件被安全删除chattr +S file1
:写操作立即写入磁盘chattr +u file1
:允许删除后恢复文件
lsattr
:显示文件的特殊属性
10. 打包和压缩文件
解压缩
bunzip2 file1.bz2
:解压.bz2
文件gunzip file1.gz
:解压.gz
文件unzip file1.zip
:解压.zip
文件tar -zxvf xxx.tar.gz
:解压缩.tar.gz
文件tar -jxvf xxx.tar.bz2
:解压缩.tar.bz2
文件unrar x aaaa.rar
:解压 RAR 文件(需安装unrar
)
压缩
bzip2 file1
:压缩文件为.bz2
格式gzip file1
:压缩文件为.gz
格式gzip -9 file1
:以最高压缩率压缩文件rar a file1.rar test_file
:创建.rar
压缩包rar a file1.rar file1 file2 dir1
:同时压缩多个文件和目录
打包
tar -cvf archive.tar file1
:创建.tar
包tar -cvf archive.tar file1 file2 dir1
:创建包含多个文件和目录的.tar
包tar -cvfj archive.tar.bz2 dir1
:创建.tar.bz2
格式的压缩包tar -cvfz archive.tar.gz dir1
:创建.tar.gz
格式的压缩包zip -r file1.zip file1 file2 dir1
:递归压缩多个文件和目录zip file1.zip file1
:创建.zip
压缩包
查看与解压
tar -tf archive.tar
:查看.tar
包内容tar -xvf archive.tar
:解压.tar
包tar -xvfj archive.tar.bz2
:解压.tar.bz2
包tar -xvfz archive.tar.gz
:解压.tar.gz
包unzip file1.zip
:解压.zip
文件
其他
tar -cPzf backup.tar.gz /path/to/directory
:创建带绝对路径的压缩包tar -C /path/to/extract -xzf backup.tar.gz
:在指定目录解压压缩包
11. DEB 包管理
dpkg
命令
dpkg -i package.deb
:安装或更新 DEB 包dpkg -r package_name
:从系统删除 DEB 包dpkg -l
:列出系统中所有已安装的 DEB 包dpkg -l | grep httpd
:列出名称包含 “httpd” 的 DEB 包dpkg -s package_name
:获取已安装包的详细信息dpkg -L package_name
:列出已安装包提供的文件dpkg --contents package.deb
:列出未安装包提供的文件dpkg -S /bin/ping
:查找文件所属的 DEB 包
APT 工具
apt-get install package_name
:安装 DEB 包apt-cdrom install package_name
:从光盘安装 DEB 包apt-get update
:更新软件包列表apt-get upgrade
:升级所有已安装的软件包apt-get remove package_name
:删除 DEB 包apt-get purge package_name
:删除 DEB 包,包括配置文件apt-get autoremove
:删除系统不再使用的孤立软件apt-get clean
:清理下载的包缓存apt-get autoclean
:清理无用的软件包apt-get check
:检查依赖关系apt-cache search searched-package
:搜索软件包apt-cache show package
:获取包的相关信息,如说明、大小、版本等apt-cache depends package
:了解包的依赖apt-cache rdepends package
:查看该包被哪些包依赖apt-get build-dep package
:安装相关的编译环境apt-get source package
:下载该包的源代码
其他 APT 命令
dpkg --get-selections | grep -v deinstall > ~/somefile
:备份当前系统安装的所有包的列表dpkg --set-selections < ~/somefile && sudo dselect
:从备份的安装包列表文件恢复所有包apt-get -qq --print-uris install ssh | cut -d\' -f2
:查看包在服务器上的地址apt-cdrom add
:增加一个光盘源
12. 查看文件内容
cat file1
:查看文件内容tac file1
:反向查看文件内容more file1
:分页显示文件内容(只能向下翻页)less file1
:分页查看文件内容(支持上下翻页)head -2 file1
:查看文件的前两行tail -2 file1
:查看文件的最后两行tail -f /var/log/messages
:实时查看文件内容(适用于日志文件)od -c file1
:以八进制显示文件内容strings file1
:输出文件中的字符串内容
13. 文本处理
管道与重定向
cat file1 | command > result.txt
:将命令输出写入新文件cat file1 | command >> result.txt
:将命令输出追加到已有文件
搜索与替换
grep Aug /var/log/messages
:搜索包含 “Aug” 的行grep ^Aug /var/log/messages
:搜索以 “Aug” 开头的行grep [0-9] /var/log/messages
:搜索包含数字的行grep Aug -R /var/log/*
:递归搜索包含 “Aug” 的行sed 's/stringa1/stringa2/g' example.txt
:替换 “stringa1” 为 “stringa2”sed '/^$/d' example.txt
:删除所有空白行sed '/ *#/d; /^$/d' example.txt
:删除所有注释和空白行
字符转换
echo 'esempio' | tr '[:lower:]' '[:upper:]'
:将小写转换为大写
行处理
sed -e '1d' result.txt
:删除第一行sed -n '/stringa1/p' example.txt
:只显示包含 “stringa1” 的行sed -e 's/ *$//' example.txt
:删除每行末尾的空白字符sed -e 's/stringa1//g' example.txt
:删除 “stringa1”sed -n '1,5p;5q' example.txt
:显示前五行sed -n '5p;5q' example.txt
:显示第五行sed -e 's/00*/0/g' example.txt
:将多个零替换为单个零
列与合并
cat -n file1
:显示文件行号awk 'NR%2==1' example.txt
:显示所有奇数行echo a b c | awk '{print $1}'
:显示第一列echo a b c | awk '{print $1,$3}'
:显示第一和第三列paste file1 file2
:合并两个文件的内容paste -d '+' file1 file2
:以 “+” 分隔合并两个文件的内容
排序与唯一
sort file1 file2
:排序两个文件的内容sort file1 file2 | uniq
:去重后显示并集sort file1 file2 | uniq -u
:删除交集,显示唯一行sort file1 file2 | uniq -d
:显示交集comm -1 file1 file2
:比较两个文件,删除file1
独有的部分comm -2 file1 file2
:比较两个文件,删除file2
独有的部分comm -3 file1 file2
:比较两个文件,删除共有的部分
14. 字符设置和文件格式转换
dos2unix filedos.txt fileunix.txt
:将文件从 DOS 格式转换为 UNIX 格式unix2dos fileunix.txt filedos.txt
:将文件从 UNIX 格式转换为 DOS 格式recode ..HTML < page.txt > page.html
:将文本文件转换为 HTMLrecode -l | more
:显示所有支持的转换格式iconv -f gbk -t utf8 $i > newfile
:转换文件内容由 GBK 到 UTF8
15. 文件系统分析
badblocks -v /dev/hda1
:检查磁盘/dev/hda1
上的坏块fsck /dev/hda1
:检查并修复文件系统fsck.ext2 /dev/hda1
:检查 Ext2 文件系统e2fsck /dev/hda1
:检查 Ext2 文件系统e2fsck -j /dev/hda1
:检查 Ext3 文件系统fsck.ext3 /dev/hda1
:检查 Ext3 文件系统fsck.vfat /dev/hda1
:检查 FAT 文件系统fsck.msdos /dev/hda1
:检查 MSDOS 文件系统dosfsck /dev/hda1
:检查 DOS 文件系统
16. 初始化文件系统
mkfs /dev/hda1
:在分区/dev/hda1
创建文件系统mke2fs /dev/hda1
:创建 Ext2 文件系统mke2fs -j /dev/hda1
:创建 Ext3 文件系统mkfs -t vfat /dev/hda1
:创建 FAT32 文件系统fdformat -n /dev/fd0
:格式化软盘mkswap /dev/hda3
:创建 swap 文件系统
17. SWAP 文件系统
mkswap /dev/hda3
:创建 swap 文件系统swapon /dev/hda3
:启用 swapswapon /dev/hda2 /dev/hdb3
:同时启用多个 swap 分区swapoff /dev/hda3
:禁用 swap
18. 备份与恢复
使用 dump
和 restore
dump -0aj -f /tmp/home0.bak /home
:制作/home
目录的完整备份dump -1aj -f /tmp/home0.bak /home
:制作/home
目录的交互式备份restore -if /tmp/home0.bak
:还原交互式备份
使用 rsync
rsync -rogpav --delete /home /tmp
:同步两个目录rsync -rogpav -e ssh --delete /home user@ip_address:/tmp
:通过 SSH 同步rsync -az -e ssh --delete user@ip_addr:/home/public /home/local
:通过 SSH 和压缩同步远程目录到本地rsync -az -e ssh --delete /home/local user@ip_addr:/home/public
:通过 SSH 和压缩同步本地目录到远程
使用 dd
dd bs=1M if=/dev/hda | gzip | ssh user@ip_addr 'dd of=hda.gz'
:通过 SSH 备份本地磁盘到远程主机dd if=/dev/sda of=/tmp/file1
:备份磁盘内容到文件dd if=/dev/hda of=/dev/fd0 bs=512 count=1
:复制 MBR 到软盘dd if=/dev/fd0 of=/dev/hda bs=512 count=1
:从软盘恢复 MBR
使用 tar
tar -Puf backup.tar /home/user
:交互式备份(cd /tmp/local/ && tar c . ) | ssh -C user@ip_addr 'cd /home/share/ && tar x -p'
:通过 SSH 复制目录内容tar cf - . | (cd /tmp/backup ; tar xf - )
:本地复制目录,保留权限及链接tar -cvf backup.tar /path/to/directory
:创建备份包tar -xvf backup.tar -C /path/to/extract
:解压备份包tar -cvf archive.tar file1 file2 dir1
:创建包含多个文件和目录的.tar
包tar -cvfj archive.tar.bz2 dir1
:创建.tar.bz2
格式的压缩包tar -cvfz archive.tar.gz dir1
:创建.tar.gz
格式的压缩包tar -xvfj archive.tar.bz2
:解压.tar.bz2
包tar -xvfz archive.tar.gz
:解压.tar.gz
包tar -tf archive.tar
:查看.tar
包内容tar -xvf archive.tar
:解压.tar
包
使用 find
find /home/user1 -name '*.txt' | xargs cp -av --target-directory=/home/backup/ --parents
:查找并复制.txt
文件find /var/log -name '*.log' | tar cv --files-from=- | bzip2 > log.tar.bz2
:查找并打包.log
文件
19. 光盘操作
cdrecord -v gracetime=2 dev=/dev/cdrom -eject blank=fast -force
:清空可复写光盘mkisofs /dev/cdrom > cd.iso
:创建光盘 ISO 镜像mkisofs /dev/cdrom | gzip > cd_iso.gz
:创建并压缩光盘 ISO 镜像mkisofs -J -allow-leading-dots -R -V "Label CD" -iso-level 4 -o ./cd.iso data_cd
:创建带标签的 ISO 镜像cdrecord -v dev=/dev/cdrom cd.iso
:刻录 ISO 镜像gzip -dc cd_iso.gz | cdrecord dev=/dev/cdrom -
:解压并刻录 ISO 镜像mount -o loop cd.iso /mnt/iso
:挂载 ISO 镜像cd-paranoia -B
:转录 CD 音轨到 WAV 文件(需安装cdparanoia
)cd-paranoia -- "-3"
:转录指定音轨cdrecord --scanbus
:扫描 SCSI 总线dd if=/dev/hdc | md5sum
:校验设备的 MD5 值
20. 网络管理与调试
网络接口
ifconfig eth0
:显示以太网卡配置ifup eth0
:启用网络接口ifdown eth0
:禁用网络接口ifconfig eth0 192.168.1.1 netmask 255.255.255.0
:配置 IP 地址和子网掩码ifconfig eth0 promisc
:设置混杂模式dhclient eth0
:通过 DHCP 获取 IPip link show
:显示所有网络接口状态mii-tool eth0
:显示网络接口eth0
状态ethtool eth0
:查看和修改网络接口eth0
设置
路由
route -n
:显示路由表route add -net 0.0.0.0/0 gw IP_Gateway
:配置默认网关route add -net 192.168.0.0 netmask 255.255.0.0 gw 192.168.1.1
:配置静态路由route del default gw IP_gateway
:删除默认网关netstat -rn
:查看路由信息
主机与 DNS
hostname
:显示系统主机名host www.example.com
:查询主机名与 IPnslookup www.example.com
:查询 DNS 信息dig www.example.com
:查询 DNS 记录whois www.example.com
:查询 Whois 数据库
网络工具
ping www.example.com
:检测主机连通性traceroute www.example.com
:跟踪路由路径curl http://www.example.com
:发送 HTTP 请求wget http://www.example.com/file
:下载文件tcpdump tcp port 80
:抓取 HTTP 流量iwlist scan
:扫描无线网络iwconfig eth1
:显示无线网络接口配置netcat (nc)
:网络连接调试工具mtr
:结合了ping
和traceroute
的网络诊断工具(需安装mtr
)wireshark
:网络协议分析工具(需安装wireshark
)ss -tuln
:查看 socket 状态lsof -i
:列出打开的网络连接arping IP地址
:根据 IP 查网卡地址ifconfig eth0 | awk '/inet/ {split($2,x,":");print x[2]}'
:查看当前 IP 地址w3m -no-cookie -dump www.edu.cn | grep -o '[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}'
:查看当前外网的 IP 地址
NAT 设置
sudo echo 1 > /proc/sys/net/ipv4/ip_forward
:立即让网络支持 NATsudo iptables -t nat -I POSTROUTING -j MASQUERADE
:配置 NAT
路由信息
netstat -rn
或route -n
:查看路由信息sudo route add -net 192.168.0.0 netmask 255.255.255.0 gw 172.16.0.1
:手工增加一条路由sudo route del -net 192.168.0.0 netmask 255.255.255.0 gw 172.16.0.1
:手工删除一条路由
修改网卡 MAC 地址
sudo ifconfig eth0 down
:关闭网卡sudo ifconfig eth0 hw ether 00:AA:BB:CC:DD:EE
:修改 MAC 地址sudo ifconfig eth0 up
:启动网卡
统计 IP 连接
- 统计当前 IP 连接的个数:
netstat -na | grep ESTABLISHED | awk '{print $5}' | awk -F: '{print $1}' | sort | uniq -c | sort -r -n
netstat -na | grep SYN | awk '{print $5}' | awk -F: '{print $1}' | sort | uniq -c | sort -r -n
- 统计当前 20000 个 IP 包中大于 100 个 IP 包的 IP 地址:
tcpdump -tnn -c 20000 -i eth0 | awk -F "." '{print $1"."$2"."$3"."$4}' | sort | uniq -c | sort -nr | awk '$1 > 100'
屏蔽 IPV6
echo "blacklist ipv6" | sudo tee /etc/modprobe.d/blacklist-ipv6
21. 系统监控与性能
top
:实时显示系统任务管理器,包括 CPU、内存使用情况htop
:增强版top
,提供更友好的界面和更多功能(需安装htop
)uptime
:显示系统运行时间和负载dmesg
:查看系统启动信息及内核日志vmstat
:查看内存、交换区、IO、CPU 等统计信息free -h
:查看内存和交换空间使用情况ps aux
:列出所有运行的进程iostat
:显示 CPU 使用率和磁盘 I/O 使用情况(需安装sysstat
)mpstat
:显示多核 CPU 使用情况(需安装sysstat
)nmon
:性能监控工具,支持实时监控(需安装nmon
)watch -n 1 'df -h'
:每秒刷新一次显示磁盘使用情况sar
:系统活动报告,提供详细的 CPU、内存、磁盘等历史信息(需安装sysstat
)glances
:跨平台的系统监控工具(需安装glances
)nmon
:全面的性能监控工具(需安装nmon
)
22. 进程管理
kill <pid>
:通过进程 ID 终止进程killall <process_name>
:通过进程名称终止进程pkill <process_name>
:使用更多匹配规则终止进程nohup command &
:后台运行命令,即使关闭终端仍运行bg
:将挂起的进程放到后台fg
:将后台进程放到前台jobs
:列出当前终端的所有作业time command
:显示命令的执行时间nice
:调整进程优先级renice -n 10 -p 1234
:修改进程1234
的优先级为 10sleep <seconds>
:暂停程序执行指定秒数ps -A
:查看当前有哪些进程kill -9 <pid>
或killall -9 <process_name>
:强制杀死一个进程xkill
:图形方式中止一个程序,出现骷髅标志的鼠标,点击需要中止的程序即可
23. 硬件管理
lshw
:列出系统硬件(需 root 权限)lsblk
:显示磁盘分区信息lsusb
:列出所有 USB 设备lspci
:列出所有 PCI 设备inxi -Fx
:显示系统信息(需安装inxi
)hdparm -tT /dev/sda
:测试硬盘性能smartctl -a /dev/sda
:查看硬盘健康状况(需安装smartmontools
)sensors
:查看硬件传感器信息(需安装lm-sensors
)lsmod
:查看内核加载的模块
24. 安全与权限
chmod
:更改文件或目录的权限chown
:更改文件或目录的所有者chgrp
:更改文件或目录的所属组sudo
:以超级用户权限运行命令visudo
:编辑 sudo 配置文件setfacl
:设置文件的 ACL(访问控制列表)getfacl
:查看文件的 ACL 设置ufw
:简化的防火墙管理工具iptables
:配置 Linux 内核防火墙firewalld
:使用 firewalld 管理防火墙规则(推荐替代iptables
)chattr
:更改文件的特殊属性setenforce
:设置 SELinux 模式(需安装并配置 SELinux)selinuxenabled
:检查 SELinux 是否启用
25. 日志管理
journalctl
:查看系统日志(适用于 systemd 系统)dmesg
:查看内核和系统启动日志tail -f /var/log/syslog
:实时查看系统日志文件grep
:结合管道过滤日志内容less /var/log/syslog
:分页查看日志文件cat /var/log/auth.log
:查看认证相关日志logrotate
:管理日志文件的轮转
26. VIM 编辑器
启动与退出
vim 文件路径
:启动 Vim 编辑器:q
:退出 Vim 编辑器:wq
:保存并退出 Vim:x
:保存并退出 Vim:q!
:强制退出,不保存:w
:保存修改:set number
:显示行号:set nonumber
:隐藏行号:set syntax on
:启用语法高亮:set syntax off
:禁用语法高亮:!
:执行系统命令:sh
:切换到命令行Ctrl + D
:切换回 Vim
VIM 模式
命令模式(常规模式)
i
:在光标前插入文本a
:在光标后插入文本o
:在当前行下方插入新行dd
:删除整行yy
:复制当前行nyy
:复制 n 行p
:粘贴u
:撤销Ctrl + r
:重做r
:替换当前字符/关键字
:查找关键字
插入模式
i
:进入插入模式a
:进入插入模式(在光标后)o
:在当前行下方插入新行并进入插入模式Esc
:返回命令模式
Ex 模式
:
:进入 Ex 模式:w
:保存修改:q
:退出:wq!
:强制保存并退出:x
:保存并退出:!
:执行系统命令:sh
:切换到命令行Ctrl + D
:切换回 Vim
配置 VIM
一般设定
" 设定默认解码
set fenc=utf-8
set fencs=utf-8,usc-bom,euc-jp,gb18030,gbk,gb2312,cp936" 不要使用 vi 的键盘模式,而是 vim 自己的
set nocompatible" history 文件中需要记录的行数
set history=100" 在处理未保存或只读文件的时候,弹出确认
set confirm" 与 Windows 共享剪贴板
set clipboard+=unnamed" 侦测文件类型
filetype on
filetype plugin on
filetype indent on" 保存全局变量
set viminfo+=!" 带有如下符号的单词不要被换行分割
set iskeyword+=_,$,@,%,#,-" 语法高亮
syntax on" 高亮字符,让其不受100列限制
highlight OverLength ctermbg=red ctermfg=white guibg=red guifg=white
match OverLength '%101v.*'" 状态行颜色
highlight StatusLine guifg=SlateBlue guibg=Yellow
highlight StatusLineNC guifg=Gray guibg=White" 在状态行上显示光标所在位置的行号和列号
set ruler
set rulerformat=%20(%2*%<%f%=\ %m%r\ %3l\ %c\ %p%%%)" 命令行(在状态行下)的高度,默认为1,这里是2
set cmdheight=2" 使回格键(backspace)正常处理 indent, eol, start 等
set backspace=2" 允许 backspace 和光标键跨越行边界
set whichwrap+=<,>,h,l" 可以在 buffer 的任何地方使用鼠标(类似 Office 中在工作区双击鼠标定位)
set mouse=a
set selection=exclusive
set selectmode=mouse,key" 启动的时候不显示帮助信息
set shortmess=atI" 通过使用 :commands 命令,告诉我们文件的哪一行被改变过
set report=0" 不让 vim 发出讨厌的滴滴声
set noerrorbells" 在被分割的窗口间显示空白,便于阅读
set fillchars=vert:\ ,stl:\ ,stlnc:\
文件设置
" 不要备份文件(根据自己需要取舍)
set nobackup" 不要生成 swap 文件,当 buffer 被丢弃的时候隐藏它
setlocal noswapfile
set bufhidden=hide" 字符间插入的像素行数目
set linespace=0" 增强模式中的命令行自动完成操作
set wildmenu" 自动缩进
set autoindent
set smartindent
set cindent" 制表符设置
set tabstop=4
set softtabstop=4
set shiftwidth=4
set noexpandtab" 不要换行
set nowrap" 在行和段开始处使用制表符
set smarttab
CTags 的设定
" 按照名称排序
let Tlist_Sort_Type = "name"" 在右侧显示窗口
let Tlist_Use_Right_Window = 1" 压缩方式
let Tlist_Compart_Format = 1" 如果只有一个 buffer,kill 窗口也 kill 掉 buffer
let Tlist_Exist_OnlyWindow = 1" 不要关闭其他文件的 tags
let Tlist_File_Fold_Auto_Close = 0" 不要显示折叠树
let Tlist_Enable_Fold_Column = 0
Autocommands
" 只在下列文件类型被侦测到的时候显示行号,普通文本文件不显示
if has("autocmd")autocmd FileType xml,html,c,cs,java,perl,shell,bash,cpp,python,vim,php,ruby set numberautocmd FileType xml,html vmap
endif
27. 进阶工具
图形化工具
-
meld
:文件比较与合并工具(需安装meld
) -
inxi
:显示系统信息(需安装inxi
) -
nmon
:全面的性能监控工具(需安装nmon
) -
gnome-search-tool
:全盘搜索文件的图形化工具 -
firefox
:安装 Flash Player 插件
- 下载插件:
install_flash_player_9_linux.tar.gz
- 解压并安装:
tar -zxf install_flash_player_9_linux.tar.gz
,./flashplayer-installer
- 拷贝插件到 Firefox 插件目录:
sudo cp libflashplayer.so /usr/lib/firefox/plugins
- 下载插件:
-
filezilla
:FTP 文件传输工具,支持中文目录显示
-
安装:
sudo apt-get install filezilla
-
设置中文显示:
-
下载 FileZilla 中文包到本地目录,如
~/
-
解压:
unrar x Filezilla3_zhCN.rar
-
如果没有
unrar
,先安装:sudo apt-get install rar unrar
-
创建符号链接:
sudo ln -f /usr/bin/rar /usr/bin/unrar
-
备份原语言包并安装新语言包:
sudo cp /usr/share/locale/zh_CN/filezilla.mo /usr/share/locale/zh_CN/filezilla.mo.bak sudo cp ~/locale/zh_CN/filezilla.mo /usr/share/locale/zh_CN/filezilla.mo
-
重启 FileZilla 即可
-
-
网络工具
netcat (nc)
:网络连接调试工具mtr
:结合了ping
和traceroute
的网络诊断工具(需安装mtr
)wireshark
:网络协议分析工具(需安装wireshark
)
性能监控
htop
:增强版top
,提供更友好的界面和更多功能(需安装htop
)glances
:跨平台的系统监控工具(需安装glances
)nmon
:全面的性能监控工具(需安装nmon
)watch -n 1 'df -h'
:每秒刷新一次显示磁盘使用情况sar
:系统活动报告,提供详细的 CPU、内存、磁盘等历史信息(需安装sysstat
)
28. 附录:常用快捷命令
- 快速查找某个文件
whereis filename
find 目录 -name 文件名
- 查看文件类型
file filename
- 让
tail
不停地读取最新内容tail -n 10 -f /var/log/apache2/access.log
- 查看文件中间的行
sed -n '5,10p' /var/log/apache2/access.log
:查看第五行到第十行
- 通过 SSH 传输文件
- 上传:
scp -rp /path/filename username@remoteIP:/path
- 下载:
scp -rp username@remoteIP:/path/filename /path
- 上传:
- 查看某个文件被哪些应用程序读写
lsof 文件名
- 批量修改文件名
rename 's/.rm$/.rmvb/' *
:将所有文件的后缀由.rm
改为.rmvb
rename 'tr/A-Z/a-z/' *
:将所有文件名中的大写改为小写
- 删除特殊文件名的文件
rm -- --help.txt
或rm ./--help.txt
- 查看当前目录的子目录
ls -d */
或echo */
- 移动最近访问过的文件
find . -type f -atime -30 -exec mv {} ../back \;
:将最近 30 天访问过的文件移动到上级back
目录
- 显示最近一段时间内的文件
find . -mmin +120 -mmin -480 -exec more {} \;
:显示最近 2 小时到 8 小时之内的文件
- 删除特定条件的文件
find . -type f -mtime +30 -mtime -3600 -exec rm {} \;
:删除修改时间在 30 天之前的所有文件find . -name '*.avi' -o -name '*.rm' -user 'guest' -exec rm {} \;
:删除 guest 用户的.avi
或.rm
文件find . ! -name '*.java' ! -name '*.xml' -atime +7 -exec rm {} \;
:删除不以.java
和.xml
结尾,且 7 天未使用的文件
- 统计文件和目录
ls /usr/bin | wc -w
:统计当前文件个数ls -l /usr/bin | grep ^d | wc -l
:统计当前目录个数ls -l | grep '2006-01-01' | awk '{print $8}'
:显示 2006-01-01 创建的文件名
29. 总结
这个命令大全涵盖了常见的 Linux 系统管理、文件操作、磁盘管理、用户管理、网络调试、安全、进程管理等方面的命令。掌握这些命令能够帮助您更高效地管理和维护 Linux 系统。如果您有特定需求或需要更深入的操作,欢迎随时咨询!
注:部分命令可能需要安装额外的软件包。例如,htop
、nmon
、inxi
、meld
、tree
、sysstat
、smartmontools
、lm-sensors
等工具需通过包管理器安装。此外,某些操作需要超级用户权限(使用 sudo
)。
附加信息
常用软件安装示例
-
安装解码器、Flash Player、Java 虚拟机、微软字体
sudo apt-get install ubuntu-restricted-extras
-
安装 FileZilla FTP 工具
sudo apt-get install filezilla
-
安装 RAR 压缩和解压工具
sudo apt-get install rar unrar
-
安装媒体播放器
sudo apt-get install mplayer mozilla-mplayer totem-xine libxine-extracodecs
-
安装下载工具(多线程下载、BT下载、电驴)
sudo apt-get install d4x amule azureus
-
安装文件名编码转换工具
sudo apt-get install convmv
-
安装 MP3 标签编码转换工具
sudo apt-get install python-mutagen
-
安装控制台中文显示工具
sudo apt-get install zhcon
-
安装支持 QT 的 scim 插件以在 Eva 中输入中文
sudo apt-get install scim-qtimm
-
安装 Beryl 桌面效果
sudo apt-get install beryl-core beryl-plugins beryl-plugins-data emerald beryl-settings beryl-manager beryl beryl-dev emerald-themes
-
安装硬件传感器信息查看工具
sudo apt-get install lm-sensors
-
安装硬盘健康状况查看工具
sudo apt-get install smartmontools
-
安装系统信息查看工具
sudo apt-get install inxi
-
安装性能监控工具
sudo apt-get install nmon
-
安装系统统计工具(包含
iostat
、mpstat
、sar
等)sudo apt-get install sysstat
-
安装完整版本的 Vim 编辑器
sudo apt-get install vim-full
-
安装 GNOME 全盘搜索工具
sudo apt-get install gnome-search-tool
-
安装图形化文件比较工具
sudo apt-get install meld
相关文章:
Debian常用命令
以下是完整的 Linux 命令大全,适用于 Debian、Ubuntu 及其衍生系统,涵盖系统管理、文件操作、磁盘管理、用户管理、网络调试、安全、进程管理等多个方面。 目录 基本命令关机与重启文件和目录管理文件搜索挂载文件系统磁盘空间管理用户和群组管理文件和…...
【FFmpeg】FLV 格式分析 ③ ( Tag Body 数据块体结构 - Vedio Data 视频数据 )
文章目录 一、Tag Body 数据块体结构 - Video Data 视频数据1、Vedio Data 视频数据 类型标识2、Vedio Data 视频数据 结构分析3、Composition Time Offset 字段涉及的时间计算4、AVC Packet Type 字段说明① AVC Sequence Header 类型② AVC NALU 类型③ AVC End of Sequence …...
开源鸿蒙开发者社区记录
lava鸿蒙社区可提问 Laval社区 开源鸿蒙项目 OpenHarmony 开源鸿蒙开发者论坛 OpenHarmony 开源鸿蒙开发者论坛...
MinIO的安装与使用
目录 1、安装MinIO 1.1 下载 MinIO 可执行文件 1.2 检查 MinIO 是否安装成功 1.3 设置数据存储目录 1.4 配置环境变量(可选) 1.5 编写启动的脚本 1.6 开放端口 1.7 访问 2、项目实战 2.1 引入依赖 2.2 配置yml文件 2.3 编写Minio配置类 2.4…...
【分布式日志篇】从工具选型到实战部署:全面解析日志采集与管理路径
网罗开发 (小红书、快手、视频号同名) 大家好,我是 展菲,目前在上市企业从事人工智能项目研发管理工作,平时热衷于分享各种编程领域的软硬技能知识以及前沿技术,包括iOS、前端、Harmony OS、Java、Python等…...
Spring Boot/MVC
一、Spring Boot的创建 1.Spring Boot简化Spring程序的开发,使用注解和配置的方式开发 springboot内置了tomact服务器 tomact:web服务器,默认端口号8080,所以访问程序使用8080 src/main/java:Java源代码 src/main/resource:静态资源或配置文件,存放前端代码(js,css,html) s…...
uni-app连接EventSource
前言 uniapp默认是不支持event-source,这里是借助renderjs进行SSE连接 正文 引入event-source-polyfill 这里演示的是直接将代码下载到本地进行引入 下载地址 把里面的eventsource.min.js文件放到项目中的static文件夹 项目封装event-source.vue组件 <templ…...
[SCTF2019]babyre
[SCTF2019]babyre 一、查壳 无壳,64位 二、IDA分析 1.没有main,那就shifef12 点击: 再进: 都是花指令,所以要先解决花指令 三、解决花指令,得到完整的 main 往上面翻,注意看爆红的&#x…...
简洁实用的wordpress外贸模板
简洁、实用、大气的wordpress外贸模板,适合跨境电商搭建外贸B2B产品展示型网站。 简洁实用的wordpress外贸模板 - 简站WordPress主题简洁、实用、大气的wordpress外贸模板,适合跨境电商搭建外贸B2B产品展示型网站。https://www.jianzhanpress.com/?p828…...
每日一题 414. 第三大的数
414. 第三大的数 简单 class Solution { public:int thirdMax(vector<int>& nums) {int n nums.size();long first , second,third;first second third LONG_MIN ;bool find false;for(auto num : nums){if(num > first){ third second;second first…...
TVM框架学习笔记
TVM是陈天齐等人一个开源的深度学习编译器栈,用于优化和部署机器学习模型到各种硬件后端。它支持多种前端框架,如TensorFlow、PyTorch、ONNX等,并且可以在不同的硬件平台上运行,包括CPU、GPU和专用加速器。官方文档: Apache TVM Documentation — tvm 0.20.dev0 documenta…...
Codeforces Round 998 (Div. 3)
文章目录 EF E 原题链接 思路: 题目要求对于 G 中存在路径的两个点,在 F 中也必须存在路径,不是两个点存在直连的边。 两个点存在路径,说明俩个点在同一个连通块。我们用并查集来维护图的连通块。 最终的要求就是把 F 的并查集通…...
Vue.js 渐进式增强:如何逐步为传统项目注入活力
Vue.js 是一个渐进式框架,这意味着你可以将它逐步引入到现有项目中,而无需彻底重构。渐进式增强特别适合那些已经在使用传统服务器渲染框架(如 PHP、Django、Laravel)的项目,为它们增加动态交互功能。本篇教程将介绍如…...
【算法】经典博弈论问题——巴什博弈 python
目录 前言巴什博弈(Bash Game)小试牛刀PN分析实战检验总结 前言 博弈类问题大致分为: 公平组合游戏、非公平组合游戏(绝大多数的棋类游戏)和 反常游戏 巴什博弈(Bash Game) 一共有n颗石子,两个人轮流拿,每次可以拿1~m颗…...
【技术洞察】2024科技绘卷:浪潮、突破、未来
涌动与突破 2024年,科技的浪潮汹涌澎湃,人工智能、量子计算、脑机接口等前沿技术如同璀璨星辰,方便了大家的日常生活,也照亮了人类未来的道路。这一年,科技的突破与创新不断刷新着人们对未来的想象。那么回顾2024年的科…...
【0x06】HCI_Authentication_Complete事件详解
目录 一、事件概述 二、事件格式及参数 2.1. HCI_Authentication_Complete事件格式 2.2. Status 2.3. Connection_Handle 三、事件的生成于处理 3.1. 事件生成 3.2. 认证流程 3.2.1. 发送认证请求 3.2.2. 处理流程 3.2.3. 示例代码 四、应用场景 4.1. 设备配对与连…...
JS-Web API -day03
一、事件流 1.1 事件流与两个阶段说明 事件流 指的是事件完整执行过程中的流动路径 假设页面有个div标签,当触发事件时,会经历两个阶段,分别是捕获阶段、冒泡阶段 捕获阶段:Document - Element html - Elementbody - Element div…...
电子应用设计方案103:智能家庭AI浴缸系统设计
智能家庭 AI 浴缸系统设计 一、引言 智能家庭 AI 浴缸系统旨在为用户提供更加舒适、便捷和个性化的沐浴体验,融合了人工智能技术和先进的水疗功能。 二、系统概述 1. 系统目标 - 实现水温、水位和水流的精确控制。 - 提供多种按摩模式和水疗功能。 - 具备智能清洁…...
linux静态库+嵌套makefile
linux静态库嵌套makefile 文章目录 linux静态库嵌套makefile1、概述2、代码结构3、代码1)main.c2)主makefile3)fun.c4)func.h5)静态库makefile 4、运行效果1)在main.c目录下执行make2)到output目…...
AIP-127 HTTP和gRPC转码
编号127原文链接AIP-127: HTTP and gRPC Transcoding状态批准创建日期2019-08-22更新日期2019-08-22 遵守面向资源设计的API使用RPC进行定义,但面向资源设计框架允许这些API表现为整体上符合REST/JSON约定的接口。这一点很重要,可以帮助开发者利用现有知…...
代码随想录算法训练营day32
代码随想录算法训练营 —day32 文章目录 代码随想录算法训练营前言一、动态规划理论基础二、509. 斐波那契数动态规划动态规划优化空间版递归法 三、70. 爬楼梯动态规划动态规划空间优化 746. 使用最小花费爬楼梯动态规划空间优化 总结 前言 今天是算法营的第32天,…...
设计模式的艺术-开闭原则
原则使用频率图(仅供参考) 1.如何理解开闭原则 简单来说,开闭原则指的是 “对扩展开放,对修改关闭”。 当软件系统需要增加新的功能时,应该通过扩展现有代码的方式来实现,而不是去修改已有的代码。 例如我…...
【易康eCognition实验教程】003:点云数据加载浏览与操作详解
文章目录 一、加载并创建点云数据二、三维浏览1. 点云模式2. 点云视图设置 三、使用点云 一、加载并创建点云数据 本实验点云数据位于专栏配套实验数据包中的data003.rar中的terrian.las,解压后进行以下实验操作。 打开ecognition软件,点击【File】→【…...
海外雅思备考经验
1.18号斯图雅思考试 第一次考雅思,第一次在国外考雅思! 最近在德国斯图加特联培,报考了1月18号的雅思机考,下面分享一些考试经验. ✌️考试地点 EZ Plus WEST Hasenbergstr. 31/1,, in the backyard of Hasenbergstrae 31, Stuttg…...
Oracle之Merge into函数使用
Merge into函数为Oracle 9i添加的语法,用来合并update和insert语句。所以也经常用于update语句的查询优化: 一、语法格式: merge into A using B on (A.a B.a) --注意on后面带括号,且不能更新join的字段 when matched then upd…...
Spring Boot 自定义属性
Spring Boot 自定义属性 在 Spring Boot 应用程序中,application.yml 是一个常用的配置文件格式。它允许我们以层次化的方式组织配置信息,并且比传统的 .properties 文件更加直观。 本文将介绍如何在 Spring Boot 中读取和使用 application.yml 中的配…...
前端面试题-问答篇-5万字!
1. 请描述CSS中的层叠(Cascade)和继承(Inheritance)规则,以及它们在实际开发中的应用。 在CSS中,层叠(Cascade)和继承(Inheritance)是两个关键的规则&#x…...
2025年1月21日(树莓派点亮呼吸灯第一次修改)
系统信息: Raspberry Pi Zero 2W 系统版本: 2024-10-22-raspios-bullseye-armhf Python 版本:Python 3.9.2 已安装 pip3 支持拍摄 1080p 30 (1092*1080), 720p 60 (1280*720), 60/90 (640*480) 已安装 vim 已安装 git 学习目标:…...
【Linux网络编程】传输层协议
目录 一,传输层的介绍 二,UDP协议 2-1,UDP的特点 2-2,UDP协议端格式 三,TCP协议 3-1,TCP报文格式 3-2,TCP三次握手 3-3,TCP四次挥手 3-4,滑动窗口 3-5…...
JavaScript系列(41)--状态管理实现详解
JavaScript状态管理实现详解 🔄 今天,让我们深入探讨JavaScript的状态管理实现。状态管理是现代前端应用中的核心概念,它帮助我们有效地管理和同步应用数据。 状态管理基础概念 🌟 💡 小知识:状态管理是一…...
flume和kafka整合 flume和kafka为什么一起用?
Flume和Kafka一起使用的主要原因是为了实现高效、可靠的数据采集和实时处理。12 实时流式日志处理的需求 Flume和Kafka结合使用的主要目的是为了完成实时流式的日志处理。Flume负责数据的采集和传输,而Kafka则作为消息缓存队列,能够有效地缓冲数据,防止数据堆积或丢…...
【深度学习】 自动微分
自动微分 正如上节所说,求导是几乎所有深度学习优化算法的关键步骤。 虽然求导的计算很简单,只需要一些基本的微积分。 但对于复杂的模型,手工进行更新是一件很痛苦的事情(而且经常容易出错)。 深度学习框架通过自动…...
什么是三高架构?
大家好,我是锋哥。今天分享关于【什么是三高架构?】面试题。希望对大家有帮助; 什么是三高架构? 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 “三高架构”通常是指高可用性(High Availability)、高性能ÿ…...
IOS 自定义代理协议Delegate
QuestionViewCell.h文件代码,定义代理协议 protocol QuestionViewCellDelegate <NSObject>- (void)cellIsOpenDidChangeAtIndexPath:(NSIndexPath *)indexPath;endinterface QuestionViewCell : UITableViewCellproperty (nonatomic, weak) id<QuestionVi…...
【flutter版本升级】【Nativeshell适配】nativeshell需要做哪些更改
flutter 从3.13.9 升级:3.27.2 nativeshell组合库中的 1、nativeshell_build库替换为github上的最新代码 可以解决两个问题: 一个是arg("--ExtraFrontEndOptions--no-sound-null-safety") 在新版flutter中这个构建参数不支持了导致的build错误…...
C#编程:List.ForEach与foreach循环的深度对比
在C#中,List<T>.ForEach 方法和传统的 foreach 循环都用于遍历列表中的元素并对每个元素执行操作,但它们之间有一些关键的区别。 List<T>.ForEach 方法 方法签名:public void ForEach(Action<T> action)类型:…...
leetcode_2762. 不间断子数组
2762. 不间断子数组 - 力扣(LeetCode) 运用滑动窗口和multise(平衡二叉树实现) 符合条件 右窗口向右扩展 不符合条件 左窗口向左扩展 class Solution { public:long long continuousSubarrays(vector<int>& nums) {int max, min; //表示窗…...
Java学习教程,从入门到精通,JDBC创建数据库语法知识点及案例代码(99)
JDBC创建数据库语法知识点及案例代码 一、JDBC创建数据库语法 在JDBC中,创建数据库主要通过执行SQL语句来实现。其基本语法如下: CREATE DATABASE database_name;CREATE DATABASE 是固定的SQL语句关键字,用于指定创建数据库的操作。databa…...
进阶——第十六届蓝桥杯(sscanf的运用)
声明变量 char tx_buf[30];char rx_buf[30];char car_type[5];char car_num[5];char car_time[15]; int sscanf(const char *str, const char *format,...); sscanf函数功能 sscanf 函数从字符串 str 中读取数据,根据 format 所指定的格式将数据存储到后续的变量中…...
嵌入式硬件篇---ADC模拟-数字转换
文章目录 前言第一部分:STM32 ADC的主要特点1.分辨率2.多通道3.转换模式4.转换速度5.触发源6.数据对齐7.温度传感器和Vrefint通道 第二部分:STM32 ADC的工作流程:1.配置ADC2.启动ADC转换 第三部分:ADC转化1.抽样2.量化3.编码 第四…...
Spark Streaming编程基础
文章目录 1. 流式词频统计1.1 Spark Streaming编程步骤1.2 流式词频统计项目1.2.1 创建项目1.2.2 添加项目依赖1.2.3 修改源目录1.2.4 添加scala-sdk库1.2.5 创建日志属性文件 1.3 创建词频统计对象1.4 利用nc发送数据1.5 启动应用,查看结果 2. 编程模型的基本概念3…...
android wifi AsyncChannel(WifiManager和WifiP2pManager)
AynscChannel的讲解 [Android]AsyncChannel介绍-CSDN博客 WifiP2pManager里的channel的使用理解 WifiP2pManager.java public void createGroup(Channel c, ActionListener listener) {checkChannel(c);c.mAsyncChannel.sendMessage(CREATE_GROUP, WifiP2pGroup.NETWORK_ID_PE…...
生存网络与mlr3proba
在R语言中,mlr3包是一个用于机器学习的强大工具包。它提供了一种简单且灵活的方式来执行超参数调整。 生存网络是一种用于生存分析的模型,常用在医学和生物学领域。生存分析是一种统计方法,用于研究事件发生的时间和相关因素对事件发生的影响。生存网络可以用来预测个体在给…...
C#Object类型的索引,序列化和反序列化
前言 最近在编写一篇关于标准Mes接口框架的文章。其中有一个非常需要考究的内容时如果实现数据灵活和可使用性强。因为考虑数据灵活性,所以我一开始选取了Object类型作为数据类型,Object作为数据Value字段,String作为数据Key字段,…...
【动态规划】记忆化搜索
Ban or Problem - A - Codeforces 【CCPC】2022年绵阳站部分题解(ACGM)_ban or pick, whats the trick-CSDN博客 #include<iostream> using namespace std; #include<cstring> #include<algorithm> #define inf -0x3f3f3f3f #defi…...
深度学习 DAY1:RNN 神经网络及其变体网络(LSTM、GRU)
实验介绍 RNN 网络是一种基础的多层反馈神经网络,该神经网络的节点定向连接成环,其内部状态可以展示动态时序行为。相比于前馈神经网络,该网络内部具有很强的记忆性,它可以利用它内部的记忆来处理任意时序的输入序列,…...
BW复制ERP数据源跑程序激活后才可见
场景: BW提取ERP数据走ODP通道之后,数据源需要用下列程序激活加入白名单后才能被BW系统访问到; 检查: 1、RSA6检查数据源是否可正常使用,若为绿√表示可正常访问,反之,则不行。 2、白名单表ROO…...
MarsCode青训营打卡Day10(2025年1月23日)|稀土掘金-147.寻找独一无二的糖葫芦串、119.游戏队友搜索
资源引用: 147.寻找独一无二的糖葫芦串 119.游戏队友搜索 今日小记: 回乡聚会陪家人,休息一天~ 稀土掘金-147.寻找独一无二的糖葫芦串(147.寻找独一无二的糖葫芦串) 题目分析: 给定n个长度为m的字符串表…...
无人机 PX4 飞控 | PX4源码添加自定义参数方法并用QGC显示与调整
无人机 PX4 飞控 | PX4源码添加自定义参数方法并用QGC显示与调整 0 前言 之前文章添加了一个自定义的模块,本篇文章在之前的自定义模块中,添加两个自定义参数 使用QGC显示出来,并通过QGC调整参数值,代码实现参数更新 新增的参…...
【全栈】SprintBoot+vue3迷你商城-扩展:vue3项目创建及目录介绍
【全栈】SprintBootvue3迷你商城-扩展:vue3项目创建及目录介绍 往期的文章都在这里啦,大家有兴趣可以看一下 【全栈】SprintBootvue3迷你商城(1) 【全栈】SprintBootvue3迷你商城(2) 【全栈】SprintBootvu…...