当前位置: 首页 > news >正文

与终端同居日记:Linux指令の进阶撩拨手册

前情提要:

当你和终端的关系从「早安打卡」进阶到「深夜代码同居」,那些曾经高冷的指令开始展露致命の反差萌——

  • man 是那个永远在线的钢铁直男说明书,只会说:"想懂我?自己看文档!"(但你不得不承认,他的确随叫随到)

  • mv 像极了热衷搬家的前任,能把你的青春回忆从 /home/初恋 一键转移到 /tmp/心碎回收站

  • nano 是初恋记事本,虽然功能朴素,但总在 Ctrl+X 时温柔问你:"要保存这份心动吗?"


本季同居守则

1. 暧昧期必杀技:指令界的「情感翻译官」
  • echo "今晚月色真美" > 告白.txt

    • 直男式浪漫:用重定向符 > 把心跳声写入文本(副作用:覆盖式表白可能引发 IOError: 已读不回

  • cat 日记.log | grep "crush"

    • 在百万行的生活日志里,精准捕捞那个TA出现的瞬间(警告:可能挖出黑历史导致 段错误

2. 危险关系の艺术:文件界的「替身文学」
  • cp -r 前任/ 新欢/ --小心心备份=all

    • 海王の觉悟:用递归复制保留所有纪念品(但 diff 会无情揭穿:"新欢和前任的md5一模一样!")

  • which python

    • 鉴渣神器:查清那个口口声声说只爱你一人的Python,到底在 /usr/bin 藏了多少个版本备胎

3. 终极灵魂拷问:当指令学会PUA
  • man 爱情

    • 系统冷冰冰地提示:No manual entry for 爱情(但偷偷用 apropos 心动 能搜到隐藏章节)

  • sudo rm -rf 犹豫/

    • 用管理员权限删除所有迟疑(副作用:可能误删 /未来/承诺 目录)


新手指南:同居必备神器

  • nano 分手信.txt

    • 用最朴素的编辑器写下最痛的句子(若手抖按了 Ctrl+S,请速用 mv 分手信.txt /dev/null 撤回)

  • man 7 恋爱哲学

    • 隐藏章节揭示真理:

      爱情 ≈ 管道符 |   
      你的输出必须是我的输入  
      但永远不要用 > 覆盖对方的灵魂  

现在,深呼吸 在终端敲下这封加密情书

echo "SSBsb3ZlIHlvdSAK" | base64 -d  

让Linux告诉你—— 有些指令不需要手册,因为心跳的源码早已开源 💻💓

1.man指令

1.1.man指令是什么:Linux的百科知识全书

        可能当很多小伙伴看到这个指令名字的时候,脑袋里会浮现出那个男人的身影,并且会想起一个当今比较热门的梗:man!当然,这个指令和这些可是没有任何关系,man指令可以说是一个比较热门的指令,因为我们会在学习Linux的时候多次使用到它,它其实就是一个Linux的知识百科全书。

1.2.man指令的用法:一看就懂

        man指令的语法很简单,首先我们想要可以用man指令查man指令的用法,它的语法如下:

man man  #这样就可以知道man的用法

        这里就可以看到上面显示的man函数的功能,其实它的核心主要是在中间的部分,就是数字对应的部分,每一个数字代表着它所含有的工作,这里小编就给大家搜索了相关的资料,告知各位这些数字代表的含义:

章节号内容类型示例命令
1用户命令(普通用户可执行)man 1 ls
2系统调用man 2 fork
3C 库函数man 3 malloc
4设备文件和特殊文件man 4 null(/dev/null 设备)
5配置文件格式man 5 fstab
6游戏和屏保程序man 6 tetris
7杂项(协议、文件系统等)man 7 tcp
8系统管理命令(需 root 权限)man 8 iptables
9内核相关文档man 9 syscalls

        上面就是对于man函数的使用,各位读者以后遇到函数不会用的问题,完全可以通过man函数来帮助我们相关函数的查找,而不用再去一些平台找相关的解释了。

1.3.man指令可能出现的错误

        在我们使用man函数的时候,我们可能想要使用man 3 printf的指令,可能部分读者无法使用这个功能,这是因为部分云服务器删减了不少内容,这个手册相关的内容也进行了删除(因为保证功能太多而浪费掉),所以可以用下面这个指令把这个手册下回来:

yum install -y man-pages  #这样就可以使用3的功能了

2.echo指令

1.echo:Linux 界的「复读机」,但比鹦鹉靠谱!

        echo指令实际上算是Linux中最没有“存在感”但确实常常被使用的指令了,因为它的功能实际上是很简单的,它的名字听起来像在说:「欸,我在呢!」(Echo:回音),但它的真实身份其实是命令行界的复读机。它的任务很简单:你喂它什么,它就吐什么。但别小看它!这货可是隐藏了无数骚操作的宝藏工具(就比如之后让我难受好几天的重定向操作)。

2.echo的用法:比"hello world"还简单

        它的用法很经典,如果你给它说:

echo "我是以后的技术大佬!" #这个引号可以不加,纯纯的写C++习惯了,看到个字符串默认""

它给你回:

3.高级玩法:echo の 魔法时刻

1. 自带弹幕特效(颜色和格式)

        想让终端输出五彩斑斓的黑?加个「魔法参数」-e 就能解锁转义符!

echo -e "\033[31m红色警告:\033[0m 你的咖啡已空!"

        效果:


2. 制造混乱(生成奇葩文件)

        想快速创建一个文件并写入内容?

echo "老板说要写周报,但我觉得他在画饼" > weekly_report.txt

> 表示把输出重定向到文件,相当于让 echo 当秘书帮你写文档。关于重定向,我以后会详细说说这玩意,难度还是不小的,在大约我讲到文件的部分时,我会进行一个重定向代码的书写)


3. 哲学の质问(输出变量)

        Linux 有很多自带「人生哲理」变量,比如 $USER(你是谁)、$HOME(你家在哪):

echo "你是 $USER,此刻正躲在 $HOME 里摸鱼。" #这些其实就是后来我会讲的环境变量
你是 alice,此刻正躲在 /home/alice 里摸鱼。

(扎心了,echo。)


4. 无声胜有声(不换行输出)

        默认 echo 会在结尾加个换行符,像个礼貌的客服。但如果你想当个「叛逆青年」,用 -n 参数让它闭嘴:

echo -n "正在加载……"
sleep 2
echo "加载了个寂寞!"

        效果:两句话会连在一起,假装在加载(实则摸鱼)。


echo 的冷知识
  • 「我到底说了啥?」 如果输入 echo *,它会列出当前目录所有文件(因为 * 被 Shell 先解析了)。 如果想原样输出 *,请用单引号:echo '*'(单引号是「封印」,防止 Shell 搞事)。

  • 「Windows 用户别学我!」 Windows 的 echo 是另一个物种,比如 echo %PATH%,但功能远不如 Linux 的优雅。(手动狗头)


总结:echo 的「人生信条」
echo "人生苦短,我用 echo。"

        简单、直接、不废话——这就是 echo 的极客哲学。下次写脚本时,记得让这个「复读机」帮你喊话、写文件、甚至假装在工作!(老板看不到的,放心。)

3.cat指令

3.1.cat:Linux 界的「文件魔术师」,但比你家猫还好奇!

        它的全名是 concatenate(拼接),但别被这名字吓到,它其实是文件界的瑞士军刀。任务就一条:把文件内容「喵」给你看!但它不仅能看文件,还能玩拼接、装高冷、甚至倒放人生……(误)

3.2.基础用法:喵星人的偷窥欲

        如果你对它说:

cat 日记.txt  #假设文件里面有内容

        它会立刻把文件内容摊在屏幕上:

2023年10月1日:今天学会了用cat,感觉自己像个黑客!

3.3.高级玩法:cat の 九条命

1.合并文件的魔法(文件拼接)

        想合并两个文件?cat 表示:「给我两片小鱼干(文件),还你一条大鱼!」

2023年10月1日:今天学会了用cat,感觉自己像个黑客!

> 表示把合并结果存到新文件,建议别轻易尝试合并「前半生」和「后半生」,容易引发哲学危机。)

