[{"data":1,"prerenderedAt":3642},["ShallowReactive",2],{"series:index":3,"content:\u002Fugcourses\u002Fjunior-autumn\u002Ficcad\u002Fpastexams\u002Fexam2021":972,"surround:\u002Fugcourses\u002Fjunior-autumn\u002Ficcad\u002Fpastexams\u002Fexam2021":3639},[4,15,25,35,45,54,64,74,82,91,101,110,120,129,138,147,152,162,172,181,189,194,203,213,223,233,243,253,263,273,283,293,303,313,323,333,339,348,357,366,372,381,391,401,410,420,429,439,448,457,467,476,485,494,504,513,522,531,540,549,559,569,578,587,596,605,610,620,629,638,644,649,658,666,674,679,687,692,700,708,716,724,732,740,749,758,766,774,779,787,796,805,814,823,831,836,845,850,855,863,871,879,887,895,900,905,914,923,931,939,947,955,963],{"stem":5,"path":6,"title":7,"date":8,"collapsed":9,"readingTime":10},"posts\u002F2024\u002FXZZD-Aquire-Score","\u002F2024\u002F10\u002F23\u002FXZZD-Aquire-Score","XZZD_Aquire_Score","2024-10-23 15:08:30",false,{"text":11,"minutes":12,"time":13,"words":14},"3 min read",2.955,177300,591,{"stem":16,"path":17,"title":18,"date":19,"collapsed":9,"readingTime":20},"posts\u002F2024\u002Felec-design-contest-2024","\u002F2024\u002F07\u002F07\u002Felec-design-contest-2024","东四——隐秘的角落","2024-07-07 11:44:32",{"text":21,"minutes":22,"time":23,"words":24},"2 min read",1.74,104400,348,{"stem":26,"path":27,"title":28,"date":29,"collapsed":9,"readingTime":30},"posts\u002F2024\u002Fmechanics","\u002F2024\u002F07\u002F08\u002Fmechanics","about力学","2024-07-08 14:14:07",{"text":31,"minutes":32,"time":33,"words":34},"9 min read",8.54,512400,1708,{"stem":36,"path":37,"title":38,"date":39,"collapsed":9,"readingTime":40},"posts\u002F2025\u002F25GElecDesignContest","\u002F2025\u002F08\u002F26\u002F25GElecDesignContest","纪念最好的大二五组 - Soleil 的 电赛回忆录","2025-08-26 11:06:33",{"text":41,"minutes":42,"time":43,"words":44},"30 min read",29.99,1799400,5998,{"stem":46,"path":47,"title":48,"date":49,"collapsed":9,"readingTime":50},"posts\u002F2025\u002FEngineering-Innovation","\u002F2025\u002F01\u002F20\u002FEngineering-Innovation","工程实践与创新能力大赛","2025-01-20 22:20:59",{"text":21,"minutes":51,"time":52,"words":53},1.365,81900,273,{"stem":55,"path":56,"title":57,"date":58,"collapsed":9,"readingTime":59},"posts\u002F2025\u002FTOP","\u002F2025\u002F01\u002F20\u002FTOP","置顶","3025-01-20 21:53:36",{"text":60,"minutes":61,"time":62,"words":63},"1 min read",0.285,17100,57,{"stem":65,"path":66,"title":67,"date":68,"collapsed":9,"readingTime":69},"posts\u002FUGCourses\u002F1.freshman-spring\u002Fengineering-drawing-notes","\u002F2024\u002F06\u002F30\u002Fengineering-drawing-notes","工程图学期末复习","2024-06-30 21:02:09",{"text":70,"minutes":71,"time":72,"words":73},"15 min read",14.78,886800,2956,{"stem":75,"path":76,"title":77,"date":78,"collapsed":9,"readingTime":79},"posts\u002FUGCourses\u002F1.freshman-spring\u002Findex","\u002Fugcourses\u002Ffreshman-spring","大一春夏","2024-06-30 19:15:28",{"text":80,"minutes":81,"time":81,"words":81},"0 min read",0,{"stem":83,"path":84,"title":85,"date":86,"collapsed":9,"readingTime":87},"posts\u002FUGCourses\u002F2.sophomore-autumn\u002FComplex-Analysis","\u002F2025\u002F01\u002F21\u002FComplex-Analysis","复变函数与积分变换","2025-01-21 13:23:59",{"text":11,"minutes":88,"time":89,"words":90},2.855,171300,571,{"stem":92,"path":93,"title":94,"date":95,"collapsed":9,"readingTime":96},"posts\u002FUGCourses\u002F2.sophomore-autumn\u002FFundamentalsMarxism","\u002F2025\u002F06\u002F06\u002FFundamentalsMarxism","马克思主义基本原理","2025-06-06 00:22:45",{"text":97,"minutes":98,"time":99,"words":100},"6 min read",5.54,332400,1108,{"stem":102,"path":103,"title":104,"date":105,"collapsed":9,"readingTime":106},"posts\u002FUGCourses\u002F2.sophomore-autumn\u002FMathematical-Modeling","\u002F2024\u002F09\u002F22\u002FMathematical-Modeling","数学建模（课程）","2024-09-22 19:07:42",{"text":11,"minutes":107,"time":108,"words":109},2.475,148500,495,{"stem":111,"path":112,"title":113,"date":114,"collapsed":9,"readingTime":115},"posts\u002FUGCourses\u002F2.sophomore-autumn\u002FMicroelectronic-Circuits","\u002F2025\u002F01\u002F20\u002FMicroelectronic-Circuits","电基小子","2025-01-20 23:02:49",{"text":116,"minutes":117,"time":118,"words":119},"5 min read",4.225,253500,845,{"stem":121,"path":122,"title":123,"date":124,"collapsed":9,"readingTime":125},"posts\u002FUGCourses\u002F2.sophomore-autumn\u002FMumerical-Analysis","\u002F2024\u002F09\u002F19\u002FMumerical-Analysis","数值分析方法","2024-09-19 17:12:56",{"text":11,"minutes":126,"time":127,"words":128},2.1,126000,420,{"stem":130,"path":131,"title":132,"date":133,"collapsed":9,"readingTime":134},"posts\u002FUGCourses\u002F2.sophomore-autumn\u002FProbability-Theory","\u002F2025\u002F01\u002F21\u002FProbability-Theory","概率论与数理统计","2025-01-21 12:52:11",{"text":11,"minutes":135,"time":136,"words":137},2.205,132300,441,{"stem":139,"path":140,"title":141,"date":142,"collapsed":9,"readingTime":143},"posts\u002FUGCourses\u002F2.sophomore-autumn\u002Fengineering-training","\u002F2024\u002F09\u002F17\u002Fengineering-training","工程训练","2024-09-17 21:40:26",{"text":11,"minutes":144,"time":145,"words":146},2.385,143100,477,{"stem":148,"path":149,"title":150,"date":78,"collapsed":9,"readingTime":151},"posts\u002FUGCourses\u002F2.sophomore-autumn\u002Findex","\u002Fugcourses\u002Fsophomore-autumn","大二秋冬",{"text":80,"minutes":81,"time":81,"words":81},{"stem":153,"path":154,"title":155,"date":156,"collapsed":9,"readingTime":157},"posts\u002FUGCourses\u002F2.sophomore-autumn\u002Fsolid-state-physics","\u002F2024\u002F09\u002F11\u002Fsolid-state-physics","固体物理基础","2024-09-11 19:15:26",{"text":158,"minutes":159,"time":160,"words":161},"4 min read",3.21,192600,642,{"stem":163,"path":164,"title":165,"date":166,"collapsed":9,"readingTime":167},"posts\u002FUGCourses\u002F3.sophomore-spring\u002FAIFrontier","\u002Fugcourses\u002Fsophomore-spring\u002Faifrontier","人工智能前沿","2025-06-12 14:58:16",{"text":168,"minutes":169,"time":170,"words":171},"25 min read",24.02,1441200,4804,{"stem":173,"path":174,"title":175,"date":166,"collapsed":9,"readingTime":176},"posts\u002FUGCourses\u002F3.sophomore-spring\u002FDigitalSys","\u002Fugcourses\u002Fsophomore-spring\u002Fdigitalsys","数字系统设计",{"text":177,"minutes":178,"time":179,"words":180},"45 min read",44.87,2692200,8974,{"stem":182,"path":183,"title":184,"date":166,"collapsed":9,"readingTime":185},"posts\u002FUGCourses\u002F3.sophomore-spring\u002FMaoTheory","\u002F2025\u002F06\u002F12\u002FMaoTheory","毛概",{"text":70,"minutes":186,"time":187,"words":188},14.63,877800,2926,{"stem":190,"path":191,"title":192,"date":78,"collapsed":9,"readingTime":193},"posts\u002FUGCourses\u002F3.sophomore-spring\u002Findex","\u002Fugcourses\u002Fsophomore-spring","大二春夏",{"text":80,"minutes":81,"time":81,"words":81},{"stem":195,"path":196,"title":197,"date":198,"collapsed":9,"readingTime":199},"posts\u002FUGCourses\u002F4.junior-autumn\u002F1.microelectronic-devices\u002FLecture1","\u002Fugcourses\u002Fjunior-autumn\u002Fmicroelectronic-devices\u002Flecture1","Lecture 1：摩尔定律与 CMOS","2026-09-09 19:39:00",{"text":60,"minutes":200,"time":201,"words":202},0.535,32100,107,{"stem":204,"path":205,"title":206,"date":207,"collapsed":9,"readingTime":208},"posts\u002FUGCourses\u002F4.junior-autumn\u002F1.microelectronic-devices\u002FLecture10","\u002Fugcourses\u002Fjunior-autumn\u002Fmicroelectronic-devices\u002Flecture10","Lecture 10：从 MOS 电容到 MOSFET","2026-09-10 00:10:00",{"text":209,"minutes":210,"time":211,"words":212},"18 min read",17.615,1056900,3523,{"stem":214,"path":215,"title":216,"date":217,"collapsed":9,"readingTime":218},"posts\u002FUGCourses\u002F4.junior-autumn\u002F1.microelectronic-devices\u002FLecture11","\u002Fugcourses\u002Fjunior-autumn\u002Fmicroelectronic-devices\u002Flecture11","Lecture 11：亚阈值效应与 MOSFET 尺寸缩放","2026-09-10 00:20:00",{"text":219,"minutes":220,"time":221,"words":222},"23 min read",22.35,1341000,4470,{"stem":224,"path":225,"title":226,"date":227,"collapsed":9,"readingTime":228},"posts\u002FUGCourses\u002F4.junior-autumn\u002F1.microelectronic-devices\u002FLecture12","\u002Fugcourses\u002Fjunior-autumn\u002Fmicroelectronic-devices\u002Flecture12","Lecture 12：MOSFET 尺寸缩微","2026-09-10 00:30:00",{"text":229,"minutes":230,"time":231,"words":232},"35 min read",34.225,2053500,6845,{"stem":234,"path":235,"title":236,"date":237,"collapsed":9,"readingTime":238},"posts\u002FUGCourses\u002F4.junior-autumn\u002F1.microelectronic-devices\u002FLecture13","\u002Fugcourses\u002Fjunior-autumn\u002Fmicroelectronic-devices\u002Flecture13","Lecture 13：MOS 新范式","2026-09-10 00:40:00",{"text":239,"minutes":240,"time":241,"words":242},"24 min read",23.25,1395000,4650,{"stem":244,"path":245,"title":246,"date":247,"collapsed":9,"readingTime":248},"posts\u002FUGCourses\u002F4.junior-autumn\u002F1.microelectronic-devices\u002FLecture2","\u002Fugcourses\u002Fjunior-autumn\u002Fmicroelectronic-devices\u002Flecture2","Lecture 2：半导体基础","2026-09-09 19:39:31",{"text":249,"minutes":250,"time":251,"words":252},"7 min read",6.02,361200,1204,{"stem":254,"path":255,"title":256,"date":257,"collapsed":9,"readingTime":258},"posts\u002FUGCourses\u002F4.junior-autumn\u002F1.microelectronic-devices\u002FLecture3","\u002Fugcourses\u002Fjunior-autumn\u002Fmicroelectronic-devices\u002Flecture3","Lecture 3：费米能级、载流子散射与迁移率","2026-09-09 21:00:00",{"text":259,"minutes":260,"time":261,"words":262},"13 min read",12.565,753900,2513,{"stem":264,"path":265,"title":266,"date":267,"collapsed":9,"readingTime":268},"posts\u002FUGCourses\u002F4.junior-autumn\u002F1.microelectronic-devices\u002FLecture4","\u002Fugcourses\u002Fjunior-autumn\u002Fmicroelectronic-devices\u002Flecture4","Lecture 4：漂移电流、扩散电流与产生复合","2026-09-09 23:00:00",{"text":269,"minutes":270,"time":271,"words":272},"10 min read",9.22,553200,1844,{"stem":274,"path":275,"title":276,"date":277,"collapsed":9,"readingTime":278},"posts\u002FUGCourses\u002F4.junior-autumn\u002F1.microelectronic-devices\u002FLecture5","\u002Fugcourses\u002Fjunior-autumn\u002Fmicroelectronic-devices\u002Flecture5","Lecture 5：PN 结与耗尽区","2026-09-09 23:10:00",{"text":279,"minutes":280,"time":281,"words":282},"14 min read",13.515,810900,2703,{"stem":284,"path":285,"title":286,"date":287,"collapsed":9,"readingTime":288},"posts\u002FUGCourses\u002F4.junior-autumn\u002F1.microelectronic-devices\u002FLecture6","\u002Fugcourses\u002Fjunior-autumn\u002Fmicroelectronic-devices\u002Flecture6","Lecture 6：正向偏置 PN 结与理想二极管方程","2026-09-09 23:20:00",{"text":289,"minutes":290,"time":291,"words":292},"20 min read",19.095,1145700,3819,{"stem":294,"path":295,"title":296,"date":297,"collapsed":9,"readingTime":298},"posts\u002FUGCourses\u002F4.junior-autumn\u002F1.microelectronic-devices\u002FLecture7","\u002Fugcourses\u002Fjunior-autumn\u002Fmicroelectronic-devices\u002Flecture7","Lecture 7：金半接触","2026-09-09 23:40:00",{"text":299,"minutes":300,"time":301,"words":302},"16 min read",15.195,911700,3039,{"stem":304,"path":305,"title":306,"date":307,"collapsed":9,"readingTime":308},"posts\u002FUGCourses\u002F4.junior-autumn\u002F1.microelectronic-devices\u002FLecture8","\u002Fugcourses\u002Fjunior-autumn\u002Fmicroelectronic-devices\u002Flecture8","Lecture 8：PN 结在光电领域的应用","2026-09-09 23:50:00",{"text":309,"minutes":310,"time":311,"words":312},"54 min read",53.955,3237300,10791,{"stem":314,"path":315,"title":316,"date":317,"collapsed":9,"readingTime":318},"posts\u002FUGCourses\u002F4.junior-autumn\u002F1.microelectronic-devices\u002FLecture9","\u002Fugcourses\u002Fjunior-autumn\u002Fmicroelectronic-devices\u002Flecture9","Lecture 9：MOS 电容","2026-09-10 00:00:00",{"text":319,"minutes":320,"time":321,"words":322},"21 min read",20.355,1221300,4071,{"stem":324,"path":325,"title":326,"date":327,"collapsed":9,"readingTime":328},"posts\u002FUGCourses\u002F4.junior-autumn\u002F1.microelectronic-devices\u002FMidtermExam","\u002Fugcourses\u002Fjunior-autumn\u002Fmicroelectronic-devices\u002Fmidtermexam","期中复习题","2026-09-09 23:30:00",{"text":329,"minutes":330,"time":331,"words":332},"8 min read",7.595,455700,1519,{"stem":334,"path":335,"title":336,"date":337,"collapsed":9,"readingTime":338},"posts\u002FUGCourses\u002F4.junior-autumn\u002F1.microelectronic-devices\u002FMockExam","\u002Fugcourses\u002Fjunior-autumn\u002Fmicroelectronic-devices\u002Fmockexam","押题密卷","2026-09-10 00:50:00",{"text":21,"minutes":51,"time":52,"words":53},{"stem":340,"path":341,"title":342,"date":198,"collapsed":343,"readingTime":344},"posts\u002FUGCourses\u002F4.junior-autumn\u002F1.microelectronic-devices\u002Findex","\u002Fugcourses\u002Fjunior-autumn\u002Fmicroelectronic-devices","微电子器件",true,{"text":158,"minutes":345,"time":346,"words":347},3.055,183300,611,{"stem":349,"path":350,"title":351,"date":352,"collapsed":9,"readingTime":353},"posts\u002FUGCourses\u002F4.junior-autumn\u002F2.ICCAD\u002F1.HistoryMetaCharacters","\u002Fugcourses\u002Fjunior-autumn\u002Ficcad\u002Fhistorymetacharacters","History & Meta Characters","2026-09-10 20:25:44",{"text":269,"minutes":354,"time":355,"words":356},9.36,561600,1872,{"stem":358,"path":359,"title":360,"date":361,"collapsed":9,"readingTime":362},"posts\u002FUGCourses\u002F4.junior-autumn\u002F2.ICCAD\u002F10.PastExams\u002F1.ExamAutumn2223","\u002Fugcourses\u002Fjunior-autumn\u002Ficcad\u002Fpastexams\u002Fexamautumn2223","22-23 秋冬历年卷","2026-09-10 20:26:49",{"text":319,"minutes":363,"time":364,"words":365},20.295,1217700,4059,{"stem":367,"path":368,"title":369,"date":370,"collapsed":9,"readingTime":371},"posts\u002FUGCourses\u002F4.junior-autumn\u002F2.ICCAD\u002F10.PastExams\u002F2.Exam2021","\u002Fugcourses\u002Fjunior-autumn\u002Ficcad\u002Fpastexams\u002Fexam2021","20-21 历年卷","2026-09-10 20:26:50",{"text":289,"minutes":290,"time":291,"words":292},{"stem":373,"path":374,"title":375,"date":376,"collapsed":9,"readingTime":377},"posts\u002FUGCourses\u002F4.junior-autumn\u002F2.ICCAD\u002F10.PastExams\u002F3.ExamRecall1","\u002Fugcourses\u002Fjunior-autumn\u002Ficcad\u002Fpastexams\u002Fexamrecall1","不知名回忆卷 1","2026-09-10 20:26:51",{"text":116,"minutes":378,"time":379,"words":380},4.215,252900,843,{"stem":382,"path":383,"title":384,"date":385,"collapsed":9,"readingTime":386},"posts\u002FUGCourses\u002F4.junior-autumn\u002F2.ICCAD\u002F10.PastExams\u002F4.ExamRecall23","\u002Fugcourses\u002Fjunior-autumn\u002Ficcad\u002Fpastexams\u002Fexamrecall23","不知名回忆卷 2\u002F3","2026-09-10 20:26:52",{"text":387,"minutes":388,"time":389,"words":390},"12 min read",11.235,674100,2247,{"stem":392,"path":393,"title":394,"date":395,"collapsed":9,"readingTime":396},"posts\u002FUGCourses\u002F4.junior-autumn\u002F2.ICCAD\u002F11.Detailed\u002F1.Chapter1-Introduction","\u002Fugcourses\u002Fjunior-autumn\u002Ficcad\u002Fdetailed\u002Fchapter1-introduction","Chapter 1：Introduction","2026-09-10 20:27:26",{"text":397,"minutes":398,"time":399,"words":400},"19 min read",18.435,1106100,3687,{"stem":402,"path":403,"title":404,"date":405,"collapsed":9,"readingTime":406},"posts\u002FUGCourses\u002F4.junior-autumn\u002F2.ICCAD\u002F11.Detailed\u002F2.Chapter2-IntroductionToUnix","\u002Fugcourses\u002Fjunior-autumn\u002Ficcad\u002Fdetailed\u002Fchapter2-introductiontounix","Chapter 2：Introduction to Unix","2026-09-10 20:27:40",{"text":168,"minutes":407,"time":408,"words":409},24.895,1493700,4979,{"stem":411,"path":412,"title":413,"date":414,"collapsed":9,"readingTime":415},"posts\u002FUGCourses\u002F4.junior-autumn\u002F2.ICCAD\u002F11.Detailed\u002F3.Chapter3-ViAndShell","\u002Fugcourses\u002Fjunior-autumn\u002Ficcad\u002Fdetailed\u002Fchapter3-viandshell","Chapter 3：Vi and Shell","2026-09-10 20:27:41",{"text":416,"minutes":417,"time":418,"words":419},"32 min read",31.035,1862100,6207,{"stem":421,"path":422,"title":423,"date":424,"collapsed":9,"readingTime":425},"posts\u002FUGCourses\u002F4.junior-autumn\u002F2.ICCAD\u002F11.Detailed\u002F4.Chapter4-Network","\u002Fugcourses\u002Fjunior-autumn\u002Ficcad\u002Fdetailed\u002Fchapter4-network","Chapter 4：Network","2026-09-10 20:27:49",{"text":239,"minutes":426,"time":427,"words":428},23.975,1438500,4795,{"stem":430,"path":431,"title":432,"date":433,"collapsed":9,"readingTime":434},"posts\u002FUGCourses\u002F4.junior-autumn\u002F2.ICCAD\u002F11.Detailed\u002F5.Chapter5-Administration","\u002Fugcourses\u002Fjunior-autumn\u002Ficcad\u002Fdetailed\u002Fchapter5-administration","Chapter 5：Administration","2026-09-10 20:27:51",{"text":435,"minutes":436,"time":437,"words":438},"36 min read",35.41,2124600,7082,{"stem":440,"path":441,"title":442,"date":443,"collapsed":9,"readingTime":444},"posts\u002FUGCourses\u002F4.junior-autumn\u002F2.ICCAD\u002F11.Detailed\u002F6.Chapter6-Xwindow","\u002Fugcourses\u002Fjunior-autumn\u002Ficcad\u002Fdetailed\u002Fchapter6-xwindow","Chapter 6：Xwindow","2026-09-10 20:27:53",{"text":319,"minutes":445,"time":446,"words":447},20.235,1214100,4047,{"stem":449,"path":450,"title":451,"date":452,"collapsed":9,"readingTime":453},"posts\u002FUGCourses\u002F4.junior-autumn\u002F2.ICCAD\u002F11.Detailed\u002F7.Chapter7-SoftwareDevelopmentTools","\u002Fugcourses\u002Fjunior-autumn\u002Ficcad\u002Fdetailed\u002Fchapter7-softwaredevelopmenttools","Chapter 7：Software Development Tools","2026-09-10 20:27:54",{"text":209,"minutes":454,"time":455,"words":456},17.85,1071000,3570,{"stem":458,"path":459,"title":460,"date":461,"collapsed":9,"readingTime":462},"posts\u002FUGCourses\u002F4.junior-autumn\u002F2.ICCAD\u002F11.Detailed\u002F8.Chapter8-CProgrammingInUnix","\u002Fugcourses\u002Fjunior-autumn\u002Ficcad\u002Fdetailed\u002Fchapter8-cprogramminginunix","Chapter 8：C Programming in Unix","2026-09-10 20:27:57",{"text":463,"minutes":464,"time":465,"words":466},"17 min read",16.855,1011300,3371,{"stem":468,"path":469,"title":470,"date":471,"collapsed":9,"readingTime":472},"posts\u002FUGCourses\u002F4.junior-autumn\u002F2.ICCAD\u002F2.LinuxUnix","\u002Fugcourses\u002Fjunior-autumn\u002Ficcad\u002Flinuxunix","Linux & Unix","2026-09-10 20:25:46",{"text":41,"minutes":473,"time":474,"words":475},29.33,1759800,5866,{"stem":477,"path":478,"title":479,"date":480,"collapsed":9,"readingTime":481},"posts\u002FUGCourses\u002F4.junior-autumn\u002F2.ICCAD\u002F3.Vi","\u002Fugcourses\u002Fjunior-autumn\u002Ficcad\u002Fvi","Vi","2026-09-10 20:25:47",{"text":329,"minutes":482,"time":483,"words":484},7.95,477000,1590,{"stem":486,"path":487,"title":488,"date":489,"collapsed":9,"readingTime":490},"posts\u002FUGCourses\u002F4.junior-autumn\u002F2.ICCAD\u002F4.ViCopy","\u002Fugcourses\u002Fjunior-autumn\u002Ficcad\u002Fvicopy","Vi（详细版）","2026-09-10 20:25:49",{"text":279,"minutes":491,"time":492,"words":493},13.785,827100,2757,{"stem":495,"path":496,"title":497,"date":498,"collapsed":9,"readingTime":499},"posts\u002FUGCourses\u002F4.junior-autumn\u002F2.ICCAD\u002F5.Shells","\u002Fugcourses\u002Fjunior-autumn\u002Ficcad\u002Fshells","Shells","2026-09-10 20:25:51",{"text":500,"minutes":501,"time":502,"words":503},"22 min read",21.21,1272600,4242,{"stem":505,"path":506,"title":507,"date":508,"collapsed":9,"readingTime":509},"posts\u002FUGCourses\u002F4.junior-autumn\u002F2.ICCAD\u002F6.Network","\u002Fugcourses\u002Fjunior-autumn\u002Ficcad\u002Fnetwork","Network","2026-09-10 20:25:54",{"text":319,"minutes":510,"time":511,"words":512},20.595,1235700,4119,{"stem":514,"path":515,"title":516,"date":517,"collapsed":9,"readingTime":518},"posts\u002FUGCourses\u002F4.junior-autumn\u002F2.ICCAD\u002F7.SystemAdministration","\u002Fugcourses\u002Fjunior-autumn\u002Ficcad\u002Fsystemadministration","System Administration","2026-09-10 20:26:44",{"text":329,"minutes":519,"time":520,"words":521},7.12,427200,1424,{"stem":523,"path":524,"title":525,"date":526,"collapsed":9,"readingTime":527},"posts\u002FUGCourses\u002F4.junior-autumn\u002F2.ICCAD\u002F8.XWindow","\u002Fugcourses\u002Fjunior-autumn\u002Ficcad\u002Fxwindow","XWindow","2026-09-10 20:26:45",{"text":97,"minutes":528,"time":529,"words":530},5.105,306300,1021,{"stem":532,"path":533,"title":534,"date":535,"collapsed":9,"readingTime":536},"posts\u002FUGCourses\u002F4.junior-autumn\u002F2.ICCAD\u002F9.SystemDevelopmentTools","\u002Fugcourses\u002Fjunior-autumn\u002Ficcad\u002Fsystemdevelopmenttools","System Development Tools","2026-09-10 20:26:47",{"text":387,"minutes":537,"time":538,"words":539},11.35,681000,2270,{"stem":541,"path":542,"title":543,"date":544,"collapsed":343,"readingTime":545},"posts\u002FUGCourses\u002F4.junior-autumn\u002F2.ICCAD\u002Findex","\u002Fugcourses\u002Fjunior-autumn\u002Ficcad","面向 ICCAD 的软件基础技术","2026-09-10 12:37:00",{"text":60,"minutes":546,"time":547,"words":548},0.185,11100,37,{"stem":550,"path":551,"title":552,"date":553,"collapsed":9,"readingTime":554},"posts\u002FUGCourses\u002F4.junior-autumn\u002F3.HDL\u002FFeiQilai1","\u002Fugcourses\u002Fjunior-autumn\u002Fhdl\u002Ffeiqilai1","飞起来1.0","2026-09-10 12:51:49",{"text":555,"minutes":556,"time":557,"words":558},"105 min read",104.655,6279300,20931,{"stem":560,"path":561,"title":562,"date":563,"collapsed":9,"readingTime":564},"posts\u002FUGCourses\u002F4.junior-autumn\u002F3.HDL\u002FFeiQilai2","\u002Fugcourses\u002Fjunior-autumn\u002Fhdl\u002Ffeiqilai2","飞起来2.0","2026-09-10 12:52:06",{"text":565,"minutes":566,"time":567,"words":568},"29 min read",28.755,1725300,5751,{"stem":570,"path":571,"title":572,"date":573,"collapsed":9,"readingTime":574},"posts\u002FUGCourses\u002F4.junior-autumn\u002F3.HDL\u002FFeiQilai3","\u002Fugcourses\u002Fjunior-autumn\u002Fhdl\u002Ffeiqilai3","飞起来3.0","2026-09-10 12:52:12",{"text":116,"minutes":575,"time":576,"words":577},4.49,269400,898,{"stem":579,"path":580,"title":581,"date":582,"collapsed":9,"readingTime":583},"posts\u002FUGCourses\u002F4.junior-autumn\u002F3.HDL\u002FLecture13","\u002Fugcourses\u002Fjunior-autumn\u002Fhdl\u002Flecture13","Lecture 13：浮点数标准","2026-09-10 12:51:27",{"text":11,"minutes":584,"time":585,"words":586},2.575,154500,515,{"stem":588,"path":589,"title":590,"date":591,"collapsed":9,"readingTime":592},"posts\u002FUGCourses\u002F4.junior-autumn\u002F3.HDL\u002FLecture6","\u002Fugcourses\u002Fjunior-autumn\u002Fhdl\u002Flecture6","Lecture 6：Behavioral Modeling，非阻塞赋值","2026-09-10 12:51:12",{"text":97,"minutes":593,"time":594,"words":595},5.34,320400,1068,{"stem":597,"path":598,"title":599,"date":600,"collapsed":9,"readingTime":601},"posts\u002FUGCourses\u002F4.junior-autumn\u002F3.HDL\u002FPPTCorrespondence","\u002Fugcourses\u002Fjunior-autumn\u002Fhdl\u002Fpptcorrespondence","与PPT的对应","2026-09-10 12:52:18",{"text":269,"minutes":602,"time":603,"words":604},9.275,556500,1855,{"stem":606,"path":607,"title":608,"date":544,"collapsed":343,"readingTime":609},"posts\u002FUGCourses\u002F4.junior-autumn\u002F3.HDL\u002Findex","\u002Fugcourses\u002Fjunior-autumn\u002Fhdl","硬件描述语言原理与应用",{"text":60,"minutes":61,"time":62,"words":63},{"stem":611,"path":612,"title":613,"date":614,"collapsed":9,"readingTime":615},"posts\u002FUGCourses\u002F4.junior-autumn\u002F4.analogICDesign\u002F1.BeforeMidterm","\u002Fugcourses\u002Fjunior-autumn\u002Fanalogicdesign\u002Fbeforemidterm","期中前","2026-09-10 20:28:52",{"text":616,"minutes":617,"time":618,"words":619},"11 min read",10.835,650100,2167,{"stem":621,"path":622,"title":623,"date":624,"collapsed":9,"readingTime":625},"posts\u002FUGCourses\u002F4.junior-autumn\u002F4.analogICDesign\u002F2.MidtermExam2425","\u002Fugcourses\u002Fjunior-autumn\u002Fanalogicdesign\u002Fmidtermexam2425","24-25 期中","2026-09-10 20:29:00",{"text":21,"minutes":626,"time":627,"words":628},1.22,73200,244,{"stem":630,"path":631,"title":632,"date":633,"collapsed":9,"readingTime":634},"posts\u002FUGCourses\u002F4.junior-autumn\u002F4.analogICDesign\u002F3.FinalExamReview","\u002Fugcourses\u002Fjunior-autumn\u002Fanalogicdesign\u002Ffinalexamreview","期末考试整理","2026-09-10 20:29:09",{"text":387,"minutes":635,"time":636,"words":637},11.36,681600,2272,{"stem":639,"path":640,"title":641,"date":642,"collapsed":343,"readingTime":643},"posts\u002FUGCourses\u002F4.junior-autumn\u002F4.analogICDesign\u002Findex","\u002Fugcourses\u002Fjunior-autumn\u002Fanalogicdesign","模拟集成电路设计","2026-09-10 20:00:00",{"text":80,"minutes":81,"time":81,"words":81},{"stem":645,"path":646,"title":647,"date":78,"collapsed":9,"readingTime":648},"posts\u002FUGCourses\u002F4.junior-autumn\u002Findex","\u002Fugcourses\u002Fjunior-autumn","大三秋冬",{"text":80,"minutes":81,"time":81,"words":81},{"stem":650,"path":651,"title":652,"date":653,"collapsed":9,"readingTime":654},"posts\u002FUGCourses\u002F5.junior-spring\u002F1.digitalICDesign\u002F1.Chapter3-Device","\u002Fugcourses\u002Fjunior-spring\u002Fdigitalicdesign\u002Fchapter3-device","Chapter 3：器件 Device","2026-09-10 21:14:41",{"text":249,"minutes":655,"time":656,"words":657},6.055,363300,1211,{"stem":659,"path":660,"title":661,"date":653,"collapsed":9,"readingTime":662},"posts\u002FUGCourses\u002F5.junior-spring\u002F1.digitalICDesign\u002F10.Chapter12-Arithmetic","\u002Fugcourses\u002Fjunior-spring\u002Fdigitalicdesign\u002Fchapter12-arithmetic","Chapter 12：算术运算电路 Arithmetic",{"text":168,"minutes":663,"time":664,"words":665},24.245,1454700,4849,{"stem":667,"path":668,"title":669,"date":653,"collapsed":9,"readingTime":670},"posts\u002FUGCourses\u002F5.junior-spring\u002F1.digitalICDesign\u002F11.Chapter13-Memory","\u002Fugcourses\u002Fjunior-spring\u002Fdigitalicdesign\u002Fchapter13-memory","Chapter 13：存储器 Memory",{"text":229,"minutes":671,"time":672,"words":673},34.235,2054100,6847,{"stem":675,"path":676,"title":677,"date":653,"collapsed":9,"readingTime":678},"posts\u002FUGCourses\u002F5.junior-spring\u002F1.digitalICDesign\u002F12.Chapter14","\u002Fugcourses\u002Fjunior-spring\u002Fdigitalicdesign\u002Fchapter14","Chapter 14",{"text":80,"minutes":81,"time":81,"words":81},{"stem":680,"path":681,"title":682,"date":653,"collapsed":9,"readingTime":683},"posts\u002FUGCourses\u002F5.junior-spring\u002F1.digitalICDesign\u002F13.PastExams\u002F1.Midterm2022","\u002Fugcourses\u002Fjunior-spring\u002Fdigitalicdesign\u002Fpastexams\u002Fmidterm2022","2022 期中试题",{"text":60,"minutes":684,"time":685,"words":686},0.075,4500,15,{"stem":688,"path":689,"title":690,"date":653,"collapsed":9,"readingTime":691},"posts\u002FUGCourses\u002F5.junior-spring\u002F1.digitalICDesign\u002F13.PastExams\u002F2.Midterm2023","\u002Fugcourses\u002Fjunior-spring\u002Fdigitalicdesign\u002Fpastexams\u002Fmidterm2023","2023 期中试题",{"text":80,"minutes":81,"time":81,"words":81},{"stem":693,"path":694,"title":695,"date":653,"collapsed":9,"readingTime":696},"posts\u002FUGCourses\u002F5.junior-spring\u002F1.digitalICDesign\u002F13.PastExams\u002F3.FinalPolished","\u002Fugcourses\u002Fjunior-spring\u002Fdigitalicdesign\u002Fpastexams\u002Ffinalpolished","期末历年卷（AI 润色版）",{"text":21,"minutes":697,"time":698,"words":699},1.575,94500,315,{"stem":701,"path":702,"title":703,"date":653,"collapsed":9,"readingTime":704},"posts\u002FUGCourses\u002F5.junior-spring\u002F1.digitalICDesign\u002F14.ExamRecall2026","\u002Fugcourses\u002Fjunior-spring\u002Fdigitalicdesign\u002Fexamrecall2026","数字集成电路回忆 2026",{"text":60,"minutes":705,"time":706,"words":707},0.49,29400,98,{"stem":709,"path":710,"title":711,"date":653,"collapsed":9,"readingTime":712},"posts\u002FUGCourses\u002F5.junior-spring\u002F1.digitalICDesign\u002F2.Chapter4-Wire","\u002Fugcourses\u002Fjunior-spring\u002Fdigitalicdesign\u002Fchapter4-wire","Chapter 4：导线 Wire",{"text":397,"minutes":713,"time":714,"words":715},18.65,1119000,3730,{"stem":717,"path":718,"title":719,"date":653,"collapsed":9,"readingTime":720},"posts\u002FUGCourses\u002F5.junior-spring\u002F1.digitalICDesign\u002F3.Chapter5-Inverter","\u002Fugcourses\u002Fjunior-spring\u002Fdigitalicdesign\u002Fchapter5-inverter","Chapter 5：CMOS 反相器 Inverter",{"text":269,"minutes":721,"time":722,"words":723},9.385,563100,1877,{"stem":725,"path":726,"title":727,"date":653,"collapsed":9,"readingTime":728},"posts\u002FUGCourses\u002F5.junior-spring\u002F1.digitalICDesign\u002F4.Chapter6-LogicGate","\u002Fugcourses\u002Fjunior-spring\u002Fdigitalicdesign\u002Fchapter6-logicgate","Chapter 6：逻辑门 Logic Gate",{"text":31,"minutes":729,"time":730,"words":731},8.635,518100,1727,{"stem":733,"path":734,"title":735,"date":653,"collapsed":9,"readingTime":736},"posts\u002FUGCourses\u002F5.junior-spring\u002F1.digitalICDesign\u002F5.Chapter7-SequentialLogic","\u002Fugcourses\u002Fjunior-spring\u002Fdigitalicdesign\u002Fchapter7-sequentiallogic","Chapter 7：时序逻辑 Sequential Logic",{"text":463,"minutes":737,"time":738,"words":739},16.645,998700,3329,{"stem":741,"path":742,"title":743,"date":653,"collapsed":9,"readingTime":744},"posts\u002FUGCourses\u002F5.junior-spring\u002F1.digitalICDesign\u002F6.Chapter8-Speed","\u002Fugcourses\u002Fjunior-spring\u002Fdigitalicdesign\u002Fchapter8-speed","Chapter 8：延迟与速度 Speed",{"text":745,"minutes":746,"time":747,"words":748},"33 min read",32.885,1973100,6577,{"stem":750,"path":751,"title":752,"date":653,"collapsed":9,"readingTime":753},"posts\u002FUGCourses\u002F5.junior-spring\u002F1.digitalICDesign\u002F7.Chapter9-Power","\u002Fugcourses\u002Fjunior-spring\u002Fdigitalicdesign\u002Fchapter9-power","Chapter 9：功耗 Power",{"text":754,"minutes":755,"time":756,"words":757},"31 min read",31.005,1860300,6201,{"stem":759,"path":760,"title":761,"date":653,"collapsed":9,"readingTime":762},"posts\u002FUGCourses\u002F5.junior-spring\u002F1.digitalICDesign\u002F8.Chapter10-Interconnect","\u002Fugcourses\u002Fjunior-spring\u002Fdigitalicdesign\u002Fchapter10-interconnect","Chapter 10：互连 Interconnect",{"text":463,"minutes":763,"time":764,"words":765},16.32,979200,3264,{"stem":767,"path":768,"title":769,"date":653,"collapsed":9,"readingTime":770},"posts\u002FUGCourses\u002F5.junior-spring\u002F1.digitalICDesign\u002F9.Chapter11-Timing","\u002Fugcourses\u002Fjunior-spring\u002Fdigitalicdesign\u002Fchapter11-timing","Chapter 11：时序 Timing",{"text":289,"minutes":771,"time":772,"words":773},19.68,1180800,3936,{"stem":775,"path":776,"title":777,"date":653,"collapsed":343,"readingTime":778},"posts\u002FUGCourses\u002F5.junior-spring\u002F1.digitalICDesign\u002Findex","\u002Fugcourses\u002Fjunior-spring\u002Fdigitalicdesign","数字集成电路设计",{"text":80,"minutes":81,"time":81,"words":81},{"stem":780,"path":781,"title":782,"date":653,"collapsed":9,"readingTime":783},"posts\u002FUGCourses\u002F5.junior-spring\u002F2.computerOrganization\u002F1.L1-Intro","\u002Fugcourses\u002Fjunior-spring\u002Fcomputerorganization\u002Fl1-intro","L1：计算机发展史与体系结构导论",{"text":397,"minutes":784,"time":785,"words":786},18.695,1121700,3739,{"stem":788,"path":789,"title":790,"date":653,"collapsed":9,"readingTime":791},"posts\u002FUGCourses\u002F5.junior-spring\u002F2.computerOrganization\u002F10.L8-9-Memory","\u002Fugcourses\u002Fjunior-spring\u002Fcomputerorganization\u002Fl8-9-memory","L8-9：存储器层次结构",{"text":792,"minutes":793,"time":794,"words":795},"128 min read",127.1,7626000,25420,{"stem":797,"path":798,"title":799,"date":653,"collapsed":9,"readingTime":800},"posts\u002FUGCourses\u002F5.junior-spring\u002F2.computerOrganization\u002F11.L10-11-Parallelism","\u002Fugcourses\u002Fjunior-spring\u002Fcomputerorganization\u002Fl10-11-parallelism","L10-11：并行性",{"text":801,"minutes":802,"time":803,"words":804},"159 min read",158.86,9531600,31772,{"stem":806,"path":807,"title":808,"date":653,"collapsed":9,"readingTime":809},"posts\u002FUGCourses\u002F5.junior-spring\u002F2.computerOrganization\u002F12.L12-CacheCoherence","\u002Fugcourses\u002Fjunior-spring\u002Fcomputerorganization\u002Fl12-cachecoherence","L12：缓存一致性 Cache Coherence",{"text":810,"minutes":811,"time":812,"words":813},"76 min read",75.395,4523700,15079,{"stem":815,"path":816,"title":817,"date":653,"collapsed":9,"readingTime":818},"posts\u002FUGCourses\u002F5.junior-spring\u002F2.computerOrganization\u002F13.L13-14-ComplexPipeline","\u002Fugcourses\u002Fjunior-spring\u002Fcomputerorganization\u002Fl13-14-complexpipeline","L13-14：复杂流水线（衔接 L7）",{"text":819,"minutes":820,"time":821,"words":822},"44 min read",43.985,2639100,8797,{"stem":824,"path":825,"title":826,"date":653,"collapsed":9,"readingTime":827},"posts\u002FUGCourses\u002F5.junior-spring\u002F2.computerOrganization\u002F14.L15","\u002Fugcourses\u002Fjunior-spring\u002Fcomputerorganization\u002Fl15","L15：期末复习问答",{"text":269,"minutes":828,"time":829,"words":830},9.105,546300,1821,{"stem":832,"path":833,"title":834,"date":653,"collapsed":9,"readingTime":835},"posts\u002FUGCourses\u002F5.junior-spring\u002F2.computerOrganization\u002F2.L2-Binary","\u002Fugcourses\u002Fjunior-spring\u002Fcomputerorganization\u002Fl2-binary","L2：二进制数制",{"text":80,"minutes":81,"time":81,"words":81},{"stem":837,"path":838,"title":839,"date":653,"collapsed":9,"readingTime":840},"posts\u002FUGCourses\u002F5.junior-spring\u002F2.computerOrganization\u002F3.L3-CMemory","\u002Fugcourses\u002Fjunior-spring\u002Fcomputerorganization\u002Fl3-cmemory","L3：C 语言与内存模型",{"text":841,"minutes":842,"time":843,"words":844},"98 min read",97.32,5839200,19464,{"stem":846,"path":847,"title":848,"date":653,"collapsed":9,"readingTime":849},"posts\u002FUGCourses\u002F5.junior-spring\u002F2.computerOrganization\u002F4.L4a-wbx","\u002Fugcourses\u002Fjunior-spring\u002Fcomputerorganization\u002Fl4a-wbx","L4a：wbx",{"text":80,"minutes":81,"time":81,"words":81},{"stem":851,"path":852,"title":853,"date":653,"collapsed":9,"readingTime":854},"posts\u002FUGCourses\u002F5.junior-spring\u002F2.computerOrganization\u002F5.L4b-MachineCode","\u002Fugcourses\u002Fjunior-spring\u002Fcomputerorganization\u002Fl4b-machinecode","L4b：机器码 Machine Code",{"text":80,"minutes":81,"time":81,"words":81},{"stem":856,"path":857,"title":858,"date":653,"collapsed":9,"readingTime":859},"posts\u002FUGCourses\u002F5.junior-spring\u002F2.computerOrganization\u002F6.L5-DSD","\u002Fugcourses\u002Fjunior-spring\u002Fcomputerorganization\u002Fl5-dsd","L5：数字系统设计 Digital System Design",{"text":269,"minutes":860,"time":861,"words":862},9.955,597300,1991,{"stem":864,"path":865,"title":866,"date":653,"collapsed":9,"readingTime":867},"posts\u002FUGCourses\u002F5.junior-spring\u002F2.computerOrganization\u002F7.L6a-SingleCycle","\u002Fugcourses\u002Fjunior-spring\u002Fcomputerorganization\u002Fl6a-singlecycle","L6a：单周期处理器设计",{"text":219,"minutes":868,"time":869,"words":870},22.125,1327500,4425,{"stem":872,"path":873,"title":874,"date":653,"collapsed":9,"readingTime":875},"posts\u002FUGCourses\u002F5.junior-spring\u002F2.computerOrganization\u002F8.L6b-Microcode","\u002Fugcourses\u002Fjunior-spring\u002Fcomputerorganization\u002Fl6b-microcode","L6b：微码处理器架构",{"text":387,"minutes":876,"time":877,"words":878},11.86,711600,2372,{"stem":880,"path":881,"title":882,"date":653,"collapsed":9,"readingTime":883},"posts\u002FUGCourses\u002F5.junior-spring\u002F2.computerOrganization\u002F9.L7-Pipeline","\u002Fugcourses\u002Fjunior-spring\u002Fcomputerorganization\u002Fl7-pipeline","L7：流水线处理器",{"text":177,"minutes":884,"time":885,"words":886},44.505,2670300,8901,{"stem":888,"path":889,"title":890,"date":653,"collapsed":343,"readingTime":891},"posts\u002FUGCourses\u002F5.junior-spring\u002F2.computerOrganization\u002Findex","\u002Fugcourses\u002Fjunior-spring\u002Fcomputerorganization","计算机组成与系统结构",{"text":60,"minutes":892,"time":893,"words":894},0.12,7200,24,{"stem":896,"path":897,"title":898,"date":78,"collapsed":9,"readingTime":899},"posts\u002FUGCourses\u002F5.junior-spring\u002Findex","\u002Fugcourses\u002Fjunior-spring","大三春夏",{"text":80,"minutes":81,"time":81,"words":81},{"stem":901,"path":902,"title":903,"date":78,"collapsed":9,"readingTime":904},"posts\u002FUGCourses\u002Findex","\u002Fugcourses","本科课程",{"text":80,"minutes":81,"time":81,"words":81},{"stem":906,"path":907,"title":908,"date":909,"collapsed":9,"readingTime":910},"posts\u002Fubuntu\u002F1.config","\u002Fubuntu\u002Fconfig","ubuntu 系统配置","2025-08-26 19:38:06",{"text":158,"minutes":911,"time":912,"words":913},3.815,228900,763,{"stem":915,"path":916,"title":917,"date":918,"collapsed":9,"readingTime":919},"posts\u002Fubuntu\u002F2.cadence\u002F1.mmsim","\u002Fubuntu\u002Fcadence\u002Fmmsim","在 Ubuntu 24.04 上安装 Cadence MMSIM 15.1 的兼容性问题","2026-09-09 14:06:40",{"text":158,"minutes":920,"time":921,"words":922},3.5,210000,700,{"stem":924,"path":925,"title":926,"date":918,"collapsed":9,"readingTime":927},"posts\u002Fubuntu\u002F2.cadence\u002F2.innovus","\u002Fubuntu\u002Fcadence\u002Finnovus","Innovus安装",{"text":11,"minutes":928,"time":929,"words":930},2.08,124800,416,{"stem":932,"path":933,"title":934,"date":918,"collapsed":9,"readingTime":935},"posts\u002Fubuntu\u002F2.cadence\u002Findex","\u002Fubuntu\u002Fcadence","Ubuntu24.04安装Cadence 系列软件",{"text":269,"minutes":936,"time":937,"words":938},9.98,598800,1996,{"stem":940,"path":941,"title":942,"date":918,"collapsed":9,"readingTime":943},"posts\u002Fubuntu\u002F3.synopsys","\u002Fubuntu\u002Fsynopsys","Ubuntu 24.04 安装 Synopsys",{"text":269,"minutes":944,"time":945,"words":946},9.555,573300,1911,{"stem":948,"path":949,"title":950,"date":918,"collapsed":9,"readingTime":951},"posts\u002Fubuntu\u002F4.vivado","\u002Fubuntu\u002Fvivado","Ubuntu 24.04 安装 Vivado 2020.1",{"text":60,"minutes":952,"time":953,"words":954},0.62,37200,124,{"stem":956,"path":957,"title":958,"date":918,"collapsed":9,"readingTime":959},"posts\u002Fubuntu\u002F5.migrate","\u002Fubuntu\u002Fmigrate","硬盘迁移系统",{"text":60,"minutes":960,"time":961,"words":962},0.64,38400,128,{"stem":964,"path":965,"title":966,"date":967,"collapsed":9,"readingTime":968},"posts\u002Fubuntu\u002Findex","\u002Fubuntu","Ubuntu装进移动硬盘","2025-08-25 19:38:06",{"text":269,"minutes":969,"time":970,"words":971},9.26,555600,1852,{"id":973,"title":369,"body":974,"categories":3624,"collapsed":9,"date":370,"description":3625,"draft":9,"extension":3626,"hideInArchive":343,"hideInList":343,"image":3627,"meta":3628,"navigation":343,"path":368,"permalink":3627,"published":3627,"readingTime":3630,"recommend":3627,"references":3627,"seo":3631,"sitemap":3632,"stem":367,"tags":3633,"type":3637,"updated":370,"__hash__":3638},"content\u002Fposts\u002FUGCourses\u002F4.junior-autumn\u002F2.ICCAD\u002F10.PastExams\u002F2.Exam2021.md",{"type":975,"value":976,"toc":3575},"minimark",[977,982,1092,1096,1105,1280,1283,1290,1446,1730,1737,1739,1746,1871,1873,1880,1937,2105,2355,2362,2364,2371,2462,2464,2471,2557,2563,2580,2642,2720,2737,2747,2757,2860,2944,2952,3018,3086,3090,3093,3113,3133,3137,3144,3149,3152,3158,3163,3202,3299,3378,3382,3411,3431,3435,3438,3446,3450],[978,979,981],"h2",{"id":980},"二翻译缩写","二、翻译缩写",[983,984,985,1004],"table",{},[986,987,988],"thead",{},[989,990,991,995,998,1001],"tr",{},[992,993,994],"th",{},"序号",[992,996,997],{},"缩写",[992,999,1000],{},"英文全称",[992,1002,1003],{},"中文含义",[1005,1006,1007,1022,1036,1050,1064,1078],"tbody",{},[989,1008,1009,1013,1016,1019],{},[1010,1011,1012],"td",{},"1",[1010,1014,1015],{},"CAD",[1010,1017,1018],{},"Computer-Aided Design",[1010,1020,1021],{},"计算机辅助设计",[989,1023,1024,1027,1030,1033],{},[1010,1025,1026],{},"2",[1010,1028,1029],{},"GNU",[1010,1031,1032],{},"GNU's Not Unix",[1010,1034,1035],{},"GNU 操作系统（递归缩写）",[989,1037,1038,1041,1044,1047],{},[1010,1039,1040],{},"3",[1010,1042,1043],{},"TCP\u002FIP",[1010,1045,1046],{},"Transmission Control Protocol \u002F Internet Protocol",[1010,1048,1049],{},"传输控制协议 \u002F 网际协议",[989,1051,1052,1055,1058,1061],{},[1010,1053,1054],{},"4",[1010,1056,1057],{},"DNS",[1010,1059,1060],{},"Domain Name System",[1010,1062,1063],{},"域名系统",[989,1065,1066,1069,1072,1075],{},[1010,1067,1068],{},"5",[1010,1070,1071],{},"NFS",[1010,1073,1074],{},"Network File System",[1010,1076,1077],{},"网络文件系统",[989,1079,1080,1083,1086,1089],{},[1010,1081,1082],{},"6",[1010,1084,1085],{},"COVID-19",[1010,1087,1088],{},"Coronavirus Disease 2019",[1010,1090,1091],{},"2019 冠状病毒病",[978,1093,1095],{"id":1094},"三解释含义","三、解释含义",[1097,1098,1100,1101],"h4",{"id":1099},"_1-ls-alt-r-log-grep-d-2-dd","1. ",[1102,1103,1104],"code",{"code":1104},"ls -alt -R $LOG | grep ^d 2>> dd",[1106,1107,1108,1274,1277],"ul",{},[1109,1110,1111,1115],"li",{},[1112,1113,1114],"strong",{},"Field Breakdown:",[1106,1116,1117,1123,1165,1180,1189,1216,1221,1241,1265],{},[1109,1118,1119,1122],{},[1102,1120,1121],{"code":1121},"ls",": The command to list directory contents.",[1109,1124,1125,1128,1129],{},[1102,1126,1127],{"code":1127},"-alt",": A combination of three flags:\n",[1106,1130,1131,1145,1155],{},[1109,1132,1133,1136,1137,1140,1141,1144],{},[1102,1134,1135],{"code":1135},"-a",": Show ",[1112,1138,1139],{},"all"," files (including hidden ones starting with ",[1102,1142,1143],{"code":1143},".",").",[1109,1146,1147,1150,1151,1154],{},[1102,1148,1149],{"code":1149},"-l",": Use ",[1112,1152,1153],{},"long"," listing format (shows permissions, owner, size, etc.).",[1109,1156,1157,1160,1161,1164],{},[1102,1158,1159],{"code":1159},"-t",": Sort by ",[1112,1162,1163],{},"time"," (modification time), newest first.",[1109,1166,1167,1170,1171,1177,1179],{},[1102,1168,1169],{"code":1169},"-R",": ",[1172,1173,1174],"mark",{},[1112,1175,1176],{},"Recursive",[1172,1178,1143],{}," Lists subdirectories and their contents as well.",[1109,1181,1182,1185,1186,1144],{},[1102,1183,1184],{"code":1184},"$LOG",": An environment variable（环境变量） representing a directory path (e.g., ",[1102,1187,1188],{"code":1188},"\u002Fvar\u002Flog",[1109,1190,1191,1194,1195,1198,1199,1202,1206,1209,1214],{},[1102,1192,1193],{"code":1193},"|",": The ",[1112,1196,1197],{},"pipe"," operator. ",[1172,1200,1201],{},"It takes the output (stdout) of the command on the left (",[1172,1203,1204],{},[1102,1205,1121],{"code":1121},[1172,1207,1208],{},") and feeds it as input to the command on the right (",[1172,1210,1211],{},[1102,1212,1213],{"code":1213},"grep",[1172,1215,1144],{},[1109,1217,1218,1220],{},[1102,1219,1213],{"code":1213},": A command used to search text using patterns.",[1109,1222,1223,1226,1227,1230,1231,1234,1235,1237,1238,1143],{},[1102,1224,1225],{"code":1225},"^d",": A regular expression meaning \"starts with ",[1102,1228,1229],{"code":1229},"d","\". In an ",[1102,1232,1233],{"code":1233},"ls -l"," listing, lines starting with ",[1102,1236,1229],{"code":1229}," represent ",[1112,1239,1240],{},"directories",[1109,1242,1243,1246,1247,1252,1253,1256,1257,1260,1261,1264],{},[1102,1244,1245],{"code":1245},"2>>",": Redirects ",[1172,1248,1249],{},[1112,1250,1251],{},"Standard Error"," ",[1172,1254,1255],{},"(file descriptor 2)."," The ",[1102,1258,1259],{"code":1259},">>"," means \"",[1172,1262,1263],{},"append","\" rather than overwrite.",[1109,1266,1267,1170,1270,1273],{},[1102,1268,1269],{"code":1269},"dd",[1172,1271,1272],{},"The filename"," where the error messages will be appended.",[1109,1275,1276],{},"Complete Meaning:",[1109,1278,1279],{},"Recursively list all files in the directory path stored in the $LOG variable, showing details (long format) and sorting by modification time. Filter this list to display only the directories. If any errors occur (e.g., permission denied), append those error messages to a file named dd.",[1281,1282],"hr",{},[1097,1284,1286,1287],{"id":1285},"_2-gcc-c-g-iinclude-testc-gcc-o-test-testo-ioo-lx11","2. ",[1102,1288,1289],{"code":1289},"gcc -c -g -I\u002Finclude test.c; gcc -o test test.o io.o -lX11",[1106,1291,1292,1383],{},[1109,1293,1294,1252,1297,1300],{},[1112,1295,1296],{},"Part 1:",[1102,1298,1299],{"code":1299},"gcc -c -g -I\u002Finclude test.c",[1106,1301,1302,1308,1338,1353,1377],{},[1109,1303,1304,1307],{},[1102,1305,1306],{"code":1306},"gcc",": The GNU C Compiler.",[1109,1309,1310,1170,1313,1316,1317,1252,1320,1325,1327,1328,1331,1336],{},[1102,1311,1312],{"code":1312},"-c",[1112,1314,1315],{},"Compile"," and assemble, ",[1172,1318,1319],{},"but do",[1172,1321,1322],{},[1112,1323,1324],{},"not link",[1172,1326,1143],{}," This produces ",[1172,1329,1330],{},"an object file (",[1172,1332,1333],{},[1102,1334,1335],{"code":1335},".o",[1172,1337,1144],{},[1109,1339,1340,1343,1344,1252,1349,1352],{},[1102,1341,1342],{"code":1342},"-g",": Generate ",[1172,1345,1346],{},[1112,1347,1348],{},"debugging",[1172,1350,1351],{},"information"," (for use with GDB).",[1109,1354,1355,1358,1359,1362,1363,1366,1367,1370,1375],{},[1102,1356,1357],{"code":1357},"-I\u002Finclude",": (Uppercase ",[1102,1360,1361],{"code":1361},"i",") Adds ",[1102,1364,1365],{"code":1365},"\u002Finclude"," to ",[1172,1368,1369],{},"the list of directories to search for header files (",[1172,1371,1372],{},[1102,1373,1374],{"code":1374},".h",[1172,1376,1144],{},[1109,1378,1379,1382],{},[1102,1380,1381],{"code":1381},"test.c",": The source code file to be compiled.",[1109,1384,1385,1252,1388,1391],{},[1112,1386,1387],{},"Part 2:",[1102,1389,1390],{"code":1390},"gcc -o test test.o io.o -lX11",[1106,1392,1393,1406,1412],{},[1109,1394,1395,1398,1399,1402,1403,1144],{},[1102,1396,1397],{"code":1397},"-o test",": Specifies the ",[1112,1400,1401],{},"output"," filename of the executable (named ",[1102,1404,1405],{"code":1405},"test",[1109,1407,1408,1411],{},[1102,1409,1410],{"code":1410},"test.o io.o",": The object files to be linked together.（输入文件）",[1109,1413,1414,1417,1418,1421,1422,1252,1425,1252,1430,1252,1433,1438,1439,1442,1443,1144],{},[1102,1415,1416],{"code":1416},"-lX11",": (Lowercase ",[1102,1419,1420],{"code":1420},"L",") Tells the linker to link against ",[1172,1423,1424],{},"the",[1172,1426,1427],{},[1112,1428,1429],{},"library",[1172,1431,1432],{},"named",[1172,1434,1435],{},[1102,1436,1437],{"code":1437},"X11"," (usually ",[1102,1440,1441],{"code":1441},"libX11.so"," or ",[1102,1444,1445],{"code":1445},"libX11.a",[1447,1448,1450,1454,1534,1538],"alert",{"type":1449},"question",[1097,1451,1453],{"id":1452},"第一页基础编译控制与优化","第一页：基础编译控制与优化",[1106,1455,1456,1464,1484,1513],{},[1109,1457,1458,1460,1461,1463],{},[1102,1459,1312],{"code":1312}," # 只编译，不 Link，产生 ",[1102,1462,1335],{"code":1335}," 文件",[1109,1465,1466,1468,1469],{},[1102,1467,1342],{"code":1342}," # 可调试的编译\n",[1106,1470,1471],{},[1109,1472,1473,1474,1477,1478,1480,1481,1483],{},"默认编译生成的可执行文件是无法使用 ",[1102,1475,1476],{"code":1476},"gdb"," 来跟踪或调试的，因为可执行程序中没有可供 ",[1102,1479,1476],{"code":1476}," 调试使用的特殊信息；为了将必要的调试信息整合到可执行文件中，我们便需要用到 ",[1102,1482,1342],{"code":1342}," 选项",[1109,1485,1486,1489,1490],{},[1102,1487,1488],{"code":1488},"-O?"," # 进行编译优化，级别越高效果越好，时间越长\n",[1106,1491,1492,1510],{},[1109,1493,1494,1497,1498,1497,1501,1497,1504,1497,1507],{},[1102,1495,1496],{"code":1496},"-O1",", ",[1102,1499,1500],{"code":1500},"-O2",[1102,1502,1503],{"code":1503},"-O3",[1102,1505,1506],{"code":1506},"-Os",[1102,1508,1509],{"code":1509},"-Ofast",[1109,1511,1512],{},"可以选择一级、二级、三级、空间优化、速度优化等",[1109,1514,1515,1518,1519,1522],{},[1102,1516,1517],{"code":1517},"-o output_filename"," # 指定输出文件名称，默认为 ",[1102,1520,1521],{"code":1521},"a.out",[1106,1523,1524],{},[1109,1525,1526,1529,1530,1533],{},[1102,1527,1528],{"code":1528},"gcc -o my_program main.c","    会生成一个名为 ",[1102,1531,1532],{"code":1532},"my_program"," 的可执行文件",[1097,1535,1537],{"id":1536},"第二页头文件宏定义与库链接","第二页：头文件、宏定义与库链接",[1106,1539,1540,1576,1608,1633],{},[1109,1541,1542,1545,1546,1549],{},[1102,1543,1544],{"code":1544},"-Ipathname"," # ",[1172,1547,1548],{},"指定额外的头文件搜索路径",[1106,1550,1551,1562,1569],{},[1109,1552,1553,1554,1557,1558,1561],{},"当你在代码中写 ",[1102,1555,1556],{"code":1556},"#include \"myheader.h\""," 时，编译器默认只在当前目录和系统标准目录（如 ",[1102,1559,1560],{"code":1560},"\u002Fusr\u002Finclude","）寻找。",[1109,1563,1564,1565,1568],{},"如果你的头文件放在一个子文件夹（例如 ",[1102,1566,1567],{"code":1567},"include\u002F","）里，你需要告诉编译器去哪里找。",[1109,1570,1571,1572,1575],{},"如：",[1102,1573,1574],{"code":1574},"gcc -I.\u002Finclude main.c","，就添加了路径",[1109,1577,1578,1581,1582,1585,1586,1589],{},[1102,1579,1580],{"code":1580},"-Dsymbol"," # 定义宏 ",[1102,1583,1584],{"code":1584},"symbol","，等价于 ",[1102,1587,1588],{"code":1588},"#define symbol",[1106,1590,1591,1599],{},[1109,1592,1593,1596,1597],{},[1102,1594,1595],{"code":1595},"gcc -Dsymbol"," 直接跟宏名，相当于定义这个宏，默认这个宏的内容是 ",[1102,1598,1012],{"code":1012},[1109,1600,1601,1604,1605],{},[1102,1602,1603],{"code":1603},"gcc -DNAME=value"," 表示定义宏，它的内容是 ",[1102,1606,1607],{"code":1607},"value",[1109,1609,1610,1613,1614],{},[1102,1611,1612],{"code":1612},"-Ldirectory"," # 指定额外的函数库搜索路径\n",[1106,1615,1616,1622],{},[1109,1617,1618,1621],{},[1112,1619,1620],{},"含义","：添加库文件搜索目录。",[1109,1623,1624,1625,1628,1629,1632],{},"告诉链接器（Linker）去哪里寻找库文件（",[1102,1626,1627],{"code":1627},".a"," 静态库或 ",[1102,1630,1631],{"code":1631},".so"," 动态库）。",[1109,1634,1635,1638,1639],{},[1102,1636,1637],{"code":1637},"-lxyz"," # 链接时搜索指定具体的函数库\n",[1106,1640,1641,1650,1666,1683,1703],{},[1109,1642,1643,1645,1646,1649],{},[1112,1644,1620],{},"：链接名为 ",[1102,1647,1648],{"code":1648},"libxyz"," 的库。",[1109,1651,1652,1653,1656,1657,1656,1660,1662,1663,1665],{},"这是最容易混淆的地方。Linux\u002FUnix 下的库文件通常命名为 ",[1102,1654,1655],{"code":1655},"lib"," + ",[1102,1658,1659],{"code":1659},"名字",[1102,1661,1627],{"code":1627}," (或 ",[1102,1664,1631],{"code":1631},")。",[1109,1667,1668,1669,1671,1672,1675,1676,1678,1679,1682],{},"在使用 ",[1102,1670,1149],{"code":1149}," 选项时，你需要",[1112,1673,1674],{},"去掉","前缀 ",[1102,1677,1655],{"code":1655}," 和后缀 ",[1102,1680,1681],{"code":1681},".a\u002F.so","。",[1109,1684,1685,1688,1689,1692,1693,1696,1697,1692,1700,1682],{},[1112,1686,1687],{},"示例","：如果你要链接数学库 ",[1102,1690,1691],{"code":1691},"libm.so","，你应该用 ",[1102,1694,1695],{"code":1695},"-lm","。如果你要链接自己的库 ",[1102,1698,1699],{"code":1699},"libtest.a",[1102,1701,1702],{"code":1702},"-ltest",[1109,1704,1705,1252,1708,1252,1713,1252,1716,1252,1720,1723,1728],{},[1172,1706,1707],{},"如果",[1172,1709,1710],{},[1102,1711,1712],{"code":1712},"-L",[1172,1714,1715],{},"是指定书架，那么",[1172,1717,1718],{},[1102,1719,1149],{"code":1149},[1172,1721,1722],{},"就是指定具体的",[1172,1724,1725],{},[1112,1726,1727],{},"书名",[1172,1729,1682],{},[1106,1731,1732,1734],{},[1109,1733,1276],{},[1109,1735,1736],{},"First, compile test.c into an object file with debug info enabled, looking for header files in the \u002Finclude directory. Then, link the resulting test.o and another object file io.o with the X11 library to create a final executable program named test.",[1281,1738],{},[1097,1740,1742,1743],{"id":1741},"_3-gzip-d-seczip-tar-xvf-sectar","3. ",[1102,1744,1745],{"code":1745},"gzip -d sec.zip; tar xvf sec.tar .",[1106,1747,1748,1787,1866,1868],{},[1109,1749,1750,1252,1752,1755],{},[1112,1751,1296],{},[1102,1753,1754],{"code":1754},"gzip -d sec.zip",[1106,1756,1757,1763,1775],{},[1109,1758,1759,1762],{},[1102,1760,1761],{"code":1761},"gzip",": The GNU zip compression utility.",[1109,1764,1765,1170,1768,1773],{},[1102,1766,1767],{"code":1767},"-d",[1172,1769,1770],{},[1112,1771,1772],{},"Decompress",[1172,1774,1143],{},[1109,1776,1777,1780,1781,1784,1785,1144],{},[1102,1778,1779],{"code":1779},"sec.zip",": The input file. (Note: Usually gzip files end in ",[1102,1782,1783],{"code":1783},".gz",", but this command attempts to decompress the file named ",[1102,1786,1779],{"code":1779},[1109,1788,1789,1252,1791,1794],{},[1112,1790,1387],{},[1102,1792,1793],{"code":1793},"tar xvf sec.tar .",[1106,1795,1796,1802,1815,1824,1848,1853],{},[1109,1797,1798,1801],{},[1102,1799,1800],{"code":1800},"tar",": Tape ARchive utility.",[1109,1803,1804,1170,1807,1252,1812],{},[1102,1805,1806],{"code":1806},"x",[1172,1808,1809],{},[1112,1810,1811],{},"Extract",[1172,1813,1814],{},"files from an archive.",[1109,1816,1817,1170,1820,1823],{},[1102,1818,1819],{"code":1819},"v",[1112,1821,1822],{},"Verbose"," (list files as they are processed).（冗长的）",[1109,1825,1826,1829,1830,1833,1834,1144,1837,1840,1845],{},[1102,1827,1828],{"code":1828},"f",": Use the ",[1112,1831,1832],{},"file"," specified next (",[1102,1835,1836],{"code":1836},"sec.tar",[1172,1838,1839],{},"指定文件名（",[1172,1841,1842],{},[1112,1843,1844],{},"必须放在最后",[1172,1846,1847],{},"，后面紧跟文件名）",[1109,1849,1850,1852],{},[1102,1851,1836],{"code":1836},": The archive file to extract.",[1109,1854,1855,1857,1858,1860,1861,1865],{},[1102,1856,1143],{"code":1143},": Represents the current directory. (Note: In standard ",[1102,1859,1800],{"code":1800},", this argument is usually implied as the destination, or it might be interpreting it as a file list. In this context, it implies extracting ",[1862,1863,1864],"em",{},"into"," the current directory).（一般默认当前文件夹）",[1109,1867,1276],{},[1109,1869,1870],{},"Decompress the file sec.zip (presumably yielding sec.tar), and then extract the contents of the sec.tar archive into the current directory, listing every file as it is extracted.",[1281,1872],{},[1097,1874,1876,1877],{"id":1875},"_4-find-name-xh-print-2devnull","4. ",[1102,1878,1879],{"code":1879},"find . -name X*.h -print 2>\u002Fdev\u002Fnull",[1106,1881,1882],{},[1109,1883,1884,1886],{},[1112,1885,1114],{},[1106,1887,1888,1894,1902,1915,1921],{},[1109,1889,1890,1893],{},[1102,1891,1892],{"code":1892},"find",": The utility used to search for files in a directory hierarchy.",[1109,1895,1896,1898,1899,1144],{},[1102,1897,1143],{"code":1143},": The starting path for the search (the ",[1112,1900,1901],{},"current directory",[1109,1903,1904,1907,1908,1911,1912,1914],{},[1102,1905,1906],{"code":1906},"-name X*.h",": The search criteria. Look for filenames starting with ",[1102,1909,1910],{"code":1910},"X"," and ending with ",[1102,1913,1374],{"code":1374}," (header files).（通配符，*表示0个1个或多个字符）",[1109,1916,1917,1920],{},[1102,1918,1919],{"code":1919},"-print",": Explicitly print the matching filenames to Standard Output (stdout).",[1109,1922,1923,1926,1927,1929,1930,1933,1934,1936],{},[1102,1924,1925],{"code":1925},"2>\u002Fdev\u002Fnull",": Redirect ",[1112,1928,1251],{}," (2) to ",[1102,1931,1932],{"code":1932},"\u002Fdev\u002Fnull",". ",[1102,1935,1932],{"code":1932}," is a special \"black hole\" device; writing to it discards the data.",[1447,1938,1940,1945],{"type":1939},"warning",[1941,1942,1944],"h3",{"id":1943},"wild-card文件名","Wild card（文件名）",[1106,1946,1947,1973,2031,2041,2047,2061,2087,2093,2099],{},[1109,1948,1949,1252,1954,1957,1962,1965],{},[1172,1950,1951],{},[1102,1952,1953],{"code":1953},"?",[1172,1955,1956],{},"匹配当前位置任意一个字符，即当前位置",[1172,1958,1959],{},[1112,1960,1961],{},"必须",[1172,1963,1964],{},"有一个字符（不多不少）",[1106,1966,1967],{},[1109,1968,1969,1972],{},[1102,1970,1971],{"code":1971},"ls m?n"," #m4n, man, m!n",[1109,1974,1975,1252,1980,1252,1983,1988],{},[1172,1976,1977],{},[1102,1978,1979],{"code":1979},"*",[1172,1981,1982],{},"匹配当前位置任意 0 个或多个字符，即当前位置可以匹配",[1172,1984,1985],{},[1112,1986,1987],{},"0 个或多个字符",[1106,1989,1990,1996,2002,2021],{},[1109,1991,1992,1995],{},[1102,1993,1994],{"code":1994},"ls *"," #不是 . 开头的任意文件",[1109,1997,1998,2001],{},[1102,1999,2000],{"code":2000},"ls [a-z]*"," #小写字母开头的任意文件",[1109,2003,2004,2007,2008,2011,2012,2011,2015,2011,2018],{},[1102,2005,2006],{"code":2006},"a*"," 匹配：",[1102,2009,2010],{"code":2010},"a","、",[1102,2013,2014],{"code":2014},"ab",[1102,2016,2017],{"code":2017},"abc.txt",[1102,2019,2020],{"code":2020},"a___",[1109,2022,2023,2007,2026,2011,2029],{},[1102,2024,2025],{"code":2025},"*.c",[1102,2027,2028],{"code":2028},"main.c",[1102,2030,1381],{"code":1381},[1109,2032,2033,2036,2037,2040],{},[1102,2034,2035],{"code":2035},"[abc]"," #匹配括号内的任意",[1172,2038,2039],{},"一个","字符",[1109,2042,2043,2046],{},[1102,2044,2045],{"code":2045},"[a-d]"," #匹配括号内范围的任意字符",[1109,2048,2049,2052,2053],{},[1102,2050,2051],{"code":2051},"[!abc]"," #匹配任意字符不在封闭集内\n",[1106,2054,2055],{},[1109,2056,2057,2060],{},[1102,2058,2059],{"code":2059},"ls chpt[1-4]"," #chpt1, chpt2, chpt3, chpt4",[1109,2062,2063,2066,2067],{},[1102,2064,2065],{"code":2065},"{abc,bcd,cde}"," #匹配任一一组中的任一字符，注意用逗号分隔，花括号展开\n",[1106,2068,2069,2078],{},[1109,2070,2071,2074,2075],{},[1102,2072,2073],{"code":2073},"echo {a,b,c}"," 会展开成：",[1102,2076,2077],{"code":2077},"echo a b c",[1109,2079,2080,2083,2084],{},[1102,2081,2082],{"code":2082},"ls {src,include}\u002F*.h"," 等价于：",[1102,2085,2086],{"code":2086},"ls src\u002F*.h include\u002F*.h",[1109,2088,2089,2092],{},[1102,2090,2091],{"code":2091},"~"," #当前用户的 home 目录",[1109,2094,2095,2098],{},[1102,2096,2097],{"code":2097},"~user"," #指定 user 的 home 目录",[1109,2100,2101,2104],{},[1102,2102,2103],{"code":2103},"\\"," #对待下一个字符为纯文本",[1447,2106,2107,2111,2115,2119,2214,2218,2221,2301,2314,2318,2321],{"type":1449},[978,2108,2110],{"id":2109},"正则表达式文件内文本","正则表达式（文件内文本）",[1097,2112,2114],{"id":2113},"元字符最基础的代号","元字符：最基础的“代号”",[2116,2117,2118],"p",{},"元字符是正则的灵魂，它们不代表字面上的意思，而是代表一种范围或位置。",[1106,2120,2121,2145,2157,2168,2179,2196],{},[1109,2122,2123,1252,2129,2134,2137,2142],{},[1172,2124,2125],{},[1112,2126,2127],{},[1102,2128,1143],{"code":1143},[1172,2130,2131],{},[1112,2132,2133],{},"(点)",[1172,2135,2136],{},"：匹配",[1172,2138,2139],{},[1112,2140,2141],{},"除换行符以外",[1172,2143,2144],{},"的任意单个字符。",[1109,2146,2147,2152,2153,2156],{},[1112,2148,2149],{},[1102,2150,2151],{"code":2151},"\\d","：匹配一个",[1112,2154,2155],{},"数字","（0-9）。",[1109,2158,2159,2152,2164,2167],{},[1112,2160,2161],{},[1102,2162,2163],{"code":2163},"\\w",[1112,2165,2166],{},"字母、数字或下划线","（单词字符）。",[1109,2169,2170,2152,2175,2178],{},[1112,2171,2172],{},[1102,2173,2174],{"code":2174},"\\s",[1112,2176,2177],{},"空白符","（空格、制表符等）。",[1109,2180,2181,2185,2186,2188,2189,2188,2192,2195],{},[1112,2182,2183],{},[1102,2184,2035],{"code":2035},"：字符集合。匹配 ",[1102,2187,2010],{"code":2010}," 或 ",[1102,2190,2191],{"code":2191},"b",[1102,2193,2194],{"code":2194},"c"," 中的任意一个。",[1109,2197,2198,2203,2204,1252,2207,2011,2209,2011,2211,2213],{},[1112,2199,2200],{},[1102,2201,2202],{"code":2202},"[^abc]","：反向集合。匹配",[1112,2205,2206],{},"除了",[1102,2208,2010],{"code":2010},[1102,2210,2191],{"code":2191},[1102,2212,2194],{"code":2194}," 以外的任意字符。",[1097,2215,2217],{"id":2216},"量词决定出现几次","量词：决定“出现几次”",[2116,2219,2220],{},"如果你想匹配一串数字，而不是一个数字，就需要量词。",[1106,2222,2223,2242,2261,2279,2290],{},[1109,2224,2225,2231,1252,2234,2239],{},[1172,2226,2227],{},[1112,2228,2229],{},[1102,2230,1979],{"code":1979},[1172,2232,2233],{},"：出现",[1172,2235,2236],{},[1112,2237,2238],{},"0 次或多次",[1172,2240,2241],{},"（可有可无，无限多也行）。",[1109,2243,2244,2251,1252,2253,2258],{},[1172,2245,2246],{},[1112,2247,2248],{},[1102,2249,2250],{"code":2250},"+",[1172,2252,2233],{},[1172,2254,2255],{},[1112,2256,2257],{},"1 次或多次",[1172,2259,2260],{},"（至少得有一个）。",[1109,2262,2263,2269,1252,2271,2276],{},[1172,2264,2265],{},[1112,2266,2267],{},[1102,2268,1953],{"code":1953},[1172,2270,2233],{},[1172,2272,2273],{},[1112,2274,2275],{},"0 次或 1 次",[1172,2277,2278],{},"（可选符号）。",[1109,2280,2281,2286,2287,1682],{},[1112,2282,2283],{},[1102,2284,2285],{"code":2285},"{n}","：精确出现 ",[1112,2288,2289],{},"n 次",[1109,2291,2292,2297,2298,1682],{},[1112,2293,2294],{},[1102,2295,2296],{"code":2296},"{n,m}","：出现 ",[1112,2299,2300],{},"n 到 m 次",[2302,2303,2304],"blockquote",{},[2116,2305,2306,2309,2310,2313],{},[1112,2307,2308],{},"举例","：",[1102,2311,2312],{"code":2312},"\\d{3,4}"," 可以匹配 3 位或 4 位数字。",[1097,2315,2317],{"id":2316},"边界与位置在哪里匹配","边界与位置：在哪里匹配",[2116,2319,2320],{},"有时候你只想匹配行首或行尾的词。",[1106,2322,2323,2334,2344],{},[1109,2324,2325,2330,2331,1682],{},[1112,2326,2327],{},[1102,2328,2329],{"code":2329},"^","：匹配字符串的",[1112,2332,2333],{},"开始",[1109,2335,2336,2330,2341,1682],{},[1112,2337,2338],{},[1102,2339,2340],{"code":2340},"$",[1112,2342,2343],{},"结束",[1109,2345,2346,2136,2351,2354],{},[1112,2347,2348],{},[1102,2349,2350],{"code":2350},"\\b",[1112,2352,2353],{},"单词边界","（比如匹配 \"cat\" 但不匹配 \"category\"）。",[1106,2356,2357,2359],{},[1109,2358,1276],{},[1109,2360,2361],{},"Search the current directory and all subdirectories for files that start with \"X\" and end with \".h\". Print their paths to the screen. If any errors occur (like \"Permission denied\" when trying to search a protected folder), discard those error messages so they don't clutter the screen.",[1281,2363],{},[1097,2365,2367,2368],{"id":2366},"_5-cd-chmod-744","5. ",[1102,2369,2370],{"code":2370},"cd; chmod 744 *",[1106,2372,2373,2393,2457,2459],{},[1109,2374,2375,1252,2377,2380],{},[1112,2376,1296],{},[1102,2378,2379],{"code":2379},"cd",[1106,2381,2382],{},[1109,2383,2384,2386,2387,2390,2391,1144],{},[1102,2385,2379],{"code":2379},": Change Directory. When used without arguments, it defaults to the user's ",[1112,2388,2389],{},"Home Directory"," (",[1102,2392,2091],{"code":2091},[1109,2394,2395,1252,2397,2400],{},[1112,2396,1387],{},[1102,2398,2399],{"code":2399},"chmod 744 *",[1106,2401,2402,2408,2440],{},[1109,2403,2404,2407],{},[1102,2405,2406],{"code":2406},"chmod",": Change Mode (modify file permissions).",[1109,2409,2410,2413,2414],{},[1102,2411,2412],{"code":2412},"744",": The permission bitmask.\n",[1106,2415,2416,2425,2433],{},[1109,2417,2418,2421,2422,1143],{},[1112,2419,2420],{},"7"," (Owner): Read (4) + Write (2) + Execute (1) = ",[1102,2423,2424],{"code":2424},"rwx",[1109,2426,2427,2429,2430,1143],{},[1112,2428,1054],{}," (Group): Read (4) only = ",[1102,2431,2432],{"code":2432},"r--",[1109,2434,2435,2437,2438,1143],{},[1112,2436,1054],{}," (Others): Read (4) only = ",[1102,2439,2432],{"code":2432},[1109,2441,2442,2446,1252,2449,1252,2454],{},[1172,2443,2444],{},[1102,2445,1979],{"code":1979},[1172,2447,2448],{},": Wildcard representing",[1172,2450,2451],{},[1112,2452,2453],{},"all files",[1172,2455,2456],{},"in the current directory.",[1109,2458,1276],{},[1109,2460,2461],{},"Return to the user's home directory. Then, change the permissions of every file in that directory so that the owner has full control (read\u002Fwrite\u002Fexecute), while the group and everyone else can only read them.",[1281,2463],{},[1097,2465,2467,2468],{"id":2466},"_6-export-pathpwdbinpath","6. ",[1102,2469,2470],{"code":2470},"export PATH='pwd'\u002Fbin:$PATH",[1106,2472,2473,2537,2539],{},[1109,2474,2475,2477],{},[1112,2476,1114],{},[1106,2478,2479,2485,2491,2497,2513,2519,2528],{},[1109,2480,2481,2484],{},[1102,2482,2483],{"code":2483},"export",": Makes the variable available to child processes (sets an environment variable).",[1109,2486,2487,2490],{},[1102,2488,2489],{"code":2489},"PATH",": The environment variable that tells the shell which directories to search for executable programs.",[1109,2492,2493,2496],{},[1102,2494,2495],{"code":2495},"=",": Assignment operator.",[1109,2498,2499,1170,2502,2507,2509,2510,2512],{},[1102,2500,2501],{"code":2501},"pwd",[1172,2503,2504],{},[1112,2505,2506],{},"Command Substitution",[1172,2508,1143],{}," The shell runs the command ",[1102,2511,2501],{"code":2501}," (Print Working Directory) and replaces this part of the string with the output (the current absolute path).",[1109,2514,2515,2518],{},[1102,2516,2517],{"code":2517},"\u002Fbin",": A string appended to the current path.",[1109,2520,2521,2524,2525],{},[1102,2522,2523],{"code":2523},":",": The separator used in the PATH variable to distinguish between different directories.",[1172,2526,2527],{},"路径分隔符，用于分隔不同的搜索目录。",[1109,2529,2530,1194,2533,2536],{},[1102,2531,2532],{"code":2532},"$PATH",[1112,2534,2535],{},"current value"," of the PATH variable (before this change).",[1109,2538,1276],{},[1109,2540,2541,2542,2544,2545,2548,2549,2552,2553,2556],{},"Update the system PATH variable by adding a new directory to the beginning of the list. Specifically, it adds the bin subdirectory of the current folder (wherever you are right now) to the search path. This allows you to run scripts located in that specific bin folder from anywhere in the current shell session. | 修改系统的 ",[1102,2543,2489],{"code":2489}," 环境变量。将",[1112,2546,2547],{},"当前目录下的 bin 子目录","添加到系统搜索路径的",[1112,2550,2551],{},"最前面","。这意味着，当你以后输入命令时，系统会优先在这个 ",[1102,2554,2555],{"code":2555},"bin"," 目录中查找，然后再去原来的系统路径中查找。(相当于多加了一个路径)",[978,2558,2560],{"id":2559},"四简答题",[1112,2561,2562],{},"四、简答题",[1097,2564,2566,2567,2570,2571,2574,2575,2577,2578,1143],{"id":2565},"describe-the-functions-of-df-and-du-and-explain-why-df-is-faster-than-du","Describe the functions of ",[1102,2568,2569],{"code":2569},"df"," and ",[1102,2572,2573],{"code":2573},"du",", and explain why ",[1102,2576,2569],{"code":2569}," is faster than ",[1102,2579,2573],{"code":2573},[1106,2581,2582,2609],{},[1109,2583,2584,2587],{},[1112,2585,2586],{},"Functions:",[1106,2588,2589,2599],{},[1109,2590,2591,1252,2595,2598],{},[1112,2592,2593],{},[1102,2594,2569],{"code":2569},[1112,2596,2597],{},"(Disk Free):"," Displays the amount of disk space available and used on the file system as a whole (summary of file system usage).",[1109,2600,2601,1252,2605,2608],{},[1112,2602,2603],{},[1102,2604,2573],{"code":2573},[1112,2606,2607],{},"(Disk Usage):"," Estimates and summarizes the file space usage for specific files or directories (recursively).",[1109,2610,2611,1252,2614,1252,2618,2621],{},[1112,2612,2613],{},"Why is",[1112,2615,2616],{},[1102,2617,2569],{"code":2569},[1112,2619,2620],{},"faster?",[1106,2622,2623,2637],{},[1109,2624,2625,1252,2628,2630,2631,2636],{},[1112,2626,2627],{},"Mechanism:",[1102,2629,2569],{"code":2569}," does not traverse the file hierarchy. Instead, it simply reads the ",[1172,2632,2633],{},[1112,2634,2635],{},"Super Block"," (metadata) of the file system, which keeps a running tally of used\u002Ffree blocks.",[1109,2638,2639,2641],{},[1102,2640,2573],{"code":2573}," must perform a recursive traversal (walk) of the directory tree, accessing the inode of every single file to calculate its size. This involves significantly more I\u002FO operations.",[2302,2643,2644,2649,2671,2690],{},[2116,2645,2646],{},[1112,2647,2648],{},"功能：",[1106,2650,2651,2661],{},[1109,2652,2653,1252,2657,2660],{},[1112,2654,2655],{},[1102,2656,2569],{"code":2569},[1112,2658,2659],{},"(Disk Free)："," 用于显示文件系统的整体磁盘空间使用情况（如总容量、已用空间、剩余空间、挂载点等）",[1109,2662,2663,1252,2667,2670],{},[1112,2664,2665],{},[1102,2666,2573],{"code":2573},[1112,2668,2669],{},"(Disk Usage)："," 用于估算和统计文件或目录所占用的磁盘空间大小。",[2116,2672,2673,1252,2676,1252,2680,1252,2683,1252,2687],{},[1112,2674,2675],{},"为什么",[1112,2677,2678],{},[1102,2679,2569],{"code":2569},[1112,2681,2682],{},"比",[1112,2684,2685],{},[1102,2686,2573],{"code":2573},[1112,2688,2689],{},"快？",[1106,2691,2692,2704],{},[1109,2693,2694,1252,2697,2699,2700,2703],{},[1112,2695,2696],{},"原理不同：",[1102,2698,2569],{"code":2569}," 不需要遍历整个文件系统，它直接读取文件系统的 ",[1112,2701,2702],{},"超级块 (Super Block)"," 或元数据信息，那里记录了整个分区的块使用统计，所以速度极快。",[1109,2705,2706,2708,2709,2712,2713,2716,2717,2719],{},[1102,2707,2573],{"code":2573}," 则需要",[1112,2710,2711],{},"递归遍历","目录树，对每个文件调用 ",[1102,2714,2715],{"code":2715},"stat"," 系统调用来获取大小并累加。当文件数量巨大时，",[1102,2718,2573],{"code":2573}," 的 I\u002FO 操作非常频繁，因此速度较慢。",[1097,2721,2723,2724,2570,2727,2730,2731,2734,2735,1143],{"id":2722},"describe-the-basic-rules-of-a-makefile-explain-the-relationship-between-make-and-makefile-and-why-touch-is-often-used-with-make","Describe the basic rules of a makefile, explain the relationship between ",[1102,2725,2726],{"code":2726},"make",[1102,2728,2729],{"code":2729},"makefile",", and why ",[1102,2732,2733],{"code":2733},"touch"," is often used with ",[1102,2736,2726],{"code":2726},[1106,2738,2739,2744],{},[1109,2740,2741],{},[1112,2742,2743],{},"Basic Makefile Rule:",[1109,2745,2746],{},"Makefile",[2748,2749,2754],"pre",{"className":2750,"code":2752,"language":2753},[2751],"language-text","target: Dependencies \n    [tab] command\n","text",[1102,2755,2752],{"__ignoreMap":2756},"",[1106,2758,2759,2774,2817],{},[1109,2760,2761,2762,2765,2766,2769,2770,2773],{},"This means: The ",[1112,2763,2764],{},"target"," depends on the ",[1112,2767,2768],{},"Dependencies","  If the prerequisites are newer than the target, the ",[1112,2771,2772],{},"command"," is executed.",[1109,2775,2776,1252,2779,1252,2783,1252,2786,2790,2792],{},[1112,2777,2778],{},"Relationship between",[1112,2780,2781],{},[1102,2782,2726],{"code":2726},[1112,2784,2785],{},"and",[1112,2787,2788],{},[1102,2789,2729],{"code":2729},[1112,2791,2523],{},[1106,2793,2794,2804],{},[1109,2795,2796,1170,2800,2803],{},[1112,2797,2798],{},[1102,2799,2729],{"code":2729},[1172,2801,2802],{},"A text configuration file"," that defines the build rules, dependencies, and commands for the project.",[1109,2805,2806,1170,2810,2813,2814,2816],{},[1112,2807,2808],{},[1102,2809,2726],{"code":2726},[1172,2811,2812],{},"The command-line utility\u002Ftool"," that reads the ",[1102,2815,2729],{"code":2729},", interprets the rules, and executes the necessary commands to build the targets.",[1109,2818,2819,1252,2822,1252,2826,1252,2829,2833,2835],{},[1112,2820,2821],{},"Why use",[1112,2823,2824],{},[1102,2825,2733],{"code":2733},[1112,2827,2828],{},"with",[1112,2830,2831],{},[1102,2832,2726],{"code":2726},[1112,2834,1953],{},[1106,2836,2837,2849],{},[1109,2838,2839,2841,2842,2847],{},[1102,2840,2726],{"code":2726}," decides whether to recompile based on ",[1172,2843,2844],{},[1112,2845,2846],{},"file modification timestamps",[1172,2848,1143],{},[1109,2850,2851,2853,2854,2856,2857,2859],{},[1102,2852,2733],{"code":2733}," updates a file's timestamp to the current time. Developers use ",[1102,2855,2733],{"code":2733}," to \"trick\" ",[1102,2858,2726],{"code":2726}," into believing a source file has been modified, forcing a re-compilation of the target without actually changing the code content.",[2302,2861,2862,2892,2897,2916,2921],{},[1106,2863,2864,2877,2886],{},[1109,2865,2866,2869,2870,2188,2873,2876],{},[1112,2867,2868],{},"Target (目标)",": 你要生成的文件（如 ",[1102,2871,2872],{"code":2872},"myapp.o",[1102,2874,2875],{"code":2875},"myapp.exe","）。",[1109,2878,2879,2882,2883,2876],{},[1112,2880,2881],{},"Dependencies (依赖)",": 生成目标所需的源文件或其他目标（如 ",[1102,2884,2885],{"code":2885},"myapp.c",[1109,2887,2888,2891],{},[1112,2889,2890],{},"Commands (命令)",": 生成目标的 shell 命令（必须以 Tab 键开头）。",[2116,2893,2894],{},[1112,2895,2896],{},"make 和 makefile 的关系：",[1106,2898,2899,2906],{},[1109,2900,2901,2905],{},[1112,2902,2903],{},[1102,2904,2729],{"code":2729}," 是一个文本配置文件，定义了整个工程的编译规则、依赖关系和构建步骤。",[1109,2907,2908,2912,2913,2915],{},[1112,2909,2910],{},[1102,2911,2726],{"code":2726}," 是一个命令工具，它读取 ",[1102,2914,2729],{"code":2729}," 中的规则，自动判断哪些文件需要重新编译，并执行相应的命令。",[2116,2917,2918],{},[1112,2919,2920],{},"为什么 touch 经常与 make 一起使用？",[1106,2922,2923,2932],{},[1109,2924,2925,2927,2928,2931],{},[1102,2926,2726],{"code":2726}," 是基于",[1112,2929,2930],{},"文件时间戳","来判断是否需要重新编译的。",[1109,2933,2934,2935,2937,2938,1252,2941,2943],{},"使用 ",[1102,2936,2733],{"code":2733}," 命令可以更新源文件的时间戳（使其变为“最新”）。这样做可以",[1112,2939,2940],{},"欺骗",[1102,2942,2726],{"code":2726}," 工具，强制它认为文件已被修改，从而触发重新编译（Rebuild），而无需实际修改代码内容。",[1097,2945,2947,2948,2951],{"id":2946},"write-the-format-and-function-of-umask-and-explain-why-there-is-not-a-specific-file-name-following-umask","Write the format and function of ",[1102,2949,2950],{"code":2950},"umask",", and explain why there is not a specific file name following \"umask\".",[1106,2953,2954,2966,2982],{},[1109,2955,2956,1252,2959,2962,2963,1144],{},[1112,2957,2958],{},"Format:",[1102,2960,2961],{"code":2961},"umask [mode]"," (e.g., ",[1102,2964,2965],{"code":2965},"umask 022",[1109,2967,2968,2971,2972,2975,2976,2981],{},[1112,2969,2970],{},"Function:"," Sets the ",[1112,2973,2974],{},"file mode creation mask",". It determines the default permissions that are ",[1172,2977,2978],{},[1862,2979,2980],{},"subtracted"," (masked out) when a new file or directory is created by the process.",[1109,2983,2984,2987],{},[1112,2985,2986],{},"Why no file name?",[1106,2988,2989,3009],{},[1109,2990,2991,2993,2994,2999,3000,1252,3003,3008],{},[1102,2992,2950],{"code":2950}," is a ",[1172,2995,2996],{},[1112,2997,2998],{},"shell built-in command"," that ",[1172,3001,3002],{},"sets an attribute for the",[1172,3004,3005],{},[1112,3006,3007],{},"current shell process"," (and its children).",[1109,3010,3011,3012,3015,3016,1144],{},"It applies to ",[1112,3013,3014],{},"all future files"," created by that process, not to a specific existing file. (To change an existing file's permissions, you would use ",[1102,3017,2406],{"code":2406},[2302,3019,3020,3034,3047,3052],{},[2116,3021,3022,1252,3025,3028,3029,2188,3031,1665],{},[1112,3023,3024],{},"格式：",[1102,3026,3027],{"code":3027},"umask [模式]"," (例如：",[1102,3030,2965],{"code":2965},[1102,3032,3033],{"code":3033},"umask -S",[2116,3035,3036,3038,3039,3042,3043,3046],{},[1112,3037,2648],{}," 设置用户创建文件或目录时的",[1112,3040,3041],{},"默认权限掩码","。它决定了新创建的文件或目录",[1112,3044,3045],{},"不拥有","哪些权限（默认权限减去 umask 值即为最终权限）。",[2116,3048,3049],{},[1112,3050,3051],{},"为什么不跟文件名：",[1106,3053,3054,3077],{},[1109,3055,3056,1252,3058,3061,3066,1252,3069,3074],{},[1102,3057,2950],{"code":2950},[1172,3059,3060],{},"是一个",[1172,3062,3063],{},[1112,3064,3065],{},"shell 内建命令",[1172,3067,3068],{},"，它设置的是当前",[1172,3070,3071],{},[1112,3072,3073],{},"Shell 进程（及其子进程）的环境属性",[1172,3075,3076],{},"，而不是针对某个具体文件的属性。",[1109,3078,3079,3080,3083,3084,1682],{},"它影响的是",[1112,3081,3082],{},"未来","创建的所有文件，而不是现有的文件。修改现有文件权限应使用 ",[1102,3085,2406],{"code":2406},[1097,3087,3089],{"id":3088},"briefly-describe-the-composition-of-a-disk-and-the-function-of-each-block-referring-to-a-typical-unixminix-file-system","Briefly describe the composition of a disk and the function of each block (referring to a typical Unix\u002FMinix file system).",[2116,3091,3092],{},"A typical Unix file system partition is divided into the following sections:",[1106,3094,3095,3101,3107],{},[1109,3096,3097,3100],{},[1112,3098,3099],{},"Super Block:"," Describes the state of the file system (e.g., total size, number of inodes, list of free data blocks, block size).",[1109,3102,3103,3106],{},[1112,3104,3105],{},"Inode Blocks (Inode Table):"," Stores the Inodes (Index Nodes). Each inode contains all metadata for a specific file (permissions, owner, size, timestamps, and pointers to data blocks), but not the filename.",[1109,3108,3109,3112],{},[1112,3110,3111],{},"Data Blocks:"," The largest area, used to store the actual contents (data) of files.",[2302,3114,3115,3121,3127],{},[2116,3116,3117,3120],{},[1112,3118,3119],{},"超级块 (Super Block)："," 记录整个文件系统的元数据，如文件系统的大小、空闲 inode 数量、空闲数据块数量、块大小等。",[2116,3122,3123,3126],{},[1112,3124,3125],{},"Inode 块 \u002F Inode 表 (Inode Table)："," 存储所有的 inode（索引节点）。每个 inode 记录一个文件的属性（权限、所有者、大小、时间戳）以及指向数据块的指针。",[2116,3128,3129,3132],{},[1112,3130,3131],{},"数据块 (Data Block)："," 占据磁盘最大的空间，用于存储文件实际的内容数据。",[1097,3134,3136],{"id":3135},"how-to-use-a-regular-expression-to-match-integers-from-0-to-255","How to use a regular expression to match integers from 0 to 255.",[2116,3138,3139,3140,3143],{},"You cannot use a simple range like ",[1102,3141,3142],{"code":3142},"[0-255]",". You must break the numbers down by the number of digits.",[2116,3145,3146],{},[1112,3147,3148],{},"Regex:",[2116,3150,3151],{},"代码段",[2748,3153,3156],{"className":3154,"code":3155,"language":2753},[2751],"^([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$\n",[1102,3157,3155],{"__ignoreMap":2756},[2116,3159,3160],{},[1112,3161,3162],{},"Explanation:",[1106,3164,3165,3171,3177,3183,3189,3195],{},[1109,3166,3167,3170],{},[1102,3168,3169],{"code":3169},"[0-9]",": Matches single digits (0-9).",[1109,3172,3173,3176],{},[1102,3174,3175],{"code":3175},"[1-9][0-9]",": Matches double digits (10-99).",[1109,3178,3179,3182],{},[1102,3180,3181],{"code":3181},"1[0-9]{2}",": Matches 100-199.",[1109,3184,3185,3188],{},[1102,3186,3187],{"code":3187},"2[0-4][0-9]",": Matches 200-249.",[1109,3190,3191,3194],{},[1102,3192,3193],{"code":3193},"25[0-5]",": Matches 250-255.",[1109,3196,3197,2570,3199,3201],{},[1102,3198,2329],{"code":2329},[1102,3200,2340],{"code":2340},": Anchors to ensure the match covers the whole string.",[1447,3203,3205,3225,3231,3237,3243,3280,3289],{"type":3204},"tip",[2116,3206,3207,3209,3210,3213,3214,3217,3218,1682],{},[1102,3208,3142],{"code":3142}," 之所以错误，是因为方括号 ",[1102,3211,3212],{"code":3212},"[]"," 在正则表达式中代表 ",[1112,3215,3216],{},"“字符集合” (Character Class)","，它的规则是：",[1112,3219,3220,3221,3224],{},"匹配括号内的任意 ",[3222,3223,2039],"u",{}," 字符",[2116,3226,3227,3228,3230],{},"下面详细拆解一下 ",[1102,3229,3142],{"code":3142}," 实际上在做什么，以及为什么它无法完成你的任务。",[1097,3232,3234,3236],{"id":3233},"_0-255-的实际含义",[1102,3235,3142],{"code":3142}," 的实际含义",[2116,3238,3239,3240,3242],{},"当你写下 ",[1102,3241,3142],{"code":3142}," 时，正则表达式引擎是这样理解的：",[3244,3245,3246,3261,3270],"ol",{},[1109,3247,3248,3253,3254,2011,3257,2011,3259,1682],{},[1112,3249,3250],{},[1102,3251,3252],{"code":3252},"0-2","：这是一个字符范围，代表字符 ",[1102,3255,3256],{"code":3256},"0",[1102,3258,1012],{"code":1012},[1102,3260,1026],{"code":1026},[1109,3262,3263,3267,3268,1682],{},[1112,3264,3265],{},[1102,3266,1068],{"code":1068},"：代表字符 ",[1102,3269,1068],{"code":1068},[1109,3271,3272,3276,3277,3279],{},[1112,3273,3274],{},[1102,3275,1068],{"code":1068},"：再次代表字符 ",[1102,3278,1068],{"code":1068},"（重复了，会被忽略）。",[2116,3281,3282,3283,3285,3286,1682],{},"所以，",[1102,3284,3142],{"code":3142}," 等同于 ",[1102,3287,3288],{"code":3288},"[0125]",[2116,3290,3291,3292,3295,3296,1682],{},"它只能匹配",[1112,3293,3294],{},"单个字符","，且这个字符必须是 ",[1112,3297,3298],{},"0、1、2 或 5",[1447,3300,3301,3308,3319,3326],{"type":3204},[1097,3302,3304,2570,3306,3201],{"id":3303},"and-anchors-to-ensure-the-match-covers-the-whole-string",[1102,3305,2329],{"code":2329},[1102,3307,2340],{"code":2340},[3309,3310,3312,3313,3315,3316,3318],"h5",{"id":3311},"如果不加-和-部分匹配","如果不加 ",[1102,3314,2329],{"code":2329}," 和 ",[1102,3317,2340],{"code":2340}," (部分匹配)",[2116,3320,3321,3322,3325],{},"这就好比你在人群中找坏人，只要人群里",[1112,3323,3324],{},"混进去一个坏人","，就算抓到了。",[1106,3327,3328,3336,3363,3372],{},[1109,3329,3330,1252,3333],{},[1112,3331,3332],{},"输入内容：",[1102,3334,3335],{"code":3335},"\"Price is 500 dollars\"",[1109,3337,3338,3341,3342],{},[1112,3339,3340],{},"正则行为："," 扫描整个句子。\n",[1106,3343,3344,3350,3357],{},[1109,3345,3346,3347,1682],{},"它看到了 ",[1102,3348,3349],{"code":3349},"\"500\"",[1109,3351,3352,3353,3356],{},"它发现 ",[1102,3354,3355],{"code":3355},"\"50\""," 是一个合法的 0-255 之间的数字。",[1109,3358,3359,3360,3356],{},"或者它发现 ",[1102,3361,3362],{"code":3362},"\"0\"",[1109,3364,3365,1252,3368,3371],{},[1112,3366,3367],{},"结果：",[1112,3369,3370],{},"匹配成功 (True)"," ✅。",[1109,3373,3374,3377],{},[1112,3375,3376],{},"问题："," 对于程序验证来说，这是错误的！用户输入的是 500，显然超出了 255 的范围，但因为你只要求“包含合法数字”，所以它通过了。",[1097,3379,3381],{"id":3380},"explain-why-various-scripting-languages-were-created-and-are-widely-used-in-eda-electronic-design-automation","Explain why various scripting languages were created and are widely used in EDA (Electronic Design Automation).",[1106,3383,3384,3390,3396,3402],{},[1109,3385,3386,3389],{},[1112,3387,3388],{},"Text Processing:"," EDA workflows generate massive amounts of text data (logs, reports, netlists). Scripting languages (Perl, Python, Awk) excel at string manipulation and Regular Expressions.",[1109,3391,3392,3395],{},[1112,3393,3394],{},"\"Glue\" Language:"," EDA flows involve chaining many different tools (from vendors like Synopsys, Cadence). Scripts act as the \"glue\" to convert formats and pass data between these tools automatically.",[1109,3397,3398,3401],{},[1112,3399,3400],{},"Rapid Development:"," Scripts are interpreted (no compilation required). This allows engineers to quickly write, test, and modify testbenches or automation flows.",[1109,3403,3404,1252,3407,3410],{},[1112,3405,3406],{},"Tcl Integration:",[1112,3408,3409],{},"Tcl"," (Tool Command Language) is the industry standard for interacting with EDA tools. Almost all major EDA tools provide a Tcl shell interface for controlling the design process programmatically.",[1447,3412,3413,3416,3422],{"type":1939},[2116,3414,3415],{},"这个最好和他最后一节课结合起来",[2116,3417,3418,3421],{},[1112,3419,3420],{},"中文：","\nEDA 里脚本语言之所以被创造并广泛使用，是因为 EDA 是“多工具、多步骤”的流程，需要把编译\u002F链接\u002F运行\u002F检查\u002F重跑自动串起来，并且尽量“只做必须的最少事情”来保持结果最新（类似 make 按依赖关系决定哪些要重做）。同时 EDA 里有大量文本与规则（HDL、约束、报告、日志），脚本很适合批量处理、提取信息、生成配置；再加上调试与复现很重要，脚本能固定参数与环境、一键重跑与回归测试，所以成了 EDA 的“胶水”和自动化核心。",[2116,3423,3424,3427,3428,3430],{},[1112,3425,3426],{},"English (simple words):","\nScripting languages are common in EDA because EDA has many tools and many steps. We need a quick way to connect steps like build, run, check, and run again, and only redo what is needed (like ",[1102,3429,2726],{"code":2726},"). EDA also has lots of text files and rules (HDL, constraints, reports, logs). Scripts are good at reading, changing, and creating these files. Also, debug and repeat runs are very important, and scripts help keep the same inputs and settings for easy reruns.",[1097,3432,3434],{"id":3433},"bash-programming-determine-what-the-command-line-argument-is-if-it-is-a-command-print-its-man-page-if-it-is-an-ascii-file-print-the-file-content-if-neither-give-a-warning","Bash Programming: Determine what the command line argument is. If it is a command, print its man page; if it is an ASCII file, print the file content; if neither, give a warning.",[2116,3436,3437],{},"Bash",[2748,3439,3444],{"className":3440,"code":3442,"language":3443,"meta":2756},[3441],"language-bash","#!\u002Fbin\u002Fbash\n\nif command -v \"$1\" &>\u002Fdev\u002Fnull; then\n    man \"$1\"\nelif [ -f \"$1\" ] && file \"$1\" | grep -q \"ASCII text\"; then\n    cat \"$1\"\nelse\n    echo \"Warning: '$1' is neither a command nor an ASCII file\"\nfi\n","bash",[1102,3445,3442],{"__ignoreMap":2756},[978,3447,3449],{"id":3448},"五附加","五、附加",[983,3451,3452,3466],{},[986,3453,3454],{},[989,3455,3456,3459,3462,3464],{},[992,3457,3458],{},"Symbol",[992,3460,3461],{},"English Name",[992,3463,3458],{},[992,3465,3461],{},[1005,3467,3468,3480,3493,3506,3519,3535,3548,3561],{},[989,3469,3470,3472,3475,3477],{},[1010,3471,2091],{},[1010,3473,3474],{},"Tilde",[1010,3476,1953],{},[1010,3478,3479],{},"Question mark",[989,3481,3482,3484,3487,3490],{},[1010,3483,2329],{},[1010,3485,3486],{},"Caret",[1010,3488,3489],{},"\u002F",[1010,3491,3492],{},"Slash",[989,3494,3495,3498,3501,3503],{},[1010,3496,3497],{},"&",[1010,3499,3500],{},"Ampersand",[1010,3502,2103],{},[1010,3504,3505],{},"Backslash",[989,3507,3508,3510,3513,3516],{},[1010,3509,1979],{},[1010,3511,3512],{},"Asterisk",[1010,3514,3515],{},"\u003C",[1010,3517,3518],{},"Less than",[989,3520,3521,3524,3527,3532],{},[1010,3522,3523],{},"()",[1010,3525,3526],{},"Parentheses",[1010,3528,3529],{},[3530,3531],"span",{},[1010,3533,3534],{},"Square brackets",[989,3536,3537,3539,3542,3545],{},[1010,3538,2495],{},[1010,3540,3541],{},"Equal sign",[1010,3543,3544],{},"{}",[1010,3546,3547],{},"Curly brackets",[989,3549,3550,3553,3556,3558],{},[1010,3551,3552],{},">",[1010,3554,3555],{},"Greater than",[1010,3557,1259],{},[1010,3559,3560],{},"Double greater than",[989,3562,3563,3566,3569,3572],{},[1010,3564,3565],{},";",[1010,3567,3568],{},"Semicolon",[1010,3570,3571],{},"_",[1010,3573,3574],{},"Underscore",{"title":2756,"searchDepth":3576,"depth":3576,"links":3577},4,[3578,3580,3594,3603,3623],{"id":980,"depth":3579,"text":981},2,{"id":1094,"depth":3579,"text":1095,"children":3581},[3582,3584,3586,3587,3588,3590,3592],{"id":1099,"depth":3576,"text":3583},"1. ls -alt -R $LOG | grep ^d 2>> dd",{"id":1285,"depth":3576,"text":3585},"2. gcc -c -g -I\u002Finclude test.c; gcc -o test test.o io.o -lX11",{"id":1452,"depth":3576,"text":1453},{"id":1536,"depth":3576,"text":1537},{"id":1741,"depth":3576,"text":3589},"3. gzip -d sec.zip; tar xvf sec.tar .",{"id":1875,"depth":3576,"text":3591},"4. find . -name X*.h -print 2>\u002Fdev\u002Fnull",{"id":1943,"depth":3593,"text":1944},3,{"id":2109,"depth":3579,"text":2110,"children":3595},[3596,3597,3598,3599,3601],{"id":2113,"depth":3576,"text":2114},{"id":2216,"depth":3576,"text":2217},{"id":2316,"depth":3576,"text":2317},{"id":2366,"depth":3576,"text":3600},"5. cd; chmod 744 *",{"id":2466,"depth":3576,"text":3602},"6. export PATH='pwd'\u002Fbin:$PATH",{"id":2559,"depth":3579,"text":2562,"children":3604},[3605,3607,3609,3611,3612,3613,3615,3621,3622],{"id":2565,"depth":3576,"text":3606},"Describe the functions of df and du, and explain why df is faster than du.",{"id":2722,"depth":3576,"text":3608},"Describe the basic rules of a makefile, explain the relationship between make and makefile, and why touch is often used with make.",{"id":2946,"depth":3576,"text":3610},"Write the format and function of umask, and explain why there is not a specific file name following \"umask\".",{"id":3088,"depth":3576,"text":3089},{"id":3135,"depth":3576,"text":3136},{"id":3233,"depth":3576,"text":3614},"[0-255] 的实际含义",{"id":3303,"depth":3576,"text":3616,"children":3617},"^ and $: Anchors to ensure the match covers the whole string.",[3618],{"id":3311,"depth":3619,"text":3620},5,"如果不加 ^ 和 $ (部分匹配)",{"id":3380,"depth":3576,"text":3381},{"id":3433,"depth":3576,"text":3434},{"id":3448,"depth":3579,"text":3449},[903],"历年考卷整理：20-21 学年","md",null,{"slots":3629},{},{"text":289,"minutes":290,"time":291,"words":292},{"title":369,"description":3625},{"loc":368},[3634,3635,3636],"Linux","历年卷","课程笔记","tech","W2E7dmzyzreOvkawOV3Kc-mOp4rB4U76e3dCwYOGIMQ",[3640,3641],{"title":360,"path":359,"stem":358,"date":361,"type":3637,"children":-1},{"title":375,"path":374,"stem":373,"date":376,"type":3637,"children":-1},1789057283381]