[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"content:legacy:page:\u002Fcheatsheets\u002Fbash":3,"content:legacy:navigation":2526,"content:legacy:surround:\u002Fcheatsheets\u002Fbash":2811},{"id":4,"title":5,"body":6,"description":2514,"extension":2515,"icon":2516,"meta":2517,"modifiedAt":2518,"navigation":1976,"path":2519,"publishedAt":2520,"seo":2521,"sitemap":2522,"stem":2523,"updatedAt":2524,"__hash__":2525},"cheatsheets\u002Fcheatsheets\u002Fbash.md","Bash",{"type":7,"value":8,"toc":2512},"minimark",[9,14,130,134,250,254,386,390,521,525,760,764,802,806,838,842,923,927,1018,1022,1044,1048,1102,1106,1195,1199,1267,1271,1340,1344,1410,1414,1494,1498,1518,1522,1602,1606,1694,1698,1767,1771,1847,1851,1944,1948,1983,1987,2077,2081,2148,2152,2205,2209,2288,2292,2336,2340,2391,2395,2441,2445,2508],[10,11,13],"h5",{"id":12},"️-variables","🖥️ Variables",[15,16,21],"pre",{"className":17,"code":18,"language":19,"meta":20,"style":20},"language-bash shiki shiki-themes github-light github-dark","name=\"John\"\necho $name      # Output: John\necho \"${name,,}\"    # Lowercase: john\necho \"${name^^}\"    # Uppercase: JOHN\ndeclare -i num=42   # Integer variable\nreadonly name   # Make variable read-only\nunset name      # Delete variable\n","bash","",[22,23,24,41,55,71,86,106,118],"code",{"__ignoreMap":20},[25,26,29,33,37],"span",{"class":27,"line":28},"line",1,[25,30,32],{"class":31},"sVt8B","name",[25,34,36],{"class":35},"szBVR","=",[25,38,40],{"class":39},"sZZnC","\"John\"\n",[25,42,44,48,51],{"class":27,"line":43},2,[25,45,47],{"class":46},"sj4cs","echo",[25,49,50],{"class":31}," $name      ",[25,52,54],{"class":53},"sJ8bj","# Output: John\n",[25,56,58,60,63,65,68],{"class":27,"line":57},3,[25,59,47],{"class":46},[25,61,62],{"class":39}," \"${",[25,64,32],{"class":31},[25,66,67],{"class":39},",,}\"",[25,69,70],{"class":53},"    # Lowercase: john\n",[25,72,74,76,78,80,83],{"class":27,"line":73},4,[25,75,47],{"class":46},[25,77,62],{"class":39},[25,79,32],{"class":31},[25,81,82],{"class":39},"^^}\"",[25,84,85],{"class":53},"    # Uppercase: JOHN\n",[25,87,89,92,95,98,100,103],{"class":27,"line":88},5,[25,90,91],{"class":35},"declare",[25,93,94],{"class":46}," -i",[25,96,97],{"class":31}," num",[25,99,36],{"class":35},[25,101,102],{"class":46},"42",[25,104,105],{"class":53},"   # Integer variable\n",[25,107,109,112,115],{"class":27,"line":108},6,[25,110,111],{"class":35},"readonly",[25,113,114],{"class":31}," name   ",[25,116,117],{"class":53},"# Make variable read-only\n",[25,119,121,124,127],{"class":27,"line":120},7,[25,122,123],{"class":46},"unset",[25,125,126],{"class":39}," name",[25,128,129],{"class":53},"      # Delete variable\n",[10,131,133],{"id":132},"strings","📝 Strings",[15,135,137],{"className":17,"code":136,"language":19,"meta":20,"style":20},"str=\"Hello World\"\necho ${#str}        # Length\necho ${str:0:5}     # Substring\necho ${str\u002FWorld\u002FBash} # Replace\necho \"${str\u002F\u002Fl\u002FL}\" # Replace all 'l' with 'L'\necho \"${str::-1}\" # Remove last char\n",[22,138,139,149,165,186,206,231],{"__ignoreMap":20},[25,140,141,144,146],{"class":27,"line":28},[25,142,143],{"class":31},"str",[25,145,36],{"class":35},[25,147,148],{"class":39},"\"Hello World\"\n",[25,150,151,153,156,159,162],{"class":27,"line":43},[25,152,47],{"class":46},[25,154,155],{"class":31}," ${",[25,157,158],{"class":35},"#",[25,160,161],{"class":31},"str}        ",[25,163,164],{"class":53},"# Length\n",[25,166,167,169,172,175,178,180,183],{"class":27,"line":57},[25,168,47],{"class":46},[25,170,171],{"class":31}," ${str",[25,173,174],{"class":35},":",[25,176,177],{"class":31},"0",[25,179,174],{"class":35},[25,181,182],{"class":31},"5}     ",[25,184,185],{"class":53},"# Substring\n",[25,187,188,190,192,195,198,200,203],{"class":27,"line":73},[25,189,47],{"class":46},[25,191,171],{"class":31},[25,193,194],{"class":35},"\u002F",[25,196,197],{"class":31},"World",[25,199,194],{"class":35},[25,201,202],{"class":31},"Bash} ",[25,204,205],{"class":53},"# Replace\n",[25,207,208,210,212,214,217,220,222,225,228],{"class":27,"line":88},[25,209,47],{"class":46},[25,211,62],{"class":39},[25,213,143],{"class":31},[25,215,216],{"class":35},"\u002F\u002F",[25,218,219],{"class":31},"l",[25,221,194],{"class":35},[25,223,224],{"class":31},"L",[25,226,227],{"class":39},"}\"",[25,229,230],{"class":53}," # Replace all 'l' with 'L'\n",[25,232,233,235,237,239,242,245,247],{"class":27,"line":108},[25,234,47],{"class":46},[25,236,62],{"class":39},[25,238,143],{"class":31},[25,240,241],{"class":35},"::-",[25,243,244],{"class":31},"1",[25,246,227],{"class":39},[25,248,249],{"class":53}," # Remove last char\n",[10,251,253],{"id":252},"arrays","🍏 Arrays",[15,255,257],{"className":17,"code":256,"language":19,"meta":20,"style":20},"arr=(apple banana cherry)\necho ${arr[1]}          # Access\narr[2]=\"grape\"          # Modify\necho ${arr[@]}          # All elements\necho ${#arr[@]}         # Length\narr+=(\"date\")                   # Add element\necho \"${arr[@]:1:2}\"            # Slice: banana cherry\n",[22,258,259,281,291,304,320,338,356],{"__ignoreMap":20},[25,260,261,264,266,269,272,275,278],{"class":27,"line":28},[25,262,263],{"class":31},"arr",[25,265,36],{"class":35},[25,267,268],{"class":31},"(",[25,270,271],{"class":39},"apple",[25,273,274],{"class":39}," banana",[25,276,277],{"class":39}," cherry",[25,279,280],{"class":31},")\n",[25,282,283,285,288],{"class":27,"line":43},[25,284,47],{"class":46},[25,286,287],{"class":31}," ${arr[1]}          ",[25,289,290],{"class":53},"# Access\n",[25,292,293,296,298,301],{"class":27,"line":57},[25,294,295],{"class":31},"arr[2]",[25,297,36],{"class":35},[25,299,300],{"class":39},"\"grape\"",[25,302,303],{"class":53},"          # Modify\n",[25,305,306,308,311,314,317],{"class":27,"line":73},[25,307,47],{"class":46},[25,309,310],{"class":31}," ${arr[",[25,312,313],{"class":35},"@",[25,315,316],{"class":31},"]}          ",[25,318,319],{"class":53},"# All elements\n",[25,321,322,324,326,328,331,333,336],{"class":27,"line":88},[25,323,47],{"class":46},[25,325,155],{"class":31},[25,327,158],{"class":35},[25,329,330],{"class":31},"arr[",[25,332,313],{"class":35},[25,334,335],{"class":31},"]}         ",[25,337,164],{"class":53},[25,339,340,342,345,347,350,353],{"class":27,"line":108},[25,341,263],{"class":31},[25,343,344],{"class":35},"+=",[25,346,268],{"class":31},[25,348,349],{"class":39},"\"date\"",[25,351,352],{"class":31},")                   ",[25,354,355],{"class":53},"# Add element\n",[25,357,358,360,362,364,367,369,372,374,376,378,381,383],{"class":27,"line":120},[25,359,47],{"class":46},[25,361,62],{"class":39},[25,363,263],{"class":31},[25,365,366],{"class":39},"[",[25,368,313],{"class":35},[25,370,371],{"class":39},"]",[25,373,174],{"class":35},[25,375,244],{"class":31},[25,377,174],{"class":35},[25,379,380],{"class":31},"2",[25,382,227],{"class":39},[25,384,385],{"class":53},"            # Slice: banana cherry\n",[10,387,389],{"id":388},"️-conditionals","⚖️ Conditionals",[15,391,393],{"className":17,"code":392,"language":19,"meta":20,"style":20},"if [ $a -gt $b ]; then\n  echo \"a > b\"\nelif [ $a -eq $b ]; then\n  echo \"a = b\"\nelse\n  echo \"a \u003C b\"\nfi\n# or\n[[ $a -gt $b ]] && echo \"a > b\"\n[[ -z $var ]] && echo \"Empty\"\n[[ $str == *World* ]] && echo \"Contains 'World'\"\n",[22,394,395,412,420,434,441,446,453,458,464,479,496],{"__ignoreMap":20},[25,396,397,400,403,406,409],{"class":27,"line":28},[25,398,399],{"class":35},"if",[25,401,402],{"class":31}," [ $a ",[25,404,405],{"class":35},"-gt",[25,407,408],{"class":31}," $b ]; ",[25,410,411],{"class":35},"then\n",[25,413,414,417],{"class":27,"line":43},[25,415,416],{"class":46},"  echo",[25,418,419],{"class":39}," \"a > b\"\n",[25,421,422,425,427,430,432],{"class":27,"line":57},[25,423,424],{"class":35},"elif",[25,426,402],{"class":31},[25,428,429],{"class":35},"-eq",[25,431,408],{"class":31},[25,433,411],{"class":35},[25,435,436,438],{"class":27,"line":73},[25,437,416],{"class":46},[25,439,440],{"class":39}," \"a = b\"\n",[25,442,443],{"class":27,"line":88},[25,444,445],{"class":35},"else\n",[25,447,448,450],{"class":27,"line":108},[25,449,416],{"class":46},[25,451,452],{"class":39}," \"a \u003C b\"\n",[25,454,455],{"class":27,"line":120},[25,456,457],{"class":35},"fi\n",[25,459,461],{"class":27,"line":460},8,[25,462,463],{"class":53},"# or\n",[25,465,467,470,472,475,477],{"class":27,"line":466},9,[25,468,469],{"class":31},"[[ $a ",[25,471,405],{"class":35},[25,473,474],{"class":31}," $b ]] && ",[25,476,47],{"class":46},[25,478,419],{"class":39},[25,480,482,485,488,491,493],{"class":27,"line":481},10,[25,483,484],{"class":31},"[[ ",[25,486,487],{"class":35},"-z",[25,489,490],{"class":31}," $var ]] && ",[25,492,47],{"class":46},[25,494,495],{"class":39}," \"Empty\"\n",[25,497,499,502,505,508,510,513,516,518],{"class":27,"line":498},11,[25,500,501],{"class":31},"[[ $str ",[25,503,504],{"class":35},"==",[25,506,507],{"class":35}," *",[25,509,197],{"class":31},[25,511,512],{"class":35},"*",[25,514,515],{"class":31}," ]] && ",[25,517,47],{"class":46},[25,519,520],{"class":39}," \"Contains 'World'\"\n",[10,522,524],{"id":523},"loops","🔁 Loops",[526,527,528,663],"code-group",{},[15,529,534],{"className":530,"code":531,"filename":532,"language":533,"meta":20,"style":20},"language-shell shiki shiki-themes github-light github-dark","  for i in 1 2 3; do\n    echo $i\n  done\n  # or\n  for i in {1..5}; do echo \"$i\"; done\n  # or\n  for ((i=0; i\u003C5; i++)); do echo \"$i\"; done\n","For Loop","shell",[22,535,536,562,570,575,580,617,621],{"__ignoreMap":20},[25,537,538,541,544,547,550,553,556,559],{"class":27,"line":28},[25,539,540],{"class":35},"  for",[25,542,543],{"class":31}," i ",[25,545,546],{"class":35},"in",[25,548,549],{"class":39}," 1",[25,551,552],{"class":39}," 2",[25,554,555],{"class":39}," 3",[25,557,558],{"class":31},"; ",[25,560,561],{"class":35},"do\n",[25,563,564,567],{"class":27,"line":43},[25,565,566],{"class":46},"    echo",[25,568,569],{"class":31}," $i\n",[25,571,572],{"class":27,"line":57},[25,573,574],{"class":35},"  done\n",[25,576,577],{"class":27,"line":73},[25,578,579],{"class":53},"  # or\n",[25,581,582,584,586,588,591,595,597,600,603,606,609,612,614],{"class":27,"line":88},[25,583,540],{"class":35},[25,585,543],{"class":31},[25,587,546],{"class":35},[25,589,590],{"class":31}," {",[25,592,594],{"class":593},"sScJk","1..5}",[25,596,558],{"class":31},[25,598,599],{"class":35},"do",[25,601,602],{"class":46}," echo",[25,604,605],{"class":39}," \"",[25,607,608],{"class":31},"$i",[25,610,611],{"class":39},"\"",[25,613,558],{"class":31},[25,615,616],{"class":35},"done\n",[25,618,619],{"class":27,"line":108},[25,620,579],{"class":53},[25,622,623,625,628,630,632,635,638,641,643,646,649,651,653,655,657,659,661],{"class":27,"line":120},[25,624,540],{"class":35},[25,626,627],{"class":31}," ((i",[25,629,36],{"class":35},[25,631,177],{"class":46},[25,633,634],{"class":31},"; i",[25,636,637],{"class":35},"\u003C",[25,639,640],{"class":46},"5",[25,642,634],{"class":31},[25,644,645],{"class":35},"++",[25,647,648],{"class":31},")); ",[25,650,599],{"class":35},[25,652,602],{"class":46},[25,654,605],{"class":39},[25,656,608],{"class":31},[25,658,611],{"class":39},[25,660,558],{"class":31},[25,662,616],{"class":35},[15,664,667],{"className":530,"code":665,"filename":666,"language":533,"meta":20,"style":20},"  count=1\n  while [ $count -le 5 ]; do\n    echo $count\n    ((count++))\n  done\n  # or\n  while read -r line; do echo \"$line\"; done \u003C file.txt\n","While Loop",[22,668,669,679,698,705,715,719,723],{"__ignoreMap":20},[25,670,671,674,676],{"class":27,"line":28},[25,672,673],{"class":31},"  count",[25,675,36],{"class":35},[25,677,678],{"class":39},"1\n",[25,680,681,684,687,690,693,696],{"class":27,"line":43},[25,682,683],{"class":35},"  while",[25,685,686],{"class":31}," [ $count ",[25,688,689],{"class":35},"-le",[25,691,692],{"class":46}," 5",[25,694,695],{"class":31}," ]; ",[25,697,561],{"class":35},[25,699,700,702],{"class":27,"line":57},[25,701,566],{"class":46},[25,703,704],{"class":31}," $count\n",[25,706,707,710,712],{"class":27,"line":73},[25,708,709],{"class":31},"    ((count",[25,711,645],{"class":35},[25,713,714],{"class":31},"))\n",[25,716,717],{"class":27,"line":88},[25,718,574],{"class":35},[25,720,721],{"class":27,"line":108},[25,722,579],{"class":53},[25,724,725,727,730,733,736,738,740,742,744,747,749,751,754,757],{"class":27,"line":120},[25,726,683],{"class":35},[25,728,729],{"class":46}," read",[25,731,732],{"class":46}," -r",[25,734,735],{"class":39}," line",[25,737,558],{"class":31},[25,739,599],{"class":35},[25,741,602],{"class":46},[25,743,605],{"class":39},[25,745,746],{"class":31},"$line",[25,748,611],{"class":39},[25,750,558],{"class":31},[25,752,753],{"class":35},"done",[25,755,756],{"class":35}," \u003C",[25,758,759],{"class":31}," file.txt\n",[10,761,763],{"id":762},"️-functions","🏷️ Functions",[15,765,767],{"className":17,"code":766,"language":19,"meta":20,"style":20},"greet() {\n  echo \"Hello, $1\"\n}\ngreet \"Alice\"\n",[22,768,769,777,790,795],{"__ignoreMap":20},[25,770,771,774],{"class":27,"line":28},[25,772,773],{"class":593},"greet",[25,775,776],{"class":31},"() {\n",[25,778,779,781,784,787],{"class":27,"line":43},[25,780,416],{"class":46},[25,782,783],{"class":39}," \"Hello, ",[25,785,786],{"class":46},"$1",[25,788,789],{"class":39},"\"\n",[25,791,792],{"class":27,"line":57},[25,793,794],{"class":31},"}\n",[25,796,797,799],{"class":27,"line":73},[25,798,773],{"class":593},[25,800,801],{"class":39}," \"Alice\"\n",[10,803,805],{"id":804},"command-substitution","🔄 Command Substitution",[15,807,809],{"className":17,"code":808,"language":19,"meta":20,"style":20},"now=$(date)\necho \"Current time: $now\"\n",[22,810,811,826],{"__ignoreMap":20},[25,812,813,816,818,821,824],{"class":27,"line":28},[25,814,815],{"class":31},"now",[25,817,36],{"class":35},[25,819,820],{"class":31},"$(",[25,822,823],{"class":593},"date",[25,825,280],{"class":31},[25,827,828,830,833,836],{"class":27,"line":43},[25,829,47],{"class":46},[25,831,832],{"class":39}," \"Current time: ",[25,834,835],{"class":31},"$now",[25,837,789],{"class":39},[10,839,841],{"id":840},"file-test-operators","📁 File Test Operators",[15,843,845],{"className":17,"code":844,"language":19,"meta":20,"style":20},"[ -f file.txt ]   # True if file exists and is regular file\n[ -d \u002Fdir ]       # True if directory exists\n[ -x script.sh ]  # True if file is executable\n[ -r file.txt ]   # True if file is readable\n[ -w file.txt ]   # True if file is writable\n[ -s file.txt ]   # True if file is not empty\n",[22,846,847,861,874,887,899,911],{"__ignoreMap":20},[25,848,849,852,855,858],{"class":27,"line":28},[25,850,851],{"class":31},"[ ",[25,853,854],{"class":35},"-f",[25,856,857],{"class":31}," file.txt ]   ",[25,859,860],{"class":53},"# True if file exists and is regular file\n",[25,862,863,865,868,871],{"class":27,"line":43},[25,864,851],{"class":31},[25,866,867],{"class":35},"-d",[25,869,870],{"class":31}," \u002Fdir ]       ",[25,872,873],{"class":53},"# True if directory exists\n",[25,875,876,878,881,884],{"class":27,"line":57},[25,877,851],{"class":31},[25,879,880],{"class":35},"-x",[25,882,883],{"class":31}," script.sh ]  ",[25,885,886],{"class":53},"# True if file is executable\n",[25,888,889,891,894,896],{"class":27,"line":73},[25,890,851],{"class":31},[25,892,893],{"class":35},"-r",[25,895,857],{"class":31},[25,897,898],{"class":53},"# True if file is readable\n",[25,900,901,903,906,908],{"class":27,"line":88},[25,902,851],{"class":31},[25,904,905],{"class":35},"-w",[25,907,857],{"class":31},[25,909,910],{"class":53},"# True if file is writable\n",[25,912,913,915,918,920],{"class":27,"line":108},[25,914,851],{"class":31},[25,916,917],{"class":35},"-s",[25,919,857],{"class":31},[25,921,922],{"class":53},"# True if file is not empty\n",[10,924,926],{"id":925},"arithmetic","➕ Arithmetic",[15,928,930],{"className":17,"code":929,"language":19,"meta":20,"style":20},"a=5\nb=3\nlet sum=a+b\necho $sum\n# or\n((sum=a+b))\necho \"$sum\"\n((a++))\n((b*=2))\n",[22,931,932,942,952,960,967,971,986,997,1006],{"__ignoreMap":20},[25,933,934,937,939],{"class":27,"line":28},[25,935,936],{"class":31},"a",[25,938,36],{"class":35},[25,940,941],{"class":39},"5\n",[25,943,944,947,949],{"class":27,"line":43},[25,945,946],{"class":31},"b",[25,948,36],{"class":35},[25,950,951],{"class":39},"3\n",[25,953,954,957],{"class":27,"line":57},[25,955,956],{"class":46},"let",[25,958,959],{"class":39}," sum=a+b\n",[25,961,962,964],{"class":27,"line":73},[25,963,47],{"class":46},[25,965,966],{"class":31}," $sum\n",[25,968,969],{"class":27,"line":88},[25,970,463],{"class":53},[25,972,973,976,978,980,983],{"class":27,"line":108},[25,974,975],{"class":31},"((sum",[25,977,36],{"class":35},[25,979,936],{"class":31},[25,981,982],{"class":35},"+",[25,984,985],{"class":31},"b))\n",[25,987,988,990,992,995],{"class":27,"line":120},[25,989,47],{"class":46},[25,991,605],{"class":39},[25,993,994],{"class":31},"$sum",[25,996,789],{"class":39},[25,998,999,1002,1004],{"class":27,"line":460},[25,1000,1001],{"class":31},"((a",[25,1003,645],{"class":35},[25,1005,714],{"class":31},[25,1007,1008,1011,1014,1016],{"class":27,"line":466},[25,1009,1010],{"class":31},"((b",[25,1012,1013],{"class":35},"*=",[25,1015,380],{"class":46},[25,1017,714],{"class":31},[10,1019,1021],{"id":1020},"or","➗ Or",[15,1023,1025],{"className":17,"code":1024,"language":19,"meta":20,"style":20},"echo $((a + b))\n",[22,1026,1027],{"__ignoreMap":20},[25,1028,1029,1031,1034,1036,1039,1042],{"class":27,"line":28},[25,1030,47],{"class":46},[25,1032,1033],{"class":31}," $((",[25,1035,936],{"class":593},[25,1037,1038],{"class":39}," +",[25,1040,1041],{"class":39}," b",[25,1043,714],{"class":31},[10,1045,1047],{"id":1046},"️-input-output","🗣️ Input \u002F Output",[15,1049,1051],{"className":17,"code":1050,"language":19,"meta":20,"style":20},"read name\necho \"Hello, $name\"\n# or\nread -p \"Enter name: \" name\necho -e \"Hello\\t$name\"\n",[22,1052,1053,1061,1072,1076,1088],{"__ignoreMap":20},[25,1054,1055,1058],{"class":27,"line":28},[25,1056,1057],{"class":46},"read",[25,1059,1060],{"class":39}," name\n",[25,1062,1063,1065,1067,1070],{"class":27,"line":43},[25,1064,47],{"class":46},[25,1066,783],{"class":39},[25,1068,1069],{"class":31},"$name",[25,1071,789],{"class":39},[25,1073,1074],{"class":27,"line":57},[25,1075,463],{"class":53},[25,1077,1078,1080,1083,1086],{"class":27,"line":73},[25,1079,1057],{"class":46},[25,1081,1082],{"class":46}," -p",[25,1084,1085],{"class":39}," \"Enter name: \"",[25,1087,1060],{"class":39},[25,1089,1090,1092,1095,1098,1100],{"class":27,"line":88},[25,1091,47],{"class":46},[25,1093,1094],{"class":46}," -e",[25,1096,1097],{"class":39}," \"Hello\\t",[25,1099,1069],{"class":31},[25,1101,789],{"class":39},[10,1103,1105],{"id":1104},"redirection","📤 Redirection",[15,1107,1109],{"className":17,"code":1108,"language":19,"meta":20,"style":20},"command > file.txt     # Stdout to file\ncommand >> file.txt    # Append stdout\ncommand 2> error.txt   # Stderr to file\ncommand &> all.txt     # Stdout + Stderr to file\n# or\ncommand > file.txt 2>&1      # Stdout & stderr to file\ntee output.txt               # View and save output\n",[22,1110,1111,1125,1137,1150,1166,1170,1184],{"__ignoreMap":20},[25,1112,1113,1116,1119,1122],{"class":27,"line":28},[25,1114,1115],{"class":46},"command",[25,1117,1118],{"class":35}," >",[25,1120,1121],{"class":39}," file.txt",[25,1123,1124],{"class":53},"     # Stdout to file\n",[25,1126,1127,1129,1132,1134],{"class":27,"line":43},[25,1128,1115],{"class":46},[25,1130,1131],{"class":35}," >>",[25,1133,1121],{"class":39},[25,1135,1136],{"class":53},"    # Append stdout\n",[25,1138,1139,1141,1144,1147],{"class":27,"line":57},[25,1140,1115],{"class":46},[25,1142,1143],{"class":35}," 2>",[25,1145,1146],{"class":39}," error.txt",[25,1148,1149],{"class":53},"   # Stderr to file\n",[25,1151,1152,1154,1157,1160,1163],{"class":27,"line":73},[25,1153,1115],{"class":46},[25,1155,1156],{"class":31}," &",[25,1158,1159],{"class":35},">",[25,1161,1162],{"class":31}," all.txt     ",[25,1164,1165],{"class":53},"# Stdout + Stderr to file\n",[25,1167,1168],{"class":27,"line":88},[25,1169,463],{"class":53},[25,1171,1172,1174,1176,1178,1181],{"class":27,"line":108},[25,1173,1115],{"class":46},[25,1175,1118],{"class":35},[25,1177,1121],{"class":39},[25,1179,1180],{"class":35}," 2>&1",[25,1182,1183],{"class":53},"      # Stdout & stderr to file\n",[25,1185,1186,1189,1192],{"class":27,"line":120},[25,1187,1188],{"class":593},"tee",[25,1190,1191],{"class":39}," output.txt",[25,1193,1194],{"class":53},"               # View and save output\n",[10,1196,1198],{"id":1197},"pipes","🔗 Pipes",[15,1200,1202],{"className":17,"code":1201,"language":19,"meta":20,"style":20},"ls -l | grep \".txt\"\nps aux | grep \"bash\" | awk '{print $2}'\nsort file.txt | uniq -c | sort -nr\n",[22,1203,1204,1221,1244],{"__ignoreMap":20},[25,1205,1206,1209,1212,1215,1218],{"class":27,"line":28},[25,1207,1208],{"class":593},"ls",[25,1210,1211],{"class":46}," -l",[25,1213,1214],{"class":35}," |",[25,1216,1217],{"class":593}," grep",[25,1219,1220],{"class":39}," \".txt\"\n",[25,1222,1223,1226,1229,1231,1233,1236,1238,1241],{"class":27,"line":43},[25,1224,1225],{"class":593},"ps",[25,1227,1228],{"class":39}," aux",[25,1230,1214],{"class":35},[25,1232,1217],{"class":593},[25,1234,1235],{"class":39}," \"bash\"",[25,1237,1214],{"class":35},[25,1239,1240],{"class":593}," awk",[25,1242,1243],{"class":39}," '{print $2}'\n",[25,1245,1246,1249,1251,1253,1256,1259,1261,1264],{"class":27,"line":57},[25,1247,1248],{"class":593},"sort",[25,1250,1121],{"class":39},[25,1252,1214],{"class":35},[25,1254,1255],{"class":593}," uniq",[25,1257,1258],{"class":46}," -c",[25,1260,1214],{"class":35},[25,1262,1263],{"class":593}," sort",[25,1265,1266],{"class":46}," -nr\n",[10,1268,1270],{"id":1269},"process-management","🧑‍💻 Process Management",[15,1272,1274],{"className":17,"code":1273,"language":19,"meta":20,"style":20},"ps aux          # List processes\nkill -9 PID     # Kill process\ntop             # Real-time process monitor\npgrep bash                   # Find bash PIDs\npkill -f script.sh           # Kill by name\npstree                       # Show process tree\n",[22,1275,1276,1285,1299,1307,1318,1332],{"__ignoreMap":20},[25,1277,1278,1280,1282],{"class":27,"line":28},[25,1279,1225],{"class":593},[25,1281,1228],{"class":39},[25,1283,1284],{"class":53},"          # List processes\n",[25,1286,1287,1290,1293,1296],{"class":27,"line":43},[25,1288,1289],{"class":46},"kill",[25,1291,1292],{"class":46}," -9",[25,1294,1295],{"class":39}," PID",[25,1297,1298],{"class":53},"     # Kill process\n",[25,1300,1301,1304],{"class":27,"line":57},[25,1302,1303],{"class":593},"top",[25,1305,1306],{"class":53},"             # Real-time process monitor\n",[25,1308,1309,1312,1315],{"class":27,"line":73},[25,1310,1311],{"class":593},"pgrep",[25,1313,1314],{"class":39}," bash",[25,1316,1317],{"class":53},"                   # Find bash PIDs\n",[25,1319,1320,1323,1326,1329],{"class":27,"line":88},[25,1321,1322],{"class":593},"pkill",[25,1324,1325],{"class":46}," -f",[25,1327,1328],{"class":39}," script.sh",[25,1330,1331],{"class":53},"           # Kill by name\n",[25,1333,1334,1337],{"class":27,"line":108},[25,1335,1336],{"class":593},"pstree",[25,1338,1339],{"class":53},"                       # Show process tree\n",[10,1341,1343],{"id":1342},"job-control","🏃 Job Control",[15,1345,1347],{"className":17,"code":1346,"language":19,"meta":20,"style":20},"command &       # Run in background\ndisown -h %1                 # Remove job from shell job table\njobs -l                      # List jobs with PID\njobs            # List jobs\nfg %1           # Bring job to foreground\nbg %1           # Continue job in background\n",[22,1348,1349,1359,1373,1383,1390,1400],{"__ignoreMap":20},[25,1350,1351,1353,1356],{"class":27,"line":28},[25,1352,1115],{"class":46},[25,1354,1355],{"class":31}," &       ",[25,1357,1358],{"class":53},"# Run in background\n",[25,1360,1361,1364,1367,1370],{"class":27,"line":43},[25,1362,1363],{"class":46},"disown",[25,1365,1366],{"class":46}," -h",[25,1368,1369],{"class":39}," %1",[25,1371,1372],{"class":53},"                 # Remove job from shell job table\n",[25,1374,1375,1378,1380],{"class":27,"line":57},[25,1376,1377],{"class":46},"jobs",[25,1379,1211],{"class":46},[25,1381,1382],{"class":53},"                      # List jobs with PID\n",[25,1384,1385,1387],{"class":27,"line":73},[25,1386,1377],{"class":46},[25,1388,1389],{"class":53},"            # List jobs\n",[25,1391,1392,1395,1397],{"class":27,"line":88},[25,1393,1394],{"class":46},"fg",[25,1396,1369],{"class":39},[25,1398,1399],{"class":53},"           # Bring job to foreground\n",[25,1401,1402,1405,1407],{"class":27,"line":108},[25,1403,1404],{"class":46},"bg",[25,1406,1369],{"class":39},[25,1408,1409],{"class":53},"           # Continue job in background\n",[10,1411,1413],{"id":1412},"file-permissions","🔒 File Permissions",[15,1415,1417],{"className":17,"code":1416,"language":19,"meta":20,"style":20},"chmod +x script.sh      # Make executable\nchmod 755 script.sh     # rwxr-xr-x\nchown user:group file   # Change owner\nchmod u+x script.sh          # User execute\nchmod g+w file.txt           # Group write\nchmod o-r file.txt           # Others no read\n",[22,1418,1419,1432,1444,1458,1470,1482],{"__ignoreMap":20},[25,1420,1421,1424,1427,1429],{"class":27,"line":28},[25,1422,1423],{"class":593},"chmod",[25,1425,1426],{"class":39}," +x",[25,1428,1328],{"class":39},[25,1430,1431],{"class":53},"      # Make executable\n",[25,1433,1434,1436,1439,1441],{"class":27,"line":43},[25,1435,1423],{"class":593},[25,1437,1438],{"class":46}," 755",[25,1440,1328],{"class":39},[25,1442,1443],{"class":53},"     # rwxr-xr-x\n",[25,1445,1446,1449,1452,1455],{"class":27,"line":57},[25,1447,1448],{"class":593},"chown",[25,1450,1451],{"class":39}," user:group",[25,1453,1454],{"class":39}," file",[25,1456,1457],{"class":53},"   # Change owner\n",[25,1459,1460,1462,1465,1467],{"class":27,"line":73},[25,1461,1423],{"class":593},[25,1463,1464],{"class":39}," u+x",[25,1466,1328],{"class":39},[25,1468,1469],{"class":53},"          # User execute\n",[25,1471,1472,1474,1477,1479],{"class":27,"line":88},[25,1473,1423],{"class":593},[25,1475,1476],{"class":39}," g+w",[25,1478,1121],{"class":39},[25,1480,1481],{"class":53},"           # Group write\n",[25,1483,1484,1486,1489,1491],{"class":27,"line":108},[25,1485,1423],{"class":593},[25,1487,1488],{"class":39}," o-r",[25,1490,1121],{"class":39},[25,1492,1493],{"class":53},"           # Others no read\n",[10,1495,1497],{"id":1496},"curl-wget","🌐 Curl & Wget",[15,1499,1501],{"className":17,"code":1500,"language":19,"meta":20,"style":20},"curl https:\u002F\u002Fexample.com\nwget https:\u002F\u002Fexample.com\n",[22,1502,1503,1511],{"__ignoreMap":20},[25,1504,1505,1508],{"class":27,"line":28},[25,1506,1507],{"class":593},"curl",[25,1509,1510],{"class":39}," https:\u002F\u002Fexample.com\n",[25,1512,1513,1516],{"class":27,"line":43},[25,1514,1515],{"class":593},"wget",[25,1517,1510],{"class":39},[10,1519,1521],{"id":1520},"networking","🌍 Networking",[15,1523,1525],{"className":17,"code":1524,"language":19,"meta":20,"style":20},"ifconfig         # Show network interfaces (deprecated)\nip addr          # Recommended replacement\nip -br addr                  # Brief interface info\nping google.com\nping -c 5 google.com         # Ping 5 times\nnetstat -tuln    # List open ports\nss -tulnp                    # Show listening ports\n",[22,1526,1527,1535,1546,1558,1566,1580,1591],{"__ignoreMap":20},[25,1528,1529,1532],{"class":27,"line":28},[25,1530,1531],{"class":593},"ifconfig",[25,1533,1534],{"class":53},"         # Show network interfaces (deprecated)\n",[25,1536,1537,1540,1543],{"class":27,"line":43},[25,1538,1539],{"class":593},"ip",[25,1541,1542],{"class":39}," addr",[25,1544,1545],{"class":53},"          # Recommended replacement\n",[25,1547,1548,1550,1553,1555],{"class":27,"line":57},[25,1549,1539],{"class":593},[25,1551,1552],{"class":46}," -br",[25,1554,1542],{"class":39},[25,1556,1557],{"class":53},"                  # Brief interface info\n",[25,1559,1560,1563],{"class":27,"line":73},[25,1561,1562],{"class":593},"ping",[25,1564,1565],{"class":39}," google.com\n",[25,1567,1568,1570,1572,1574,1577],{"class":27,"line":88},[25,1569,1562],{"class":593},[25,1571,1258],{"class":46},[25,1573,692],{"class":46},[25,1575,1576],{"class":39}," google.com",[25,1578,1579],{"class":53},"         # Ping 5 times\n",[25,1581,1582,1585,1588],{"class":27,"line":108},[25,1583,1584],{"class":593},"netstat",[25,1586,1587],{"class":46}," -tuln",[25,1589,1590],{"class":53},"    # List open ports\n",[25,1592,1593,1596,1599],{"class":27,"line":120},[25,1594,1595],{"class":593},"ss",[25,1597,1598],{"class":46}," -tulnp",[25,1600,1601],{"class":53},"                    # Show listening ports\n",[10,1603,1605],{"id":1604},"archives","📦 Archives",[15,1607,1609],{"className":17,"code":1608,"language":19,"meta":20,"style":20},"tar -czvf file.tar.gz folder\u002F   # Compress\ntar -xzvf file.tar.gz           # Extract\ntar --exclude='*.log' -czvf backup.tar.gz folder\u002F\nzip -r file.zip folder\u002F         # Zip folder\nunzip file.zip                  # Unzip\nunzip -l file.zip            # List contents\n",[22,1610,1611,1628,1640,1658,1673,1683],{"__ignoreMap":20},[25,1612,1613,1616,1619,1622,1625],{"class":27,"line":28},[25,1614,1615],{"class":593},"tar",[25,1617,1618],{"class":46}," -czvf",[25,1620,1621],{"class":39}," file.tar.gz",[25,1623,1624],{"class":39}," folder\u002F",[25,1626,1627],{"class":53},"   # Compress\n",[25,1629,1630,1632,1635,1637],{"class":27,"line":43},[25,1631,1615],{"class":593},[25,1633,1634],{"class":46}," -xzvf",[25,1636,1621],{"class":39},[25,1638,1639],{"class":53},"           # Extract\n",[25,1641,1642,1644,1647,1650,1652,1655],{"class":27,"line":57},[25,1643,1615],{"class":593},[25,1645,1646],{"class":46}," --exclude=",[25,1648,1649],{"class":39},"'*.log'",[25,1651,1618],{"class":46},[25,1653,1654],{"class":39}," backup.tar.gz",[25,1656,1657],{"class":39}," folder\u002F\n",[25,1659,1660,1663,1665,1668,1670],{"class":27,"line":73},[25,1661,1662],{"class":593},"zip",[25,1664,732],{"class":46},[25,1666,1667],{"class":39}," file.zip",[25,1669,1624],{"class":39},[25,1671,1672],{"class":53},"         # Zip folder\n",[25,1674,1675,1678,1680],{"class":27,"line":88},[25,1676,1677],{"class":593},"unzip",[25,1679,1667],{"class":39},[25,1681,1682],{"class":53},"                  # Unzip\n",[25,1684,1685,1687,1689,1691],{"class":27,"line":108},[25,1686,1677],{"class":593},[25,1688,1211],{"class":46},[25,1690,1667],{"class":39},[25,1692,1693],{"class":53},"            # List contents\n",[10,1695,1697],{"id":1696},"️-package-managers-debianubuntu","🛠️ Package Managers (Debian\u002FUbuntu)",[15,1699,1701],{"className":17,"code":1700,"language":19,"meta":20,"style":20},"sudo apt update\nsudo apt install package\nsudo apt remove package\napt search nginx\napt show nginx\napt list --upgradable\n",[22,1702,1703,1714,1726,1737,1748,1757],{"__ignoreMap":20},[25,1704,1705,1708,1711],{"class":27,"line":28},[25,1706,1707],{"class":593},"sudo",[25,1709,1710],{"class":39}," apt",[25,1712,1713],{"class":39}," update\n",[25,1715,1716,1718,1720,1723],{"class":27,"line":43},[25,1717,1707],{"class":593},[25,1719,1710],{"class":39},[25,1721,1722],{"class":39}," install",[25,1724,1725],{"class":39}," package\n",[25,1727,1728,1730,1732,1735],{"class":27,"line":57},[25,1729,1707],{"class":593},[25,1731,1710],{"class":39},[25,1733,1734],{"class":39}," remove",[25,1736,1725],{"class":39},[25,1738,1739,1742,1745],{"class":27,"line":73},[25,1740,1741],{"class":593},"apt",[25,1743,1744],{"class":39}," search",[25,1746,1747],{"class":39}," nginx\n",[25,1749,1750,1752,1755],{"class":27,"line":88},[25,1751,1741],{"class":593},[25,1753,1754],{"class":39}," show",[25,1756,1747],{"class":39},[25,1758,1759,1761,1764],{"class":27,"line":108},[25,1760,1741],{"class":593},[25,1762,1763],{"class":39}," list",[25,1765,1766],{"class":46}," --upgradable\n",[10,1768,1770],{"id":1769},"searching","🔍 Searching",[15,1772,1774],{"className":17,"code":1773,"language":19,"meta":20,"style":20},"grep \"text\" file.txt\ngrep -rnw . -e \"pattern\"     # Recursive, show line numbers\nfind . -name \"*.sh\"\nfind \u002Fvar -type f -size +10M # Files >10MB\nlocate filename\n",[22,1775,1776,1786,1804,1817,1839],{"__ignoreMap":20},[25,1777,1778,1781,1784],{"class":27,"line":28},[25,1779,1780],{"class":593},"grep",[25,1782,1783],{"class":39}," \"text\"",[25,1785,759],{"class":39},[25,1787,1788,1790,1793,1796,1798,1801],{"class":27,"line":43},[25,1789,1780],{"class":593},[25,1791,1792],{"class":46}," -rnw",[25,1794,1795],{"class":39}," .",[25,1797,1094],{"class":46},[25,1799,1800],{"class":39}," \"pattern\"",[25,1802,1803],{"class":53},"     # Recursive, show line numbers\n",[25,1805,1806,1809,1811,1814],{"class":27,"line":57},[25,1807,1808],{"class":593},"find",[25,1810,1795],{"class":39},[25,1812,1813],{"class":46}," -name",[25,1815,1816],{"class":39}," \"*.sh\"\n",[25,1818,1819,1821,1824,1827,1830,1833,1836],{"class":27,"line":73},[25,1820,1808],{"class":593},[25,1822,1823],{"class":39}," \u002Fvar",[25,1825,1826],{"class":46}," -type",[25,1828,1829],{"class":39}," f",[25,1831,1832],{"class":46}," -size",[25,1834,1835],{"class":39}," +10M",[25,1837,1838],{"class":53}," # Files >10MB\n",[25,1840,1841,1844],{"class":27,"line":88},[25,1842,1843],{"class":593},"locate",[25,1845,1846],{"class":39}," filename\n",[10,1848,1850],{"id":1849},"️-history-shortcuts","🕰️ History & Shortcuts",[15,1852,1854],{"className":17,"code":1853,"language":19,"meta":20,"style":20},"history             # Show command history\nhistory | tail -20           # Last 20 commands\n!grep                        # Run last grep command\n!!                  # Repeat last command\n!n                  # Repeat nth command\nCtrl + R            # Reverse search\nCtrl + C            # Cancel\nCtrl + D            # Exit\n",[22,1855,1856,1864,1879,1889,1897,1907,1920,1932],{"__ignoreMap":20},[25,1857,1858,1861],{"class":27,"line":28},[25,1859,1860],{"class":46},"history",[25,1862,1863],{"class":53},"             # Show command history\n",[25,1865,1866,1868,1870,1873,1876],{"class":27,"line":43},[25,1867,1860],{"class":46},[25,1869,1214],{"class":35},[25,1871,1872],{"class":593}," tail",[25,1874,1875],{"class":46}," -20",[25,1877,1878],{"class":53},"           # Last 20 commands\n",[25,1880,1881,1884,1886],{"class":27,"line":57},[25,1882,1883],{"class":35},"!",[25,1885,1780],{"class":593},[25,1887,1888],{"class":53},"                        # Run last grep command\n",[25,1890,1891,1894],{"class":27,"line":73},[25,1892,1893],{"class":35},"!!",[25,1895,1896],{"class":53},"                  # Repeat last command\n",[25,1898,1899,1901,1904],{"class":27,"line":88},[25,1900,1883],{"class":35},[25,1902,1903],{"class":593},"n",[25,1905,1906],{"class":53},"                  # Repeat nth command\n",[25,1908,1909,1912,1914,1917],{"class":27,"line":108},[25,1910,1911],{"class":593},"Ctrl",[25,1913,1038],{"class":39},[25,1915,1916],{"class":39}," R",[25,1918,1919],{"class":53},"            # Reverse search\n",[25,1921,1922,1924,1926,1929],{"class":27,"line":120},[25,1923,1911],{"class":593},[25,1925,1038],{"class":39},[25,1927,1928],{"class":39}," C",[25,1930,1931],{"class":53},"            # Cancel\n",[25,1933,1934,1936,1938,1941],{"class":27,"line":460},[25,1935,1911],{"class":593},[25,1937,1038],{"class":39},[25,1939,1940],{"class":39}," D",[25,1942,1943],{"class":53},"            # Exit\n",[10,1945,1947],{"id":1946},"script-header","📝 Script Header",[15,1949,1951],{"className":17,"code":1950,"language":19,"meta":20,"style":20},"#!\u002Fusr\u002Fbin\u002Fenv bash\nset -euo pipefail            # Safer scripts\n\n#!\u002Fbin\u002Fbash # above should be first line of script\n",[22,1952,1953,1958,1972,1978],{"__ignoreMap":20},[25,1954,1955],{"class":27,"line":28},[25,1956,1957],{"class":53},"#!\u002Fusr\u002Fbin\u002Fenv bash\n",[25,1959,1960,1963,1966,1969],{"class":27,"line":43},[25,1961,1962],{"class":46},"set",[25,1964,1965],{"class":46}," -euo",[25,1967,1968],{"class":39}," pipefail",[25,1970,1971],{"class":53},"            # Safer scripts\n",[25,1973,1974],{"class":27,"line":57},[25,1975,1977],{"emptyLinePlaceholder":1976},true,"\n",[25,1979,1980],{"class":27,"line":73},[25,1981,1982],{"class":53},"#!\u002Fbin\u002Fbash # above should be first line of script\n",[10,1984,1986],{"id":1985},"file-compression","📦 File Compression",[15,1988,1990],{"className":17,"code":1989,"language":19,"meta":20,"style":20},"gzip file.txt            # Compress file.txt to file.txt.gz\ngunzip file.txt.gz       # Decompress .gz file\nbzip2 file.txt           # Compress to .bz2\nbunzip2 file.txt.bz2     # Decompress .bz2 file\nxz file.txt              # Compress to .xz\nunxz file.txt.xz         # Decompress .xz file\ntar -caf archive.tar.xz folder\u002F\nxz -d archive.tar.xz\n",[22,1991,1992,2002,2013,2023,2034,2044,2055,2067],{"__ignoreMap":20},[25,1993,1994,1997,1999],{"class":27,"line":28},[25,1995,1996],{"class":593},"gzip",[25,1998,1121],{"class":39},[25,2000,2001],{"class":53},"            # Compress file.txt to file.txt.gz\n",[25,2003,2004,2007,2010],{"class":27,"line":43},[25,2005,2006],{"class":593},"gunzip",[25,2008,2009],{"class":39}," file.txt.gz",[25,2011,2012],{"class":53},"       # Decompress .gz file\n",[25,2014,2015,2018,2020],{"class":27,"line":57},[25,2016,2017],{"class":593},"bzip2",[25,2019,1121],{"class":39},[25,2021,2022],{"class":53},"           # Compress to .bz2\n",[25,2024,2025,2028,2031],{"class":27,"line":73},[25,2026,2027],{"class":593},"bunzip2",[25,2029,2030],{"class":39}," file.txt.bz2",[25,2032,2033],{"class":53},"     # Decompress .bz2 file\n",[25,2035,2036,2039,2041],{"class":27,"line":88},[25,2037,2038],{"class":593},"xz",[25,2040,1121],{"class":39},[25,2042,2043],{"class":53},"              # Compress to .xz\n",[25,2045,2046,2049,2052],{"class":27,"line":108},[25,2047,2048],{"class":593},"unxz",[25,2050,2051],{"class":39}," file.txt.xz",[25,2053,2054],{"class":53},"         # Decompress .xz file\n",[25,2056,2057,2059,2062,2065],{"class":27,"line":120},[25,2058,1615],{"class":593},[25,2060,2061],{"class":46}," -caf",[25,2063,2064],{"class":39}," archive.tar.xz",[25,2066,1657],{"class":39},[25,2068,2069,2071,2074],{"class":27,"line":460},[25,2070,2038],{"class":593},[25,2072,2073],{"class":46}," -d",[25,2075,2076],{"class":39}," archive.tar.xz\n",[10,2078,2080],{"id":2079},"disk-usage","💾 Disk Usage",[15,2082,2084],{"className":17,"code":2083,"language":19,"meta":20,"style":20},"df -h                   # Show disk usage in human-readable form\ndf -Th                       # Filesystem type & usage\ndu -h --max-depth=1          # Folder sizes, one level\ndu -sh *                # Show sizes of all files\u002Ffolders in current dir\ndu -ah | sort -rh       # Sort files by size\n",[22,2085,2086,2096,2106,2119,2131],{"__ignoreMap":20},[25,2087,2088,2091,2093],{"class":27,"line":28},[25,2089,2090],{"class":593},"df",[25,2092,1366],{"class":46},[25,2094,2095],{"class":53},"                   # Show disk usage in human-readable form\n",[25,2097,2098,2100,2103],{"class":27,"line":43},[25,2099,2090],{"class":593},[25,2101,2102],{"class":46}," -Th",[25,2104,2105],{"class":53},"                       # Filesystem type & usage\n",[25,2107,2108,2111,2113,2116],{"class":27,"line":57},[25,2109,2110],{"class":593},"du",[25,2112,1366],{"class":46},[25,2114,2115],{"class":46}," --max-depth=1",[25,2117,2118],{"class":53},"          # Folder sizes, one level\n",[25,2120,2121,2123,2126,2128],{"class":27,"line":73},[25,2122,2110],{"class":593},[25,2124,2125],{"class":46}," -sh",[25,2127,507],{"class":46},[25,2129,2130],{"class":53},"                # Show sizes of all files\u002Ffolders in current dir\n",[25,2132,2133,2135,2138,2140,2142,2145],{"class":27,"line":88},[25,2134,2110],{"class":593},[25,2136,2137],{"class":46}," -ah",[25,2139,1214],{"class":35},[25,2141,1263],{"class":593},[25,2143,2144],{"class":46}," -rh",[25,2146,2147],{"class":53},"       # Sort files by size\n",[10,2149,2151],{"id":2150},"date-time","📅 Date & Time",[15,2153,2155],{"className":17,"code":2154,"language":19,"meta":20,"style":20},"date                    # Current date and time\ndate -u                      # UTC time\ndate \"+%Y-%m-%d\"        # Format date output\ndate -d \"2 days ago\"\ndate -d \"next monday\"   # Get date of next Monday\n",[22,2156,2157,2164,2174,2184,2193],{"__ignoreMap":20},[25,2158,2159,2161],{"class":27,"line":28},[25,2160,823],{"class":593},[25,2162,2163],{"class":53},"                    # Current date and time\n",[25,2165,2166,2168,2171],{"class":27,"line":43},[25,2167,823],{"class":593},[25,2169,2170],{"class":46}," -u",[25,2172,2173],{"class":53},"                      # UTC time\n",[25,2175,2176,2178,2181],{"class":27,"line":57},[25,2177,823],{"class":593},[25,2179,2180],{"class":39}," \"+%Y-%m-%d\"",[25,2182,2183],{"class":53},"        # Format date output\n",[25,2185,2186,2188,2190],{"class":27,"line":73},[25,2187,823],{"class":593},[25,2189,2073],{"class":46},[25,2191,2192],{"class":39}," \"2 days ago\"\n",[25,2194,2195,2197,2199,2202],{"class":27,"line":88},[25,2196,823],{"class":593},[25,2198,2073],{"class":46},[25,2200,2201],{"class":39}," \"next monday\"",[25,2203,2204],{"class":53},"   # Get date of next Monday\n",[10,2206,2208],{"id":2207},"environment-variables","🌱 Environment Variables",[15,2210,2212],{"className":17,"code":2211,"language":19,"meta":20,"style":20},"echo $HOME              # Show home directory\nexport VAR=value        # Set env variable\nenv                     # List environment variables\nunset VAR               # Unset variable\n\nexport PATH=\"$PATH:\u002Fopt\u002Fbin\"\nprintenv | sort\n",[22,2213,2214,2224,2240,2248,2257,2261,2278],{"__ignoreMap":20},[25,2215,2216,2218,2221],{"class":27,"line":28},[25,2217,47],{"class":46},[25,2219,2220],{"class":31}," $HOME              ",[25,2222,2223],{"class":53},"# Show home directory\n",[25,2225,2226,2229,2232,2234,2237],{"class":27,"line":43},[25,2227,2228],{"class":35},"export",[25,2230,2231],{"class":31}," VAR",[25,2233,36],{"class":35},[25,2235,2236],{"class":31},"value        ",[25,2238,2239],{"class":53},"# Set env variable\n",[25,2241,2242,2245],{"class":27,"line":57},[25,2243,2244],{"class":593},"env",[25,2246,2247],{"class":53},"                     # List environment variables\n",[25,2249,2250,2252,2254],{"class":27,"line":73},[25,2251,123],{"class":46},[25,2253,2231],{"class":39},[25,2255,2256],{"class":53},"               # Unset variable\n",[25,2258,2259],{"class":27,"line":88},[25,2260,1977],{"emptyLinePlaceholder":1976},[25,2262,2263,2265,2268,2270,2272,2275],{"class":27,"line":108},[25,2264,2228],{"class":35},[25,2266,2267],{"class":31}," PATH",[25,2269,36],{"class":35},[25,2271,611],{"class":39},[25,2273,2274],{"class":31},"$PATH",[25,2276,2277],{"class":39},":\u002Fopt\u002Fbin\"\n",[25,2279,2280,2283,2285],{"class":27,"line":120},[25,2281,2282],{"class":593},"printenv",[25,2284,1214],{"class":35},[25,2286,2287],{"class":593}," sort\n",[10,2289,2291],{"id":2290},"shell-expansion","✨ Shell Expansion",[15,2293,2295],{"className":17,"code":2294,"language":19,"meta":20,"style":20},"echo *                  # All files in current dir\necho {1..5}             # 1 2 3 4 5\necho {a,b,c}.txt        # a.txt b.txt c.txt\necho {A..Z}{0..9}            # A0 A1 ... Z9\n",[22,2296,2297,2306,2316,2326],{"__ignoreMap":20},[25,2298,2299,2301,2303],{"class":27,"line":28},[25,2300,47],{"class":46},[25,2302,507],{"class":46},[25,2304,2305],{"class":53},"                  # All files in current dir\n",[25,2307,2308,2310,2313],{"class":27,"line":43},[25,2309,47],{"class":46},[25,2311,2312],{"class":39}," {1..5}",[25,2314,2315],{"class":53},"             # 1 2 3 4 5\n",[25,2317,2318,2320,2323],{"class":27,"line":57},[25,2319,47],{"class":46},[25,2321,2322],{"class":39}," {a,b,c}.txt",[25,2324,2325],{"class":53},"        # a.txt b.txt c.txt\n",[25,2327,2328,2330,2333],{"class":27,"line":73},[25,2329,47],{"class":46},[25,2331,2332],{"class":39}," {A..Z}{0..9}",[25,2334,2335],{"class":53},"            # A0 A1 ... Z9\n",[10,2337,2339],{"id":2338},"️-backups","🗄️ Backups",[15,2341,2343],{"className":17,"code":2342,"language":19,"meta":20,"style":20},"cp file{,.bak}          # Quick copy to file.bak\nrsync -av folder\u002F backup\u002F   # Sync folders with backup\nrsync -a --delete src\u002F dest\u002F # Mirror backup\n",[22,2344,2345,2356,2372],{"__ignoreMap":20},[25,2346,2347,2350,2353],{"class":27,"line":28},[25,2348,2349],{"class":593},"cp",[25,2351,2352],{"class":39}," file{,.bak}",[25,2354,2355],{"class":53},"          # Quick copy to file.bak\n",[25,2357,2358,2361,2364,2366,2369],{"class":27,"line":43},[25,2359,2360],{"class":593},"rsync",[25,2362,2363],{"class":46}," -av",[25,2365,1624],{"class":39},[25,2367,2368],{"class":39}," backup\u002F",[25,2370,2371],{"class":53},"   # Sync folders with backup\n",[25,2373,2374,2376,2379,2382,2385,2388],{"class":27,"line":57},[25,2375,2360],{"class":593},[25,2377,2378],{"class":46}," -a",[25,2380,2381],{"class":46}," --delete",[25,2383,2384],{"class":39}," src\u002F",[25,2386,2387],{"class":39}," dest\u002F",[25,2389,2390],{"class":53}," # Mirror backup\n",[10,2392,2394],{"id":2393},"crontab-scheduled-tasks","⏰ Crontab (Scheduled Tasks)",[15,2396,2398],{"className":17,"code":2397,"language":19,"meta":20,"style":20},"crontab -e              # Edit user crontab\ncrontab -l              # List scheduled jobs\ncrontab -l | grep backup\ncrontab -r              # Remove crontab\n",[22,2399,2400,2410,2419,2432],{"__ignoreMap":20},[25,2401,2402,2405,2407],{"class":27,"line":28},[25,2403,2404],{"class":593},"crontab",[25,2406,1094],{"class":46},[25,2408,2409],{"class":53},"              # Edit user crontab\n",[25,2411,2412,2414,2416],{"class":27,"line":43},[25,2413,2404],{"class":593},[25,2415,1211],{"class":46},[25,2417,2418],{"class":53},"              # List scheduled jobs\n",[25,2420,2421,2423,2425,2427,2429],{"class":27,"line":57},[25,2422,2404],{"class":593},[25,2424,1211],{"class":46},[25,2426,1214],{"class":35},[25,2428,1217],{"class":593},[25,2430,2431],{"class":39}," backup\n",[25,2433,2434,2436,2438],{"class":27,"line":73},[25,2435,2404],{"class":593},[25,2437,732],{"class":46},[25,2439,2440],{"class":53},"              # Remove crontab\n",[10,2442,2444],{"id":2443},"crontab-syntax","📝 Crontab Syntax",[15,2446,2448],{"className":17,"code":2447,"language":19,"meta":20,"style":20},"# ┌───────────── minute (0 - 59)\n# │ ┌───────────── hour (0 - 23)\n# │ │ ┌───────────── day of month (1 - 31)\n# │ │ │ ┌───────────── month (1 - 12)\n# │ │ │ │ ┌───────────── day of week (0 - 6) (Sunday=0)\n# │ │ │ │ │\n# * * * * * \u003Ccommand to execute>\n\n0 9 * * * \u002Fpath\u002Fto\u002Fscript.sh     # Run at 9 AM daily\n",[22,2449,2450,2455,2460,2465,2470,2475,2480,2485,2489],{"__ignoreMap":20},[25,2451,2452],{"class":27,"line":28},[25,2453,2454],{"class":53},"# ┌───────────── minute (0 - 59)\n",[25,2456,2457],{"class":27,"line":43},[25,2458,2459],{"class":53},"# │ ┌───────────── hour (0 - 23)\n",[25,2461,2462],{"class":27,"line":57},[25,2463,2464],{"class":53},"# │ │ ┌───────────── day of month (1 - 31)\n",[25,2466,2467],{"class":27,"line":73},[25,2468,2469],{"class":53},"# │ │ │ ┌───────────── month (1 - 12)\n",[25,2471,2472],{"class":27,"line":88},[25,2473,2474],{"class":53},"# │ │ │ │ ┌───────────── day of week (0 - 6) (Sunday=0)\n",[25,2476,2477],{"class":27,"line":108},[25,2478,2479],{"class":53},"# │ │ │ │ │\n",[25,2481,2482],{"class":27,"line":120},[25,2483,2484],{"class":53},"# * * * * * \u003Ccommand to execute>\n",[25,2486,2487],{"class":27,"line":460},[25,2488,1977],{"emptyLinePlaceholder":1976},[25,2490,2491,2493,2496,2498,2500,2502,2505],{"class":27,"line":466},[25,2492,177],{"class":593},[25,2494,2495],{"class":46}," 9",[25,2497,507],{"class":46},[25,2499,507],{"class":46},[25,2501,507],{"class":46},[25,2503,2504],{"class":39}," \u002Fpath\u002Fto\u002Fscript.sh",[25,2506,2507],{"class":53},"     # Run at 9 AM daily\n",[2509,2510,2511],"style",{},"html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}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 .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}",{"title":20,"searchDepth":43,"depth":43,"links":2513},[],"A comprehensive guide to Bash shell scripting.","md","material-icon-theme:powershell",{},null,"\u002Fcheatsheets\u002Fbash","2025-08-14",{"title":5,"description":2514},{"loc":2519,"lastmod":2520},"cheatsheets\u002Fbash","2026-09-16T22:28:05+07:00","r1CDlQTwOgVwkYwyZ-92h2NBHS5men8CDGt8K0yNiQU",[2527,2678,2782,2803],{"title":2528,"icon":2529,"path":2530,"stem":2531,"children":2532,"page":2543},"Posts","fluent-color:data-bar-vertical-ascending-24","\u002Fposts","posts",[2533,2544,2562,2588,2598,2612,2622,2632,2642,2668],{"title":2534,"icon":2535,"redirect":2536,"path":2537,"stem":2538,"children":2539,"page":2543},"Database","material-icon-theme:database","\u002Fposts\u002Fdatabase\u002Freplication-strategy","\u002Fposts\u002Fdatabase","posts\u002Fdatabase",[2540],{"title":2541,"path":2536,"stem":2542,"icon":2518},"Database Replication strategy in large systems","posts\u002Fdatabase\u002Freplication-strategy",false,{"title":2545,"icon":2546,"redirect":2547,"path":2548,"stem":2549,"children":2550,"page":2543},"Docker","vscode-icons:file-type-docker2","\u002Fposts\u002Fdocker\u002Fdocker-commands","\u002Fposts\u002Fdocker","posts\u002Fdocker",[2551,2554,2558],{"title":2552,"path":2547,"stem":2553,"icon":2518},"Docker commands essentials","posts\u002Fdocker\u002Fdocker-commands",{"title":2555,"path":2556,"stem":2557,"icon":2518},"Some useful Dockerfile templates","\u002Fposts\u002Fdocker\u002Fdockerfile-templates","posts\u002Fdocker\u002Fdockerfile-templates",{"title":2559,"path":2560,"stem":2561,"icon":2518},"Setup Docker environment on Windows","\u002Fposts\u002Fdocker\u002Fsetup-docker-on-window","posts\u002Fdocker\u002Fsetup-docker-on-window",{"title":2563,"icon":2564,"redirect":2565,"path":2566,"stem":2567,"children":2568,"page":2543},"Git & GitHub","material-icon-theme:git","\u002Fposts\u002Fgit\u002Fbrightly-decorate-graph","\u002Fposts\u002Fgit","posts\u002Fgit",[2569,2572,2576,2580,2584],{"title":2570,"path":2565,"stem":2571,"icon":2518},"Brightly decorate your GitHub Graph","posts\u002Fgit\u002Fbrightly-decorate-graph",{"title":2573,"path":2574,"stem":2575,"icon":2518},"Download a specific folder on GitHub repository","\u002Fposts\u002Fgit\u002Fdownload-specific-folder","posts\u002Fgit\u002Fdownload-specific-folder",{"title":2577,"path":2578,"stem":2579,"icon":2518},"Syncing Git Tags across to other repositories","\u002Fposts\u002Fgit\u002Fsyncing-tags-across-repositories","posts\u002Fgit\u002Fsyncing-tags-across-repositories",{"title":2581,"path":2582,"stem":2583,"icon":2518},"Unlocking GitHub Achievement badges","\u002Fposts\u002Fgit\u002Funlocking-achievement-badges","posts\u002Fgit\u002Funlocking-achievement-badges",{"title":2585,"path":2586,"stem":2587,"icon":2518},"Essential Git commands every developer should master","\u002Fposts\u002Fgit\u002Fuseful-commands-like-pro","posts\u002Fgit\u002Fuseful-commands-like-pro",{"title":2589,"icon":2590,"redirect":2591,"path":2592,"stem":2593,"children":2594,"page":2543},"Golang","material-icon-theme:go","\u002Fposts\u002Fgolang\u002Foptimizing-performance-with-pgo","\u002Fposts\u002Fgolang","posts\u002Fgolang",[2595],{"title":2596,"path":2591,"stem":2597,"icon":2518},"Optimizing Performance in Go Applications with PGO","posts\u002Fgolang\u002Foptimizing-performance-with-pgo",{"title":2599,"icon":2600,"redirect":2601,"path":2602,"stem":2603,"children":2604,"page":2543},"JavaScript","vscode-icons:file-type-js","\u002Fposts\u002Fjavascript\u002F9-lines-of-tips","\u002Fposts\u002Fjavascript","posts\u002Fjavascript",[2605,2608],{"title":2606,"path":2601,"stem":2607,"icon":2518},"9 lines of JavaScript replace 50 lines of code","posts\u002Fjavascript\u002F9-lines-of-tips",{"title":2609,"path":2610,"stem":2611,"icon":2518},"Javascript Promises - Specific functions and use cases","\u002Fposts\u002Fjavascript\u002Fpromises-cheatsheet","posts\u002Fjavascript\u002Fpromises-cheatsheet",{"title":2613,"icon":2614,"redirect":2615,"path":2616,"stem":2617,"children":2618,"page":2543},"Node","material-icon-theme:nodejs-alt","\u002Fposts\u002Fnodejs\u002Fevent-loop","\u002Fposts\u002Fnodejs","posts\u002Fnodejs",[2619],{"title":2620,"path":2615,"stem":2621,"icon":2518},"Secret about Event Loop flow in Nodejs","posts\u002Fnodejs\u002Fevent-loop",{"title":2623,"icon":2624,"redirect":2625,"path":2626,"stem":2627,"children":2628,"page":2543},"Nuxt","vscode-icons:file-type-nuxt","\u002Fposts\u002Fnuxt\u002Fenable-pwa-in-nuxt","\u002Fposts\u002Fnuxt","posts\u002Fnuxt",[2629],{"title":2630,"path":2625,"stem":2631,"icon":2518},"Enable PWA and Service Worker in Nuxt","posts\u002Fnuxt\u002Fenable-pwa-in-nuxt",{"title":2633,"icon":2634,"redirect":2635,"path":2636,"stem":2637,"children":2638,"page":2543},"Performance","emojione:rocket","\u002Fposts\u002Fperformance\u002Fbackground-image-injection-problem","\u002Fposts\u002Fperformance","posts\u002Fperformance",[2639],{"title":2640,"path":2635,"stem":2641,"icon":2518},"Background-Image injection problem in UX","posts\u002Fperformance\u002Fbackground-image-injection-problem",{"title":2643,"icon":2644,"redirect":2645,"path":2646,"stem":2647,"children":2648,"page":2543},"Tutorial","fluent-color:book-open-lightbulb-24","\u002Fposts\u002Ftutorial\u002Fclassification-and-functionality-of-the-servers","\u002Fposts\u002Ftutorial","posts\u002Ftutorial",[2649,2652,2656,2660,2664],{"title":2650,"path":2645,"stem":2651,"icon":2518},"Classification and functionality of the servers","posts\u002Ftutorial\u002Fclassification-and-functionality-of-the-servers",{"title":2653,"path":2654,"stem":2655,"icon":2518},"What is the difference between localhost and 127.0.0.1?","\u002Fposts\u002Ftutorial\u002Fdifferent-between-localhost-and-127-0-0-1","posts\u002Ftutorial\u002Fdifferent-between-localhost-and-127-0-0-1",{"title":2657,"path":2658,"stem":2659,"icon":2518},"8 essential network protocols every programmer should know","\u002Fposts\u002Ftutorial\u002Fessential-network-protocols","posts\u002Ftutorial\u002Fessential-network-protocols",{"title":2661,"path":2662,"stem":2663,"icon":2518},"Pre rels in header link tag - SEO technique enhancement","\u002Fposts\u002Ftutorial\u002Fpre-rels-in-header-link-tag","posts\u002Ftutorial\u002Fpre-rels-in-header-link-tag",{"title":2665,"path":2666,"stem":2667,"icon":2518},"Better code with SOLID principles","\u002Fposts\u002Ftutorial\u002Fwhat-is-solid","posts\u002Ftutorial\u002Fwhat-is-solid",{"title":2669,"icon":2670,"redirect":2671,"path":2672,"stem":2673,"children":2674,"page":2543},"UI\u002FUX","devicon:figma","\u002Fposts\u002Fuiux\u002Fcommon-button-mistake","\u002Fposts\u002Fuiux","posts\u002Fuiux",[2675],{"title":2676,"path":2671,"stem":2677,"icon":2518},"Common Button Mistake in UI\u002FUX","posts\u002Fuiux\u002Fcommon-button-mistake",{"title":2679,"icon":2680,"path":2681,"stem":2682,"children":2683,"page":2543},"Cheatsheets","fluent-color:paw-16","\u002Fcheatsheets","cheatsheets",[2684,2685,2690,2693,2698,2701,2706,2710,2715,2720,2725,2730,2735,2740,2744,2748,2753,2758,2762,2767,2772,2777],{"title":5,"path":2519,"stem":2523,"icon":2516},{"title":2686,"path":2687,"stem":2688,"icon":2689},"CSS","\u002Fcheatsheets\u002Fcss","cheatsheets\u002Fcss","vscode-icons:file-type-css2",{"title":2545,"path":2691,"stem":2692,"icon":2546},"\u002Fcheatsheets\u002Fdocker","cheatsheets\u002Fdocker",{"title":2694,"path":2695,"stem":2696,"icon":2697},"Git","\u002Fcheatsheets\u002Fgit","cheatsheets\u002Fgit","devicon:git",{"title":2589,"path":2699,"stem":2700,"icon":2590},"\u002Fcheatsheets\u002Fgo","cheatsheets\u002Fgo",{"title":2702,"path":2703,"stem":2704,"icon":2705},"HTML","\u002Fcheatsheets\u002Fhtml","cheatsheets\u002Fhtml","material-icon-theme:html",{"title":2599,"path":2707,"stem":2708,"icon":2709},"\u002Fcheatsheets\u002Fjavascript","cheatsheets\u002Fjavascript","material-icon-theme:javascript",{"title":2711,"path":2712,"stem":2713,"icon":2714},"Latex","\u002Fcheatsheets\u002Flatex","cheatsheets\u002Flatex","material-icon-theme:latexmk",{"title":2716,"path":2717,"stem":2718,"icon":2719},"Linux","\u002Fcheatsheets\u002Flinux","cheatsheets\u002Flinux","devicon:linux",{"title":2721,"path":2722,"stem":2723,"icon":2724},"Markdown","\u002Fcheatsheets\u002Fmarkdown","cheatsheets\u002Fmarkdown","material-icon-theme:markdown",{"title":2726,"path":2727,"stem":2728,"icon":2729},"Mongo","\u002Fcheatsheets\u002Fmongo","cheatsheets\u002Fmongo","devicon:mongodb",{"title":2731,"path":2732,"stem":2733,"icon":2734},"Nest","\u002Fcheatsheets\u002Fnest","cheatsheets\u002Fnest","material-icon-theme:nest",{"title":2736,"path":2737,"stem":2738,"icon":2739},"Next","\u002Fcheatsheets\u002Fnext","cheatsheets\u002Fnext","logos:nextjs-icon",{"title":2613,"path":2741,"stem":2742,"icon":2743},"\u002Fcheatsheets\u002Fnode","cheatsheets\u002Fnode","material-icon-theme:nodejs",{"title":2623,"path":2745,"stem":2746,"icon":2747},"\u002Fcheatsheets\u002Fnuxt","cheatsheets\u002Fnuxt","material-icon-theme:nuxt",{"title":2749,"path":2750,"stem":2751,"icon":2752},"React","\u002Fcheatsheets\u002Freact","cheatsheets\u002Freact","material-icon-theme:react",{"title":2754,"path":2755,"stem":2756,"icon":2757},"Redis","\u002Fcheatsheets\u002Fredis","cheatsheets\u002Fredis","vscode-icons:folder-type-redis-opened",{"title":2759,"path":2760,"stem":2761,"icon":2535},"SQL","\u002Fcheatsheets\u002Fsql","cheatsheets\u002Fsql",{"title":2763,"path":2764,"stem":2765,"icon":2766},"Typescript","\u002Fcheatsheets\u002Ftypescript","cheatsheets\u002Ftypescript","material-icon-theme:typescript",{"title":2768,"path":2769,"stem":2770,"icon":2771},"Vercel","\u002Fcheatsheets\u002Fvercel","cheatsheets\u002Fvercel","vscode-icons:file-type-light-vercel",{"title":2773,"path":2774,"stem":2775,"icon":2776},"Vue","\u002Fcheatsheets\u002Fvue","cheatsheets\u002Fvue","material-icon-theme:vue",{"title":2778,"path":2779,"stem":2780,"icon":2781},"Windows","\u002Fcheatsheets\u002Fwindow","cheatsheets\u002Fwindow","material-icon-theme:folder-windows",{"title":2783,"icon":2784,"path":2785,"stem":2786,"children":2787,"page":2543},"Templates","fluent-color:data-pie-24","\u002Ftemplates","templates",[2788,2791,2794,2797,2800],{"title":2589,"path":2789,"stem":2790,"icon":2590},"\u002Ftemplates\u002Fgo","templates\u002Fgo",{"title":2736,"path":2792,"stem":2793,"icon":2739},"\u002Ftemplates\u002Fnext","templates\u002Fnext",{"title":2623,"path":2795,"stem":2796,"icon":2747},"\u002Ftemplates\u002Fnuxt","templates\u002Fnuxt",{"title":2749,"path":2798,"stem":2799,"icon":2752},"\u002Ftemplates\u002Freact","templates\u002Freact",{"title":2773,"path":2801,"stem":2802,"icon":2776},"\u002Ftemplates\u002Fvue","templates\u002Fvue",{"title":2804,"icon":2680,"path":2805,"stem":2806,"children":2807,"page":2543},"Interviews","\u002Finterviews","interviews",[2808],{"title":2702,"path":2809,"stem":2810,"icon":2705},"\u002Finterviews\u002Fhtml","interviews\u002Fhtml",[2518,2812],{"title":2686,"path":2687,"stem":2688,"children":-1}]