2.高冷模式(显示行号)

        想让 cat 装高冷学霸?加 -n 参数,连行号都给你标好!

cat -n 代码.c

        输出:

1  #include <摸鱼.h>  //开个玩笑的~头文件要好好的写哦~
2  int main() {
3      printf("世界你好,但我不想动!");
4  }

(行号暴露了你代码里的摸鱼痕迹……)

3.倒放人生(反向输出)

        哦不,是反向输出!用 tac(cat 倒过来)指令:

tac 日记.txt

        输出:

2023年10月1日:今天学会了用cat,感觉自己像个黑客!

        看起来没变化?因为这日记只有一行……建议写长点再试!)

4.无中生有(快速创建文件)

        懒人必备!用 cat 直接键盘输入内容:

cat > 紧急备忘录.txt << EOF
1. 买咖啡
2. 假装在工作
3. 用cat查看老板的日程(划掉)
EOF

(按 Ctrl+D 保存,深藏功与名。)

cat 的冷知识
  • 「别拿我当铲屎官!」cat 查看超大文件(比如日志)时,它会一口气全吐出来,屏幕直接滚成瀑布!【所以我一般不推荐使用cat指令查看大型的文件,不然有你好果汁吃,嘻嘻~】 此时请用 lessmore 指令,比如 less 巨型日志.log(猫表示:「我累了,换人!」)。【本来想讲这部分的,但我偷个懒,就不写了】

  • 「我和狗(dog)有什么关系?」 有人觉得 cat 不够酷,于是写了 dog 指令(彩色输出+语法高亮),但记住:狗是猫的加强版,但猫才是原配!【原配抵不过天降,总觉着哪里不对】

  • 「我是管道工的好朋友!」 cat 常和其他指令「勾搭」干活,比如:

    cat 日志.log | grep "error"  # 过滤所有报错(摸鱼时快速甩锅用)

总结:cat 的「喵生信条」

cat << EOF
猫有九条命,
cat 有九种用法。
—— 但第九种通常是老板没教你的那个!
EOF

        简单、灵活、好奇心爆棚——这就是 cat 的极客精神。下次遇到文件时,记得召唤这只「好奇猫」,但别让它看到你的浏览器历史记录!(手动狗头)

4.cp指令

4.1.cp:Linux 界的「文件快递员」,但比搬家小哥更怕丢件!

   cp,全称 copy(复制),它的任务看似简单——把文件从A地搬到B地,但这位「文件快递员」的职业生涯充满了血泪史:

  • 搞丢文件? 当场失业!

  • 覆盖文件? 用户暴走!

  • 忘记参数? 直接emo……

        但别慌,学会以下技巧,你就是它的金牌老板!

4.2.基础用法:复制粘贴,但不用Ctrl键

        如果你对 cp 说:

cp 老板的废话.txt 我的脑子/    #要复制的文件到指定的目录下,此时就要结合之前学的目录相关的知识(^U^)ノ~YO

        它会默默把文件复制到指定目录,深藏功与名:

我的脑子/  └── 老板的废话.txt  

(但请注意:你的脑子可能会选择性拒绝接收该文件!)

4.3.高级玩法:cp の 反卷指南

1.暴力搬家(覆盖文件不提醒)

        默认 cp 会静默覆盖同名文件,像极了半夜偷偷改代码的你:

