[{"data":1,"prerenderedAt":4468},["ShallowReactive",2],{"series:index":3,"content:\u002Fugcourses\u002Fjunior-autumn\u002Ficcad\u002Fdetailed\u002Fchapter5-administration":972,"surround:\u002Fugcourses\u002Fjunior-autumn\u002Ficcad\u002Fdetailed\u002Fchapter5-administration":4465},[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":432,"body":974,"categories":4448,"collapsed":9,"date":433,"description":4449,"draft":9,"extension":4450,"hideInArchive":343,"hideInList":343,"image":4451,"meta":4452,"navigation":343,"path":431,"permalink":4451,"published":4451,"readingTime":4454,"recommend":4451,"references":4451,"seo":4455,"sitemap":4456,"stem":430,"tags":4460,"type":4463,"updated":433,"__hash__":4464},"content\u002Fposts\u002FUGCourses\u002F4.junior-autumn\u002F2.ICCAD\u002F11.Detailed\u002F5.Chapter5-Administration.md",{"type":975,"value":976,"toc":4412},"minimark",[977,981,986,1072,1076,1173,1178,1202,1224,1230,1260,1269,1286,1290,1297,1381,1385,1462,1468,1473,1477,1538,1542,1681,1685,1823,1844,1848,1902,1906,2011,2015,2093,2097,2174,2178,2287,2291,2443,2447,2452,2462,2494,2499,2504,2617,2620,2624,2631,2641,2691,2802,2848,2852,2855,2896,2898,2902,2905,2955,2957,2961,2964,3023,3030,3034,3188,3219,3223,3230,3236,3243,3340,3342,3345,3350,3369,3371,3375,3401,3403,3407,3412,3419,3473,3515,3553,3589,3592,3596,3684,3688,3747,3751,3754,3804,3807,3856,3859,3879,3882,3904,3908,3911,3919,4016,4019,4023,4193,4195,4199,4204,4327,4381],[978,979,516],"h2",{"id":980},"system-administration",[982,983,985],"h4",{"id":984},"administrator-superuser-管理员-超级用户","Administrator \u002F Superuser ｜ 管理员 \u002F 超级用户",[987,988,989,1003,1013,1026,1046],"ul",{},[990,991,992,996,997,1000],"li",{},[993,994,995],"strong",{},"su"," – to become superuser\n",[998,999,995],"code",{"code":995},[993,1001,1002],{},"：切换为超级用户（root），获得系统最高权限。",[990,1004,1005,1006,1009,1010],{},"You could also become another user by,\n",[998,1007,1008],{"code":1008},"su username"," ",[993,1011,1012],{},"– 切换成其他普通用户的身份。",[990,1014,1015,1018,1009,1021,1009,1023],{},[993,1016,1017],{},"Be careful of every character you typed when in su mode!",[993,1019,1020],{},"在",[998,1022,995],{"code":995},[993,1024,1025],{},"模式下要非常小心你输入的每一个字符，因为任何误操作都可能影响整个系统。",[990,1027,1028,1029,1032,1033,1009,1036,1009,1038,1009,1041,1009,1043],{},"Nice to use ",[993,1030,1031],{},"sudo"," to only execute one command a time\n",[993,1034,1035],{},"推荐使用",[998,1037,1031],{"code":1031},[993,1039,1040],{},"来“只为一条命令暂时提权”，比长时间待在",[998,1042,995],{"code":995},[993,1044,1045],{},"下更安全。",[990,1047,1048,1051,1052],{},[993,1049,1050],{},"Daily tasks of the administrator","\n管理员的日常工作包括：\n",[987,1053,1054,1060,1066],{},[990,1055,1056,1057],{},"Manage user logins\n",[993,1058,1059],{},"管理用户账户与登录权限",[990,1061,1062,1063],{},"Monitor system activity and security\n",[993,1064,1065],{},"监控系统运行状态与安全情况",[990,1067,1068,1069],{},"Administer file systems, devices, and network services\n",[993,1070,1071],{},"管理文件系统、硬件设备以及各种网络服务（如 HTTP、SSH 等）",[982,1073,1075],{"id":1074},"the-model-hard-disk-drive-unix-硬盘文件系统的模型","The Model Hard Disk Drive｜ Unix 硬盘\u002F文件系统的模型",[987,1077,1078,1165],{},[990,1079,1080,1083,1086],{},[993,1081,1082],{},"Divided into three major sections",[993,1084,1085],{},"整个磁盘在 Unix 文件系统中可以抽象成三大部分：",[987,1087,1088,1116,1144],{},[990,1089,1090,1093],{},[993,1091,1092],{},"Superblock（超级块）",[987,1094,1095,1113],{},[990,1096,1097,1098,1101,1102],{},"存放 ",[993,1099,1100],{},"整个文件系统的元数据","：\n",[987,1103,1104,1107,1110],{},[990,1105,1106],{},"块大小、总块数、空闲块数",[990,1108,1109],{},"inode 总数、空闲 inode 数",[990,1111,1112],{},"文件系统标识等",[990,1114,1115],{},"没了它，系统就不知道这个分区里文件系统的结构，是“文件系统的身份证 + 目录表”。",[990,1117,1118,1121],{},[993,1119,1120],{},"Inodes（inode 区）",[987,1122,1123,1137],{},[990,1124,1125,1126],{},"每个 inode 对应一个文件或目录的“说明书”：\n",[987,1127,1128,1131],{},[990,1129,1130],{},"文件类型、权限、所有者、大小、时间戳",[990,1132,1133,1134],{},"以及指向 ",[993,1135,1136],{},"数据块的地址（指针）",[990,1138,1139,1140,1143],{},"注意：",[993,1141,1142],{},"文件名不在 inode 里","，文件名存放在目录的数据块中，目录条目“文件名 → inode 号”。",[990,1145,1146,1149],{},[993,1147,1148],{},"Data blocks（数据块区）",[987,1150,1151,1162],{},[990,1152,1153,1154],{},"真正用来放数据的一块块空间：\n",[987,1155,1156,1159],{},[990,1157,1158],{},"普通文件的内容",[990,1160,1161],{},"目录中“文件名 ↔ inode 号”的列表",[990,1163,1164],{},"也是我们平时说“文件很大，占了很多磁盘空间”时占用的区域。",[990,1166,1167,1170],{},[993,1168,1169],{},"Look back to what we discussed in Chapter \"File System\"",[993,1171,1172],{},"这页是回顾前面“文件系统”章节：Unix 文件系统在磁盘上的逻辑结构 = Superblock + Inodes + Data Blocks。",[1174,1175,1177],"h5",{"id":1176},"superblock-超级块","Superblock ｜ 超级块",[1179,1180,1181,1199],"ol",{},[990,1182,1183,1184],{},"Superblock 是什么？\n",[987,1185,1186,1192],{},[990,1187,1188,1189,1191],{},"Superblock\n文件系统中的一块特殊区域，用来保存 ",[993,1190,1100],{},"。",[990,1193,1194,1195,1198],{},"Most important part of the file system\n→ 是文件系统中 ",[993,1196,1197],{},"最重要的部分","，损坏了就可能导致整个分区都挂掉。",[990,1200,1201],{},"Superblock 里存什么信息？",[987,1203,1204,1210],{},[990,1205,1206,1207,1191],{},"Tracking important file system information\n→ 负责 ",[993,1208,1209],{},"跟踪记录文件系统的重要信息",[990,1211,1212,1213],{},"Containing file system size, free space, etc.\n→ 典型内容包括：\n",[987,1214,1215,1218,1221],{},[990,1216,1217],{},"文件系统总大小（总块数）",[990,1219,1220],{},"空闲块数量、空闲 inode 数量",[990,1222,1223],{},"块大小等参数",[1179,1225,1227],{"start":1226},3,[990,1228,1229],{},"内存中的 Superblock 缓存",[987,1231,1232,1242],{},[990,1233,1234,1237,1238,1241],{},[993,1235,1236],{},"Kept in memory to improve performance","\n→ 为了加速访问，系统会把 superblock 的内容 ",[993,1239,1240],{},"缓存到内存","，避免每次都读磁盘。",[990,1243,1244,1247,1248,1251,1252,1255,1256,1259],{},[993,1245,1246],{},"Copies in memory and on disk can\u002Fwill be out of \"sync\" (synchronize)","\n→ 这样一来，",[993,1249,1250],{},"内存里的副本"," 和 ",[993,1253,1254],{},"磁盘上的真实 superblock"," 有时会 ",[993,1257,1258],{},"不同步（out of sync）","，比如刚更新还没写回盘。",[1179,1261,1263],{"start":1262},4,[990,1264,1265,1268],{},[998,1266,1267],{"code":1267},"sync"," 命令的作用",[987,1270,1271],{},[990,1272,1273,1009,1275,1278,1279,1281,1282,1285],{},[998,1274,1267],{"code":1267},[993,1276,1277],{},"command writes contents of memory to disk and updates the superblock","\n→ ",[998,1280,1267],{"code":1267}," 会把内存中尚未写入的修改 ",[993,1283,1284],{},"强制刷到磁盘","，包括更新 superblock，\n确保“内存版本”和“磁盘版本”保持一致。",[1174,1287,1289],{"id":1288},"inode-索引节点","Inode ｜ 索引节点",[1291,1292,1293],"p",{},[1294,1295],"img",{"alt":1294,"src":1296},"\u002Fimg\u002FICCAD\u002FDetailCh5-01.png",[1179,1298,1299,1312,1345],{},[990,1300,1301,1304],{},[993,1302,1303],{},"每个文件\u002F目录都有一个 inode",[987,1305,1306,1309],{},[990,1307,1308],{},"All files and directories have an inode",[990,1310,1311],{},"inode 可以理解成“文件的身份证 + 目录索引”，文件名不在 inode 里，而在目录的数据块中。",[990,1313,1314,1317],{},[993,1315,1316],{},"inode 里记录的重要信息",[987,1318,1319,1322,1342],{},[990,1320,1321],{},"It records important file information – file size, permissions, data addresses, etc.",[990,1323,1324,1325],{},"典型字段：\n",[987,1326,1327,1330,1333,1336,1339],{},[990,1328,1329],{},"文件类型（普通文件\u002F目录\u002F符号链接等）",[990,1331,1332],{},"访问权限（rwx）",[990,1334,1335],{},"所有者 UID \u002F 所属组 GID",[990,1337,1338],{},"文件大小、时间戳（创建\u002F修改\u002F访问时间）",[990,1340,1341],{},"指向数据块的地址（data block addresses）",[990,1343,1344],{},"注意：真正的文件内容在“数据块区”，inode 只保存“去哪里找这些数据块”。",[990,1346,1347,1350],{},[993,1348,1349],{},"直接块 + 间接块：支持大文件",[987,1351,1352,1355,1378],{},[990,1353,1354],{},"Each inode has data block addresses for indirect indexing, and that is enough for handling huge space",[990,1356,1357,1358],{},"结构大致是：\n",[987,1359,1360,1367],{},[990,1361,1362,1363,1366],{},"若干个 ",[993,1364,1365],{},"direct pointers（直接指针）"," → 直接指向数据块",[990,1368,1369,1370,1373],{},"再加上 ",[993,1371,1372],{},"single \u002F double \u002F triple indirect blocks（一级\u002F二级\u002F三级间接块）",[987,1374,1375],{},[990,1376,1377],{},"间接块里存的不是数据，而是“更多数据块地址”",[990,1379,1380],{},"这样一层一层展开，就能让一个 inode 管理非常大的文件空间（上图就是这种“指针树”示意）。",[1174,1382,1384],{"id":1383},"data-block-数据块","Data Block | 数据块",[1179,1386,1387,1399,1414,1434],{},[990,1388,1389,1390],{},"Where the actual data is stored\n",[987,1391,1392],{},[990,1393,1394,1395,1398],{},"数据块（Data Blocks）就是",[993,1396,1397],{},"真正文件内容存放的地方","：文本、图片、可执行文件的字节都在这里，而不是在 inode 里。",[990,1400,1401,1402],{},"Possibly 1\u002F2, 1, 2, 4, 8K bytes long for each fragment block\n",[987,1403,1404,1411],{},[990,1405,1406,1407,1410],{},"每个数据块的大小一般是若干 KB，比如 ",[993,1408,1409],{},"0.5K、1K、2K、4K、8K"," 等（具体取决于文件系统格式和创建参数）。",[990,1412,1413],{},"磁盘会被划分成一块一块的固定大小的 block，文件占用磁盘时是按 block 来分配的。",[990,1415,1416,1417],{},"Accessed by referencing an inode\n",[987,1418,1419],{},[990,1420,1421,1422,1425,1426],{},"访问数据块是通过 ",[993,1423,1424],{},"inode 中保存的“数据块地址”"," 来完成的：\n",[987,1427,1428,1431],{},[990,1429,1430],{},"先根据文件名在目录里找到 inode 号",[990,1432,1433],{},"再从 inode 里取出数据块指针 → 读对应的数据块",[990,1435,1436,1437],{},"Inode (filename & location data) + indirect data blocks + storage blocks => a file\n",[987,1438,1439,1459],{},[990,1440,1441,1442],{},"一个完整的文件，可以理解为：\n",[987,1443,1444,1449,1454],{},[990,1445,1446],{},[993,1447,1448],{},"inode（记录文件元数据 + 数据块位置）",[990,1450,1451],{},[993,1452,1453],{},"（可能存在的）间接索引块 indirect data blocks",[990,1455,1456],{},[993,1457,1458],{},"真正存内容的 data blocks（storage blocks）",[990,1460,1461],{},"三者组合起来，才构成我们看到的“一个文件”。",[1291,1463,1464],{},[1465,1466,1467],"mark",{},"使用df来查看C盘容量 放在superblock里面——盘的信息",[1291,1469,1470],{},[1465,1471,1472],{},"那么C盘中某处的容量 使用du来查看",[1174,1474,1476],{"id":1475},"cached-hard-drive-io-硬盘缓存式输入输出","Cached Hard Drive I\u002FO ｜ 硬盘缓存式输入输出",[1179,1478,1479,1491,1503,1515],{},[990,1480,1481,1482],{},"Differences in performance ⇒ Cache\n",[987,1483,1484],{},[990,1485,1486,1487,1490],{},"CPU \u002F 内存的速度远远快于磁盘，所以操作系统会在",[993,1488,1489],{},"内存里做缓存（cache）","，减少真正访问硬盘的次数。",[990,1492,1493,1494],{},"Changes held in RAM\n",[987,1495,1496],{},[990,1497,1498,1499,1502],{},"对文件系统的修改（数据块、inode、superblock 等）",[993,1500,1501],{},"先保存在内存缓存中","，并不会立刻写回磁盘。",[990,1504,1505,1506],{},"Writes to disk happen in whole block increments\n",[987,1507,1508],{},[990,1509,1510,1511,1514],{},"写盘是以 ",[993,1512,1513],{},"“整块（block）”为单位"," 进行的，而不是一字节一字节写；系统会把修改凑成块，再一次性写入。",[990,1516,1517,1518],{},"Power failure, improper shutdown\n",[987,1519,1520],{},[990,1521,1522,1523],{},"如果发生断电或不正常关机，内存缓存还没来得及写回磁盘，就会出问题：\n",[987,1524,1525,1531],{},[990,1526,1527,1528,1191],{},"Superblock in memory out of sync with disk version\n→ 内存中的 superblock 与磁盘上的版本",[993,1529,1530],{},"不同步",[990,1532,1533,1534,1537],{},"Data loss, corrupted files and inodes\n→ 可能导致",[993,1535,1536],{},"数据丢失、文件损坏、inode 受损","，启动时就需要 fsck 之类的工具检查修复。",[1174,1539,1541],{"id":1540},"repairing-file-systems-文件系统修复","Repairing File Systems ｜ 文件系统修复",[1179,1543,1544,1547,1577,1597,1614,1653],{},[990,1545,1546],{},"命令格式",[990,1548,1549,1550,1554,1555],{},"fsck ",[1551,1552,1553],"span",{},"-y \u002F -a | -n"," FileSystem\n",[987,1556,1557,1567],{},[990,1558,1559,1562,1563,1566],{},[998,1560,1561],{"code":1561},"fsck","：",[993,1564,1565],{},"File System ChecK","，用于检查并修复文件系统",[990,1568,1569,1572,1573,1576],{},[998,1570,1571],{"code":1571},"FileSystem","：要检查的分区或设备（如 ",[998,1574,1575],{"code":1575},"\u002Fdev\u002Fsda1","）",[990,1578,1579,1580],{},"作用\n",[987,1581,1582],{},[990,1583,1584,1585],{},"Reports and repairs file systems\n",[987,1586,1587],{},[990,1588,1589,1590,1593,1594,1191],{},"先 ",[993,1591,1592],{},"检查"," 文件系统是否有错误，再根据需要尝试 ",[993,1595,1596],{},"自动修复",[990,1598,1599,1600],{},"运行时机\n",[987,1601,1602],{},[990,1603,1604,1605],{},"Always performed at system startup (while file systems not mounted)\n",[987,1606,1607],{},[990,1608,1609,1610,1613],{},"系统启动时，在文件系统 ",[993,1611,1612],{},"尚未挂载","（not mounted）或只读挂载时自动运行，避免一边用一边修。",[990,1615,1616,1617],{},"常用选项含义\n",[987,1618,1619,1638],{},[990,1620,1621,1624,1625,1628,1629],{},[998,1622,1623],{"code":1623},"-y"," \u002F ",[998,1626,1627],{"code":1627},"-a","：Answer yes to all questions\n",[987,1630,1631],{},[990,1632,1633,1634,1637],{},"对检查过程中提出的“是否修复？”问题 ",[993,1635,1636],{},"全部回答 yes","，自动修复。",[990,1639,1640,1643,1644],{},[998,1641,1642],{"code":1642},"-n","：Answer no to all questions\n",[987,1645,1646],{},[990,1647,1648,1649,1652],{},"对所有修复问题 ",[993,1650,1651],{},"全部回答 no","，只做检查、不改动磁盘（安全查看用）。",[990,1654,1655,1656],{},"类比（Windows 中的对应工具）\n",[987,1657,1658],{},[990,1659,1660,1661,1664,1665],{},"Similar to ",[993,1662,1663],{},"scandisk \u002F chkdsk"," in Windows\u002FDOS\n",[987,1666,1667],{},[990,1668,1669,1670,1673,1674,1677,1678,1680],{},"在 Windows\u002FDOS 里的 ",[998,1671,1672],{"code":1672},"scandisk","、",[998,1675,1676],{"code":1676},"chkdsk"," 就是和 ",[998,1679,1561],{"code":1561}," 类似的磁盘检查\u002F修复工具。",[1174,1682,1684],{"id":1683},"displaying-file-system-information-查看文件系统信息","Displaying File System Information ｜ 查看文件系统信息",[1179,1686,1687,1715,1777],{},[990,1688,1689,1690,1693],{},"基本命令：",[998,1691,1692],{"code":1692},"df",[987,1694,1695,1702,1708],{},[990,1696,1697,1562,1699],{},[998,1698,1692],{"code":1692},[993,1700,1701],{},"displays number of free disk blocks and files",[990,1703,1704,1705,1191],{},"作用：显示各个文件系统（分区）的 ",[993,1706,1707],{},"容量 \u002F 已用 \u002F 可用 \u002F 挂载点",[990,1709,1710,1711,1714],{},"常看的是最后一列 ",[998,1712,1713],{"code":1713},"Mounted on","，知道哪个分区挂在哪个目录下。",[990,1716,1717,1720,1721],{},[998,1718,1719],{"code":1719},"df -k","（Linux \u002F Solaris）\n",[987,1722,1723,1733,1774],{},[990,1724,1725,1728,1729,1732],{},[998,1726,1727],{"code":1727},"-k","：以 ",[993,1730,1731],{},"1K-blocks（1KB 为单位）"," 显示容量，而不是默认的更大单位。",[990,1734,1735,1736],{},"重点列：\n",[987,1737,1738,1747,1756,1765],{},[990,1739,1740,1624,1743,1746],{},[998,1741,1742],{"code":1742},"1k-blocks",[998,1744,1745],{"code":1745},"kbytes","：总大小",[990,1748,1749,1624,1752,1755],{},[998,1750,1751],{"code":1751},"Used",[998,1753,1754],{"code":1754},"used","：已用",[990,1757,1758,1624,1761,1764],{},[998,1759,1760],{"code":1760},"Available",[998,1762,1763],{"code":1763},"avail","：可用",[990,1766,1767,1624,1770,1773],{},[998,1768,1769],{"code":1769},"Use%",[998,1771,1772],{"code":1772},"capacity","：使用百分比",[990,1775,1776],{},"Linux、Solaris 输出列名略有不同，但含义一样。",[990,1778,1779,1782,1783],{},[998,1780,1781],{"code":1781},"df -i .","（Linux）\n",[987,1784,1785,1795,1801],{},[990,1786,1787,1790,1791,1794],{},[998,1788,1789],{"code":1789},"-i","：显示 ",[993,1792,1793],{},"inode 使用情况","（不是磁盘容量，而是“文件数量名额”）。",[990,1796,1797,1800],{},[998,1798,1799],{"code":1799},".","：只查看“当前目录所在分区”的情况。",[990,1802,1735,1803],{},[987,1804,1805,1811],{},[990,1806,1807,1810],{},[998,1808,1809],{"code":1809},"Inodes","：该分区 inode 总数（最多能容纳多少文件\u002F目录）",[990,1812,1813,1624,1816,1624,1819,1822],{},[998,1814,1815],{"code":1815},"IUsed",[998,1817,1818],{"code":1818},"IFree",[998,1820,1821],{"code":1821},"IUse%","：已用 \u002F 空闲 inode 数及百分比",[1291,1824,1825,1828,1009,1833,1836,1009,1841],{},[1465,1826,1827],{},"特殊点：",[1465,1829,1830],{},[993,1831,1832],{},"磁盘没满但 inode 用光",[1465,1834,1835],{},"时，也会“无法再创建新文件”，",[1465,1837,1838],{},[998,1839,1840],{"code":1840},"df -i",[1465,1842,1843],{},"就能看出来。",[1174,1845,1847],{"id":1846},"managing-file-systems-文件系统管理","Managing File Systems ｜ 文件系统管理",[1179,1849,1850,1875],{},[990,1851,1852,1853],{},"Minimum Configuration（最小分区配置）\n",[987,1854,1855,1865],{},[990,1856,1857,1860,1861,1864],{},[998,1858,1859],{"code":1859},"root","：根文件系统 ",[998,1862,1863],{"code":1863},"\u002F","，系统启动、命令、配置文件等都在这里，是必须有的分区。",[990,1866,1867,1870,1871,1874],{},[998,1868,1869],{"code":1869},"swap","：交换分区，用来",[993,1872,1873],{},"存放 RAM 溢出的内容","（内存不够时把一部分内容暂时放到磁盘）。",[990,1876,1877,1878],{},"Adding systems（添加新的文件系统 \u002F 硬盘分区的大致步骤）\n",[987,1879,1880,1893],{},[990,1881,1882,1883,1886,1887,1673,1890,1191],{},"Create a mount point (empty directory)\n→ 先在现有目录树里创建一个 ",[993,1884,1885],{},"空目录","，作为挂载点，比如 ",[998,1888,1889],{"code":1889},"\u002Fhome",[998,1891,1892],{"code":1892},"\u002Fdata1",[990,1894,1895,1898,1899,1901],{},[998,1896,1897],{"code":1897},"mount"," the file system\n→ 使用 ",[998,1900,1897],{"code":1897}," 命令，把新分区或设备“接到”这个目录上，之后访问这个目录就是访问那块分区。",[1174,1903,1905],{"id":1904},"mounting-on-an-empty-directory-挂载到空目录","Mounting on an Empty Directory ｜ 挂载到空目录",[1179,1907,1908,1911,1933,1963],{},[990,1909,1910],{},"基本语法",[990,1912,1913,1914],{},"mount filesystem mountpoint\n",[987,1915,1916,1925],{},[990,1917,1918,1921,1922],{},[998,1919,1920],{"code":1920},"filesystem","：设备或分区名，如 ",[998,1923,1924],{"code":1924},"\u002Fdev\u002Fsdc1",[990,1926,1927,1930,1931],{},[998,1928,1929],{"code":1929},"mountpoint","：挂载点目录，如 ",[998,1932,1889],{"code":1889},[990,1934,1579,1935],{},[987,1936,1937,1944,1947,1950],{},[990,1938,1939,1940,1943],{},"Adds file system to the directory tree\n→ 把一个独立的文件系统 ",[993,1941,1942],{},"接入当前的目录树","，就像在树上再长出一个子树。",[990,1945,1946],{},"示例：",[990,1948,1949],{},"mount \u002Fdev\u002Fsdc1 \u002Fhome",[990,1951,1952,1953,1955,1956,1958,1959,1962],{},"表示把 ",[998,1954,1924],{"code":1924}," 这个分区挂到 ",[998,1957,1889],{"code":1889},"，以后所有 ",[998,1960,1961],{"code":1961},"\u002Fhome\u002F..."," 的访问都落在这块分区上。",[990,1964,1965,1966],{},"图示理解\n",[987,1967,1968,1996],{},[990,1969,1970,1971,1973,1974,1976,1977,1673,1980,1673,1983,1673,1986,1673,1989,1673,1992,1995],{},"顶层是 ",[998,1972,1859],{"code":1859},"（",[998,1975,1863],{"code":1863},"），下面有 ",[998,1978,1979],{"code":1979},"var",[998,1981,1982],{"code":1982},"usr",[998,1984,1985],{"code":1985},"etc",[998,1987,1988],{"code":1988},"home",[998,1990,1991],{"code":1991},"tmp",[998,1993,1994],{"code":1994},"bin"," 等目录。",[990,1997,1998,1999,1673,2001,2003,2004,2007,2008,2010],{},"某些目录（如 ",[998,2000,1982],{"code":1982},[998,2002,1988],{"code":1988},"）的下面，其实是",[993,2005,2006],{},"不同的磁盘分区 \u002F 文件系统","，通过 ",[998,2009,1897],{"code":1897}," 接上去。",[1174,2012,2014],{"id":2013},"reporting-mounted-info-查看当前挂载情况","Reporting Mounted Info ｜ 查看当前挂载情况",[1179,2016,2017,2068],{},[990,2018,2019,2021,2022],{},[998,2020,1897],{"code":1897},"（无参数）\n",[987,2023,2024,2029],{},[990,2025,2026,2028],{},[998,2027,1897],{"code":1897}," - without arguments, reports mounted systems on current workstation",[990,2030,2031,2032,2034,2035,1101,2038],{},"直接敲 ",[998,2033,1897],{"code":1897},"，不加任何参数，会列出 ",[993,2036,2037],{},"当前所有已挂载的文件系统",[987,2039,2040,2046,2056,2059],{},[990,2041,2042,2043,2045],{},"哪个设备（",[998,2044,1575],{"code":1575}," 等）",[990,2047,2048,2049,1673,2051,1673,2053,2045],{},"挂载到哪个目录（",[998,2050,1863],{"code":1863},[998,2052,1889],{"code":1889},[998,2054,2055],{"code":2055},"\u002Fusr",[990,2057,2058],{},"使用的文件系统类型（ext4、xfs…）",[990,2060,2061,2062,1863,2065,1576],{},"读写属性（",[998,2063,2064],{"code":2064},"rw",[998,2066,2067],{"code":2067},"ro",[990,2069,2070,2071],{},"用途\n",[987,2072,2073],{},[990,2074,2075,2076],{},"快速确认：\n",[987,2077,2078,2081,2084],{},[990,2079,2080],{},"某个目录是挂在哪个分区上的",[990,2082,2083],{},"U 盘 \u002F 移动硬盘是否挂载成功",[990,2085,2086,2087,1673,2090,2045],{},"当前系统一共挂了哪些特殊文件系统（如 ",[998,2088,2089],{"code":2089},"\u002Fproc",[998,2091,2092],{"code":2092},"tmpfs",[1174,2094,2096],{"id":2095},"un-mounting-file-system-卸载文件系统","Un-mounting File System ｜ 卸载文件系统",[1179,2098,2099,2102,2125,2142],{},[990,2100,2101],{},"基本命令",[990,2103,2104,2105],{},"umount {directory | device}\n",[987,2106,2107,2116],{},[990,2108,2109,2110,2113,2114,1576],{},"可以写 ",[993,2111,2112],{},"挂载点目录","（如 ",[998,2115,1889],{"code":1889},[990,2117,2118,2119,2113,2122,1576],{},"也可以写 ",[993,2120,2121],{},"设备名",[998,2123,2124],{"code":2124},"\u002Fdev\u002Fsdb1",[990,2126,1579,2127],{},[987,2128,2129,2132],{},[990,2130,2131],{},"Remove a file system from the directory tree",[990,2133,2134,2135,2138,2139,1191],{},"把一个文件系统",[993,2136,2137],{},"从当前目录树里摘掉","，卸载 U 盘、移动硬盘前必须先 ",[998,2140,2141],{"code":2141},"umount",[990,2143,2144,2145],{},"重要限制\n",[987,2146,2147,2150,2169],{},[990,2148,2149],{},"Can not be performed on a \"busy\" file system",[990,2151,2152,2153,2156,2157],{},"如果文件系统正在被使用（busy），就",[993,2154,2155],{},"无法卸载","，常见原因：\n",[987,2158,2159,2166],{},[990,2160,2161,2162,2165],{},"有人在该目录下 ",[998,2163,2164],{"code":2164},"cd"," 着",[990,2167,2168],{},"有进程正在读写该分区的文件",[990,2170,2171,2172,1191],{},"解决思路：退出相关目录、关闭占用的程序，再 ",[998,2173,2141],{"code":2141},[1174,2175,2177],{"id":2176},"reporting-disk-usage-查看磁盘占用du","Reporting Disk Usage ｜ 查看磁盘占用（du）",[1179,2179,2180,2183,2207,2253],{},[990,2181,2182],{},"命令格式（记住大概就行）",[990,2184,2185,2186,1009,2189,2192],{},"du ",[1551,2187,2188],{},"options",[1551,2190,2191],{},"file ...",[987,2193,2194],{},[990,2195,2196,2199,2200,2203,2204,2206],{},[998,2197,2198],{"code":2198},"du"," = ",[993,2201,2202],{},"disk usage","：按目录 \u002F 文件统计磁盘占用，而不是看整块分区（那是 ",[998,2205,1692],{"code":1692}," 做的事）。",[990,2208,2209,2210],{},"常见用法\n",[1179,2211,2212,2225],{},[990,2213,2214,2217],{},[998,2215,2216],{"code":2216},"du \u002Fhome",[987,2218,2219],{},[990,2220,2221,2222,2224],{},"递归统计 ",[998,2223,1889],{"code":1889}," 下所有目录和文件的大小（每个子目录都会列出）。",[990,2226,2227,2230],{},[998,2228,2229],{"code":2229},"du -ks file_or_dir",[987,2231,2232,2237,2247,2250],{},[990,2233,2234,2236],{},[998,2235,1727],{"code":1727},"：以 KB 为单位",[990,2238,2239,2242,2243,2246],{},[998,2240,2241],{"code":2241},"-s","：只给",[993,2244,2245],{},"总和","，不展开子目录",[990,2248,2249],{},"常用来看“这个目录一共占多大”：",[990,2251,2252],{},"du -ks \u002Fhome   # \u002Fhome 一共多少 KB",[990,2254,2255,2256,2258,2259],{},"和 ",[998,2257,1692],{"code":1692}," 的区别（易考点）\n",[987,2260,2261,2270,2278],{},[990,2262,2263,2265,2266,2269],{},[998,2264,1692],{"code":1692},"：看的是 ",[993,2267,2268],{},"分区级别"," 的空间使用情况（整块磁盘还有多少）。",[990,2271,2272,2265,2274,2277],{},[998,2273,2198],{"code":2198},[993,2275,2276],{},"目录 \u002F 文件级别"," 的大小（谁占得多）。",[990,2279,2280,2281,2283,2284,2286],{},"一般定位“磁盘爆了是谁干的”：先 ",[998,2282,1692],{"code":1692}," 看哪个分区满，再 ",[998,2285,2198],{"code":2198}," 在该分区里一路往下查。",[1174,2288,2290],{"id":2289},"file-system-backup-tar-使用-tar-做备份","File System Backup (tar) ｜ 使用 tar 做备份",[1179,2292,2293,2295,2312,2372,2425],{},[990,2294,1910],{},[990,2296,2297,2298,2300,2301],{},"tar ",[1551,2299,2188],{}," {directory | file} ...\n",[987,2302,2303],{},[990,2304,2305,1562,2308,2311],{},[998,2306,2307],{"code":2307},"tar",[993,2309,2310],{},"tape archive","，把很多文件打包成一个归档文件（可选压缩）。",[990,2313,2314,2315],{},"核心选项（记几个组合就够了）\n",[987,2316,2317,2323,2329,2335,2344,2350,2359],{},[990,2318,2319,2322],{},[998,2320,2321],{"code":2321},"-c","：create，创建新归档",[990,2324,2325,2328],{},[998,2326,2327],{"code":2327},"-t","：table of contents，列出归档里有哪些文件",[990,2330,2331,2334],{},[998,2332,2333],{"code":2333},"-x","：extract，从归档解出文件",[990,2336,2337,2340,2341,1576],{},[998,2338,2339],{"code":2339},"-f file","：指定归档文件名（",[993,2342,2343],{},"几乎必带",[990,2345,2346,2349],{},[998,2347,2348],{"code":2348},"-v","：verbose，显示详细文件列表",[990,2351,2352,1624,2355,2358],{},[998,2353,2354],{"code":2354},"-z",[998,2356,2357],{"code":2357},"-j","：用 gzip \u002F bzip2 压缩或解压",[990,2360,1139,2361,2364,2365,1251,2368,2371],{},[998,2362,2363],{"code":2363},"-"," 在很多系统里是可选的，所以 ",[998,2366,2367],{"code":2367},"cvf",[998,2369,2370],{"code":2370},"-cvf"," 效果一样。",[990,2373,2374,2375],{},"常用命令套路（背这几条就行）\n",[1179,2376,2377,2380,2407,2410,2413,2416,2419,2422],{},[990,2378,2379],{},"打包目录（不压缩）：",[990,2381,2382,2383],{},"tar cvf bug.tar \u002Fusr\u002Fshare\u002Fbug\n",[987,2384,2385,2391,2397],{},[990,2386,2387,2390],{},[998,2388,2389],{"code":2389},"c","：创建",[990,2392,2393,2396],{},[998,2394,2395],{"code":2395},"v","：显示过程",[990,2398,2399,2402,2403,2406],{},[998,2400,2401],{"code":2401},"f bug.tar","：输出到 ",[998,2404,2405],{"code":2405},"bug.tar"," 文件",[990,2408,2409],{},"查看包里内容：",[990,2411,2412],{},"tar tvf bug.tar",[990,2414,2415],{},"打包并 gzip 压缩当前目录：",[990,2417,2418],{},"tar czvf data.tgz .",[990,2420,2421],{},"解压到指定目录：",[990,2423,2424],{},"tar xzvf data.tgz $HOME\u002Fnew_home",[990,2426,2427,2428],{},"备份场景提示\n",[987,2429,2430,2436],{},[990,2431,2432,2433,1191],{},"Using tar for daily and weekly backup → 可用 tar 做",[993,2434,2435],{},"每天 \u002F 每周备份",[990,2437,2438,2439,2442],{},"Incremental backup（增量备份）通常会结合 ",[998,2440,2441],{"code":2441},"find","、时间戳或其他工具，只打包最近修改过的文件。",[1174,2444,2446],{"id":2445},"network-file-system","Network File System",[1291,2448,2449],{},[1465,2450,2451],{},"NFS 是谁发明的？",[1291,2453,2454,2459],{},[1465,2455,2456],{},[993,2457,2458],{},"Bill Joy",[1465,2460,2461],{},"（比尔·乔伊，全名 William Nelson Joy）。",[987,2463,2464,2469,2474,2479,2484,2489],{},[990,2465,2466],{},[1465,2467,2468],{},"在加州大学伯克利分校读研究生时创建了 BSD（Berkeley Software Distribution）",[990,2470,2471],{},[1465,2472,2473],{},"是 vi 文本编辑器和 Unix 系统的 C shell (csh) 的创造者",[990,2475,2476],{},[1465,2477,2478],{},"开发了 NFS（网络文件系统）",[990,2480,2481],{},[1465,2482,2483],{},"1982年作为联合创始人和首席科学家参与创立了 Sun 公司",[990,2485,2486],{},[1465,2487,2488],{},"设计了 Sparc 微处理器，并将之前领导开发的 BSD 继续发展成为 Solaris 操作系统",[990,2490,2491],{},[1465,2492,2493],{},"是 Java 和 Jini 的主要作者之一",[1291,2495,2496],{},[1465,2497,2498],{},"他在 BSD Unix、TCP\u002FIP 协议实现、vi 编辑器、C shell、NFS 等多个领域都做出了开创性的贡献。",[2500,2501,2503],"h6",{"id":2502},"concept-概念","Concept | 概念",[987,2505,2506,2516],{},[990,2507,2508,2511],{},[993,2509,2510],{},"Local File System（本地文件系统）",[987,2512,2513],{},[990,2514,2515],{},"指安装在本机磁盘上的文件系统，只能在这台机器上直接访问。",[990,2517,2518,2521],{},[993,2519,2520],{},"Network File System, NFS（网络文件系统）",[987,2522,2523,2530,2536],{},[990,2524,2525,2526,2529],{},"通过网络把",[993,2527,2528],{},"远程主机的文件系统挂载到本机","，",[990,2531,2532,2533],{},"让远程目录“看起来就像”本地目录一样使用。\n",[1294,2534],{"alt":1294,"src":2535},"\u002Fimg\u002FICCAD\u002FDetailCh5-02.png",[990,2537,2538,2539],{},"图中说明：",[987,2540,2541,2573,2582,2591],{},[990,2542,2543,2544,2547,2548],{},"上方虚线框是主机 ",[993,2545,2546],{},"piano"," 的本地目录树：\n",[987,2549,2550,2555],{},[990,2551,2552,2553],{},"根目录：",[998,2554,1859],{"code":1859},[990,2556,2557,2558,2561,2562,2561,2564,2561,2566,2561,2568,2561,2570,2572],{},"子目录：",[998,2559,2560],{"code":2560},"project",", ",[998,2563,1982],{"code":1982},[998,2565,1985],{"code":1985},[998,2567,1988],{"code":1988},[998,2569,1991],{"code":1991},[998,2571,1994],{"code":1994}," 等。",[990,2574,2575,2576,2578,2579,1191],{},"下方蓝色条写着 ",[993,2577,507],{},"，表示通过网络连接到另一台主机 ",[993,2580,2581],{},"cello",[990,2583,2584,2585,2587,2588,1191],{},"右下圆柱是主机 ",[993,2586,2581],{}," 上的目录 ",[998,2589,2590],{"code":2590},"\u002Fremotedir",[990,2592,2593,2594,2597,2598,2601,2602],{},"通过 NFS，把 ",[998,2595,2596],{"code":2596},"cello:\u002Fremotedir"," 挂载到 piano 这台机器的 ",[998,2599,2600],{"code":2600},"\u002Fproject"," 目录：\n",[987,2603,2604,2614],{},[990,2605,2606,2607,2610,2611,1191],{},"对 piano 来说，访问 ",[998,2608,2609],{"code":2609},"\u002Fproject\u002F..."," 就是在访问 cello 上的 ",[998,2612,2613],{"code":2613},"\u002Fremotedir\u002F...",[990,2615,2616],{},"用户不必关心文件实际在远程主机上。",[2618,2619],"hr",{},[2500,2621,2623],{"id":2622},"nfs-manipulating-nfs-的操作管理","NFS Manipulating｜ NFS 的操作\u002F管理",[1179,2625,2626],{},[990,2627,2628],{},[993,2629,2630],{},"挂载远程 NFS 文件系统（Mount remote NFS file systems）",[2632,2633,2639],"pre",{"className":2634,"code":2636,"language":2637,"meta":2638},[2635],"language-sh","# mount -t nfs cello:\u002Fremotedir \u002Fproject\n","sh","",[998,2640,2636],{"__ignoreMap":2638},[987,2642,2643,2648,2654,2670,2675],{},[990,2644,2645,2647],{},[998,2646,1897],{"code":1897},"：挂载文件系统的命令。",[990,2649,2650,2653],{},[998,2651,2652],{"code":2652},"-t nfs","：指定文件系统类型为 NFS。",[990,2655,2656,1101,2658],{},[998,2657,2596],{"code":2596},[987,2659,2660,2665],{},[990,2661,2662,2663],{},"远程主机名：",[998,2664,2581],{"code":2581},[990,2666,2667,2668],{},"远程被共享的目录：",[998,2669,2590],{"code":2590},[990,2671,2672,2674],{},[998,2673,2600],{"code":2600},"：本机上的挂载点目录。",[990,2676,2677,2678],{},"效果：\n",[987,2679,2680],{},[990,2681,2682,2683,2685,2686,2688,2689,1191],{},"在本机访问 ",[998,2684,2600],{"code":2600}," 时，实际访问的是 ",[998,2687,2581],{"code":2581}," 上的 ",[998,2690,2590],{"code":2590},[1179,2692,2693,2698],{},[990,2694,2695],{},[993,2696,2697],{},"导出本地文件系统供别人挂载（Export local file systems for mounting）",[990,2699,2700,2701],{},"（也就是在“服务器端”配置要共享出去的目录）\n",[987,2702,2703,2708,2729,2734],{},[990,2704,2705],{},[993,2706,2707],{},"在 Linux 中：",[990,2709,2710,2714],{},[978,2711,2713],{"id":2712},"cat-etcexports","cat \u002Fetc\u002Fexports",[987,2715,2716,2722],{},[990,2717,2718,2721],{},[998,2719,2720],{"code":2720},"\u002Fetc\u002Fexports"," 文件中列出了本机要通过 NFS 导出的目录及权限等设置。",[990,2723,2724,2725,2728],{},"例如会写类似 ",[998,2726,2727],{"code":2727},"\u002Fspace  client1(rw)"," 之类的配置。",[990,2730,2731],{},[993,2732,2733],{},"在 Solaris 中：",[990,2735,2736,2740,2741],{},[978,2737,2739],{"id":2738},"cat-etcdfsdfstab","cat \u002Fetc\u002Fdfs\u002Fdfstab","\nshare -F nfs \u002Fspace\nshare -F nfs -o rw -d \"opt dirs\" \u002Fopt\n",[987,2742,2743,2753,2777],{},[990,2744,2745,2748,2749,2752],{},[998,2746,2747],{"code":2747},"\u002Fetc\u002Fdfs\u002Fdfstab","：列出需要共享的目录以及 ",[998,2750,2751],{"code":2751},"share"," 命令。",[990,2754,2755,1101,2758],{},[998,2756,2757],{"code":2757},"share -F nfs \u002Fspace",[987,2759,2760,2765,2771],{},[990,2761,2762,2764],{},[998,2763,2751],{"code":2751},"：声明要共享一个文件系统。",[990,2766,2767,2770],{},[998,2768,2769],{"code":2769},"-F nfs","：使用 NFS 类型。",[990,2772,2773,2776],{},[998,2774,2775],{"code":2775},"\u002Fspace","：要共享的目录。",[990,2778,2779,1101,2782],{},[998,2780,2781],{"code":2781},"share -F nfs -o rw -d \"opt dirs\" \u002Fopt",[987,2783,2784,2790,2796],{},[990,2785,2786,2789],{},[998,2787,2788],{"code":2788},"-o rw","：以读写方式共享（客户端可以读写）。",[990,2791,2792,2795],{},[998,2793,2794],{"code":2794},"-d \"opt dirs\"","：共享描述信息（可选的说明文字）。",[990,2797,2798,2801],{},[998,2799,2800],{"code":2800},"\u002Fopt","：被共享的目录。",[987,2803,2804,2815,2825],{},[990,2805,2806,2807,2810,2811,2814],{},"NFS 让",[993,2808,2809],{},"远程目录","看起来像",[993,2812,2813],{},"本地目录","，通过网络透明访问。",[990,2816,2817,2820,2821,2824],{},[993,2818,2819],{},"客户端","：用 ",[998,2822,2823],{"code":2823},"mount -t nfs 服务器:\u002F远程目录 本地挂载点"," 来挂载。",[990,2826,2827,1101,2830],{},[993,2828,2829],{},"服务器端",[987,2831,2832,2838],{},[990,2833,2834,2835,2837],{},"Linux 看 ",[998,2836,2720],{"code":2720},"；",[990,2839,2840,2841,2843,2844,2847],{},"Solaris 看 ",[998,2842,2747],{"code":2747}," 并使用 ",[998,2845,2846],{"code":2846},"share -F nfs"," 配置要共享的目录。",[1174,2849,2851],{"id":2850},"centralized-authentication-over-network-基于网络的集中式认证","Centralized Authentication over Network ｜基于网络的集中式认证",[1291,2853,2854],{},"Large organizations need to manage thousands of user accounts and passwords in hierarchical departments, and allow networked computers (maybe different OS’s) to have a common interface regardless of where you log into.",[987,2856,2857,2863,2870,2888,2893],{},[990,2858,2859,2860,1191],{},"大型组织有",[993,2861,2862],{},"成千上万的账号和密码",[990,2864,2865,2866,2869],{},"这些账号分布在",[993,2867,2868],{},"层级结构的部门","里。",[990,2871,2872,2873,2876,2877],{},"需要让不同的联网计算机（",[993,2874,2875],{},"可能是不同操作系统","）\n",[987,2878,2879,2885],{},[990,2880,2881,2882,2529],{},"使用",[993,2883,2884],{},"统一的登录接口与账号体系",[990,2886,2887],{},"用户从哪台机器登录都一样。",[990,2889,2890,2529],{},[993,2891,2892],{},"目录服务（Directory Service）就像黄页电话本",[990,2894,2895],{},"需要查账号信息时，只要在目录里“查一查”即可。",[2618,2897],{},[2500,2899,2901],{"id":2900},"早期方案nis-nis","早期方案：NIS \u002F NIS+",[1291,2903,2904],{},"Using NIS and NIS+ from SUN, a lookup lets you have the same passwd, host names, group files (same uid and gid) and home directory on each of your machines.",[987,2906,2907,2913,2943,2949],{},[990,2908,2909,2912],{},[993,2910,2911],{},"NIS \u002F NIS+"," 是 SUN 提出的早期目录服务 \u002F 认证系统。",[990,2914,2915,2916],{},"通过查询 NIS 服务器，可以在多台机器上保持：\n",[987,2917,2918,2925,2931,2937],{},[990,2919,2920,2921,2924],{},"相同的 ",[993,2922,2923],{},"密码文件","（passwd）",[990,2926,2920,2927,2930],{},[993,2928,2929],{},"主机名信息","（host names）",[990,2932,2920,2933,2936],{},[993,2934,2935],{},"组信息文件","（group files：同样的 uid\u002Fgid）",[990,2938,2920,2939,2942],{},[993,2940,2941],{},"用户主目录设置","（home directory）",[990,2944,2945,2946,1191],{},"效果：用户在任何一台机器登录，用的都是",[993,2947,2948],{},"同一个账号身份",[990,2950,2951,2954],{},[993,2952,2953],{},"翻译：","\n使用 SUN 提供的 NIS 和 NIS+，通过目录查询，可以让每台机器都使用同一套密码、主机名、用户组信息（相同的 uid 与 gid）以及主目录。也就是说，用户在所有机器上看到的是同一个账号环境。",[2618,2956],{},[2500,2958,2960],{"id":2959},"现代主流方案ldap-与-active-directory","现代主流方案：LDAP 与 Active Directory",[1291,2962,2963],{},"LDAP (Lightweight Directory Access Protocol), MS Active Directory (= LDAP service + Windows domain applications) are more advanced and popular today (distributed C\u002FS model).",[987,2965,2966,2986,3003,3018],{},[990,2967,2968,1101,2971],{},[993,2969,2970],{},"LDAP",[987,2972,2973,2980],{},[990,2974,2975,2976,2979],{},"全称 ",[993,2977,2978],{},"Lightweight Directory Access Protocol","，轻量级目录访问协议。",[990,2981,2982,2983,1191],{},"一种标准协议，用来",[993,2984,2985],{},"访问\u002F管理目录服务中的账号、组、权限等信息",[990,2987,2988,1101,2991],{},[993,2989,2990],{},"Microsoft Active Directory (AD)",[987,2992,2993,3000],{},[990,2994,2995,2996,2999],{},"实质是 ",[993,2997,2998],{},"基于 LDAP 的服务"," + Windows 域相关应用。",[990,3001,3002],{},"在 Windows 环境下非常常见，用于集中管理用户、计算机、策略等。",[990,3004,3005,3006,3009,3010],{},"它们采用",[993,3007,3008],{},"分布式客户端\u002F服务器（C\u002FS）模型","，\n",[987,3011,3012],{},[990,3013,3014,3015,1191],{},"比 NIS 之类方案",[993,3016,3017],{},"更先进、更流行",[990,3019,3020,3022],{},[993,3021,2953],{},"\n目前更先进、也更常见的方案是 LDAP（轻量级目录访问协议）以及微软的 Active Directory。Active Directory 可以理解为“LDAP 服务 + Windows 域应用”的组合。它们采用分布式 C\u002FS 模型，用于在网络中集中管理和认证大量用户账号。",[1291,3024,3025],{},[1465,3026,3027],{},[993,3028,3029],{},"集中认证 = 账号与密码集中存放在目录服务中（NIS\u002FLDAP\u002FAD），各台机器通过网络查询这个“黄页”，实现统一的登录与身份管理。",[1174,3031,3033],{"id":3032},"printing-commands-打印相关命令","Printing Commands ｜ 打印相关命令",[1179,3035,3036,3077,3117,3156],{},[990,3037,3038,3041],{},[998,3039,3040],{"code":3040},"lp\u002Flpr [options] file",[987,3042,3043,3068],{},[990,3044,3045,3048],{},[993,3046,3047],{},"作用：",[987,3049,3050,3056,3062],{},[990,3051,3052,3053,1191],{},"向打印机",[993,3054,3055],{},"提交打印任务",[990,3057,3058,3061],{},[998,3059,3060],{"code":3060},"file","：要打印的文件名。",[990,3063,3064,3067],{},[998,3065,3066],{"code":3066},"[options]","：可选参数，比如指定打印机、份数等。",[990,3069,3070,1624,3073,3076],{},[998,3071,3072],{"code":3072},"lp",[998,3074,3075],{"code":3075},"lpr","：把文件丢到打印机队列里去打印。",[990,3078,3079,3082],{},[998,3080,3081],{"code":3081},"lpstat - print information about the status of the print service",[987,3083,3084,3105],{},[990,3085,3086,3088],{},[993,3087,3047],{},[987,3089,3090],{},[990,3091,3092,3093,3096,3097],{},"查看",[993,3094,3095],{},"打印服务的状态信息","，例如：\n",[987,3098,3099,3102],{},[990,3100,3101],{},"打印机是不是在线、",[990,3103,3104],{},"当前队列中有哪些任务等。",[990,3106,3107,3109],{},[993,3108,2953],{},[987,3110,3111],{},[990,3112,3113,3116],{},[998,3114,3115],{"code":3115},"lpstat","：输出打印服务状态信息。",[990,3118,3119,3122],{},[998,3120,3121],{"code":3121},"lpq - display the content of a print queue",[987,3123,3124,3144],{},[990,3125,3126,3128],{},[993,3127,3047],{},[987,3129,3130],{},[990,3131,3132,3133,1101,3136],{},"显示",[993,3134,3135],{},"打印队列里的内容",[987,3137,3138,3141],{},[990,3139,3140],{},"哪些任务在排队、",[990,3142,3143],{},"每个任务的编号、提交者等。",[990,3145,3146,3148],{},[993,3147,2953],{},[987,3149,3150],{},[990,3151,3152,3155],{},[998,3153,3154],{"code":3154},"lpq","：查看当前打印队列。",[990,3157,3158,3161],{},[998,3159,3160],{"code":3160},"lprm - remove print requests from the print queue",[987,3162,3163,3176],{},[990,3164,3165,3167],{},[993,3166,3047],{},[987,3168,3169],{},[990,3170,3171,3172,3175],{},"从打印队列中",[993,3173,3174],{},"移除打印任务","，一般根据任务号或用户名来删除。",[990,3177,3178,3180],{},[993,3179,2953],{},[987,3181,3182],{},[990,3183,3184,3187],{},[998,3185,3186],{"code":3186},"lprm","：删除\u002F取消排队中的打印请求。",[1291,3189,3190,3193,3198,3201,3205,3208,3212,3215],{},[1465,3191,3192],{},"提交打印：",[1465,3194,3195],{},[998,3196,3197],{"code":3197},"lp \u002F lpr",[1465,3199,3200],{},"查服务状态：",[1465,3202,3203],{},[998,3204,3115],{"code":3115},[1465,3206,3207],{},"看队列：",[1465,3209,3210],{},[998,3211,3154],{"code":3154},[1465,3213,3214],{},"删任务：",[1465,3216,3217],{},[998,3218,3186],{"code":3186},[982,3220,3222],{"id":3221},"configuring-network-网络配置","Configuring Network | 网络配置",[1174,3224,3226,3229],{"id":3225},"etc-下的配置文件",[998,3227,3228],{"code":3228},"\u002Fetc"," 下的配置文件",[3231,3232,3233],"blockquote",{},[1291,3234,3235],{},"Change setting files under \u002Fetc manually or by utilities",[1291,3237,3238,3239,3242],{},"这些配置可以",[993,3240,3241],{},"手动改文本文件","，也可以用图形\u002F命令行工具改。常见内容：",[987,3244,3245,3261,3275,3285,3301,3317,3330],{},[990,3246,3247,3250],{},[993,3248,3249],{},"Network domain | 网络域 \u002F 域名配置",[987,3251,3252,3258],{},[990,3253,3254,3255],{},"网络域名，如 ",[998,3256,3257],{"code":3257},"cs.univ.edu",[990,3259,3260],{},"决定主机的“全名”（FQDN）",[990,3262,3263,3266],{},[993,3264,3265],{},"IP",[987,3267,3268],{},[990,3269,3270,3271,3274],{},"主机的 IP 地址：",[998,3272,3273],{"code":3273},"192.168.x.x"," 之类。",[990,3276,3277,3280],{},[993,3278,3279],{},"Router | 路由器 \u002F 网关设置",[987,3281,3282],{},[990,3283,3284],{},"默认网关（default gateway），发往外网的包都从这里走。",[990,3286,3287,3290],{},[993,3288,3289],{},"Host name aliases | 主机名别名",[987,3291,3292,3298],{},[990,3293,3294,3295,1191],{},"主机名别名，通常写在 ",[998,3296,3297],{"code":3297},"\u002Fetc\u002Fhosts",[990,3299,3300],{},"例如给一台机器起多个名字。",[990,3302,3303,3306],{},[993,3304,3305],{},"Net masks | 网络掩码 \u002F 子网掩码",[987,3307,3308,3314],{},[990,3309,3310,3311,1191],{},"子网掩码，比如 ",[998,3312,3313],{"code":3313},"255.255.255.0",[990,3315,3316],{},"决定“同一局域网”的 IP 范围。",[990,3318,3319,3322],{},[993,3320,3321],{},"DNS finding | DNS 查找配置（DNS 服务器设置）",[987,3323,3324],{},[990,3325,3326,3327,1191],{},"DNS 服务器地址与解析规则，常在 ",[998,3328,3329],{"code":3329},"\u002Fetc\u002Fresolv.conf",[990,3331,3332,3335],{},[993,3333,3334],{},"etc.",[987,3336,3337],{},[990,3338,3339],{},"还有如：网卡、静态\u002F动态路由、IPv6 等其他网络参数。",[2618,3341],{},[1174,3343,3344],{"id":3344},"网络相关服务",[3231,3346,3347],{},[1291,3348,3349],{},"Install services packages such as NFS, LDAP, Samba, etc. | 安装 NFS、LDAP、Samba 等服务软件包，用来提供各种网络服务。",[987,3351,3352,3358,3363],{},[990,3353,3354,3357],{},[993,3355,3356],{},"NFS","：网络文件系统，共享目录。",[990,3359,3360,3362],{},[993,3361,2970],{},"：目录服务，用于集中账号认证。",[990,3364,3365,3368],{},[993,3366,3367],{},"Samba","：在 Unix \u002F Linux 与 Windows 之间共享文件\u002F打印机。",[2618,3370],{},[1174,3372,3374],{"id":3373},"查资料-用图形工具","查资料 & 用图形工具",[987,3376,3377,3387],{},[990,3378,3379,3382],{},[993,3380,3381],{},"Find references on system administration book",[987,3383,3384],{},[990,3385,3386],{},"去系统管理类书籍或官方文档里查详细说明。",[990,3388,3389,3392],{},[993,3390,3391],{},"Use GUI based administration tools",[987,3393,3394],{},[990,3395,3396,3397,3400],{},"使用图形界面的管理工具（如 ",[998,3398,3399],{"code":3399},"nm-connection-editor","、控制面板等）来配置网络。",[2618,3402],{},[982,3404,3406],{"id":3405},"license-management许可证管理","License Management（许可证管理）",[1179,3408,3409],{},[990,3410,3411],{},"标识一台具体的机器",[3231,3413,3414],{},[1179,3415,3416],{},[990,3417,3418],{},"Identifying a specific machine",[1179,3420,3422,3470],{"start":3421},2,[990,3423,3424,3425,3428,3429],{},"软件授权通常需要",[993,3426,3427],{},"锁定到某台机器","，标识方式有：\n",[987,3430,3431,3444,3457],{},[990,3432,3433,3436],{},[993,3434,3435],{},"hostid | 主机 ID",[987,3437,3438,3441],{},[990,3439,3440],{},"主机 ID，系统生成的唯一标识。",[990,3442,3443],{},"这个个人PC没有（？有的吧）",[990,3445,3446,3449],{},[993,3447,3448],{},"MAC address of Ethernet card ｜ 以太网卡的 MAC 地址",[987,3450,3451,3454],{},[990,3452,3453],{},"网卡的 MAC 地址（物理地址），全球唯一。",[990,3455,3456],{},"但是可以很容易作弊，提供的mac可以被修改",[990,3458,3459,3462],{},[993,3460,3461],{},"Special hardware such as 'watchdog'",[987,3463,3464,3467],{},[990,3465,3466],{},"插在机器上的专用硬件加密狗（dongle），比如“watchdog”。",[990,3468,3469],{},"没有这个硬件，软件就不能运行。",[990,3471,3472],{},"授权方式",[3231,3474,3475],{},[1179,3476,3477],{},[990,3478,3479,3480],{},"Node-lock and floating license pool\n",[987,3481,3482,3499],{},[990,3483,3484,3487],{},[993,3485,3486],{},"Node-lock license ｜ 节点锁授权 \u002F 单机授权",[987,3488,3489,3496],{},[990,3490,3491,3492,3495],{},"许可证",[993,3493,3494],{},"锁在某一台机器","（比如根据 MAC 地址）。",[990,3497,3498],{},"只有那台机器能用这个软件。",[990,3500,3501,3504],{},[993,3502,3503],{},"Floating license pool ｜ 浮动许可池（多人共享的并发授权）",[987,3505,3506,3509],{},[990,3507,3508],{},"许可证存在服务器上，是一个“池子”。",[990,3510,3511,3512,1191],{},"局域网内多台机器可以按需借用，只要",[993,3513,3514],{},"同时使用的数量不超过许可证数",[1179,3516,3517,3550],{"start":1262},[990,3518,3519,3520],{},"License check-out \u002F check-in | 借出\u002F归还 许可证\n",[987,3521,3522,3536],{},[990,3523,3524,3527],{},[993,3525,3526],{},"License check-out",[987,3528,3529],{},[990,3530,3531,3532,3535],{},"客户端启动软件时，从许可证服务器",[993,3533,3534],{},"借出","一个 license。",[990,3537,3538,3541],{},[993,3539,3540],{},"License check-in",[987,3542,3543],{},[990,3544,3545,3546,3549],{},"退出软件时，把许可证",[993,3547,3548],{},"归还","给服务器，供别人继续使用。",[990,3551,3552],{},"FLEXlm",[3231,3554,3555],{},[1179,3556,3557],{},[990,3558,3559,3560],{},"FLEXlm, the most popular license manager on Unix\n",[987,3561,3562],{},[990,3563,3564,3566,3567],{},[993,3565,3552],{},"（后来叫 FlexNet）\n",[987,3568,3569,3575],{},[990,3570,3571,3572,1191],{},"Unix \u002F Linux 上最常见的",[993,3573,3574],{},"商业软件许可证管理器",[990,3576,3577,3578],{},"负责：\n",[987,3579,3580,3583,3586],{},[990,3581,3582],{},"管理 license 文件，",[990,3584,3585],{},"监听客户端的 check-out \u002F check-in，",[990,3587,3588],{},"控制并发数量等。",[1174,3590,3552],{"id":3591},"flexlm",[2500,3593,3595],{"id":3594},"一主要角色概念梳理","一、主要角色（概念梳理）",[987,3597,3598,3628,3645,3658,3671],{},[990,3599,3600,3603],{},[993,3601,3602],{},"license.dat（许可证配置文件）",[987,3604,3605],{},[990,3606,3607,3608],{},"文本文件，包含以下信息：\n",[987,3609,3610,3616,3622],{},[990,3611,3612,3615],{},[998,3613,3614],{"code":3614},"SERVER","：许可证服务器的主机名 \u002F IP、hostid、端口。",[990,3617,3618,3621],{},[998,3619,3620],{"code":3620},"DAEMON","：各厂商 Vendor Daemon 的名称及路径。",[990,3623,3624,3627],{},[998,3625,3626],{"code":3626},"FEATURE","：各软件功能（feature）的授权信息：版本、数量、到期时间、加密串等。",[990,3629,3630,3633],{},[993,3631,3632],{},"lmgrd（License Manager Daemon）",[987,3634,3635,3638],{},[990,3636,3637],{},"FLEXlm 的主控制进程。",[990,3639,3640,3641,3644],{},"功能：读取 ",[998,3642,3643],{"code":3643},"license.dat","，启动并管理各个 Vendor Daemon，记录日志。",[990,3646,3647,3650],{},[993,3648,3649],{},"Vendor Daemon（厂商守护进程）",[987,3651,3652,3655],{},[990,3653,3654],{},"每个软件厂商对应一个 Vendor Daemon。",[990,3656,3657],{},"功能：具体执行许可证的借出（check-out）、归还（check-in）、计数和状态维护。",[990,3659,3660,3663],{},[993,3661,3662],{},"lock file（锁文件）",[987,3664,3665,3668],{},[990,3666,3667],{},"由 Vendor Daemon 创建和维护。",[990,3669,3670],{},"用途：记录当前已借出的许可证数量以及相关状态，防止并发冲突。",[990,3672,3673,3676],{},[993,3674,3675],{},"Application Program（应用程序）",[987,3677,3678,3681],{},[990,3679,3680],{},"需要许可证的客户端软件。",[990,3682,3683],{},"通过网络与许可证服务器通信，完成许可证请求和释放。",[2500,3685,3687],{"id":3686},"二flexlm-启动流程starting-up","二、FLEXlm 启动流程（Starting-Up）",[1179,3689,3690,3714,3730],{},[990,3691,3692,3695],{},[993,3693,3694],{},"lmgrd 读取配置文件",[987,3696,3697],{},[990,3698,3699,3700,3703,3704,3706,3707,1673,3709,1673,3711,3713],{},"启动时，",[998,3701,3702],{"code":3702},"lmgrd"," 打开 ",[998,3705,3643],{"code":3643},"，解析 ",[998,3708,3614],{"code":3614},[998,3710,3620],{"code":3620},[998,3712,3626],{"code":3626}," 等条目，确定监听端口及需要启动的 Vendor Daemon 列表。",[990,3715,3716,3719],{},[993,3717,3718],{},"lmgrd 启动各 Vendor Daemon",[987,3720,3721],{},[990,3722,3723,3724,3726,3727,3729],{},"根据 ",[998,3725,3620],{"code":3620}," 条目，",[998,3728,3702],{"code":3702}," 在同一台服务器上依次启动相应的 Vendor Daemon 进程。",[990,3731,3732,3735],{},[993,3733,3734],{},"Vendor Daemon 创建锁文件",[987,3736,3737,3744],{},[990,3738,3739,3740,3743],{},"每个 Vendor Daemon 启动后创建自己的 ",[998,3741,3742],{"code":3742},"lock file","，用于记录许可证使用情况。",[990,3745,3746],{},"至此，许可证服务器处于就绪状态，可以接收客户端请求。",[2500,3748,3750],{"id":3749},"三flexlm-工作流程working-flow","三、FLEXlm 工作流程（Working Flow）",[1174,3752,3753],{"id":3753},"客户端定位许可证服务器",[1179,3755,3756,3776,3792],{},[990,3757,3758,3761],{},[993,3759,3760],{},"应用查找 license.dat",[987,3762,3763,3773],{},[990,3764,3765,3766,3769,3770,3772],{},"应用程序根据环境变量（如 ",[998,3767,3768],{"code":3768},"LM_LICENSE_FILE=\u002Fetc\u002Flicense.dat","）或默认路径，找到并读取本地的 ",[998,3771,3643],{"code":3643}," 文件。",[990,3774,3775],{},"从中获得服务器主机名和端口信息。",[990,3777,3778,3781],{},[993,3779,3780],{},"应用连接 lmgrd",[987,3782,3783],{},[990,3784,3785,3786,3788,3789,3791],{},"应用程序使用从 ",[998,3787,3614],{"code":3614}," 条目中得到的地址和端口，与服务器上的 ",[998,3790,3702],{"code":3702}," 建立网络连接。",[990,3793,3794,3797],{},[993,3795,3796],{},"lmgrd 返回 Vendor Daemon 连接信息",[987,3798,3799],{},[990,3800,3801,3803],{},[998,3802,3702],{"code":3702}," 根据应用请求的 Feature 所属厂商，向应用返回对应 Vendor Daemon 的地址和端口。",[2500,3805,3806],{"id":3806},"许可证申请与授予",[1179,3808,3809,3822,3843],{},[990,3810,3811,3814],{},[993,3812,3813],{},"应用向 Vendor Daemon 请求许可证",[987,3815,3816],{},[990,3817,3818,3819,3821],{},"应用与 Vendor Daemon 建立连接，发送对某一 ",[998,3820,3626],{"code":3626}," 的许可证请求（含版本、用户信息等）。",[990,3823,3824,3827],{},[993,3825,3826],{},"Vendor Daemon 授予许可证",[987,3828,3829,3840],{},[990,3830,3831,3832],{},"Vendor Daemon 检查：\n",[987,3833,3834,3837],{},[990,3835,3836],{},"该 Feature 是否有效（未过期）。",[990,3838,3839],{},"当前已借出数量是否小于配置的最大数量。",[990,3841,3842],{},"若满足条件，则从许可证池中扣减一份，向应用返回“授权成功”。",[990,3844,3845,3848],{},[993,3846,3847],{},"Vendor Daemon 记录日志",[987,3849,3850],{},[990,3851,3852,3853,3855],{},"Vendor Daemon 将本次借出操作的详细信息记录到日志系统（与 ",[998,3854,3702],{"code":3702}," 协同），并更新锁文件中的计数。",[2500,3857,3858],{"id":3858},"运行期间的状态维护",[1179,3860,3861],{},[990,3862,3863,3866],{},[993,3864,3865],{},"心跳（heartbeat）机制",[987,3867,3868],{},[990,3869,3870,3871],{},"在应用运行期间，应用与 Vendor Daemon 周期性交换心跳消息：\n",[987,3872,3873,3876],{},[990,3874,3875],{},"若心跳正常，应用持续获得许可证使用权。",[990,3877,3878],{},"若心跳失效（网络中断、服务器故障等），在超时时间后，应用可能被要求停止或进入受限模式。",[2500,3880,3881],{"id":3881},"许可证归还流程",[1179,3883,3884,3894],{},[990,3885,3886,3889],{},[993,3887,3888],{},"应用归还许可证",[987,3890,3891],{},[990,3892,3893],{},"用户关闭应用或主动释放功能时，应用向 Vendor Daemon 发送许可证归还（check-in）请求。",[990,3895,3896,3899],{},[993,3897,3898],{},"Vendor Daemon 更新状态并记录",[987,3900,3901],{},[990,3902,3903],{},"Vendor Daemon 将该许可证归还到池中，更新锁文件中的计数，并记录相应日志条目。",[1174,3905,3907],{"id":3906},"四licensedat-示例说明using-flexlm","四、license.dat 示例说明（Using FLEXlm）",[1291,3909,3910],{},"示例片段（简化）：",[2632,3912,3917],{"className":3913,"code":3915,"language":3916,"meta":2638},[3914],"language-text","SERVER my_serv.cam.ac.uk 80507de8 1700\nDAEMON abcd \u002Fetc\u002Fabcd\nDAEMON xyzd \u002Fusr\u002Flib\u002Fxyzd \u002Fusr\u002Flib\u002Fxyz.opt\n# keys for vendor xyz\nFEATURE app1 xyzd 1.00 1-jan-2015 20 1EF029003EA7B324C0F7 \"\"\nFEATURE app2 xyzd 6.0  1-aug-2014 3  5B6F00438A213675DC06 \"core\"\n# keys for vendor abc\nFEATURE app3 abcd 5.01 01-jun-2015 3 23B1854A00357C7F21EA \"\" 806082f1\nFEATURE app4 abcd 2.6  1-jan-2016 1 A36902DF6E334801FB05 \"DEMO\" 80507de8\n","text",[998,3918,3915],{"__ignoreMap":2638},[987,3920,3921,3946,3966],{},[990,3922,3923,3926],{},[998,3924,3925],{"code":3925},"SERVER my_serv.cam.ac.uk 80507de8 1700",[987,3927,3928,3934,3940],{},[990,3929,3930,3931],{},"服务器主机名：",[998,3932,3933],{"code":3933},"my_serv.cam.ac.uk",[990,3935,3936,3937],{},"hostid：",[998,3938,3939],{"code":3939},"80507de8",[990,3941,3942,3943],{},"监听端口：",[998,3944,3945],{"code":3945},"1700",[990,3947,3948,1673,3951,3954],{},[998,3949,3950],{"code":3950},"DAEMON abcd \u002Fetc\u002Fabcd",[998,3952,3953],{"code":3953},"DAEMON xyzd ...",[987,3955,3956],{},[990,3957,3958,3959,1251,3962,3965],{},"定义了两个 Vendor Daemon：",[998,3960,3961],{"code":3961},"abcd",[998,3963,3964],{"code":3964},"xyzd","，后面为可执行程序路径及可选配置文件。",[990,3967,3968,3970,3971,3974,3975],{},[998,3969,3626],{"code":3626}," 行（以 ",[998,3972,3973],{"code":3973},"FEATURE app1 xyzd ..."," 为例）\n",[987,3976,3977,3983,3988,3994,4000,4006],{},[990,3978,3979,3982],{},[998,3980,3981],{"code":3981},"app1","：功能名（feature name）。",[990,3984,3985,3987],{},[998,3986,3964],{"code":3964},"：所属 Vendor Daemon 名称。",[990,3989,3990,3993],{},[998,3991,3992],{"code":3992},"1.00","：版本号。",[990,3995,3996,3999],{},[998,3997,3998],{"code":3998},"1-jan-2015","：到期日期。",[990,4001,4002,4005],{},[998,4003,4004],{"code":4004},"20","：最大并发许可证数量。",[990,4007,4008,4009,1673,4012,4015],{},"之后的长串十六进制为加密校验码，可选字段例如 ",[998,4010,4011],{"code":4011},"\"core\"",[998,4013,4014],{"code":4014},"\"DEMO\""," 为说明或模式。",[1291,4017,4018],{},"通过上述配置，FLEXlm 能够在服务器上统一管理不同厂商的软件许可证，实现集中授权与并发控制。",[982,4020,4022],{"id":4021},"installing-iccad-softwareiccad-软件安装","Installing ICCAD Software（ICCAD 软件安装）",[1179,4024,4025,4043,4061,4122],{},[990,4026,4027,4028],{},"软件包特点\n",[987,4029,4030],{},[990,4031,4032,4035],{},[993,4033,4034],{},"ICCAD software packages usually are large and complicated, and with lots of legacies",[987,4036,4037,4040],{},[990,4038,4039],{},"ICCAD 类的软件包通常体积较大、结构复杂，且包含大量历史遗留代码与脚本。",[990,4041,4042],{},"含义：安装过程容易依赖旧版本库、旧脚本，因此更需要仔细阅读文档和环境要求。",[990,4044,4045,4046],{},"阅读安装文档\n",[987,4047,4048],{},[990,4049,4050,4053],{},[993,4051,4052],{},"Read the documents about installation",[987,4054,4055,4058],{},[990,4056,4057],{},"在实际安装前，应完整阅读随软件提供的安装说明（README、INSTALL、用户手册章节等）。",[990,4059,4060],{},"目的：了解支持的平台、依赖的库版本、磁盘空间与权限要求等。",[990,4062,4063,4064],{},"理解安装脚本的工作方式\n",[987,4065,4066],{},[990,4067,4068,4071],{},[993,4069,4070],{},"Understand how the installing script works",[987,4072,4073,4076,4108],{},[990,4074,4075],{},"安装过程往往由各种脚本驱动，需要理解其大致逻辑与调用方式。",[990,4077,4078,4079],{},"可能涉及的脚本与构建系统：\n",[987,4080,4081,4090,4096,4102],{},[990,4082,4083,4084,1673,4087],{},"Shell：",[998,4085,4086],{"code":4086},"bash",[998,4088,4089],{"code":4089},"tcsh",[990,4091,4092,4095],{},[998,4093,4094],{"code":4094},"perl"," 脚本",[990,4097,4098,4101],{},[998,4099,4100],{"code":4100},"makefile","（GNU make 等）",[990,4103,4104,4107],{},[998,4105,4106],{"code":4106},"sbt"," 等构建工具",[990,4109,4110,4111],{},"理解程度不必到逐行阅读，但应知道：\n",[987,4112,4113,4116,4119],{},[990,4114,4115],{},"脚本会写哪些目录",[990,4117,4118],{},"使用哪些环境变量",[990,4120,4121],{},"需要哪些外部命令或工具",[990,4123,4124,4125],{},"准备所需的运行环境\n",[987,4126,4127],{},[990,4128,4129,4132,4137],{},[993,4130,4131],{},"Prepare required environment",[987,4133,4134],{},[990,4135,4136],{},"主要包括以下几类：",[1179,4138,4139,4152,4177],{},[990,4140,4141,4144],{},[993,4142,4143],{},"Needed third-party software and libraries",[987,4145,4146,4149],{},[990,4147,4148],{},"必要的第三方软件与库，例如编译器、仿真器、特定版本的 C\u002FC++\u002FPython 库等。",[990,4150,4151],{},"需要根据文档提前安装并配置路径。",[990,4153,4154,4157],{},[993,4155,4156],{},"Environment variables",[987,4158,4159,4174],{},[990,4160,4161,4162,1673,4165,1673,4168,1673,4171,2572],{},"配置环境变量，如 ",[998,4163,4164],{"code":4164},"PATH",[998,4166,4167],{"code":4167},"LD_LIBRARY_PATH",[998,4169,4170],{"code":4170},"PYTHONPATH",[998,4172,4173],{"code":4173},"LM_LICENSE_FILE",[990,4175,4176],{},"这些变量决定可执行文件与库文件的查找位置。",[990,4178,4179,4182],{},[993,4180,4181],{},"License manager, etc.",[987,4183,4184,4187],{},[990,4185,4186],{},"配置许可证管理器（如 FLEXlm\u002F FlexNet）。",[990,4188,4189,4190,4192],{},"包括设置 ",[998,4191,3643],{"code":3643}," 路径、服务器地址等。",[2618,4194],{},[982,4196,4198],{"id":4197},"open-source-eda-tools-and-demos开源-eda-工具与示例","Open Source EDA Tools and Demos（开源 EDA 工具与示例）",[3231,4200,4201],{},[1291,4202,4203],{},"A few tools for your trial and error\n适合作为练习对象的开源 EDA 工具",[1179,4205,4206,4243,4274],{},[990,4207,4208,4211],{},[993,4209,4210],{},"KLayout",[987,4212,4213,4222,4232],{},[990,4214,4215,4216],{},"官网：",[4217,4218,4219],"a",{"href":4219,"rel":4220},"https:\u002F\u002Fklayout.de\u002F",[4221],"nofollow",[990,4223,4224,4225,2561,4228,4231],{},"主要用途：版图查看与编辑（GDSII、OASIS 等格式：",[998,4226,4227],{"code":4227},".gds",[998,4229,4230],{"code":4230},".oas","）。",[990,4233,4234,4235],{},"典型场景：\n",[987,4236,4237,4240],{},[990,4238,4239],{},"查看工艺版图",[990,4241,4242],{},"做简单的版图修改与检查",[990,4244,4245,4248],{},[993,4246,4247],{},"Ngspice",[987,4249,4250,4256,4259,4271],{},[990,4251,4215,4252],{},[4217,4253,4254],{"href":4254,"rel":4255},"https:\u002F\u002Fngspice.sourceforge.io\u002F",[4221],[990,4257,4258],{},"主要用途：电路级 SPICE 仿真。",[990,4260,4261,4262,2561,4265,2561,4268,2572],{},"支持的输入文件扩展名：",[998,4263,4264],{"code":4264},".cir",[998,4266,4267],{"code":4267},".net",[998,4269,4270],{"code":4270},".spi",[990,4272,4273],{},"可用于模拟电路、混合信号电路的行为仿真。",[990,4275,4276,4279],{},[993,4277,4278],{},"OpenROAD flow",[987,4280,4281,4288,4295,4298],{},[990,4282,4283,4284],{},"项目主页：",[4217,4285,4286],{"href":4286,"rel":4287},"https:\u002F\u002Ftheopenroadproject.org\u002F",[4221],[990,4289,4290,4291],{},"教程与流程文档：\n",[4217,4292,4293],{"href":4293,"rel":4294},"https:\u002F\u002Fopenroad.readthedocs.io\u002Fen\u002Flatest\u002Ftutorials\u002FFlowTutorial.html",[4221],[990,4296,4297],{},"主要用途：从 RTL 到布局布线的数字 IC 设计全流程（物理综合、布局、布线等）。",[990,4299,4300,4301,2561,4304,2561,4307,2561,4310,2561,4313,2561,4316,2561,4319,2561,4322,2561,4325,2572],{},"相关文件类型示例：",[998,4302,4303],{"code":4303},".tcl",[998,4305,4306],{"code":4306},".v",[998,4308,4309],{"code":4309},".sdc",[998,4311,4312],{"code":4312},".odb",[998,4314,4315],{"code":4315},".lef",[998,4317,4318],{"code":4318},".lib",[998,4320,4321],{"code":4321},".def",[998,4323,4324],{"code":4324},".spef",[998,4326,4227],{"code":4227},[987,4328,4329],{},[990,4330,4331,4334],{},[993,4332,4333],{},"A Chisel RISC-V demo from graduate course homework",[987,4335,4336,4343,4370],{},[990,4337,4338,4339],{},"示例仓库：",[4217,4340,4341],{"href":4341,"rel":4342},"https:\u002F\u002Fgithub.com\u002Fstuzs\u002FRCore",[4221],[990,4344,4345,4346],{},"主要特点：\n",[987,4347,4348,4355],{},[990,4349,4350,4351,4354],{},"使用 ",[993,4352,4353],{},"Chisel","（基于 Scala 的硬件描述语言）实现 RISC-V 处理器。",[990,4356,4357,4358,2561,4361,2561,4363,2561,4366,4369],{},"仓库中包含多类文件：",[998,4359,4360],{"code":4360},".scala",[998,4362,4306],{"code":4306},[998,4364,4365],{"code":4365},".s",[998,4367,4368],{"code":4368},".vcd"," 等，覆盖从高层描述、生成 Verilog，到仿真波形的完整流程。",[990,4371,4372,4373],{},"适合作为：\n",[987,4374,4375,4378],{},[990,4376,4377],{},"研究生课程作业参考",[990,4379,4380],{},"学习 RISC-V 软硬件协同设计与验证的示例工程。",[1179,4382,4383,4399],{},[990,4384,4385,4388],{},[993,4386,4387],{},"商业 ICCAD 软件安装：",[987,4389,4390,4393,4396],{},[990,4391,4392],{},"软件包大而复杂 → 必须先读安装文档。",[990,4394,4395],{},"搞清安装脚本（shell \u002F perl \u002F makefile \u002F sbt 等）做了什么。",[990,4397,4398],{},"提前准备好依赖软件、环境变量和许可证管理器。",[990,4400,4401,4404],{},[993,4402,4403],{},"学习路径建议：",[987,4405,4406,4409],{},[990,4407,4408],{},"先从开源 EDA 工具（KLayout、Ngspice、OpenROAD）入手，练习安装和基本使用。",[990,4410,4411],{},"通过完整示例工程（如 RCore Chisel RISC-V）体验从设计到仿真的全流程。",{"title":2638,"searchDepth":1262,"depth":1262,"links":4413},[4414],{"id":980,"depth":3421,"text":516,"children":4415},[4416,4417,4435,4441,4446,4447],{"id":984,"depth":1262,"text":985},{"id":1074,"depth":1262,"text":1075,"children":4418},[4419,4421,4422,4423,4424,4425,4426,4427,4428,4429,4430,4431,4432,4433,4434],{"id":1176,"depth":4420,"text":1177},5,{"id":1288,"depth":4420,"text":1289},{"id":1383,"depth":4420,"text":1384},{"id":1475,"depth":4420,"text":1476},{"id":1540,"depth":4420,"text":1541},{"id":1683,"depth":4420,"text":1684},{"id":1846,"depth":4420,"text":1847},{"id":1904,"depth":4420,"text":1905},{"id":2013,"depth":4420,"text":2014},{"id":2095,"depth":4420,"text":2096},{"id":2176,"depth":4420,"text":2177},{"id":2289,"depth":4420,"text":2290},{"id":2445,"depth":4420,"text":2446},{"id":2850,"depth":4420,"text":2851},{"id":3032,"depth":4420,"text":3033},{"id":3221,"depth":1262,"text":3222,"children":4436},[4437,4439,4440],{"id":3225,"depth":4420,"text":4438},"\u002Fetc 下的配置文件",{"id":3344,"depth":4420,"text":3344},{"id":3373,"depth":4420,"text":3374},{"id":3405,"depth":1262,"text":3406,"children":4442},[4443,4444,4445],{"id":3591,"depth":4420,"text":3552},{"id":3753,"depth":4420,"text":3753},{"id":3906,"depth":4420,"text":3907},{"id":4021,"depth":1262,"text":4022},{"id":4197,"depth":1262,"text":4198},[903],"系统管理：详细版笔记","md",null,{"slots":4453},{},{"text":435,"minutes":436,"time":437,"words":438},{"title":432,"description":4449},{"loc":431,"images":4457},[4458,4459],{"loc":1296},{"loc":2535},[4461,4462],"Linux","课程笔记","tech","csu69SSiET4z8APBZlmHW22V1jwJtMtoghsg0qb-gcQ",[4466,4467],{"title":423,"path":422,"stem":421,"date":424,"type":4463,"children":-1},{"title":442,"path":441,"stem":440,"date":443,"type":4463,"children":-1},1789057284324]