[{"data":1,"prerenderedAt":2755},["ShallowReactive",2],{"blog:\u002Fblog\u002Flinux\u002Fubuntu\u002Fnote":3},{"id":4,"title":5,"author":6,"body":7,"category":2741,"date":2742,"description":2743,"draft":2744,"extension":2745,"image":2746,"meta":2747,"navigation":312,"path":2748,"seo":2749,"series":2746,"seriesOrder":2746,"seriesTitle":2746,"stem":2750,"tags":2751,"updatedAt":2753,"__hash__":2754},"blog\u002Fblog\u002Flinux\u002Fubuntu\u002Fnote.md","Ubuntu 筆記","charles",{"type":8,"value":9,"toc":2722},"minimark",[10,14,56,60,65,123,127,169,173,178,220,223,241,244,254,259,288,298,338,2009,2014,2019,2045,2049,2054,2091,2095,2100,2177,2181,2186,2380,2384,2389,2393,2398,2401,2406,2498,2502,2506,2718],[11,12,13],"h3",{"id":13},"shortcut",[15,16,17,28,42],"ul",{},[18,19,20,21],"li",{},"關閉 Terminal\n",[22,23,24],"blockquote",{},[25,26,27],"p",{},"exit 或 Ctrl + D",[18,29,30,31],{},"複製\n",[22,32,33,36,39],{},[25,34,35],{},"Ctrl + Shift + C",[25,37,38],{},"Ctrl + Insert",[25,40,41],{},"滑鼠中鍵按住拖曳",[18,43,44,45],{},"貼上\n",[22,46,47,50,53],{},[25,48,49],{},"Ctrl + Shift + V",[25,51,52],{},"Shift + Insert",[25,54,55],{},"點擊滑鼠中鍵",[11,57,59],{"id":58},"command-line-editing","command line editing",[61,62,64],"h4",{"id":63},"cursor-movement","Cursor Movement",[15,66,67,75,83,91,99,107,115],{},[18,68,69,70],{},"Ctrl + a (ahead)\n",[22,71,72],{},[25,73,74],{},"將游標移到行首",[18,76,77,78],{},"Ctrl + e (end)\n",[22,79,80],{},[25,81,82],{},"將游標移到行尾",[18,84,85,86],{},"Ctrl + f (forward)\n",[22,87,88],{},[25,89,90],{},"方向鍵⬅️",[18,92,93,94],{},"Ctrl + b (backward)\n",[22,95,96],{},[25,97,98],{},"方向鍵➡️",[18,100,101,102],{},"Alt + f (forward)\n",[22,103,104],{},[25,105,106],{},"移到前一個 word (以空白分隔)",[18,108,109,110],{},"Alt + b (backward)\n",[22,111,112],{},[25,113,114],{},"移到下一個 word (以空白分隔)",[18,116,117,118],{},"Ctrl + l (clear)\n",[22,119,120],{},[25,121,122],{},"清除螢幕資訊",[61,124,126],{"id":125},"modifying-text","modifying text",[15,128,129,137,145,153,161],{},[18,130,131,132],{},"Ctrl + d (delete)\n",[22,133,134],{},[25,135,136],{},"delete 鍵",[18,138,139,140],{},"Ctrl + t (transpose)\n",[22,141,142],{},[25,143,144],{},"將當前字元跟前一個字元交換",[18,146,147,148],{},"Alt + t (transpose)\n",[22,149,150],{},[25,151,152],{},"將當前 word 跟前一個 word 交換",[18,154,155,156],{},"Alt + l (lowercase)\n",[22,157,158],{},[25,159,160],{},"當前位置到 EOF 轉為小寫",[18,162,163,164],{},"Alt + u (uppercase)\n",[22,165,166],{},[25,167,168],{},"當前位置到 EOF 轉為大寫",[61,170,172],{"id":171},"cutting-and-pasting-text","cutting and pasting text",[22,174,175],{},[25,176,177],{},"在 linux 又稱 killing and yanking",[15,179,180,188,196,204,212],{},[18,181,182,183],{},"Ctrl + k (kill)\n",[22,184,185],{},[25,186,187],{},"將當前位置到 EOF 剪下",[18,189,190,191],{},"Ctrl + u (kill line)\n",[22,192,193],{},[25,194,195],{},"將當前位置到開頭剪下",[18,197,198,199],{},"Alt + d (delete)\n",[22,200,201],{},[25,202,203],{},"將當前位置到當前 word 的結尾剪下",[18,205,206,207],{},"Alt + backspace (delete word)\n",[22,208,209],{},[25,210,211],{},"將當前位置到當前 word 的開頭剪下，如果已經在開頭，則將前一個 word 剪下",[18,213,214,215],{},"Ctrl + y (yank)\n",[22,216,217],{},[25,218,219],{},"貼上到當前位置",[61,221,222],{"id":222},"completion",[15,224,225,233],{},[18,226,227,228],{},"Tab (或 Alt + ?)\n",[22,229,230],{},[25,231,232],{},"可以自動完成當前 command、username、hostname、當前位置的檔案名稱等等",[18,234,235,236],{},"Alt + *\n",[22,237,238],{},[25,239,240],{},"將所有可用的參數插入",[11,242,243],{"id":243},"command",[22,245,246],{},[25,247,248,249,253],{},"使用 semicolon ( ",[250,251,252],"code",{},";"," ) 可以將多個 command 串在一起",[15,255,256],{},[18,257,258],{},"查看目前使用的 shell",[260,261,266],"pre",{"className":262,"code":263,"language":264,"meta":265,"style":265},"language-bash shiki shiki-themes material-theme-lighter github-light github-dark","echo $0\n# 通常可得到 bash 或 \u002Fusr\u002Fbin\u002Fbash\n","bash","",[250,267,268,281],{"__ignoreMap":265},[269,270,273,277],"span",{"class":271,"line":272},"line",1,[269,274,276],{"class":275},"sptTA","echo",[269,278,280],{"class":279},"s99_P"," $0\n",[269,282,284],{"class":271,"line":283},2,[269,285,287],{"class":286},"sutJx","# 通常可得到 bash 或 \u002Fusr\u002Fbin\u002Fbash\n",[15,289,290],{},[18,291,292,293],{},"註解\n",[22,294,295],{},[25,296,297],{},"單行註解為 #\n多行註解為\n\u003C\u003C comment\n       \u003C內容>\n    comment",[260,299,301],{"className":262,"code":300,"language":264,"meta":265,"style":265},"# 內容\n\n\u003C\u003C comment\n內容\ncomment\n",[250,302,303,308,314,325,332],{"__ignoreMap":265},[269,304,305],{"class":271,"line":272},[269,306,307],{"class":286},"# 內容\n",[269,309,310],{"class":271,"line":283},[269,311,313],{"emptyLinePlaceholder":312},true,"\n",[269,315,317,321],{"class":271,"line":316},3,[269,318,320],{"class":319},"smGrS","\u003C\u003C",[269,322,324],{"class":323},"sjJ54"," comment\n",[269,326,328],{"class":271,"line":327},4,[269,329,331],{"class":330},"s_sjI","內容\n",[269,333,335],{"class":271,"line":334},5,[269,336,337],{"class":323},"comment\n",[15,339,340,443,469,494,522,681,792,942,1600,1898],{},[18,341,342,343],{},"時間",[15,344,345,369],{},[18,346,347,348,353],{},"date (current time and date)\n",[22,349,350],{},[25,351,352],{},"當前時間跟日期",[260,354,356],{"className":262,"code":355,"language":264,"meta":265,"style":265},"date\n#Thu Mar  2 17:59:42 CST 2023\n",[250,357,358,364],{"__ignoreMap":265},[269,359,360],{"class":271,"line":272},[269,361,363],{"class":362},"sbgvK","date\n",[269,365,366],{"class":271,"line":283},[269,367,368],{"class":286},"#Thu Mar  2 17:59:42 CST 2023\n",[18,370,371,372,377],{},"cal (calendar of the current month)\n",[22,373,374],{},[25,375,376],{},"這個月的月曆",[260,378,380],{"className":262,"code":379,"language":264,"meta":265,"style":265},"#from ncal\ncal\n\u003C\u003C comment\n     March 2023\nSu Mo Tu We Th Fr Sa\n          1  2  3  4\n 5  6  7  8  9 10 11\n12 13 14 15 16 17 18\n19 20 21 22 23 24 25\n26 27 28 29 30 31\ncomment\n",[250,381,382,387,392,398,403,408,414,420,426,432,438],{"__ignoreMap":265},[269,383,384],{"class":271,"line":272},[269,385,386],{"class":286},"#from ncal\n",[269,388,389],{"class":271,"line":283},[269,390,391],{"class":362},"cal\n",[269,393,394,396],{"class":271,"line":316},[269,395,320],{"class":319},[269,397,324],{"class":323},[269,399,400],{"class":271,"line":327},[269,401,402],{"class":330},"     March 2023\n",[269,404,405],{"class":271,"line":334},[269,406,407],{"class":330},"Su Mo Tu We Th Fr Sa\n",[269,409,411],{"class":271,"line":410},6,[269,412,413],{"class":330},"          1  2  3  4\n",[269,415,417],{"class":271,"line":416},7,[269,418,419],{"class":330}," 5  6  7  8  9 10 11\n",[269,421,423],{"class":271,"line":422},8,[269,424,425],{"class":330},"12 13 14 15 16 17 18\n",[269,427,429],{"class":271,"line":428},9,[269,430,431],{"class":330},"19 20 21 22 23 24 25\n",[269,433,435],{"class":271,"line":434},10,[269,436,437],{"class":330},"26 27 28 29 30 31\n",[269,439,441],{"class":271,"line":440},11,[269,442,337],{"class":323},[18,444,445,446],{},"硬碟資訊",[15,447,448],{},[18,449,450,451,456,465],{},"df (current amount of free space on disk drives)\n",[22,452,453],{},[25,454,455],{},"硬碟空間資訊",[260,457,459],{"className":262,"code":458,"language":264,"meta":265,"style":265},"df\n",[250,460,461],{"__ignoreMap":265},[269,462,463],{"class":271,"line":272},[269,464,458],{"class":362},[466,467],"img",{"alt":265,"src":468},"https:\u002F\u002Fi.imgur.com\u002Fpaflpni.png",[18,470,471,472],{},"記憶體資訊",[15,473,474],{},[18,475,476,477,482,491],{},"free (amount of free memory)\n",[22,478,479],{},[25,480,481],{},"記憶體使用情況",[260,483,485],{"className":262,"code":484,"language":264,"meta":265,"style":265},"free\n",[250,486,487],{"__ignoreMap":265},[269,488,489],{"class":271,"line":272},[269,490,484],{"class":362},[466,492],{"alt":265,"src":493},"https:\u002F\u002Fi.imgur.com\u002FC1g8rML.png",[18,495,496,497],{},"當前工作目錄",[15,498,499],{},[18,500,501,502,507],{},"pwd (print working directory)\n",[22,503,504],{},[25,505,506],{},"顯示當前工作目錄",[260,508,510],{"className":262,"code":509,"language":264,"meta":265,"style":265},"pwd\n#\u002Fhome\u002Fcharles\n",[250,511,512,517],{"__ignoreMap":265},[269,513,514],{"class":271,"line":272},[269,515,516],{"class":275},"pwd\n",[269,518,519],{"class":271,"line":283},[269,520,521],{"class":286},"#\u002Fhome\u002Fcharles\n",[18,523,524,525],{},"當前目錄資訊",[15,526,527],{},[18,528,529,530,535,544,547,550,555,574,579,596,601,634,636,639,644,656,661,676,678],{},"ls (list the files and directories)",[22,531,532],{},[25,533,534],{},"顯示當前工作目錄中的檔案跟資料夾",[260,536,538],{"className":262,"code":537,"language":264,"meta":265,"style":265},"ls\n",[250,539,540],{"__ignoreMap":265},[269,541,542],{"class":271,"line":272},[269,543,537],{"class":362},[545,546],"br",{},[466,548],{"alt":265,"src":549},"https:\u002F\u002Fi.imgur.com\u002FWT1f4pn.png",[22,551,552],{},[25,553,554],{},"顯示當前工作目錄中的檔案跟資料夾 (包含被隱藏的)",[260,556,558],{"className":262,"code":557,"language":264,"meta":265,"style":265},"#(all)\nls -a\n",[250,559,560,565],{"__ignoreMap":265},[269,561,562],{"class":271,"line":272},[269,563,564],{"class":286},"#(all)\n",[269,566,567,570],{"class":271,"line":283},[269,568,569],{"class":362},"ls",[269,571,573],{"class":572},"stzsN"," -a\n",[22,575,576],{},[25,577,578],{},"顯示更多資料",[260,580,582],{"className":262,"code":581,"language":264,"meta":265,"style":265},"#(long listing format)\nls -l\n",[250,583,584,589],{"__ignoreMap":265},[269,585,586],{"class":271,"line":272},[269,587,588],{"class":286},"#(long listing format)\n",[269,590,591,593],{"class":271,"line":283},[269,592,569],{"class":362},[269,594,595],{"class":572}," -l\n",[22,597,598],{},[25,599,600],{},"使用多個參數",[260,602,604],{"className":262,"code":603,"language":264,"meta":265,"style":265},"ls -a -l\nls -al\nls -la\n#以上效果皆相同\n",[250,605,606,615,622,629],{"__ignoreMap":265},[269,607,608,610,613],{"class":271,"line":272},[269,609,569],{"class":362},[269,611,612],{"class":572}," -a",[269,614,595],{"class":572},[269,616,617,619],{"class":271,"line":283},[269,618,569],{"class":362},[269,620,621],{"class":572}," -al\n",[269,623,624,626],{"class":271,"line":316},[269,625,569],{"class":362},[269,627,628],{"class":572}," -la\n",[269,630,631],{"class":271,"line":327},[269,632,633],{"class":286},"#以上效果皆相同\n",[545,635],{},[466,637],{"alt":265,"src":638},"https:\u002F\u002Fi.imgur.com\u002Fug61vbG.png",[22,640,641],{},[25,642,643],{},"指定位置",[260,645,647],{"className":262,"code":646,"language":264,"meta":265,"style":265},"ls \u002Fusr\n",[250,648,649],{"__ignoreMap":265},[269,650,651,653],{"class":271,"line":272},[269,652,569],{"class":362},[269,654,655],{"class":330}," \u002Fusr\n",[22,657,658],{},[25,659,660],{},"指定多個位置",[260,662,664],{"className":262,"code":663,"language":264,"meta":265,"style":265},"ls ~ \u002Fopt\n",[250,665,666],{"__ignoreMap":265},[269,667,668,670,673],{"class":271,"line":272},[269,669,569],{"class":362},[269,671,672],{"class":330}," ~",[269,674,675],{"class":330}," \u002Fopt\n",[545,677],{},[466,679],{"alt":265,"src":680},"https:\u002F\u002Fi.imgur.com\u002FQEzRG5g.png",[18,682,683,684],{},"移動目前位置",[15,685,686],{},[18,687,688,689],{},"cd (change working directory)",[260,690,692],{"className":262,"code":691,"language":264,"meta":265,"style":265},"#回home directory\ncd\n\n#移動到當前目錄下存在的某個資料夾\ncd \u003Cfilename>\n\n#移動到上層資料夾\ncd ..\n #或\ncd -\n\n#到某個user的home directory\ncd ~\u003Cuser_name>\n #cd ~John\n\n",[250,693,694,699,704,708,713,731,735,740,747,752,759,763,769,786],{"__ignoreMap":265},[269,695,696],{"class":271,"line":272},[269,697,698],{"class":286},"#回home directory\n",[269,700,701],{"class":271,"line":283},[269,702,703],{"class":275},"cd\n",[269,705,706],{"class":271,"line":316},[269,707,313],{"emptyLinePlaceholder":312},[269,709,710],{"class":271,"line":327},[269,711,712],{"class":286},"#移動到當前目錄下存在的某個資料夾\n",[269,714,715,718,721,724,728],{"class":271,"line":334},[269,716,717],{"class":275},"cd",[269,719,720],{"class":319}," \u003C",[269,722,723],{"class":330},"filenam",[269,725,727],{"class":726},"su5hD","e",[269,729,730],{"class":319},">\n",[269,732,733],{"class":271,"line":410},[269,734,313],{"emptyLinePlaceholder":312},[269,736,737],{"class":271,"line":416},[269,738,739],{"class":286},"#移動到上層資料夾\n",[269,741,742,744],{"class":271,"line":422},[269,743,717],{"class":275},[269,745,746],{"class":330}," ..\n",[269,748,749],{"class":271,"line":428},[269,750,751],{"class":286}," #或\n",[269,753,754,756],{"class":271,"line":434},[269,755,717],{"class":275},[269,757,758],{"class":330}," -\n",[269,760,761],{"class":271,"line":440},[269,762,313],{"emptyLinePlaceholder":312},[269,764,766],{"class":271,"line":765},12,[269,767,768],{"class":286},"#到某個user的home directory\n",[269,770,772,774,776,779,782,784],{"class":271,"line":771},13,[269,773,717],{"class":275},[269,775,672],{"class":330},[269,777,778],{"class":319},"\u003C",[269,780,781],{"class":330},"user_nam",[269,783,727],{"class":726},[269,785,730],{"class":319},[269,787,789],{"class":271,"line":788},14,[269,790,791],{"class":286}," #cd ~John\n",[18,793,794,795],{},"檔案內容資訊",[15,796,797,824,915],{},[18,798,799,800,805],{},"file\n",[22,801,802],{},[25,803,804],{},"獲得 file_name 的資訊",[260,806,808],{"className":262,"code":807,"language":264,"meta":265,"style":265},"file \u003Cfile_name>\n",[250,809,810],{"__ignoreMap":265},[269,811,812,815,817,820,822],{"class":271,"line":272},[269,813,814],{"class":362},"file",[269,816,720],{"class":319},[269,818,819],{"class":330},"file_nam",[269,821,727],{"class":726},[269,823,730],{"class":319},[18,825,826,827,832],{},"less\n",[22,828,829],{},[25,830,831],{},"檢視文字檔案內容",[260,833,835],{"className":262,"code":834,"language":264,"meta":265,"style":265},"less \u003Cfile_name>\n#以下指令進行操作\n\u003C\u003C comment\n    PageUp or b ：上一頁\n    PageDown or space：下一頁\n    Up arrow：上一行\n    Down arrow：下一行\n    G：移到檔案結尾\n    1G or g：移到檔案開頭\n    \u002F：搜尋文字\n    n：搜尋結果的下一筆\n    h：顯示幫助訊息\n    q：離開\ncomment\n",[250,836,837,850,855,861,866,871,876,881,886,891,896,901,906,911],{"__ignoreMap":265},[269,838,839,842,844,846,848],{"class":271,"line":272},[269,840,841],{"class":362},"less",[269,843,720],{"class":319},[269,845,819],{"class":330},[269,847,727],{"class":726},[269,849,730],{"class":319},[269,851,852],{"class":271,"line":283},[269,853,854],{"class":286},"#以下指令進行操作\n",[269,856,857,859],{"class":271,"line":316},[269,858,320],{"class":319},[269,860,324],{"class":323},[269,862,863],{"class":271,"line":327},[269,864,865],{"class":330},"    PageUp or b ：上一頁\n",[269,867,868],{"class":271,"line":334},[269,869,870],{"class":330},"    PageDown or space：下一頁\n",[269,872,873],{"class":271,"line":410},[269,874,875],{"class":330},"    Up arrow：上一行\n",[269,877,878],{"class":271,"line":416},[269,879,880],{"class":330},"    Down arrow：下一行\n",[269,882,883],{"class":271,"line":422},[269,884,885],{"class":330},"    G：移到檔案結尾\n",[269,887,888],{"class":271,"line":428},[269,889,890],{"class":330},"    1G or g：移到檔案開頭\n",[269,892,893],{"class":271,"line":434},[269,894,895],{"class":330},"    \u002F：搜尋文字\n",[269,897,898],{"class":271,"line":440},[269,899,900],{"class":330},"    n：搜尋結果的下一筆\n",[269,902,903],{"class":271,"line":765},[269,904,905],{"class":330},"    h：顯示幫助訊息\n",[269,907,908],{"class":271,"line":771},[269,909,910],{"class":330},"    q：離開\n",[269,912,913],{"class":271,"line":788},[269,914,337],{"class":323},[18,916,917,918,923],{},"zless\n",[22,919,920],{},[25,921,922],{},"檢視.gz (gzip) 的壓縮檔內容",[260,924,926],{"className":262,"code":925,"language":264,"meta":265,"style":265},"zless \u003Cfile>\n",[250,927,928],{"__ignoreMap":265},[269,929,930,933,935,938,940],{"class":271,"line":272},[269,931,932],{"class":362},"zless",[269,934,720],{"class":319},[269,936,937],{"class":330},"fil",[269,939,727],{"class":726},[269,941,730],{"class":319},[18,943,944,945],{},"檔案管理",[15,946,947,1120,1232,1314,1443],{},[18,948,949,950,955],{},"cp (copy)",[22,951,952],{},[25,953,954],{},"複製檔案跟資料夾",[15,956,957],{},[18,958,959,960],{},"optional",[260,961,963],{"className":262,"code":962,"language":264,"meta":265,"style":265},"#cp 來源(資料夾或檔案) 目的地(資料夾或檔案)\n\n#複製item1的內容到item2\ncp item1 item2\n\n#複製item到directory (directory必須存在)\ncp item directory\n#複製多個item到directory\ncp item1 item2 item3 directory\n\n#複製dir1的內容到dir2 (只複製一層，子目錄不會被複製，且dir2必須存在)\ncp dir1\u002F* dir2\n#複製dir1的內容(包含每一層子內容)到dir2 (若dir2不存在，自動建立dir2)\ncp -r dir1 dir2\n\n#以下指令進行操作\n\u003C\u003C comment\n    -a ：archive，將屬性、owner關係、檔案權限等保留，並且將子內容一起複製，若沒有使用-a，則會使用目的的位置的預設值重新配置\n    -i：interactive，若覆蓋已存在的檔案前進行詢問\n    -r：recursive，將子內容全部複製目的地，若來源是資料夾，則-a或-r是必填參數\n    -u：update，將目的地不存在的檔案跟資料夾加入，以及存在同名稱但更改時間比我早的檔案進行複寫\n    -v：verbose，詳細模式，顯示正在進行的操作，從哪裡複製到哪裡\ncomment\n",[250,964,965,970,974,979,990,994,999,1009,1014,1028,1032,1037,1051,1056,1068,1073,1078,1085,1091,1097,1103,1109,1115],{"__ignoreMap":265},[269,966,967],{"class":271,"line":272},[269,968,969],{"class":286},"#cp 來源(資料夾或檔案) 目的地(資料夾或檔案)\n",[269,971,972],{"class":271,"line":283},[269,973,313],{"emptyLinePlaceholder":312},[269,975,976],{"class":271,"line":316},[269,977,978],{"class":286},"#複製item1的內容到item2\n",[269,980,981,984,987],{"class":271,"line":327},[269,982,983],{"class":362},"cp",[269,985,986],{"class":330}," item1",[269,988,989],{"class":330}," item2\n",[269,991,992],{"class":271,"line":334},[269,993,313],{"emptyLinePlaceholder":312},[269,995,996],{"class":271,"line":410},[269,997,998],{"class":286},"#複製item到directory (directory必須存在)\n",[269,1000,1001,1003,1006],{"class":271,"line":416},[269,1002,983],{"class":362},[269,1004,1005],{"class":330}," item",[269,1007,1008],{"class":330}," directory\n",[269,1010,1011],{"class":271,"line":422},[269,1012,1013],{"class":286},"#複製多個item到directory\n",[269,1015,1016,1018,1020,1023,1026],{"class":271,"line":428},[269,1017,983],{"class":362},[269,1019,986],{"class":330},[269,1021,1022],{"class":330}," item2",[269,1024,1025],{"class":330}," item3",[269,1027,1008],{"class":330},[269,1029,1030],{"class":271,"line":434},[269,1031,313],{"emptyLinePlaceholder":312},[269,1033,1034],{"class":271,"line":440},[269,1035,1036],{"class":286},"#複製dir1的內容到dir2 (只複製一層，子目錄不會被複製，且dir2必須存在)\n",[269,1038,1039,1041,1044,1048],{"class":271,"line":765},[269,1040,983],{"class":362},[269,1042,1043],{"class":330}," dir1\u002F",[269,1045,1047],{"class":1046},"s_hVV","*",[269,1049,1050],{"class":330}," dir2\n",[269,1052,1053],{"class":271,"line":771},[269,1054,1055],{"class":286},"#複製dir1的內容(包含每一層子內容)到dir2 (若dir2不存在，自動建立dir2)\n",[269,1057,1058,1060,1063,1066],{"class":271,"line":788},[269,1059,983],{"class":362},[269,1061,1062],{"class":572}," -r",[269,1064,1065],{"class":330}," dir1",[269,1067,1050],{"class":330},[269,1069,1071],{"class":271,"line":1070},15,[269,1072,313],{"emptyLinePlaceholder":312},[269,1074,1076],{"class":271,"line":1075},16,[269,1077,854],{"class":286},[269,1079,1081,1083],{"class":271,"line":1080},17,[269,1082,320],{"class":319},[269,1084,324],{"class":323},[269,1086,1088],{"class":271,"line":1087},18,[269,1089,1090],{"class":330},"    -a ：archive，將屬性、owner關係、檔案權限等保留，並且將子內容一起複製，若沒有使用-a，則會使用目的的位置的預設值重新配置\n",[269,1092,1094],{"class":271,"line":1093},19,[269,1095,1096],{"class":330},"    -i：interactive，若覆蓋已存在的檔案前進行詢問\n",[269,1098,1100],{"class":271,"line":1099},20,[269,1101,1102],{"class":330},"    -r：recursive，將子內容全部複製目的地，若來源是資料夾，則-a或-r是必填參數\n",[269,1104,1106],{"class":271,"line":1105},21,[269,1107,1108],{"class":330},"    -u：update，將目的地不存在的檔案跟資料夾加入，以及存在同名稱但更改時間比我早的檔案進行複寫\n",[269,1110,1112],{"class":271,"line":1111},22,[269,1113,1114],{"class":330},"    -v：verbose，詳細模式，顯示正在進行的操作，從哪裡複製到哪裡\n",[269,1116,1118],{"class":271,"line":1117},23,[269,1119,337],{"class":323},[18,1121,1122,1123,1128],{},"mv (move)",[22,1124,1125],{},[25,1126,1127],{},"移動或重新命名檔案跟資料夾",[15,1129,1130],{},[18,1131,959,1132],{},[260,1133,1135],{"className":262,"code":1134,"language":264,"meta":265,"style":265},"#mv 來源(資料夾或檔案) 目的地(資料夾或檔案)\n\n#移動file1的內容到file2，若file2本來就存在會被覆蓋，否則相當於file1被重新命名成file2\nmv file1 file2\n\n#將file1、file2移到dir1(dir1必須要存在)\nmv file1 file2 dir1\n\n#將dir1移到dir2裡面\nmv dir1 dir2\n\n#以下指令進行操作\n\u003C\u003C comment\n    -i：interactive，移動檔案或資料夾會造成覆蓋前進行詢問\n    -u：update，將目的地不存在的檔案跟資料夾加入，以及存在同名稱但更改時間比我早的檔案進行複寫\n    -v：verbose，詳細模式，顯示正在進行的操作，從哪裡移動到哪裡\ncomment\n",[250,1136,1137,1142,1146,1151,1162,1166,1171,1183,1187,1192,1200,1204,1208,1214,1219,1223,1228],{"__ignoreMap":265},[269,1138,1139],{"class":271,"line":272},[269,1140,1141],{"class":286},"#mv 來源(資料夾或檔案) 目的地(資料夾或檔案)\n",[269,1143,1144],{"class":271,"line":283},[269,1145,313],{"emptyLinePlaceholder":312},[269,1147,1148],{"class":271,"line":316},[269,1149,1150],{"class":286},"#移動file1的內容到file2，若file2本來就存在會被覆蓋，否則相當於file1被重新命名成file2\n",[269,1152,1153,1156,1159],{"class":271,"line":327},[269,1154,1155],{"class":362},"mv",[269,1157,1158],{"class":330}," file1",[269,1160,1161],{"class":330}," file2\n",[269,1163,1164],{"class":271,"line":334},[269,1165,313],{"emptyLinePlaceholder":312},[269,1167,1168],{"class":271,"line":410},[269,1169,1170],{"class":286},"#將file1、file2移到dir1(dir1必須要存在)\n",[269,1172,1173,1175,1177,1180],{"class":271,"line":416},[269,1174,1155],{"class":362},[269,1176,1158],{"class":330},[269,1178,1179],{"class":330}," file2",[269,1181,1182],{"class":330}," dir1\n",[269,1184,1185],{"class":271,"line":422},[269,1186,313],{"emptyLinePlaceholder":312},[269,1188,1189],{"class":271,"line":428},[269,1190,1191],{"class":286},"#將dir1移到dir2裡面\n",[269,1193,1194,1196,1198],{"class":271,"line":434},[269,1195,1155],{"class":362},[269,1197,1065],{"class":330},[269,1199,1050],{"class":330},[269,1201,1202],{"class":271,"line":440},[269,1203,313],{"emptyLinePlaceholder":312},[269,1205,1206],{"class":271,"line":765},[269,1207,854],{"class":286},[269,1209,1210,1212],{"class":271,"line":771},[269,1211,320],{"class":319},[269,1213,324],{"class":323},[269,1215,1216],{"class":271,"line":788},[269,1217,1218],{"class":330},"    -i：interactive，移動檔案或資料夾會造成覆蓋前進行詢問\n",[269,1220,1221],{"class":271,"line":1070},[269,1222,1108],{"class":330},[269,1224,1225],{"class":271,"line":1075},[269,1226,1227],{"class":330},"    -v：verbose，詳細模式，顯示正在進行的操作，從哪裡移動到哪裡\n",[269,1229,1230],{"class":271,"line":1080},[269,1231,337],{"class":323},[18,1233,1234,1235,1240],{},"mkdir (make directory)",[22,1236,1237],{},[25,1238,1239],{},"新增資料夾",[260,1241,1243],{"className":262,"code":1242,"language":264,"meta":265,"style":265},"#建立一個指定名稱的資料夾\nmkdir \u003Cdir name>\n\n#建立多個指定名稱的資料夾\nmkdir \u003Cdir name> \u003Cdir name> \u003Cdir name>...\n",[250,1244,1245,1250,1267,1271,1276],{"__ignoreMap":265},[269,1246,1247],{"class":271,"line":272},[269,1248,1249],{"class":286},"#建立一個指定名稱的資料夾\n",[269,1251,1252,1255,1257,1260,1263,1265],{"class":271,"line":283},[269,1253,1254],{"class":362},"mkdir",[269,1256,720],{"class":319},[269,1258,1259],{"class":330},"dir",[269,1261,1262],{"class":330}," nam",[269,1264,727],{"class":726},[269,1266,730],{"class":319},[269,1268,1269],{"class":271,"line":316},[269,1270,313],{"emptyLinePlaceholder":312},[269,1272,1273],{"class":271,"line":327},[269,1274,1275],{"class":286},"#建立多個指定名稱的資料夾\n",[269,1277,1278,1280,1282,1284,1286,1288,1291,1293,1295,1297,1299,1301,1303,1305,1307,1309,1311],{"class":271,"line":334},[269,1279,1254],{"class":362},[269,1281,720],{"class":319},[269,1283,1259],{"class":330},[269,1285,1262],{"class":330},[269,1287,727],{"class":726},[269,1289,1290],{"class":319},">",[269,1292,720],{"class":319},[269,1294,1259],{"class":330},[269,1296,1262],{"class":330},[269,1298,727],{"class":726},[269,1300,1290],{"class":319},[269,1302,720],{"class":319},[269,1304,1259],{"class":330},[269,1306,1262],{"class":330},[269,1308,727],{"class":726},[269,1310,1290],{"class":319},[269,1312,1313],{"class":330},"...\n",[18,1315,1316,1317,1322,1327],{},"rm (remove)",[22,1318,1319],{},[25,1320,1321],{},"刪除檔案跟資料夾",[22,1323,1324],{},[25,1325,1326],{},"⚠️注意刪除不可逆，刪除資料前要再三注意\n如： rm _.txt 若打成 rm _ .txt 則相當於先執行 rm *",[15,1328,1329],{},[18,1330,959,1331],{},[260,1332,1334],{"className":262,"code":1333,"language":264,"meta":265,"style":265},"#刪除file1\nrm file1\n\n#刪除dir1\nrm -r dir1\n\n#刪除file1跟dir1及其底下內容\nrm -r file1 dir1\n\n#強制刪除file1跟dir1及其底下內容，即便有指定的item不存在產生錯誤訊息也直接忽略\nrm -rf file dir1\n\n#以下指令進行操作\n\u003C\u003C comment\n    -i：interactive，刪除檔案前進行詢問\n    -r：recursive，將資料夾與其子內容全部刪除，是刪除資料夾時必填參數\n    -f：force，強制移除，無視interactive\n    -v：verbose，詳細模式，顯示正在進行的操作，從哪裡複製到哪裡\ncomment\n",[250,1335,1336,1341,1349,1353,1358,1366,1370,1375,1385,1389,1394,1406,1410,1414,1420,1425,1430,1435,1439],{"__ignoreMap":265},[269,1337,1338],{"class":271,"line":272},[269,1339,1340],{"class":286},"#刪除file1\n",[269,1342,1343,1346],{"class":271,"line":283},[269,1344,1345],{"class":362},"rm",[269,1347,1348],{"class":330}," file1\n",[269,1350,1351],{"class":271,"line":316},[269,1352,313],{"emptyLinePlaceholder":312},[269,1354,1355],{"class":271,"line":327},[269,1356,1357],{"class":286},"#刪除dir1\n",[269,1359,1360,1362,1364],{"class":271,"line":334},[269,1361,1345],{"class":362},[269,1363,1062],{"class":572},[269,1365,1182],{"class":330},[269,1367,1368],{"class":271,"line":410},[269,1369,313],{"emptyLinePlaceholder":312},[269,1371,1372],{"class":271,"line":416},[269,1373,1374],{"class":286},"#刪除file1跟dir1及其底下內容\n",[269,1376,1377,1379,1381,1383],{"class":271,"line":422},[269,1378,1345],{"class":362},[269,1380,1062],{"class":572},[269,1382,1158],{"class":330},[269,1384,1182],{"class":330},[269,1386,1387],{"class":271,"line":428},[269,1388,313],{"emptyLinePlaceholder":312},[269,1390,1391],{"class":271,"line":434},[269,1392,1393],{"class":286},"#強制刪除file1跟dir1及其底下內容，即便有指定的item不存在產生錯誤訊息也直接忽略\n",[269,1395,1396,1398,1401,1404],{"class":271,"line":440},[269,1397,1345],{"class":362},[269,1399,1400],{"class":572}," -rf",[269,1402,1403],{"class":330}," file",[269,1405,1182],{"class":330},[269,1407,1408],{"class":271,"line":765},[269,1409,313],{"emptyLinePlaceholder":312},[269,1411,1412],{"class":271,"line":771},[269,1413,854],{"class":286},[269,1415,1416,1418],{"class":271,"line":788},[269,1417,320],{"class":319},[269,1419,324],{"class":323},[269,1421,1422],{"class":271,"line":1070},[269,1423,1424],{"class":330},"    -i：interactive，刪除檔案前進行詢問\n",[269,1426,1427],{"class":271,"line":1075},[269,1428,1429],{"class":330},"    -r：recursive，將資料夾與其子內容全部刪除，是刪除資料夾時必填參數\n",[269,1431,1432],{"class":271,"line":1080},[269,1433,1434],{"class":330},"    -f：force，強制移除，無視interactive\n",[269,1436,1437],{"class":271,"line":1087},[269,1438,1114],{"class":330},[269,1440,1441],{"class":271,"line":1093},[269,1442,337],{"class":323},[18,1444,1445,1446,1451,1456,1461],{},"ln (link files)",[22,1447,1448],{},[25,1449,1450],{},"建立 hard 跟 symbolic link (硬連結跟軟連結)",[22,1452,1453],{},[25,1454,1455],{},"hard link\n預設每個檔案只會有 1 個 hard link，當創建了新的 hard link 時，即 directory 開了新的入口指向 file\n只能針對同一個硬碟分割 (disk partition) 的檔案進行 hard link\n只能針對檔案 hard link，不能針對目錄\n不會有任何特徵顯示 hard link\n只要這個檔案還存在 hard link，內容就還存在\n間單來說，可以理解為建立捷徑或別名",[22,1457,1458],{},[25,1459,1460],{},"symbolic link\n可以針對檔案或資料夾\n可以跨不同檔案分割 (disk partition) 位置的檔案或資料夾\n當刪除 symbolic link 時，不會刪除原檔案\n當原檔案被刪除，symbolic link 會斷掉 (broken)",[260,1462,1464],{"className":262,"code":1463,"language":264,"meta":265,"style":265},"#建立hard link (only file)\nln file hard_link_name\n#在dir1建立file的名稱為file_hard的hard link\nln file dir1\u002Ffile_hard\n\n#建立symbolic link (file或dir)\n\n#建立file1的symbolic link(跟file1在同一層)\nln -s file1 file1-sym\n\n#在子資料夾dir1針對這層的file1建立symbolic link\n#針對被建立的symbolic link的角度去定義來源檔案file1的位置，因此使用\"..\u002Ffile1\"\nln -s ..\u002Ffile1 dir1\u002Ffile1-sym\n\n#使用絕對路徑建立symbolic link\nln -s \u002Fhome\u002Fcharles\u002Ffile1 dir1\u002Ffile1-sym\n\n#針對directory建立symbolic link\nln -s dir1 dir1-sym\n\n#若來源檔案\u002F資料夾被rm刪除，則symbolic link會broken(ls呈現紅色)\n",[250,1465,1466,1471,1481,1486,1495,1499,1504,1508,1513,1525,1529,1534,1539,1551,1555,1560,1571,1575,1580,1591,1595],{"__ignoreMap":265},[269,1467,1468],{"class":271,"line":272},[269,1469,1470],{"class":286},"#建立hard link (only file)\n",[269,1472,1473,1476,1478],{"class":271,"line":283},[269,1474,1475],{"class":362},"ln",[269,1477,1403],{"class":330},[269,1479,1480],{"class":330}," hard_link_name\n",[269,1482,1483],{"class":271,"line":316},[269,1484,1485],{"class":286},"#在dir1建立file的名稱為file_hard的hard link\n",[269,1487,1488,1490,1492],{"class":271,"line":327},[269,1489,1475],{"class":362},[269,1491,1403],{"class":330},[269,1493,1494],{"class":330}," dir1\u002Ffile_hard\n",[269,1496,1497],{"class":271,"line":334},[269,1498,313],{"emptyLinePlaceholder":312},[269,1500,1501],{"class":271,"line":410},[269,1502,1503],{"class":286},"#建立symbolic link (file或dir)\n",[269,1505,1506],{"class":271,"line":416},[269,1507,313],{"emptyLinePlaceholder":312},[269,1509,1510],{"class":271,"line":422},[269,1511,1512],{"class":286},"#建立file1的symbolic link(跟file1在同一層)\n",[269,1514,1515,1517,1520,1522],{"class":271,"line":428},[269,1516,1475],{"class":362},[269,1518,1519],{"class":572}," -s",[269,1521,1158],{"class":330},[269,1523,1524],{"class":330}," file1-sym\n",[269,1526,1527],{"class":271,"line":434},[269,1528,313],{"emptyLinePlaceholder":312},[269,1530,1531],{"class":271,"line":440},[269,1532,1533],{"class":286},"#在子資料夾dir1針對這層的file1建立symbolic link\n",[269,1535,1536],{"class":271,"line":765},[269,1537,1538],{"class":286},"#針對被建立的symbolic link的角度去定義來源檔案file1的位置，因此使用\"..\u002Ffile1\"\n",[269,1540,1541,1543,1545,1548],{"class":271,"line":771},[269,1542,1475],{"class":362},[269,1544,1519],{"class":572},[269,1546,1547],{"class":330}," ..\u002Ffile1",[269,1549,1550],{"class":330}," dir1\u002Ffile1-sym\n",[269,1552,1553],{"class":271,"line":788},[269,1554,313],{"emptyLinePlaceholder":312},[269,1556,1557],{"class":271,"line":1070},[269,1558,1559],{"class":286},"#使用絕對路徑建立symbolic link\n",[269,1561,1562,1564,1566,1569],{"class":271,"line":1075},[269,1563,1475],{"class":362},[269,1565,1519],{"class":572},[269,1567,1568],{"class":330}," \u002Fhome\u002Fcharles\u002Ffile1",[269,1570,1550],{"class":330},[269,1572,1573],{"class":271,"line":1080},[269,1574,313],{"emptyLinePlaceholder":312},[269,1576,1577],{"class":271,"line":1087},[269,1578,1579],{"class":286},"#針對directory建立symbolic link\n",[269,1581,1582,1584,1586,1588],{"class":271,"line":1093},[269,1583,1475],{"class":362},[269,1585,1519],{"class":572},[269,1587,1065],{"class":330},[269,1589,1590],{"class":330}," dir1-sym\n",[269,1592,1593],{"class":271,"line":1099},[269,1594,313],{"emptyLinePlaceholder":312},[269,1596,1597],{"class":271,"line":1105},[269,1598,1599],{"class":286},"#若來源檔案\u002F資料夾被rm刪除，則symbolic link會broken(ls呈現紅色)\n",[18,1601,1602,1603],{},"指令、檔案、程式資訊",[15,1604,1605,1638,1669,1724,1805,1831],{},[18,1606,1607,1608,1613,1633],{},"type\n",[22,1609,1610],{},[25,1611,1612],{},"查詢某個 command 的功能類型",[260,1614,1616],{"className":262,"code":1615,"language":264,"meta":265,"style":265},"type \u003Ccommand>\n",[250,1617,1618],{"__ignoreMap":265},[269,1619,1620,1623,1625,1628,1631],{"class":271,"line":272},[269,1621,1622],{"class":275},"type",[269,1624,720],{"class":319},[269,1626,1627],{"class":330},"comman",[269,1629,1630],{"class":726},"d",[269,1632,730],{"class":319},[22,1634,1635],{},[25,1636,1637],{},"可得到 4 種結果：\n An executable program (可執行程式)\n A command built into the shell itself (shell 內建的指令)\n A shell function (shell 的功能函數)\n An alias (別名)",[18,1639,1640,1641,1646,1664],{},"which\n",[22,1642,1643],{},[25,1644,1645],{},"輸出某個 command 存在的絕對路徑",[260,1647,1649],{"className":262,"code":1648,"language":264,"meta":265,"style":265},"which \u003Ccommand>\n",[250,1650,1651],{"__ignoreMap":265},[269,1652,1653,1656,1658,1660,1662],{"class":271,"line":272},[269,1654,1655],{"class":275},"which",[269,1657,720],{"class":319},[269,1659,1627],{"class":330},[269,1661,1630],{"class":726},[269,1663,730],{"class":319},[22,1665,1666],{},[25,1667,1668],{},"常用於某個程式裝了多個版本的情況進行確認\n只適用 executable programs，對 builtins, aliases 無效",[18,1670,1671,1672,1677,1711],{},"help\n",[22,1673,1674],{},[25,1675,1676],{},"查詢某個 command 的使用說明",[260,1678,1680],{"className":262,"code":1679,"language":264,"meta":265,"style":265},"help \u003Ccommand>\n #or\n\u003Ccommand> --help\n",[250,1681,1682,1695,1700],{"__ignoreMap":265},[269,1683,1684,1687,1689,1691,1693],{"class":271,"line":272},[269,1685,1686],{"class":362},"help",[269,1688,720],{"class":319},[269,1690,1627],{"class":330},[269,1692,1630],{"class":726},[269,1694,730],{"class":319},[269,1696,1697],{"class":271,"line":283},[269,1698,1699],{"class":286}," #or\n",[269,1701,1702,1704,1706,1708],{"class":271,"line":316},[269,1703,778],{"class":319},[269,1705,243],{"class":726},[269,1707,1290],{"class":319},[269,1709,1710],{"class":726}," --help\n",[22,1712,1713],{},[25,1714,1715,1716,1719,1720,1723],{},"square brackets ",[250,1717,1718],{},"[ ]"," 代表選填參數\nvertical bar ",[250,1721,1722],{},"|"," 即 or，只能擇一填參數",[18,1725,1726,1727,1732,1752,1757],{},"man (manual)\n",[22,1728,1729],{},[25,1730,1731],{},"取得操作手冊",[260,1733,1735],{"className":262,"code":1734,"language":264,"meta":265,"style":265},"man \u003Cprogram>\n",[250,1736,1737],{"__ignoreMap":265},[269,1738,1739,1742,1744,1747,1750],{"class":271,"line":272},[269,1740,1741],{"class":362},"man",[269,1743,720],{"class":319},[269,1745,1746],{"class":330},"progra",[269,1748,1749],{"class":726},"m",[269,1751,730],{"class":319},[22,1753,1754],{},[25,1755,1756],{},"通常是 program 功能說明，不包含教學步驟跟 example\nman 顯示的方式基於 less，因此適用 less 的相關 shortcut",[15,1758,1759],{},[18,1760,1761,1762,1767],{},"apropos\n",[22,1763,1764],{},[25,1765,1766],{},"搜尋 man pages 的內容",[260,1768,1770],{"className":262,"code":1769,"language":264,"meta":265,"style":265},"apropos \u003Ckeyword>\n #or\nman -k \u003Ckeyword>\n",[250,1771,1772,1786,1790],{"__ignoreMap":265},[269,1773,1774,1777,1779,1782,1784],{"class":271,"line":272},[269,1775,1776],{"class":362},"apropos",[269,1778,720],{"class":319},[269,1780,1781],{"class":330},"keywor",[269,1783,1630],{"class":726},[269,1785,730],{"class":319},[269,1787,1788],{"class":271,"line":283},[269,1789,1699],{"class":286},[269,1791,1792,1794,1797,1799,1801,1803],{"class":271,"line":316},[269,1793,1741],{"class":362},[269,1795,1796],{"class":572}," -k",[269,1798,720],{"class":319},[269,1800,1781],{"class":330},[269,1802,1630],{"class":726},[269,1804,730],{"class":319},[18,1806,1807,1808,1813],{},"whatis\n",[22,1809,1810],{},[25,1811,1812],{},"用一行文字簡介操作手冊內容",[260,1814,1816],{"className":262,"code":1815,"language":264,"meta":265,"style":265},"whatis \u003Cprogram>\n",[250,1817,1818],{"__ignoreMap":265},[269,1819,1820,1823,1825,1827,1829],{"class":271,"line":272},[269,1821,1822],{"class":362},"whatis",[269,1824,720],{"class":319},[269,1826,1746],{"class":330},[269,1828,1749],{"class":726},[269,1830,730],{"class":319},[18,1832,1833,1834,1839],{},"info\n",[22,1835,1836],{},[25,1837,1838],{},"以樹狀結構，帶有超連結的說明文件",[260,1840,1842],{"className":262,"code":1841,"language":264,"meta":265,"style":265},"info\n\u003C\u003C comment\n?：顯示help\nPgUp or Backspace：上一頁\nPgDn or Space：下一頁\nn：下一個節點\np：上一個節點\nu：移到parent node\nEnter：進入超連結\nq：離開\ncomment\n",[250,1843,1844,1848,1854,1859,1864,1869,1874,1879,1884,1889,1894],{"__ignoreMap":265},[269,1845,1846],{"class":271,"line":272},[269,1847,1833],{"class":362},[269,1849,1850,1852],{"class":271,"line":283},[269,1851,320],{"class":319},[269,1853,324],{"class":323},[269,1855,1856],{"class":271,"line":316},[269,1857,1858],{"class":330},"?：顯示help\n",[269,1860,1861],{"class":271,"line":327},[269,1862,1863],{"class":330},"PgUp or Backspace：上一頁\n",[269,1865,1866],{"class":271,"line":334},[269,1867,1868],{"class":330},"PgDn or Space：下一頁\n",[269,1870,1871],{"class":271,"line":410},[269,1872,1873],{"class":330},"n：下一個節點\n",[269,1875,1876],{"class":271,"line":416},[269,1877,1878],{"class":330},"p：上一個節點\n",[269,1880,1881],{"class":271,"line":422},[269,1882,1883],{"class":330},"u：移到parent node\n",[269,1885,1886],{"class":271,"line":428},[269,1887,1888],{"class":330},"Enter：進入超連結\n",[269,1890,1891],{"class":271,"line":434},[269,1892,1893],{"class":330},"q：離開\n",[269,1895,1896],{"class":271,"line":440},[269,1897,337],{"class":323},[18,1899,1900,1901,1911,2004],{},"快捷、別名",[15,1902,1903],{},[18,1904,1905,1906],{},"alias\n",[22,1907,1908],{},[25,1909,1910],{},"將一連串 command 建立別名",[260,1912,1914],{"className":262,"code":1913,"language":264,"meta":265,"style":265},"#所有alias清單\nalias\n\n#新增alias\nalias \u003Cname>='\u003Cstring>'\n#e.g.\nalias foo='cd \u002Fusr; ls; cd-'\n\n#移除alias\nunalias \u003Cname>\n",[250,1915,1916,1921,1925,1929,1934,1960,1965,1982,1986,1991],{"__ignoreMap":265},[269,1917,1918],{"class":271,"line":272},[269,1919,1920],{"class":286},"#所有alias清單\n",[269,1922,1923],{"class":271,"line":283},[269,1924,1905],{"class":275},[269,1926,1927],{"class":271,"line":316},[269,1928,313],{"emptyLinePlaceholder":312},[269,1930,1931],{"class":271,"line":327},[269,1932,1933],{"class":286},"#新增alias\n",[269,1935,1936,1939,1941,1944,1946,1948,1951,1954,1957],{"class":271,"line":334},[269,1937,1938],{"class":275},"alias",[269,1940,720],{"class":319},[269,1942,1943],{"class":330},"nam",[269,1945,727],{"class":726},[269,1947,1290],{"class":319},[269,1949,1950],{"class":330},"=",[269,1952,1953],{"class":323},"'",[269,1955,1956],{"class":330},"\u003Cstring>",[269,1958,1959],{"class":323},"'\n",[269,1961,1962],{"class":271,"line":410},[269,1963,1964],{"class":286},"#e.g.\n",[269,1966,1967,1970,1973,1975,1977,1980],{"class":271,"line":416},[269,1968,1938],{"class":1969},"sbsja",[269,1971,1972],{"class":726}," foo",[269,1974,1950],{"class":319},[269,1976,1953],{"class":323},[269,1978,1979],{"class":330},"cd \u002Fusr; ls; cd-",[269,1981,1959],{"class":323},[269,1983,1984],{"class":271,"line":422},[269,1985,313],{"emptyLinePlaceholder":312},[269,1987,1988],{"class":271,"line":428},[269,1989,1990],{"class":286},"#移除alias\n",[269,1992,1993,1996,1998,2000,2002],{"class":271,"line":434},[269,1994,1995],{"class":275},"unalias",[269,1997,720],{"class":319},[269,1999,1943],{"class":330},[269,2001,727],{"class":726},[269,2003,730],{"class":319},[22,2005,2006],{},[25,2007,2008],{},"此方法建立的 alias 會在 shell section 結束後消失\n若要永久建立 alias，需要寫入到~\u002F.bashrc，然後執行 source ~\u002F.bashrc 或重開 shell\n如果對現有 command 加上 alias，可以用來指定參數，之後就不用手動補參數",[2010,2011,2013],"h2",{"id":2012},"file-system-tree","File System Tree",[22,2015,2016],{},[25,2017,2018],{},"系統檔案樹",[15,2020,2021,2029,2037],{},[18,2022,2023,2024],{},"Linux 與 Windows 差別\n",[22,2025,2026],{},[25,2027,2028],{},"Linux：整個系統一棵樹，即只有一個 root，硬碟 mount (掛接) 位置由 administrator 決定\nWindows：每個硬碟一棵樹，每個磁碟機有各自的 root",[18,2030,2031,2032],{},"目前工作目錄 (current working directory)\n",[22,2033,2034],{},[25,2035,2036],{},"任何狀態下都會有當前處於的工作目錄\n使用 pwd 可以查看位置",[18,2038,2039,2040],{},"home directory\n",[22,2041,2042],{},[25,2043,2044],{},"打開 terminal 預設會在 home directory\n每個 user 都有專屬的 home directory，也只有權限管理自己 home 底下的檔案跟資料夾",[2010,2046,2048],{"id":2047},"filename-rule","Filename rule",[22,2050,2051],{},[25,2052,2053],{},"檔案名稱規則",[15,2055,2056,2064,2072],{},[18,2057,2058,2059],{},"hidden\n",[22,2060,2061],{},[25,2062,2063],{},"period (.) 開頭的檔案名稱會被隱藏",[18,2065,2066,2067],{},"case sensitive\n",[22,2068,2069],{},[25,2070,2071],{},"大小寫差異會視為不同檔案",[18,2073,2074,2075,2080],{},"filename characters\n",[22,2076,2077],{},[25,2078,2079],{},"可以使用的很多，但良好習慣應只使用包含：",[15,2081,2082,2085,2088],{},[18,2083,2084],{},"period (.)",[18,2086,2087],{},"dash (-)",[18,2089,2090],{},"underscore (_)",[2010,2092,2094],{"id":2093},"file-long-list-information","File long list information",[22,2096,2097],{},[25,2098,2099],{},"檔案資訊",[15,2101,2102,2134,2142,2150,2158,2166,2174],{},[18,2103,2104,2105],{},"屬性\n",[15,2106,2107,2126],{},[18,2108,2109,2110],{},"文件類型\n",[22,2111,2112],{},[25,2113,2114,2115,2118,2119,2121,2122,2125],{},"第 1 個字元 ",[250,2116,2117],{},"-"," 表示普通文件，",[250,2120,1630],{}," 表示目錄，",[250,2123,2124],{},"l"," 表示 Symbolic Links",[18,2127,2128,2129],{},"權限\n",[22,2130,2131],{},[25,2132,2133],{},"Owner (2 3 4)、Group (5 6 7)、User (8 9 10)\nr：讀取 (read)\nw：寫入 (write)\nx：執行 (execute)\n若對應的位置是 - 代表沒有該權限",[18,2135,2136,2137],{},"文件數\n",[22,2138,2139],{},[25,2140,2141],{},"若為資料夾，數量即子項目 (檔案 + 資料夾) 的數量，即 hardlinks\n若為文件，則為 1",[18,2143,2144,2145],{},"擁有者\n",[15,2146,2147],{},[18,2148,2149],{},"Owner 的 name",[18,2151,2152,2153],{},"所屬 Group\n",[15,2154,2155],{},[18,2156,2157],{},"Group 的 name",[18,2159,2160,2161],{},"文件大小\n",[15,2162,2163],{},[18,2164,2165],{},"預設用 byte，可配合 - h",[18,2167,2168,2169],{},"建檔日期\n",[15,2170,2171],{},[18,2172,2173],{},"month date HH:MM",[18,2175,2176],{},"文件名稱",[2010,2178,2180],{"id":2179},"system-directory","System Directory",[22,2182,2183],{},[25,2184,2185],{},"系統資料夾",[15,2187,2188,2196,2204,2212,2220,2228,2236,2244,2252,2260,2268,2276,2284,2292,2300,2308,2316,2324,2332,2340,2348,2356,2364,2372],{},[18,2189,2190,2191],{},"\u002F\n",[22,2192,2193],{},[25,2194,2195],{},"根目錄",[18,2197,2198,2199],{},"\u002Fbin\n",[22,2200,2201],{},[25,2202,2203],{},"binaries programs，系統開機時執行的檔案",[18,2205,2206,2207],{},"\u002Fboot\n",[22,2208,2209],{},[25,2210,2211],{},"Linux kernel (Linux 核心)、RAM disk image (for 驅動程式)",[18,2213,2214,2215],{},"\u002Fdev\n",[22,2216,2217],{},[25,2218,2219],{},"device，linux 將所有東西視為檔案，此處為與硬體裝置有關的資料",[18,2221,2222,2223],{},"\u002Fetc\n",[22,2224,2225],{},[25,2226,2227],{},"and so on (法文縮寫 et cetera)，包含系統組態檔 (config)，shell 的腳本 (script)\n\u002Fetc\u002Fcrontab：自動執行的程式\n\u002Fetc\u002Ffstab：儲存的裝置及其安裝位置\n\u002Fetc\u002Fpasswd：所有 user 的帳戶資訊",[18,2229,2230,2231],{},"\u002Fhome\n",[22,2232,2233],{},[25,2234,2235],{},"存放所有使用者的 home 目錄 (會在這層有自己 username 的資料夾)",[18,2237,2238,2239],{},"\u002Flib\n",[22,2240,2241],{},[25,2242,2243],{},"library，核心系統程式共用的檔案 (DLLs)",[18,2245,2246,2247],{},"\u002Flost+found\n",[22,2248,2249],{},[25,2250,2251],{},"損毀檔案的回復位置",[18,2253,2254,2255],{},"\u002Fmedia\n",[22,2256,2257],{},[25,2258,2259],{},"可攜式裝置 (如 USB Driver) 位置，通常是較新的 linux system 使用",[18,2261,2262,2263],{},"\u002Fmnt\n",[22,2264,2265],{},[25,2266,2267],{},"mount，可移除裝置掛載位置 (如虛擬磁碟機)，通常是較舊的 linux system 使用，或 WSL (Windows 的 Linux 子系統)",[18,2269,2270,2271],{},"\u002Fopt\n",[22,2272,2273],{},[25,2274,2275],{},"optional，主要用來安裝第三方應用程序的位置",[18,2277,2278,2279],{},"\u002Fproc\n",[22,2280,2281],{},[25,2282,2283],{},"process，一個虛擬的檔案系統，將系統的資訊以檔案的方式呈現",[18,2285,2286,2287],{},"\u002Froot\n",[22,2288,2289],{},[25,2290,2291],{},"root 帳號的 home directory",[18,2293,2294,2295],{},"\u002Fsbin\n",[22,2296,2297],{},[25,2298,2299],{},"system binaries，存放 root 跟 superuser 需要使用的系統管理工具，例如用於啟動、修復系統的可執行程式",[18,2301,2302,2303],{},"\u002Ftmp\n",[22,2304,2305],{},[25,2306,2307],{},"Temporary，存放暫存檔案",[18,2309,2310,2311],{},"\u002Fusr\n",[22,2312,2313],{},[25,2314,2315],{},"user，使用者會用到的內容",[18,2317,2318,2319],{},"\u002Fusr\u002Fbin\n",[22,2320,2321],{},[25,2322,2323],{},"存放所有 user 都可用的程式，通常包含 ls、cp、mv 等等",[18,2325,2326,2327],{},"\u002Fusr\u002Flib\n",[22,2328,2329],{},[25,2330,2331],{},"\u002Fusr\u002Fbin 的程式共用的 library 檔案位置",[18,2333,2334,2335],{},"\u002Fusr\u002Flocal\n",[22,2336,2337],{},[25,2338,2339],{},"user 手動安裝的軟體位置",[18,2341,2342,2343],{},"\u002Fusr\u002Fsbin\n",[22,2344,2345],{},[25,2346,2347],{},"superuser、root 才能用的系統程式位置",[18,2349,2350,2351],{},"\u002Fusr\u002Fshare\n",[22,2352,2353],{},[25,2354,2355],{},"保存 \u002Fusr\u002Fbin 的程式中共享的資料，例如文檔、圖片和程式語言文件等",[18,2357,2358,2359],{},"\u002Fusr\u002Fshare\u002Fdoc\n",[22,2360,2361],{},[25,2362,2363],{},"\u002Fusr\u002Fbin 中的程式或軟體說明文件 (即 README)",[18,2365,2366,2367],{},"\u002Fvar\n",[22,2368,2369],{},[25,2370,2371],{},"variable，系統會寫入的造成內容變動的資料位置",[18,2373,2374,2375],{},"\u002Fvar\u002Flog\n",[22,2376,2377],{},[25,2378,2379],{},"系統狀況記錄的文件",[2010,2381,2383],{"id":2382},"symbolic-link","Symbolic Link",[22,2385,2386],{},[25,2387,2388],{},"軟連結，使用絕對或相對路徑指向檔案或資料夾的參照，類似 windows 系統的捷徑功能，使常會變更檔名的檔案或文件 (如版本會更新) 更方便管理",[2010,2390,2392],{"id":2391},"wildcards","Wildcards",[22,2394,2395],{},[25,2396,2397],{},"萬用字元，如以下清單：*：所有長度的字串\n?：單個字元\n[characters]：符合 [] 中的字元，如 [abc]，即可以對應 a 或 b 或 c\n[!characters]：不符合 [] 中的字元，如 [abc]，即可以對應 a 或 b 或 c 以外的檔案",[25,2399,2400],{},"[[:class:]]：使用以下類別：",[22,2402,2403],{},[25,2404,2405],{},"[:alnum:]：任何文字跟數字\n[:alpha:]：任何文字\n[:digit:]：任何數字\n[:lower:]：任何小寫\n[:upper:]：任何大寫\n[:alnum:]：任何數字",[260,2407,2409],{"className":262,"code":2408,"language":264,"meta":265,"style":265},"# sample\n\n#BACKUP.(三個任意數字) 的檔案\nBACKUP.[0-9][0-9][0-9]\n\n#任何以大寫字元開始的檔案\n[[:upper:]]*\n\n#任何以數字開頭以外的檔案\n[![:digit]]*\n\n#最後一個字元必須是小寫字母或1或2或3\n*[[:lower:]123]\n",[250,2410,2411,2416,2420,2425,2430,2434,2439,2454,2458,2463,2480,2484,2489],{"__ignoreMap":265},[269,2412,2413],{"class":271,"line":272},[269,2414,2415],{"class":286},"# sample\n",[269,2417,2418],{"class":271,"line":283},[269,2419,313],{"emptyLinePlaceholder":312},[269,2421,2422],{"class":271,"line":316},[269,2423,2424],{"class":286},"#BACKUP.(三個任意數字) 的檔案\n",[269,2426,2427],{"class":271,"line":327},[269,2428,2429],{"class":362},"BACKUP.[0-9][0-9][0-9]\n",[269,2431,2432],{"class":271,"line":334},[269,2433,313],{"emptyLinePlaceholder":312},[269,2435,2436],{"class":271,"line":410},[269,2437,2438],{"class":286},"#任何以大寫字元開始的檔案\n",[269,2440,2441,2445,2448,2451],{"class":271,"line":416},[269,2442,2444],{"class":2443},"sP7_E","[[",[269,2446,2447],{"class":726},":upper:",[269,2449,2450],{"class":2443},"]]",[269,2452,2453],{"class":319},"*\n",[269,2455,2456],{"class":271,"line":422},[269,2457,313],{"emptyLinePlaceholder":312},[269,2459,2460],{"class":271,"line":428},[269,2461,2462],{"class":286},"#任何以數字開頭以外的檔案\n",[269,2464,2465,2468,2471,2473,2476,2478],{"class":271,"line":434},[269,2466,2467],{"class":2443},"[",[269,2469,2470],{"class":319},"!",[269,2472,2467],{"class":2443},[269,2474,2475],{"class":726},":digit",[269,2477,2450],{"class":2443},[269,2479,2453],{"class":319},[269,2481,2482],{"class":271,"line":440},[269,2483,313],{"emptyLinePlaceholder":312},[269,2485,2486],{"class":271,"line":765},[269,2487,2488],{"class":286},"#最後一個字元必須是小寫字母或1或2或3\n",[269,2490,2491,2493,2495],{"class":271,"line":771},[269,2492,1047],{"class":319},[269,2494,2444],{"class":2443},[269,2496,2497],{"class":726},":lower:]123]\n",[2010,2499,2501],{"id":2500},"using-history","Using History",[11,2503,2505],{"id":2504},"searching-history","Searching History",[15,2507,2508,2617],{},[18,2509,2510,2511,2596,2612],{},"history",[260,2512,2514],{"className":262,"code":2513,"language":264,"meta":265,"style":265},"history\n# 列出輸入紀錄\n\nhistory | grep (command || path)\n# 將輸入紀錄中包含指定內容的指令列出\n![編號]\n\n# example\nhistory | grep ls\n!173\n",[250,2515,2516,2521,2526,2530,2552,2557,2569,2573,2578,2589],{"__ignoreMap":265},[269,2517,2518],{"class":271,"line":272},[269,2519,2520],{"class":275},"history\n",[269,2522,2523],{"class":271,"line":283},[269,2524,2525],{"class":286},"# 列出輸入紀錄\n",[269,2527,2528],{"class":271,"line":316},[269,2529,313],{"emptyLinePlaceholder":312},[269,2531,2532,2534,2537,2540,2543,2546,2549],{"class":271,"line":327},[269,2533,2510],{"class":275},[269,2535,2536],{"class":319}," |",[269,2538,2539],{"class":362}," grep",[269,2541,2542],{"class":726}," (command ",[269,2544,2545],{"class":319},"||",[269,2547,2548],{"class":362}," path",[269,2550,2551],{"class":726},")\n",[269,2553,2554],{"class":271,"line":334},[269,2555,2556],{"class":286},"# 將輸入紀錄中包含指定內容的指令列出\n",[269,2558,2559,2561,2563,2566],{"class":271,"line":410},[269,2560,2470],{"class":319},[269,2562,2467],{"class":2443},[269,2564,2565],{"class":726},"編號",[269,2567,2568],{"class":2443},"]\n",[269,2570,2571],{"class":271,"line":416},[269,2572,313],{"emptyLinePlaceholder":312},[269,2574,2575],{"class":271,"line":422},[269,2576,2577],{"class":286},"# example\n",[269,2579,2580,2582,2584,2586],{"class":271,"line":428},[269,2581,2510],{"class":275},[269,2583,2536],{"class":319},[269,2585,2539],{"class":362},[269,2587,2588],{"class":330}," ls\n",[269,2590,2591,2593],{"class":271,"line":434},[269,2592,2470],{"class":319},[269,2594,2595],{"class":362},"173\n",[260,2597,2599],{"className":262,"code":2598,"language":264,"meta":265,"style":265},"Ctrl + r\n",[250,2600,2601],{"__ignoreMap":265},[269,2602,2603,2606,2609],{"class":271,"line":272},[269,2604,2605],{"class":362},"Ctrl",[269,2607,2608],{"class":330}," +",[269,2610,2611],{"class":330}," r\n",[22,2613,2614],{},[25,2615,2616],{},"由當前往過去搜尋歷史紀錄\n會出現 (reverse-i-search)`':\n開始輸入關鍵字，冒號後會出現配對的指令\n使用 Enter ： 直接執行\n使用 Ctrl + J ： 複製到 command line 以供編輯",[18,2618,2619,2620],{},"history shortcut",[15,2621,2622,2630,2638,2646,2654,2661,2669,2677,2685,2696,2707],{},[18,2623,2624,2625],{},"Ctrl + p\n",[22,2626,2627],{},[25,2628,2629],{},"移到前一筆歷史紀錄 (同方向鍵⬆️)",[18,2631,2632,2633],{},"Ctrl + n\n",[22,2634,2635],{},[25,2636,2637],{},"移到下一筆歷史紀錄 (同方向鍵⬇️)",[18,2639,2640,2641],{},"Alt + \u003C\n",[22,2642,2643],{},[25,2644,2645],{},"移到第一筆歷史紀錄",[18,2647,2648,2649],{},"Alt + >\n",[22,2650,2651],{},[25,2652,2653],{},"移到最後一筆歷史紀錄",[18,2655,2598,2656],{},[22,2657,2658],{},[25,2659,2660],{},"reverse-i-search",[18,2662,2663,2664],{},"Alt + p\n",[22,2665,2666],{},[25,2667,2668],{},"輸入搜尋內容後按 enter 才開始搜尋，從最新的開始往前搜尋",[18,2670,2671,2672],{},"Alt + n\n",[22,2673,2674],{},[25,2675,2676],{},"輸入搜尋內容後按 enter 才開始搜尋，從最舊的開始往前搜尋",[18,2678,2679,2680],{},"Ctrl + o\n",[22,2681,2682],{},[25,2683,2684],{},"執行目前的歷史紀錄，並顯示下一筆歷史紀錄 (用於要執行連續的歷史紀錄)",[18,2686,2687,2688],{},"!(number)\n",[22,2689,2690],{},[25,2691,2692,2693],{},"執行標號為 (number) 的歷史紀錄，e.g, ",[250,2694,2695],{},"!193",[18,2697,2698,2699],{},"!(string)\n",[22,2700,2701],{},[25,2702,2703,2704],{},"執行最近一筆開頭是 (string) 的歷史紀錄，e.g, ",[250,2705,2706],{},"!cd",[18,2708,2709,2710],{},"!?(string)\n",[22,2711,2712],{},[25,2713,2714,2715],{},"執行最近一筆指令包含 (string) 的歷史紀錄，e.g, ",[250,2716,2717],{},"!?\u002Fdata",[2719,2720,2721],"style",{},"html pre.shiki code .sptTA, html code.shiki .sptTA{--shiki-light:#6182B8;--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .s99_P, html code.shiki .s99_P{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#E36209;--shiki-default-font-style:inherit;--shiki-dark:#FFAB70;--shiki-dark-font-style:inherit}html pre.shiki code .sutJx, html code.shiki .sutJx{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#6A737D;--shiki-default-font-style:inherit;--shiki-dark:#6A737D;--shiki-dark-font-style:inherit}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .smGrS, html code.shiki .smGrS{--shiki-light:#39ADB5;--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sjJ54, html code.shiki .sjJ54{--shiki-light:#39ADB5;--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .s_sjI, html code.shiki .s_sjI{--shiki-light:#91B859;--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sbgvK, html code.shiki .sbgvK{--shiki-light:#E2931D;--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .stzsN, html code.shiki .stzsN{--shiki-light:#91B859;--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .su5hD, html code.shiki .su5hD{--shiki-light:#90A4AE;--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .s_hVV, html code.shiki .s_hVV{--shiki-light:#90A4AE;--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sbsja, html code.shiki .sbsja{--shiki-light:#9C3EDA;--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sP7_E, html code.shiki .sP7_E{--shiki-light:#39ADB5;--shiki-default:#24292E;--shiki-dark:#E1E4E8}",{"title":265,"searchDepth":316,"depth":316,"links":2723},[2724,2725,2731,2732,2733,2734,2735,2736,2737,2738],{"id":13,"depth":316,"text":13},{"id":58,"depth":316,"text":59,"children":2726},[2727,2728,2729,2730],{"id":63,"depth":327,"text":64},{"id":125,"depth":327,"text":126},{"id":171,"depth":327,"text":172},{"id":222,"depth":327,"text":222},{"id":243,"depth":316,"text":243},{"id":2012,"depth":283,"text":2013},{"id":2047,"depth":283,"text":2048},{"id":2093,"depth":283,"text":2094},{"id":2179,"depth":283,"text":2180},{"id":2382,"depth":283,"text":2383},{"id":2391,"depth":283,"text":2392},{"id":2500,"depth":283,"text":2501,"children":2739},[2740],{"id":2504,"depth":316,"text":2505},"Linux","2024-09-11","Ubuntu 操作入門筆記",false,"md",null,{},"\u002Fblog\u002Flinux\u002Fubuntu\u002Fnote",{"title":5,"description":2743},"blog\u002Flinux\u002Fubuntu\u002Fnote",[2741,2752],"Ubuntu","2024-09-21","SzPkIv0vA1wK0ORWRjrw3Y_B6UZA5KrrqEvbRbs_e28",1780512500971]