cp 摸鱼攻略.txt 工作日报.txt  # 危险动作,请勿模仿!  这样可能会酿成大错哦~~

        (第二天:老板:「你的日报为什么写着『如何伪装编译错误』?」)

2.求生欲模式(覆盖前询问)

        怕手滑?加 -i 参数让 cp 变成「纠结狂魔」:

cp -i 旧简历.txt 新简历.txt  

        输出:

cp: overwrite '新简历.txt'? (你丫想好了再按!)  

(此时建议输入 n 并火速删除旧简历中的「精通一切」字样。)

3.抄家式复制(递归复制文件夹)

        想复制整个文件夹?加 -r 参数,让 cp 化身「抄家大队长」:

cp -r 我的黑历史/ 备份硬盘/  # 建议加密后再操作  ,就比如后面我会讲述的文件以及目录的权限

(注:-r 表示递归,适用于文件夹。如果失败,可能是你的黑历史太重了……)

4.强制式复制(强行复制文件or目录)

        想要强制复制整个文件夹?加 -f 参数,让 cp 化身「强拆大队长」:

cp -f 我的白历史/ 公司公共资源/  #建议自信后才这么做,不然文件是第一天发的,班是第二天辞的~
5.戏精附体(显示复制的详情)

        加 -v 参数,让 cp 实时播报搬家进度:

cp -v 猫片.jpg 狗片.jpg /表情包/  

        输出:

'猫片.jpg' -> '/表情包/猫片.jpg'  
'狗片.jpg' -> '/表情包/狗片.jpg'  

(仿佛听到 cp 在喊:「搬完啦!求打赏小鱼干!」)

4.4.cp 的冷知识

  • 「我是时间管理大师!」

    -u 参数,只有源文件比目标新时才复制:

    cp -u 我的努力.txt 老板的眼里/  # 如果老板没发现,就不更新!  
  • 「我比Ctrl+C更正经!」

    cp 会保留文件权限和修改时间(除非用 -p 参数故意不保留)。 而 Windows 的复制?呵,连权限都能搞丢。(再次手动狗头)

  • 「毁灭性操作:复制到黑洞」

    永远别尝试 cp * ~/(复制所有文件到家目录),除非你想体验「文件雪崩」的绝望!

总结:cp の 生存法则

cp -i 勇气 智商 经验  # 覆盖人生前请三思!  

        快、准、狠——这是 cp 的职业素养,但请记住:「比猫咪打翻水杯更可怕的,是手滑的 cp 指令!」

5.mv指令

5.1.mv:Linux 界的「文件忍者」,但比魔术师更会玩消失!

   mv,全称 move(移动),它看似是个「搬家工人」,实则是文件界的变形金刚——能移动、能重命名,甚至能「偷天换日」覆盖文件!但小心,它的座右铭是:「我搬过的文件,连原址都不敢回忆!」

5.2.基础用法:文件瞬移术

1.普通搬家(移动文件)

        如果你对 mv 说:

mv 摸鱼计划.txt 老板看不见的角落/  

        它会瞬间把文件挪走,仿佛从未存在过:

老板看不见的角落/  └── 摸鱼计划.txt  

(注:老板的视力通常与该文件夹的路径成反比。)

2.原地变身(重命名文件)

        想让文件「换马甲」?直接给新名字就行!

mv 离职申请.txt 年度奋进计划.txt  # 职场生存必备技能  

(第二天:老板:「这份计划书怎么透着一股悲壮的气息?」)

5.3.高级玩法:mv の 暗黑艺术

1.静默覆盖(危险の美学)

        默认 mv 会直接覆盖同名文件,像极了删你代码还没 git commit 的同事:

mv 新数据.csv 旧数据.csv  # 旧数据:我当时害怕极了……  

(后果:你可能需要连夜跑路。)

2.求生模式(覆盖前询问)

        加 -i 参数,让 mv 变成「碎碎念狂魔」:

mv -i 我的黑历史.zip 云备份/  

        输出:

mv: overwrite '云备份/我的黑历史.zip'? (你确定云盘不会泄露吗?)  

(建议:输入 n,然后买个硬盘埋后院。)

3.暴力搬家公司(移动整个文件夹)

        和 cp 不同,mv 搬文件夹不用加参数,直接干!(有一次有人问我mv指令需不需要用-rf,我还傻呵呵的给他说必须用,结果他用了半天没用出来,最后还是我复习了之前的知识才想起来这件事)

mv 陈年旧代码/ 回收站/  # 表面风轻云淡,内心慌得一批  

(注:如果 回收站/ 不存在,陈年旧代码/ 会改名为 回收站……建议提前买保险。)

4.戏精模式(显示搬运动作)

        加 -v 参数,让 mv 实时播报:

mv -v 老板的丑照.jpg 加密保险箱/  

        输出:

'老板的丑照.jpg' -> '加密保险箱/老板的丑照.jpg'  

(仿佛听到 mv 说:「已安全转移,人质……啊不,文件平安!」)

5.4.mv的冷知识

  • 「我和 cp 是塑料兄弟!」 mv 的真相:如果目标在同一磁盘,它只是改个路径(瞬间完成); 如果跨磁盘,它其实是「复制+删除」,慢得像在搬砖!(此时不如直接用 cp

  • 「我比删除键更可怕!」mv 把文件移到不存在的路径,文件会直接「被改名」:

    mv 重要文件.txt /不存在的路径/  # 文件会改名为「不存在的路径」……祝你好运!  
  • 「我能让文件『社死』!」mv 隐藏文件(加前缀 .):

    mv 摸鱼笔记.txt .摸鱼笔记.txt  # 现在只有 `ls -a` 能看见它了,或者是'la'选项才可以看见哦~  

    (适用于「假装在工作」高级玩家。)

5.5.总结:mvの忍者信条

mv 过去 未来  # 过去的错误,就扔到未来的回收站吧!  

        快、准、狠——这是 mv 的职业修养,但请记住:「比误删文件更惨的,是手滑把文件 mv 进了黑洞!」

6.which,find,whereis指令

6.1.which:Linux 界的「路痴导航员」,但只会指路 PATH 里的店!

        which,纯纯的就是一个选择性的路痴:它的任务很简单:告诉你某个命令到底藏在哪个犄角旮旃。但有个毛病:只认 PATH 环境变量里的路径(环境变量是我后来会讲述的内容),其他地方的命令?它表示:「看不见,下一个!」

1.基础用法:找命令的「藏身之处」

        如果你问它:

which python  

        它会回答:

/usr/bin/python  # 「在这呢!但你是不是装了 10 个版本?」  

(注:如果找不到,它会沉默得像被老板抓包的你。)

2.冷知识:
  • 「我拒绝搜索你的私人小仓库!」 如果你自己写了脚本放在 ~/bin 但没加到 PATHwhich 会直接装瞎:

    which 我的摸鱼脚本.sh  # 输出:空气  
  • 「我和 Windows 的 where 是远房亲戚!」 Windows 的 where 命令类似,但 Linux 的 which 更傲娇。

6.2.whereis:Linux 界的「文件八卦记者」,但只爆料系统知道的事!

        这位比 which 更八卦——不仅能找命令,还能挖出它的源码、手册页!但缺点是:只搜系统预设的目录(比如 /bin, /usr/share/man),其他地方它不关心!

1.基础用法:查命令的「 全家桶」

        如果你问:

whereis ls

        它会甩出一堆信息:

ls: /usr/bin/ls /usr/share/man/man1/ls.1.gz /usr/share/man/man1p/ls.1p.gz
2.冷知识:
  • 「你的自定义命令?我不熟!」which 一样,非系统目录的命令它直接无视。

  • 「源码?可能被我吃掉了!」 有些命令安装时没带源码,whereis 会假装无事发生。

6.3.find:Linux 界的「文件福尔摩斯」,但查案时能把你 CPU 跑炸!

        真正的搜索大佬!能按名字、大小、时间、权限……甚至文件内容满硬盘搜!但代价是:语法复杂得像侦探小说,一不小心就搜出 10 万个临时文件!

1.基础用法:按名字搜文件
find / -name "摸鱼证据.txt"  # 从根目录开始搜,但建议加降压药 ,这里就不出事结果了,因为我目前的CPU正在高速运转~ 

(后果:硬盘狂转,风扇起飞,CPU 大喊:「我要摸鱼!」)

2.高级玩法:
  1. 按大小抓「胖子文件」
    find ~ -size +100M  # 找出你硬盘里的「隐藏巨婴」  

    (输出:~/电影/未看完的1080p学习资料.mp4

  2. 按时间抓「旧爱」
    find /tmp -mtime +30  # 找出 30 天没碰过的临时文件(早该分手了!)  
  3. 「找到后,顺便干点啥」

    find . -name "*.log" -exec rm {} \;  # 删除所有日志(谨慎!别删库跑路!)  

    -exec 表示让 find 兼职杀手,{} 是文件占位符,\; 是固定结尾)

3.冷知识:
  • 「我比 Windows 搜索强 100 倍,但用户怕我!」 Windows 用户搜文件靠点击,Linux 用户靠 find 加咖啡因。

  • 「别让我搜 /dev,那里全是鬼!」 /dev 是设备文件,用 find 搜它可能触发玄学 Bug。

6.4.总结:三巨头的「职场定位」

  • which:「我就一路人甲,只认识城里的店!」

  • whereis:「我八卦,但只爆系统的料!」

  • find:「给我一个硬盘,我能搜到宇宙尽头!」

6.5.灵魂拷问

which whereis  # 输出:whereis 在 /usr/bin/whereis  
whereis find   # 输出:find 在 /usr/bin/find 和它的手册页  
find / -name "人生意义"  # 输出:无(建议重启人类试试)  

7.grep指令

7.1.grep:Linux 界的「文字侦探」,但比柯南更爱找茬!

   grep,全称 Global Regular Expression Print(全局正则表达式打印),江湖人称「键盘界的Ctrl+F」,但比浏览器搜索硬核100倍——它能用正则表达式在文件大海里精准捞针,甚至能边捞边喊:「真相只有一个!」

7.2.基础用法:字里行间的「捉迷藏」

1.普通搜索(按关键词抓人)

        如果你对 grep 说:

grep "error" 日志.txt  # 在日志里搜所有「error」  

        它会立刻高亮显示所有匹配行:

ERROR 2023: 程序员因咖啡不足崩溃。  
error 404: 智商未找到。  

(注:大小写敏感是它的傲娇设定,Errorerror 是两码事!)

2.全员逮捕(统计匹配次数)

        加 -c 参数,直接告诉你抓了多少「嫌疑人」:

grep -c "摸鱼" 工作日报.txt  # 输出:42  

(老板:你一天摸42次鱼?鱼塘都被你摸秃了!)

7.3.高级玩法:grep の 刑侦手段

1.忽略大小写(大小通吃)

        用 -i 参数,让 grep 变成「脸盲侦探」:

grep -i "warning" 系统日志.txt  # 连「WaRnInG」都逃不过!  

(适合抓那些喜欢伪装成「WARNING」的严重错误。)

2.反向逮捕(排除法)

        加 -v 参数,专门排除符合条件的内容:

grep -v "TODO" 代码.py  # 只看正经代码,假装TODO不存在  

(输出:一片空白——原来你根本没写代码!)

3.地毯式搜索(递归搜索目录)

        用 -r 参数,让 grep 化身「文件挖掘机」:

grep -r "密码" ~/项目  # 搜索家目录下所有文件中的「密码」  

(后果:可能发现你把数据库密码写在 test.txt 里……)

4.带行号招供(显示行号)

        加 -n 参数,让匹配行「自曝坐标」:

grep -n "BUG" 代码.c  

        输出:

42: printf("这里有个BUG,但我不想修!");  

(第42行:程序员の经典摆烂现场。)

5.查案带上下文(显示前后内容)

        用 -C 参数(比如 -C 2),展示案发现场的前后2行:

grep -C 2 "崩溃" 日志.txt  

        输出:

[时间] 尝试拯救世界...  
[时间] 系统崩溃!  
[时间] 程序员开始砸键盘。  

(破案了:崩溃原因是键盘质量太差!)

7.4.grep的冷知识

  • 「我和正则表达式是CP!」 grep 的终极技能是正则表达式,比如:

    grep "^[A-Z]" 文件.txt  # 抓所有以大写字母开头的行(适合找嚣张的错误)  

    (注:^ 表示行首,[A-Z] 表示大写字母,学废了吗?)

  • 「我比猫(cat)更懂文件!」 常和 cat 勾搭干活,比如:

    cat 日志.txt | grep "error"  # 先让猫吐文件,再让grep抓重点  

    (但其实可以省掉 catgrep "error" 日志.txt

  • 「我有个花里胡哨的亲戚——egrepfgrep!」

    • egrep:支持扩展正则表达式(比如 +, ? 不用转义)。

    • fgrep固定字符串搜索(速度更快,适合没正则的情况)。

总结:grep の 侦探守则

grep "智慧" 大脑内存.txt  # 输出:查无此词!  

        快、准、狠——这是 grep 的破案哲学,但请记住:「比找不到关键词更可怕的,是grep到了老板的敏感词!」

8.总结

        今天的博客之旅到这里也就结束了,今天讲述了不少的指令,希望各位读者之后会好好的复习这些代码,不然我就会用mv指令快速移动到你身边然后rm你哦~好了,不闹着玩了,指令的记忆不是靠死记硬背,而是靠每天的练习,这样会让自己的记忆变的更加深刻,今天的同居日记已结束,各位朋友们下次见啦!

相关文章:

与终端同居日记:Linux指令の进阶撩拨手册

前情提要&#xff1a; 当你和终端的关系从「早安打卡」进阶到「深夜代码同居」&#xff0c;那些曾经高冷的指令开始展露致命の反差萌—— man 是那个永远在线的钢铁直男说明书&#xff0c;只会说&#xff1a;"想懂我&#xff1f;自己看文档&#xff01;"&#xff08…...

STM32单片机入门学习——第42节: [12-2] BKP备份寄存器RTC实时时钟

写这个文章是用来学习的,记录一下我的学习过程。希望我能一直坚持下去,我只是一个小白,只是想好好学习,我知道这会很难&#xff0c;但我还是想去做&#xff01; 本文写于&#xff1a;2025.04.19 STM32开发板学习——第42节: [12-2] BKP备份寄存器&RTC实时时钟 前言开发板说…...

AI 驱动抗生素发现:从靶点到化合物测试

AI 驱动抗生素发现:从靶点到化合物测试 目录 基于 AI 驱动的研发流程发现抗生素,整合靶点选择和深度学习分子生成,显著提升了候选药物发现效率。结合数据平衡技术,机器学习和 AutoML 能有效提升不平衡数据集分类性能。RibbonFold 是一种新的 AI 模型,可以准确预测淀粉样蛋…...

群晖威联通飞牛等nas如何把宿主机硬盘挂接到可道云docker容器中

可道云系统是用户常用的一款面向个人用户的轻量级私有云存储工具&#xff0c;以高效管理和安全存储为核心&#xff0c;打造便捷的数字化办公体验。但是用户希望把原有其他磁盘中文件挂接到这个新系统中有很大的难度,主要是对linux文件系统理解有很大的误区,认为目录结构是固定的…...

用 R 语言打造交互式叙事地图:讲述黄河源区生态变化的故事

目录 🌟 项目背景:黄河源头的生态变迁 🧰 技术栈介绍 🗺️ 最终效果预览 💻 项目构建步骤 1️⃣ 数据准备 2️⃣ 构建 Leaflet 地图 3️⃣ 使用 scrollama 实现滚动触发事件 4️⃣ 使用 R Markdown / Quarto 打包发布 🎬 效果展示截图 📦 完整代码仓库 …...

opencv(双线性插值原理)

双线性插值是一种图像缩放、旋转或平移时进行像素值估计的插值方法。当需要对图像进行变换时&#xff0c;特别是尺寸变化时&#xff0c;原始图像的某些像素坐标可能不再是新图像中的整数位置&#xff0c;这时就需要使用插值算法来确定这些非整数坐标的像素值。 双线性插值的工…...

Flutter 弹窗队列管理:实现一个线程安全的通用弹窗队列系统

在开发复杂的 Flutter 应用时&#xff0c;弹窗的管理往往是一个令人头疼的问题。尤其是在多个弹窗需要按顺序显示&#xff0c;或者弹窗的显示需要满足特定条件时&#xff0c;手动管理弹窗的显示和隐藏不仅繁琐&#xff0c;还容易出错。为了解决这个问题&#xff0c;我们可以实现…...

Linux压缩与解压命令完全指南:tar.gz、zip等格式详解

Linux压缩与解压命令完全指南&#xff1a;tar.gz、zip等格式详解 在Linux系统中&#xff0c;文件压缩和解压是日常操作中不可或缺的一部分。本文将全面介绍Linux下常用的压缩和解压命令&#xff0c;包括tar.gz、tar、zip等格式的区别和使用方法&#xff0c;帮助你高效管理文件…...

doris/clickhouse常用sql

一、doris常用SQL 1、doris统计数据库的总大小&#xff08;单位&#xff1a;MB&#xff09; SELECT table_schema AS database_name,ROUND(SUM(data_length) / 1024 / 1024, 2) AS database_size_MB FROM information_schema.tables WHERE table_schema NOT IN (information…...

实现AWS Lambda函数安全地请求企业内部API返回数据

需要编写一个Lambda函数在AWS云上运行&#xff0c;它需要访问企业内部的API获取JSON格式的数据&#xff0c;企业有网关和防火墙&#xff0c;API有公司的okta身份认证&#xff0c;通过公司的域账号来授权访问&#xff0c;现在需要创建一个专用的域账号&#xff0c;让Lambda函数访…...

【Easylive】Interact与Web服务调用实例及网关安全拦截机制解析

【Easylive】项目常见问题解答&#xff08;自用&持续更新中…&#xff09; 汇总版 easylive-cloud-interacteasylive-cloud-web 1. 不同服务&#xff08;web和interact&#xff09;之间的调用方式 调用流程 • 角色分工&#xff1a; • easylive-cloud-web&#xff1a;作…...

【HDFS】EC重构过程中的校验功能:DecodingValidator

一、动机 DecodingValidator是在HDFS-15759中引入的一个用于校验EC数据重构正确性的组件。 先说下引入DecodingValidator的动机,据很多已知的ISSUE(如HDFS-14768, HDFS-15186, HDFS-15240,这些目前都已经fix了)反馈, EC在重构的时候可能会有各种各样的问题,导致数据错误…...

Chromium 134 编译指南 macOS篇:编译优化技巧(六)

1. 引言 在Chromium 134的开发过程中&#xff0c;优化编译速度是提升开发效率的关键因素。本文将重点介绍如何使用ccache工具来加速C/C代码的编译过程&#xff0c;特别是在频繁切换分支和修改代码时。通过合理配置和使用这些工具&#xff0c;您将能够显著减少编译时间&#xf…...

FPGA——基于DE2_115实现DDS信号发生器

FPGA——基于DE2_115实现DDS信号发生器 文章目录 FPGA——基于DE2_115实现DDS信号发生器一、实验要求二、实现过程&#xff08;1&#xff09;新建工程 二、波形存储器ROM&#xff08;1&#xff09;方波模块&#xff08;2&#xff09;正弦波形存储器&#xff08;3&#xff09;锁…...

PHP中的ReflectionClass讲解【详细版】

快餐&#xff1a; ReflectionClass精简版 在PHP中&#xff0c;ReflectionClass是一个功能强大的反射类&#xff0c;它就像是一个类的“X光透视镜”&#xff0c;能让我们在程序运行时深入了解类的内部结构和各种细节。 一、反射类的基本概念和重要性 反射是指在程序运行期间获…...

嵌入式面试题解析:常见基础知识点详解

在嵌入式领域的面试中&#xff0c;基础知识点的考察尤为重要。下面对一些常见面试题进行详细解析&#xff0c;帮助新手一步步理解。 一、原码、反码、补码及补码的好处 题目 什么叫原码、反码、补码&#xff1f;计算机学科引入补码有什么好处&#xff1f; 在计算机科学中&a…...

GPU渲染阶段介绍+Shader基础结构实现

GPU是什么 &#xff08;CPU&#xff09;Center Processing Unit:逻辑编程 &#xff08;GPU&#xff09;Graphics Processing Unit&#xff1a;图形处理&#xff08;矩阵运算&#xff0c;数据公式运算&#xff0c;光栅化&#xff09; 渲染管线 渲染管线也称为渲染流水线&#x…...

08-DevOps-向Harbor上传自定义镜像

harbor创建完成&#xff0c;往harbor镜像仓库中上传自定义的镜像&#xff0c;包括新建项目、docker配置镜像地址、镜像重命名、登录harbor、推送镜像这几个步骤&#xff0c;具体操作如下&#xff1a; harbor中新建项目 访问级别公开&#xff0c;代表任何人都可以拉取仓库中的镜…...

C++学习之路,从0到精通的征途:vector类的模拟实现

目录 一.vector的介绍 二.vector的接口实现 1.成员变量 2.迭代器 &#xff08;1&#xff09;begin &#xff08;2&#xff09;end 3.容量操作 &#xff08;1&#xff09;size&#xff0c;capacity &#xff08;2&#xff09;reserve &#xff08;3&#xff09;resize…...

嵌入式软件--stm32 DAY 2

大家学习嵌入式的时候&#xff0c;多多学习用KEIL写代码&#xff0c;虽然作为编译器&#xff0c;大家常用vscode等常用工具关联编码&#xff0c;但目前keil仍然是主流工具之一&#xff0c;学习掌握十分必要。 1.再次创建项目 1.1编译器自动生成文件 1.2初始文件 这样下次创建新…...

多模态大语言模型arxiv论文略读(二十九)

Temporal Insight Enhancement: Mitigating Temporal Hallucination in Multimodal Large Language Models ➡️ 论文标题&#xff1a;Temporal Insight Enhancement: Mitigating Temporal Hallucination in Multimodal Large Language Models ➡️ 论文作者&#xff1a;Li Su…...

【人工智能学习-01-01】20250419《数字图像处理》复习材料的word合并PDF,添加页码

前情提要 20250419今天是上师大继续教育人工智能专升本第一学期的第一次线下课。 三位老师把视频课的内容提炼重点再面授。&#xff08;我先看了一遍视频&#xff0c;但是算法和图像都看不懂&#xff0c;后来就直接挂分刷满时间&#xff0c;不看了&#xff09; 今天是面对面授…...

B端APP设计:打破传统限制,为企业开启便捷新通道

B端APP设计&#xff1a;打破传统限制&#xff0c;为企业开启便捷新通道 在数字化转型浪潮中&#xff0c;企业级移动应用正突破传统管理系统的功能边界&#xff0c;演变为连接产业链各环节的核心枢纽。本文从技术架构革新、交互模式进化、安全防护升级三个维度&#xff0c;系统…...

【多线程5】面试常考锁知识点

文章目录 悲观/乐观锁挂起等待锁/自旋锁偏向锁轻量级/重量级锁锁升级CASCAS引发的ABA问题解决方案 原子类 公平/不公平锁可重入锁ReentrantLock读写锁 Callable接口 这里的“悲观”“乐观”“挂起等待”“自旋”“轻量级”“重量级”“公平”“非公平”“可重入”仅代表某个锁的…...

Linux第一个系统程序——进度条

1.回车与换行 回车&#xff08;CR, \r&#xff09;&#xff1a; 作用&#xff1a;将光标移动到当前行的行首&#xff08;最左侧&#xff09;&#xff0c;但不换到下一行。 历史来源&#xff1a;源自打字机的“回车”操作——打字机的滑架&#xff08;Carriage&#xff09;需…...

C 语 言 --- 指 针 3

C 语 言 --- 指 针 3 函 数 指 针函 数 指 针 数 组代 码 解 释回 调 函 数 - - - qsort模 拟 实 现 qsort 函 数 总结 &#x1f4bb;作 者 简 介&#xff1a;曾 与 你 一 样 迷 茫&#xff0c;现 以 经 验 助 你 入 门 C 语 言 &#x1f4a1;个 人 主 页&#xff1a;笑口常开x…...

蓝桥杯之递归

1.数字三角形 题目描述 上图给出了一个数字三角形。从三角形的顶部到底部有很多条不同的路径。对于每条路径&#xff0c;把路径上面的数加起来可以得到一个和&#xff0c;你的任务就是找到最大的和&#xff08;路径上的每一步只可沿左斜线向下或右斜线向下走&#xff09;。 输…...

学习笔记十八——Rust 封装

&#x1f9f1; Rust 封装终极指南&#xff1a;结构体、模块、Trait、目录结构与模块引用 &#x1f9ed; 目录导航 什么是封装&#xff1f;Rust 的封装理念Rust 的封装工具总览模块&#xff08;mod&#xff09;和访问控制&#xff08;pub&#xff09;详解结构体和枚举&#xff…...

【面试向】点积与注意力机制,逐步编码理解自注意力机制

点积&#xff08;dot product&#xff09;两个向量点积的数学公式点积&#xff08;dot product&#xff09;与 Attention 注意力机制&#xff08;Attention&#xff09;注意力机制的核心思想注意力机制中的缩放点积自注意力机制中&#xff0c;谁注意谁&#xff1f; 逐步编码理解…...

基础数学知识-线性代数

1. 矩阵相乘 c i j = a i k ∗ b k j c_{ij} = a_{ik} * b_{kj} cij​=aik​∗bkj​ 1. 范数 1. 向量的范数 任意一组向量设为 x ⃗ = ( x 1 , x 2 , . . . , x N ) \vec{x}=(x_1,x_2,...,x_N) x =(x1​,x2​,...,xN​) 如下: 向量的1范数: 向量的各个元素的绝对值之和∥ …...

【KWDB 创作者计划】_上位机知识篇---Docker容器

文章目录 前言1. Docker 容器是什么&#xff1f;隔离性轻量级可移植性可复用性 2. Docker 核心概念镜像容器仓库Dockerfile 3. Docker 基本使用(1) 安装 Docker(2) 容器生命周期管理(3) 镜像管理(4) 进入容器内部(5) 数据持久化&#xff08;挂载卷&#xff09;(6) 网络管理 4. …...

指针函数和函数指针

指针函数本质是一个函数&#xff0c;只是函数的返回值是指针类型 函数指针本质是一个指针&#xff0c;只是这个指针指向的是一个函数 指针函数 函数有很多类型的返回值&#xff0c;例如 short funcA(参数列表) // 表示该函数返回值是一个short类型 void funcA(参数列表) // 表…...

案例驱动的 IT 团队管理:创新与突破之路:第六章 组织进化:从案例沉淀到管理体系-6.1 案例库建设方法论-6.1.2案例分级与标签体系

&#x1f449; 点击关注不迷路 &#x1f449; 点击关注不迷路 &#x1f449; 点击关注不迷路 文章大纲 案例分级与标签体系构建方法论&#xff1a;IT团队知识管理的结构化实践1. 案例库建设的战略价值与核心挑战1.1 案例管理的战略定位1.2 分级标签体系的核心价值 2. 案例分级体…...

sqlilabs-Less之HTTP头部参数的注入——基础篇

Less-18 user-agent报错注入 这一关的代码漏洞点出现在了insert语句&#xff0c;因为这里没有对user-agent和ip_address进行过滤&#xff0c;&#xff0c;并且输出了mysql的错误信息 补充知识点 PHP里用来获取客户端IP的变量 $_SERVER[HTTP_CLIENT_IP] #这个很少使用&#xf…...

java多线程相关内容

java线程创建的方式 一共有四种方式 继承 Thread 类&#xff1a;本质上是实现了 Runnable 接口的一个实例&#xff0c;代表一个线程的实例 启动线程的唯一方 法就是通过 **Thread 类的 start()**实例方法。start()方法是一个 native 方法&#xff0c;它将启动一个新线 程&…...

Windows Server .NET Core 应用程序部署到 IIS 解决首次访问加载慢的问题

第一篇&#xff1a; Windows .NET Core 应用程序部署到 IIS 解决首次访问加载慢的问题 第二篇&#xff1a;Windows Server .NET Core 应用程序部署到 IIS 解决首次访问加载慢的问题 第三篇&#xff1a;Windows .NET Core 应用程序部署到 IIS 解决首次访问加载慢的问题 设置…...

ubuntu24.04上使用qemu+buildroot+uboot+linux+tftp+nfs模拟搭建vexpress-ca9嵌入式linux开发环境

1 准备工作 1.1 安装依赖工具 sudo apt-get update && sudo apt-get install build-essential git bc flex libncurses5-dev libssl-dev device-tree-compiler1.2 安装arm交叉编译工具链 sudo apt install gcc-arm-linux-gnueabihf安装之后&#xff0c;在终端输入ar…...

Cocos Creater打包安卓App添加隐私弹窗详细步骤+常见问题处理

最终演示效果,包含所有代码内容 + 常见错误问题处理 点击服务协议、隐私政策,跳转到相关网页, 点击同意进入游戏,不同意关闭应用 一,添加Activity,命名为MyLaunchActivity 二,编写MyLaunchActivity.java的内容 package com.cocos.game.launch;import android.os.Bund…...

UI文件上传

1、文件上传&#xff1a;文件上传是自动化中比较麻烦棘手的部分。 有些场景我们需要上传本地文件到项目里。这种比较麻烦&#xff0c;因为需要点开文件上传的窗口后&#xff0c;打开的是windows的文件选择窗口&#xff0c; 而selenium是无法操作这个窗口的。 selenium只能操作…...

2.凸包优化求解

1.减而治之(Decrease and Conquer) 插入排序 典型的减而治之算法就是插入排序方法 插入排序法: 在未排序中选择一个元素&#xff0c;插入到已经排序号的序列中 将凸包也采用减而治之的方法 2.In-Convex-Polygon Test 怎么判断引入的极点存在于多边形里面还是外面&#xff1…...

从0开发一个unibest+vue3项目,使用vscode编辑器开发,总结vue2升vue3项目开始,小白前期遇到的问题

开头运行可看官网 链接: unibest官网 一&#xff1a;vscode中vue3代码显示报错标红波浪线 去查看扩展商店发现一些插件都弃用了&#xff0c;例如h5的插件以及vue老插件 解决办法&#xff1a;下载Vue - Official插件&#xff08;注意&#xff1a;横杠两边是要加空格的&#xff…...

jmeter中文乱码问题解决

修改jmeter.properties配置文件‌ 进入JMeter安装目录的bin文件夹&#xff0c;找到jmeter.properties文件。搜索参数sampleresult.default.encodingUTF-8&#xff0c;取消注释&#xff08;删除行首的#&#xff09;&#xff0c;并将其值改为UTF-8。保存文件并‌重启JMeter‌生效…...

额外篇 非递归之美:归并排序与快速排序的创新实现

个人主页&#xff1a;strive-debug 快速排序非递归版本 非递归版本的快速排序是为了解决在空间不够的情况下&#xff0c;利用栈来模拟递归的过程。 递归版本的快速排序是空间换时间&#xff0c;好实现。 实现思路&#xff1a; 1. 创建一个栈&#xff0c;将数组的右边界下标和…...

[文献阅读] EnCodec - High Fidelity Neural Audio Compression

[文献信息]&#xff1a;[2210.13438] High Fidelity Neural Audio Compression facebook团队提出的一个用于高质量音频高效压缩的模型&#xff0c;称为EnCodec。Encodec是VALL-E的重要前置工作&#xff0c;正是Encodec的压缩量化使得VALL-E能够出现&#xff0c;把语音领域带向大…...

JavaSpring 中使用 Redis

创建项目 配置 Redis 服务地址 创建 Controller 类 由于当前只是些简单的测试代码&#xff0c;所以就不进行分层了&#xff0c;只创建一个 Controller 来实现 jedis 通过 jedis 对象里的各种方法来操作 Redis 此处通过 StringRedisTemplate 来操作 Redis 最原始提供的类是 Re…...

B端可视化像企业数据的透视镜,看清关键信息

在数字化时代&#xff0c;数据已成为企业最宝贵的资产之一。然而&#xff0c;数据的价值不仅取决于其数量&#xff0c;更在于企业能否快速、准确地提取关键信息并据此做出决策。B端可视化技术的出现&#xff0c;为企业提供了一种强大的工具&#xff0c;它如同企业的“透视镜”&…...

【愚公系列】《Python网络爬虫从入门到精通》055-Scrapy_Redis分布式爬虫(安装Redis数据库)

&#x1f31f;【技术大咖愚公搬代码&#xff1a;全栈专家的成长之路&#xff0c;你关注的宝藏博主在这里&#xff01;】&#x1f31f; &#x1f4e3;开发者圈持续输出高质量干货的"愚公精神"践行者——全网百万开发者都在追更的顶级技术博主&#xff01; &#x1f…...

【MySQL】SQL语句在MySQL中的执行过程?主要存储引擎区别?

MySQL SQL语句执行过程详解 作为面试官&#xff0c;我来详细剖析一条SQL语句在MySQL中的完整执行过程&#xff0c;这是每个后端开发者都应该掌握的核心知识。 一、连接阶段 建立连接 客户端通过TCP/IP协议与MySQL服务器建立连接(默认3306端口)服务器验证用户名、密码和权限…...

致远OA——数据回填表单

文章目录 :apple: 业务需求描述:pineapple: 业务分析和实现 &#x1f34e; 业务需求描述 测试案例&#xff1a; https://pan.quark.cn/s/3f58972f0a27 官网地址&#xff1a; https://open.seeyoncloud.com/v5devCAP/94/355/359/399/405/406.html 需求描述&#xff1a; 点…...

MongoDB导出和导入数据

安装mongodump工具 参考文章mongodump工具安装及使用详解_mongodump安装-CSDN博客 MongoDB导入导出和备份的命令工具从4.4版本开始不再自动跟随数据库一起安装&#xff0c;而是需要自己手动安装。 官方网站下载链接&#xff1a;Download MongoDB Command Line Database Tools …...