[{"data":1,"prerenderedAt":1704},["ShallowReactive",2],{"/knowledge-base/bash-aliases":3,"/knowledge-base/bash-aliases-surround":1699},{"id":4,"title":5,"body":6,"category":1681,"contentType":1682,"date":1683,"description":1684,"extension":1685,"head":1686,"image":1687,"meta":1688,"navigation":497,"ogImage":1686,"path":1689,"readingTime":1690,"robots":1686,"schemaOrg":1686,"seo":1691,"sitemap":1692,"stem":1693,"tags":1694,"__hash__":1698},"knowledgeBase/knowledge-base/bash-aliases.md","Useful Bash Aliases",{"type":7,"value":8,"toc":1671},"minimark",[9,13,25,30,33,63,66,83,86,103,114,248,252,255,296,299,316,319,336,339,356,359,376,380,383,400,403,420,423,440,447,664,668,671,752,755,791,794,839,843,846,861,864,881,884,900,903,919,922,937,940,957,968,985,988,1000,1003,1015,1018,1030,1033,1045,1048,1066,1069,1086,1089,1106,1110,1113,1130,1137,1154,1157,1174,1177,1194,1197,1214,1221,1238,1243,1260,1264,1267,1284,1287,1304,1307,1324,1327,1344,1347,1364,1367,1384,1387,1391,1401,1431,1434,1545,1548,1667],[10,11,12],"p",{},"Bash aliases are shortcuts that map long or complex commands to shorter, memorable keywords. They save time, reduce typing errors, and significantly boost terminal productivity.",[10,14,15,16,20,21,24],{},"This is some of the aliases i use, categorized by their purpose. Add these to your ",[17,18,19],"code",{},"~/.bashrc"," or ",[17,22,23],{},"~/.bash_aliases"," file.",[26,27,29],"h3",{"id":28},"core-file-listing-and-color-support","Core File Listing and Color Support",[10,31,32],{},"List files in long format with file type indicators:",[34,35,41],"pre",{"className":36,"code":37,"filename":38,"language":39,"meta":40,"style":40},"language-bash shiki shiki-themes github-light github-dark github-dark","alias ll='ls -alF'\n","Terminal","bash","",[17,42,43],{"__ignoreMap":40},[44,45,48,52,56,59],"span",{"class":46,"line":47},"line",1,[44,49,51],{"class":50},"so5gQ","alias",[44,53,55],{"class":54},"slsVL"," ll",[44,57,58],{"class":50},"=",[44,60,62],{"class":61},"sfrk1","'ls -alF'\n",[10,64,65],{},"List all files including hidden ones:",[34,67,69],{"className":36,"code":68,"filename":38,"language":39,"meta":40,"style":40},"alias la='ls -A'\n",[17,70,71],{"__ignoreMap":40},[44,72,73,75,78,80],{"class":46,"line":47},[44,74,51],{"class":50},[44,76,77],{"class":54}," la",[44,79,58],{"class":50},[44,81,82],{"class":61},"'ls -A'\n",[10,84,85],{},"List files in columns:",[34,87,89],{"className":36,"code":88,"filename":38,"language":39,"meta":40,"style":40},"alias l='ls -CF'\n",[17,90,91],{"__ignoreMap":40},[44,92,93,95,98,100],{"class":46,"line":47},[44,94,51],{"class":50},[44,96,97],{"class":54}," l",[44,99,58],{"class":50},[44,101,102],{"class":61},"'ls -CF'\n",[10,104,105,106,109,110,113],{},"Enable automatic terminal color support for ",[17,107,108],{},"ls"," and ",[17,111,112],{},"grep"," commands:",[34,115,117],{"className":36,"code":116,"filename":38,"language":39,"meta":40,"style":40},"if [ -x /usr/bin/dircolors ]; then\n    test -r ~/.dircolors && eval \"$(dircolors -b ~/.dircolors)\" || eval \"$(dircolors -b)\"\n    \n    alias ls='ls --color=auto'\n    alias grep='grep --color=auto'\n    alias fgrep='fgrep --color=auto'\n    alias egrep='egrep --color=auto'\nfi\n",[17,118,119,136,183,189,203,216,229,242],{"__ignoreMap":40},[44,120,121,124,127,130,133],{"class":46,"line":47},[44,122,123],{"class":50},"if",[44,125,126],{"class":54}," [ ",[44,128,129],{"class":50},"-x",[44,131,132],{"class":54}," /usr/bin/dircolors ]; ",[44,134,135],{"class":50},"then\n",[44,137,139,143,146,149,152,155,158,162,165,168,171,174,176,178,180],{"class":46,"line":138},2,[44,140,142],{"class":141},"suiK_","    test",[44,144,145],{"class":141}," -r",[44,147,148],{"class":61}," ~/.dircolors",[44,150,151],{"class":54}," && ",[44,153,154],{"class":141},"eval",[44,156,157],{"class":61}," \"$(",[44,159,161],{"class":160},"shcOC","dircolors",[44,163,164],{"class":141}," -b",[44,166,167],{"class":61}," ~/.dircolors)\"",[44,169,170],{"class":50}," ||",[44,172,173],{"class":141}," eval",[44,175,157],{"class":61},[44,177,161],{"class":160},[44,179,164],{"class":141},[44,181,182],{"class":61},")\"\n",[44,184,186],{"class":46,"line":185},3,[44,187,188],{"class":54},"    \n",[44,190,192,195,198,200],{"class":46,"line":191},4,[44,193,194],{"class":50},"    alias",[44,196,197],{"class":54}," ls",[44,199,58],{"class":50},[44,201,202],{"class":61},"'ls --color=auto'\n",[44,204,206,208,211,213],{"class":46,"line":205},5,[44,207,194],{"class":50},[44,209,210],{"class":54}," grep",[44,212,58],{"class":50},[44,214,215],{"class":61},"'grep --color=auto'\n",[44,217,219,221,224,226],{"class":46,"line":218},6,[44,220,194],{"class":50},[44,222,223],{"class":54}," fgrep",[44,225,58],{"class":50},[44,227,228],{"class":61},"'fgrep --color=auto'\n",[44,230,232,234,237,239],{"class":46,"line":231},7,[44,233,194],{"class":50},[44,235,236],{"class":54}," egrep",[44,238,58],{"class":50},[44,240,241],{"class":61},"'egrep --color=auto'\n",[44,243,245],{"class":46,"line":244},8,[44,246,247],{"class":50},"fi\n",[26,249,251],{"id":250},"git-and-code-analysis","Git and Code Analysis",[10,253,254],{},"Stage and commit all modified files with a custom message:",[34,256,258],{"className":36,"code":257,"filename":38,"language":39,"meta":40,"style":40},"gac() {\n  git commit -a -m \"$1\"\n}\n",[17,259,260,268,291],{"__ignoreMap":40},[44,261,262,265],{"class":46,"line":47},[44,263,264],{"class":160},"gac",[44,266,267],{"class":54},"() {\n",[44,269,270,273,276,279,282,285,288],{"class":46,"line":138},[44,271,272],{"class":160},"  git",[44,274,275],{"class":61}," commit",[44,277,278],{"class":141}," -a",[44,280,281],{"class":141}," -m",[44,283,284],{"class":61}," \"",[44,286,287],{"class":141},"$1",[44,289,290],{"class":61},"\"\n",[44,292,293],{"class":46,"line":185},[44,294,295],{"class":54},"}\n",[10,297,298],{},"Count total lines of tracked code in the current Git repository:",[34,300,302],{"className":36,"code":301,"filename":38,"language":39,"meta":40,"style":40},"alias loc='git ls-files -z | xargs -0 cat | wc -l'\n",[17,303,304],{"__ignoreMap":40},[44,305,306,308,311,313],{"class":46,"line":47},[44,307,51],{"class":50},[44,309,310],{"class":54}," loc",[44,312,58],{"class":50},[44,314,315],{"class":61},"'git ls-files -z | xargs -0 cat | wc -l'\n",[10,317,318],{},"Count lines of code while ignoring lockfiles:",[34,320,322],{"className":36,"code":321,"filename":38,"language":39,"meta":40,"style":40},"alias loc_el=\"git ls-files | grep -vE 'package-lock\\.json|yarn\\.lock' | xargs -d '\\n' cat | wc -l\"\n",[17,323,324],{"__ignoreMap":40},[44,325,326,328,331,333],{"class":46,"line":47},[44,327,51],{"class":50},[44,329,330],{"class":54}," loc_el",[44,332,58],{"class":50},[44,334,335],{"class":61},"\"git ls-files | grep -vE 'package-lock\\.json|yarn\\.lock' | xargs -d '\\n' cat | wc -l\"\n",[10,337,338],{},"Count pure code lines, filtering out lockfiles, markdown, comments, and empty lines:",[34,340,342],{"className":36,"code":341,"filename":38,"language":39,"meta":40,"style":40},"alias eloc=\"git ls-files | grep -vE 'package-lock\\.json|yarn\\.lock|\\.md$' | xargs -d '\\n' cat | sed '/^\\s*\\/\\//d; /^\\s*\\/\\*/,/\\*\\//d; /^\\s*$/d' | wc -l\"\n",[17,343,344],{"__ignoreMap":40},[44,345,346,348,351,353],{"class":46,"line":47},[44,347,51],{"class":50},[44,349,350],{"class":54}," eloc",[44,352,58],{"class":50},[44,354,355],{"class":61},"\"git ls-files | grep -vE 'package-lock\\.json|yarn\\.lock|\\.md$' | xargs -d '\\n' cat | sed '/^\\s*\\/\\//d; /^\\s*\\/\\*/,/\\*\\//d; /^\\s*$/d' | wc -l\"\n",[10,357,358],{},"Display the exact timestamps of the first and last commits in the repository:",[34,360,362],{"className":36,"code":361,"filename":38,"language":39,"meta":40,"style":40},"alias ptimes='git log --reverse --format=\"%cd\" | head -n 1 && git log -1 --format=\"%cd\"'\n",[17,363,364],{"__ignoreMap":40},[44,365,366,368,371,373],{"class":46,"line":47},[44,367,51],{"class":50},[44,369,370],{"class":54}," ptimes",[44,372,58],{"class":50},[44,374,375],{"class":61},"'git log --reverse --format=\"%cd\" | head -n 1 && git log -1 --format=\"%cd\"'\n",[26,377,379],{"id":378},"networking-and-ports","Networking and Ports",[10,381,382],{},"List all active system processes listening on TCP ports:",[34,384,386],{"className":36,"code":385,"filename":38,"language":39,"meta":40,"style":40},"alias ls_tcp=\"sudo lsof -nP -iTCP -sTCP:LISTEN\"\n",[17,387,388],{"__ignoreMap":40},[44,389,390,392,395,397],{"class":46,"line":47},[44,391,51],{"class":50},[44,393,394],{"class":54}," ls_tcp",[44,396,58],{"class":50},[44,398,399],{"class":61},"\"sudo lsof -nP -iTCP -sTCP:LISTEN\"\n",[10,401,402],{},"List all active system processes listening on UDP ports:",[34,404,406],{"className":36,"code":405,"filename":38,"language":39,"meta":40,"style":40},"alias ls_udp=\"sudo lsof -nP -iUDP\"\n",[17,407,408],{"__ignoreMap":40},[44,409,410,412,415,417],{"class":46,"line":47},[44,411,51],{"class":50},[44,413,414],{"class":54}," ls_udp",[44,416,58],{"class":50},[44,418,419],{"class":61},"\"sudo lsof -nP -iUDP\"\n",[10,421,422],{},"Display all open listening network ports and routing sockets:",[34,424,426],{"className":36,"code":425,"filename":38,"language":39,"meta":40,"style":40},"alias lsp=\"sudo ss -tulpn\"\n",[17,427,428],{"__ignoreMap":40},[44,429,430,432,435,437],{"class":46,"line":47},[44,431,51],{"class":50},[44,433,434],{"class":54}," lsp",[44,436,58],{"class":50},[44,438,439],{"class":61},"\"sudo ss -tulpn\"\n",[10,441,442,443,446],{},"Find the exact process occupying a specific network port (Usage: ",[17,444,445],{},"listPort \u003Cport> [TCP|UDP]","):",[34,448,450],{"className":36,"code":449,"filename":38,"language":39,"meta":40,"style":40},"listPort() {\n  local port=$1\n  local proto=${2:-TCP}\n\n  if [ -n \"$port\" ]; then\n    proto=$(echo \"$proto\" | tr '[:lower:]' '[:upper:]')\n\n    if [ \"$proto\" = \"UDP\" ]; then\n      sudo lsof -nP -iUDP:\"$port\"\n    else\n      sudo lsof -nP -iTCP:\"$port\" -sTCP:LISTEN\n    fi\n  else\n    echo \"Usage: listPort \u003Cport_number> [TCP|UDP]\"\n  fi\n}\n",[17,451,452,459,473,493,499,522,557,561,584,605,611,632,638,644,653,659],{"__ignoreMap":40},[44,453,454,457],{"class":46,"line":47},[44,455,456],{"class":160},"listPort",[44,458,267],{"class":54},[44,460,461,464,467,469],{"class":46,"line":138},[44,462,463],{"class":50},"  local",[44,465,466],{"class":54}," port",[44,468,58],{"class":50},[44,470,472],{"class":471},"sQHwn","$1\n",[44,474,475,477,480,482,485,488,491],{"class":46,"line":185},[44,476,463],{"class":50},[44,478,479],{"class":54}," proto",[44,481,58],{"class":50},[44,483,484],{"class":471},"${2",[44,486,487],{"class":50},":-",[44,489,490],{"class":54},"TCP",[44,492,295],{"class":471},[44,494,495],{"class":46,"line":191},[44,496,498],{"emptyLinePlaceholder":497},true,"\n",[44,500,501,504,506,509,511,514,517,520],{"class":46,"line":205},[44,502,503],{"class":50},"  if",[44,505,126],{"class":54},[44,507,508],{"class":50},"-n",[44,510,284],{"class":61},[44,512,513],{"class":54},"$port",[44,515,516],{"class":61},"\"",[44,518,519],{"class":54}," ]; ",[44,521,135],{"class":50},[44,523,524,527,529,532,535,537,540,542,545,548,551,554],{"class":46,"line":218},[44,525,526],{"class":54},"    proto",[44,528,58],{"class":50},[44,530,531],{"class":54},"$(",[44,533,534],{"class":141},"echo",[44,536,284],{"class":61},[44,538,539],{"class":54},"$proto",[44,541,516],{"class":61},[44,543,544],{"class":50}," |",[44,546,547],{"class":160}," tr",[44,549,550],{"class":61}," '[:lower:]'",[44,552,553],{"class":61}," '[:upper:]'",[44,555,556],{"class":54},")\n",[44,558,559],{"class":46,"line":231},[44,560,498],{"emptyLinePlaceholder":497},[44,562,563,566,568,570,572,574,577,580,582],{"class":46,"line":244},[44,564,565],{"class":50},"    if",[44,567,126],{"class":54},[44,569,516],{"class":61},[44,571,539],{"class":54},[44,573,516],{"class":61},[44,575,576],{"class":50}," =",[44,578,579],{"class":61}," \"UDP\"",[44,581,519],{"class":54},[44,583,135],{"class":50},[44,585,587,590,593,596,599,601,603],{"class":46,"line":586},9,[44,588,589],{"class":160},"      sudo",[44,591,592],{"class":61}," lsof",[44,594,595],{"class":141}," -nP",[44,597,598],{"class":141}," -iUDP:",[44,600,516],{"class":61},[44,602,513],{"class":54},[44,604,290],{"class":61},[44,606,608],{"class":46,"line":607},10,[44,609,610],{"class":50},"    else\n",[44,612,614,616,618,620,623,625,627,629],{"class":46,"line":613},11,[44,615,589],{"class":160},[44,617,592],{"class":61},[44,619,595],{"class":141},[44,621,622],{"class":141}," -iTCP:",[44,624,516],{"class":61},[44,626,513],{"class":54},[44,628,516],{"class":61},[44,630,631],{"class":141}," -sTCP:LISTEN\n",[44,633,635],{"class":46,"line":634},12,[44,636,637],{"class":50},"    fi\n",[44,639,641],{"class":46,"line":640},13,[44,642,643],{"class":50},"  else\n",[44,645,647,650],{"class":46,"line":646},14,[44,648,649],{"class":141},"    echo",[44,651,652],{"class":61}," \"Usage: listPort \u003Cport_number> [TCP|UDP]\"\n",[44,654,656],{"class":46,"line":655},15,[44,657,658],{"class":50},"  fi\n",[44,660,662],{"class":46,"line":661},16,[44,663,295],{"class":54},[26,665,667],{"id":666},"miscellaneous-utilities","Miscellaneous Utilities",[10,669,670],{},"Stream an active log file starting exactly from the current moment:",[34,672,674],{"className":36,"code":673,"filename":38,"language":39,"meta":40,"style":40},"followlog() {\n  if [ -z \"$1\" ]; then\n    echo \"Error: No file path specified.\"\n    echo \"Usage: followlog /path/to/file\"\n    return 1\n  fi\n  tail -n 0 -f \"$1\"\n}\n",[17,675,676,683,702,709,716,724,728,748],{"__ignoreMap":40},[44,677,678,681],{"class":46,"line":47},[44,679,680],{"class":160},"followlog",[44,682,267],{"class":54},[44,684,685,687,689,692,694,696,698,700],{"class":46,"line":138},[44,686,503],{"class":50},[44,688,126],{"class":54},[44,690,691],{"class":50},"-z",[44,693,284],{"class":61},[44,695,287],{"class":141},[44,697,516],{"class":61},[44,699,519],{"class":54},[44,701,135],{"class":50},[44,703,704,706],{"class":46,"line":185},[44,705,649],{"class":141},[44,707,708],{"class":61}," \"Error: No file path specified.\"\n",[44,710,711,713],{"class":46,"line":191},[44,712,649],{"class":141},[44,714,715],{"class":61}," \"Usage: followlog /path/to/file\"\n",[44,717,718,721],{"class":46,"line":205},[44,719,720],{"class":50},"    return",[44,722,723],{"class":141}," 1\n",[44,725,726],{"class":46,"line":218},[44,727,658],{"class":50},[44,729,730,733,736,739,742,744,746],{"class":46,"line":231},[44,731,732],{"class":160},"  tail",[44,734,735],{"class":141}," -n",[44,737,738],{"class":141}," 0",[44,740,741],{"class":141}," -f",[44,743,284],{"class":61},[44,745,287],{"class":141},[44,747,290],{"class":61},[44,749,750],{"class":46,"line":244},[44,751,295],{"class":54},[10,753,754],{},"Fetch raw URL data and format it cleanly as JSON:",[34,756,758],{"className":36,"code":757,"filename":38,"language":39,"meta":40,"style":40},"jurl() {\n  curl \"$@\" | jq .\n}\n",[17,759,760,767,787],{"__ignoreMap":40},[44,761,762,765],{"class":46,"line":47},[44,763,764],{"class":160},"jurl",[44,766,267],{"class":54},[44,768,769,772,774,777,779,781,784],{"class":46,"line":138},[44,770,771],{"class":160},"  curl",[44,773,284],{"class":61},[44,775,776],{"class":141},"$@",[44,778,516],{"class":61},[44,780,544],{"class":50},[44,782,783],{"class":160}," jq",[44,785,786],{"class":61}," .\n",[44,788,789],{"class":46,"line":185},[44,790,295],{"class":54},[10,792,793],{},"Fetch and display a random dark or miscellaneous joke:",[34,795,797],{"className":36,"code":796,"filename":38,"language":39,"meta":40,"style":40},"joke() {\n    curl -s \"https://v2.jokeapi.dev/joke/Miscellaneous,Dark?blacklistFlags=nsfw,racist,sexist,explicit\" | \\\n    jq -r '.joke // (.setup + \"\\n\" + .delivery)'\n}\n",[17,798,799,806,822,835],{"__ignoreMap":40},[44,800,801,804],{"class":46,"line":47},[44,802,803],{"class":160},"joke",[44,805,267],{"class":54},[44,807,808,811,814,817,819],{"class":46,"line":138},[44,809,810],{"class":160},"    curl",[44,812,813],{"class":141}," -s",[44,815,816],{"class":61}," \"https://v2.jokeapi.dev/joke/Miscellaneous,Dark?blacklistFlags=nsfw,racist,sexist,explicit\"",[44,818,544],{"class":50},[44,820,821],{"class":141}," \\\n",[44,823,824,827,829,832],{"class":46,"line":185},[44,825,826],{"class":160},"    jq",[44,828,145],{"class":141},[44,830,831],{"class":61}," '.joke",[44,833,834],{"class":61}," // (.setup + \"\\n\" + .delivery)'\n",[44,836,837],{"class":46,"line":191},[44,838,295],{"class":54},[26,840,842],{"id":841},"directory-navigation","Directory Navigation",[10,844,845],{},"Enable color output for directory listing:",[34,847,849],{"className":36,"code":848,"filename":38,"language":39,"meta":40,"style":40},"alias ls='ls --color=auto'\n",[17,850,851],{"__ignoreMap":40},[44,852,853,855,857,859],{"class":46,"line":47},[44,854,51],{"class":50},[44,856,197],{"class":54},[44,858,58],{"class":50},[44,860,202],{"class":61},[10,862,863],{},"Correct common typo for listing files:",[34,865,867],{"className":36,"code":866,"filename":38,"language":39,"meta":40,"style":40},"alias sl='ls'\n",[17,868,869],{"__ignoreMap":40},[44,870,871,873,876,878],{"class":46,"line":47},[44,872,51],{"class":50},[44,874,875],{"class":54}," sl",[44,877,58],{"class":50},[44,879,880],{"class":61},"'ls'\n",[10,882,883],{},"List all files in a compact view, appending indicators for file types:",[34,885,887],{"className":36,"code":886,"filename":38,"language":39,"meta":40,"style":40},"alias la='ls -AF'\n",[17,888,889],{"__ignoreMap":40},[44,890,891,893,895,897],{"class":46,"line":47},[44,892,51],{"class":50},[44,894,77],{"class":54},[44,896,58],{"class":50},[44,898,899],{"class":61},"'ls -AF'\n",[10,901,902],{},"List all files in long format:",[34,904,906],{"className":36,"code":905,"filename":38,"language":39,"meta":40,"style":40},"alias ll='ls -Al'\n",[17,907,908],{"__ignoreMap":40},[44,909,910,912,914,916],{"class":46,"line":47},[44,911,51],{"class":50},[44,913,55],{"class":54},[44,915,58],{"class":50},[44,917,918],{"class":61},"'ls -Al'\n",[10,920,921],{},"List all files (including hidden ones):",[34,923,925],{"className":36,"code":924,"filename":38,"language":39,"meta":40,"style":40},"alias l='ls -A'\n",[17,926,927],{"__ignoreMap":40},[44,928,929,931,933,935],{"class":46,"line":47},[44,930,51],{"class":50},[44,932,97],{"class":54},[44,934,58],{"class":50},[44,936,82],{"class":61},[10,938,939],{},"List files one per line:",[34,941,943],{"className":36,"code":942,"filename":38,"language":39,"meta":40,"style":40},"alias l1='ls -1'\n",[17,944,945],{"__ignoreMap":40},[44,946,947,949,952,954],{"class":46,"line":47},[44,948,51],{"class":50},[44,950,951],{"class":54}," l1",[44,953,58],{"class":50},[44,955,956],{"class":61},"'ls -1'\n",[10,958,959,960,963,964,967],{},"List files with type indicators (e.g., ",[17,961,962],{},"/"," for directories, ",[17,965,966],{},"*"," for executables):",[34,969,971],{"className":36,"code":970,"filename":38,"language":39,"meta":40,"style":40},"alias lf='ls -F'\n",[17,972,973],{"__ignoreMap":40},[44,974,975,977,980,982],{"class":46,"line":47},[44,976,51],{"class":50},[44,978,979],{"class":54}," lf",[44,981,58],{"class":50},[44,983,984],{"class":61},"'ls -F'\n",[10,986,987],{},"Go up one directory:",[34,989,991],{"className":36,"code":990,"filename":38,"language":39,"meta":40,"style":40},"alias ..='cd ..'\n",[17,992,993],{"__ignoreMap":40},[44,994,995,997],{"class":46,"line":47},[44,996,51],{"class":141},[44,998,999],{"class":61}," ..='cd ..'\n",[10,1001,1002],{},"Correct common typo for going up one directory:",[34,1004,1006],{"className":36,"code":1005,"filename":38,"language":39,"meta":40,"style":40},"alias cd..='cd ..'\n",[17,1007,1008],{"__ignoreMap":40},[44,1009,1010,1012],{"class":46,"line":47},[44,1011,51],{"class":141},[44,1013,1014],{"class":61}," cd..='cd ..'\n",[10,1016,1017],{},"Go up two directories:",[34,1019,1021],{"className":36,"code":1020,"filename":38,"language":39,"meta":40,"style":40},"alias ...='cd ../..'\n",[17,1022,1023],{"__ignoreMap":40},[44,1024,1025,1027],{"class":46,"line":47},[44,1026,51],{"class":141},[44,1028,1029],{"class":61}," ...='cd ../..'\n",[10,1031,1032],{},"Go up three directories:",[34,1034,1036],{"className":36,"code":1035,"filename":38,"language":39,"meta":40,"style":40},"alias ....='cd ../../..'\n",[17,1037,1038],{"__ignoreMap":40},[44,1039,1040,1042],{"class":46,"line":47},[44,1041,51],{"class":141},[44,1043,1044],{"class":61}," ....='cd ../../..'\n",[10,1046,1047],{},"Go back to the previous directory:",[34,1049,1051],{"className":36,"code":1050,"filename":38,"language":39,"meta":40,"style":40},"alias -- -='cd -'\n",[17,1052,1053],{"__ignoreMap":40},[44,1054,1055,1057,1060,1063],{"class":46,"line":47},[44,1056,51],{"class":141},[44,1058,1059],{"class":141}," --",[44,1061,1062],{"class":141}," -=",[44,1064,1065],{"class":61},"'cd -'\n",[10,1067,1068],{},"Create a directory and any necessary parent directories:",[34,1070,1072],{"className":36,"code":1071,"filename":38,"language":39,"meta":40,"style":40},"alias md='mkdir -p'\n",[17,1073,1074],{"__ignoreMap":40},[44,1075,1076,1078,1081,1083],{"class":46,"line":47},[44,1077,51],{"class":50},[44,1079,1080],{"class":54}," md",[44,1082,58],{"class":50},[44,1084,1085],{"class":61},"'mkdir -p'\n",[10,1087,1088],{},"Remove an empty directory:",[34,1090,1092],{"className":36,"code":1091,"filename":38,"language":39,"meta":40,"style":40},"alias rd='rmdir'\n",[17,1093,1094],{"__ignoreMap":40},[44,1095,1096,1098,1101,1103],{"class":46,"line":47},[44,1097,51],{"class":50},[44,1099,1100],{"class":54}," rd",[44,1102,58],{"class":50},[44,1104,1105],{"class":61},"'rmdir'\n",[26,1107,1109],{"id":1108},"editor-shortcuts","Editor Shortcuts",[10,1111,1112],{},"Open the default system editor (falls back to nano):",[34,1114,1116],{"className":36,"code":1115,"filename":38,"language":39,"meta":40,"style":40},"alias edit='${EDITOR:-${ALTERNATE_EDITOR:-nano}}'\n",[17,1117,1118],{"__ignoreMap":40},[44,1119,1120,1122,1125,1127],{"class":46,"line":47},[44,1121,51],{"class":50},[44,1123,1124],{"class":54}," edit",[44,1126,58],{"class":50},[44,1128,1129],{"class":61},"'${EDITOR:-${ALTERNATE_EDITOR:-nano}}'\n",[10,1131,1132,1133,1136],{},"Alias ",[17,1134,1135],{},"e"," to the default editor command:",[34,1138,1140],{"className":36,"code":1139,"filename":38,"language":39,"meta":40,"style":40},"alias e='edit'\n",[17,1141,1142],{"__ignoreMap":40},[44,1143,1144,1146,1149,1151],{"class":46,"line":47},[44,1145,51],{"class":50},[44,1147,1148],{"class":54}," e",[44,1150,58],{"class":50},[44,1152,1153],{"class":61},"'edit'\n",[10,1155,1156],{},"Open the default visual editor with root privileges (falls back to vim):",[34,1158,1160],{"className":36,"code":1159,"filename":38,"language":39,"meta":40,"style":40},"alias svim='sudo ${VISUAL:-vim}'\n",[17,1161,1162],{"__ignoreMap":40},[44,1163,1164,1166,1169,1171],{"class":46,"line":47},[44,1165,51],{"class":50},[44,1167,1168],{"class":54}," svim",[44,1170,58],{"class":50},[44,1172,1173],{"class":61},"'sudo ${VISUAL:-vim}'\n",[10,1175,1176],{},"Open nano with root privileges:",[34,1178,1180],{"className":36,"code":1179,"filename":38,"language":39,"meta":40,"style":40},"alias snano='sudo ${ALTERNATE_EDITOR:-nano}'\n",[17,1181,1182],{"__ignoreMap":40},[44,1183,1184,1186,1189,1191],{"class":46,"line":47},[44,1185,51],{"class":50},[44,1187,1188],{"class":54}," snano",[44,1190,58],{"class":50},[44,1192,1193],{"class":61},"'sudo ${ALTERNATE_EDITOR:-nano}'\n",[10,1195,1196],{},"Open the default system editor with root privileges:",[34,1198,1200],{"className":36,"code":1199,"filename":38,"language":39,"meta":40,"style":40},"alias sedit='sudo ${EDITOR:-${ALTERNATE_EDITOR:-nano}}'\n",[17,1201,1202],{"__ignoreMap":40},[44,1203,1204,1206,1209,1211],{"class":46,"line":47},[44,1205,51],{"class":50},[44,1207,1208],{"class":54}," sedit",[44,1210,58],{"class":50},[44,1212,1213],{"class":61},"'sudo ${EDITOR:-${ALTERNATE_EDITOR:-nano}}'\n",[10,1215,1216,1217,1220],{},"Quickly edit the ",[17,1218,1219],{},".bashrc"," configuration file:",[34,1222,1224],{"className":36,"code":1223,"filename":38,"language":39,"meta":40,"style":40},"alias vbrc='${VISUAL:-vim} ~/.bashrc'\n",[17,1225,1226],{"__ignoreMap":40},[44,1227,1228,1230,1233,1235],{"class":46,"line":47},[44,1229,51],{"class":50},[44,1231,1232],{"class":54}," vbrc",[44,1234,58],{"class":50},[44,1236,1237],{"class":61},"'${VISUAL:-vim} ~/.bashrc'\n",[10,1239,1216,1240,1220],{},[17,1241,1242],{},".bash_profile",[34,1244,1246],{"className":36,"code":1245,"filename":38,"language":39,"meta":40,"style":40},"alias vbpf='${VISUAL:-vim} ~/.bash_profile'\n",[17,1247,1248],{"__ignoreMap":40},[44,1249,1250,1252,1255,1257],{"class":46,"line":47},[44,1251,51],{"class":50},[44,1253,1254],{"class":54}," vbpf",[44,1256,58],{"class":50},[44,1258,1259],{"class":61},"'${VISUAL:-vim} ~/.bash_profile'\n",[26,1261,1263],{"id":1262},"general-utilities","General Utilities",[10,1265,1266],{},"Clear the terminal screen:",[34,1268,1270],{"className":36,"code":1269,"filename":38,"language":39,"meta":40,"style":40},"alias c='clear'\n",[17,1271,1272],{"__ignoreMap":40},[44,1273,1274,1276,1279,1281],{"class":46,"line":47},[44,1275,51],{"class":50},[44,1277,1278],{"class":54}," c",[44,1280,58],{"class":50},[44,1282,1283],{"class":61},"'clear'\n",[10,1285,1286],{},"Quickly exit the terminal session:",[34,1288,1290],{"className":36,"code":1289,"filename":38,"language":39,"meta":40,"style":40},"alias q='exit'\n",[17,1291,1292],{"__ignoreMap":40},[44,1293,1294,1296,1299,1301],{"class":46,"line":47},[44,1295,51],{"class":50},[44,1297,1298],{"class":54}," q",[44,1300,58],{"class":50},[44,1302,1303],{"class":61},"'exit'\n",[10,1305,1306],{},"Quickly navigate to the Downloads directory:",[34,1308,1310],{"className":36,"code":1309,"filename":38,"language":39,"meta":40,"style":40},"alias dow='cd $HOME/Downloads'\n",[17,1311,1312],{"__ignoreMap":40},[44,1313,1314,1316,1319,1321],{"class":46,"line":47},[44,1315,51],{"class":50},[44,1317,1318],{"class":54}," dow",[44,1320,58],{"class":50},[44,1322,1323],{"class":61},"'cd $HOME/Downloads'\n",[10,1325,1326],{},"Show the terminal command history:",[34,1328,1330],{"className":36,"code":1329,"filename":38,"language":39,"meta":40,"style":40},"alias h='history'\n",[17,1331,1332],{"__ignoreMap":40},[44,1333,1334,1336,1339,1341],{"class":46,"line":47},[44,1335,51],{"class":50},[44,1337,1338],{"class":54}," h",[44,1340,58],{"class":50},[44,1342,1343],{"class":61},"'history'\n",[10,1345,1346],{},"Display a graphical directory tree:",[34,1348,1350],{"className":36,"code":1349,"filename":38,"language":39,"meta":40,"style":40},"alias tree=\"find . -print | sed -e 's;[^/]*/;|____;g;s;____|; |;g'\"\n",[17,1351,1352],{"__ignoreMap":40},[44,1353,1354,1356,1359,1361],{"class":46,"line":47},[44,1355,51],{"class":50},[44,1357,1358],{"class":54}," tree",[44,1360,58],{"class":50},[44,1362,1363],{"class":61},"\"find . -print | sed -e 's;[^/]*/;|____;g;s;____|; |;g'\"\n",[10,1365,1366],{},"Recursively force remove files and directories:",[34,1368,1370],{"className":36,"code":1369,"filename":38,"language":39,"meta":40,"style":40},"alias rmrf='rm -rf'\n",[17,1371,1372],{"__ignoreMap":40},[44,1373,1374,1376,1379,1381],{"class":46,"line":47},[44,1375,51],{"class":50},[44,1377,1378],{"class":54}," rmrf",[44,1380,58],{"class":50},[44,1382,1383],{"class":61},"'rm -rf'\n",[1385,1386],"hr",{},[26,1388,1390],{"id":1389},"bash-it-commands","Bash-it Commands",[10,1392,1393,1400],{},[1394,1395,1399],"a",{"href":1396,"rel":1397},"https://github.com/Bash-it/bash-it",[1398],"nofollow","Bash-it"," is a community Bash framework. Install it and check out it's plugins, and aliases it provide.",[34,1402,1404],{"className":36,"code":1403,"language":39,"meta":40,"style":40},"$ bash-it show plugins\n$ bash-it show aliases\n",[17,1405,1406,1420],{"__ignoreMap":40},[44,1407,1408,1411,1414,1417],{"class":46,"line":47},[44,1409,1410],{"class":160},"$",[44,1412,1413],{"class":61}," bash-it",[44,1415,1416],{"class":61}," show",[44,1418,1419],{"class":61}," plugins\n",[44,1421,1422,1424,1426,1428],{"class":46,"line":138},[44,1423,1410],{"class":160},[44,1425,1413],{"class":61},[44,1427,1416],{"class":61},[44,1429,1430],{"class":61}," aliases\n",[10,1432,1433],{},"Some useful aliases to enable:",[1435,1436,1437,1451],"table",{},[1438,1439,1440],"thead",{},[1441,1442,1443,1448],"tr",{},[1444,1445,1447],"th",{"align":1446},"left","Alias",[1444,1449,1450],{"align":1446},"Description",[1452,1453,1454,1469,1479,1496,1506,1515,1525,1535],"tbody",{},[1441,1455,1456,1462],{},[1457,1458,1459],"td",{"align":1446},[17,1460,1461],{},"bash-it",[1457,1463,1464,1465,1468],{"align":1446},"Aliases for the bash-it command (automatically included with ",[17,1466,1467],{},"general",")",[1441,1470,1471,1476],{},[1457,1472,1473],{"align":1446},[17,1474,1475],{},"curl",[1457,1477,1478],{"align":1446},"Curl aliases for convenience.",[1441,1480,1481,1486],{},[1457,1482,1483],{"align":1446},[17,1484,1485],{},"directory",[1457,1487,1488,1489,1491,1492,1495],{"align":1446},"Shortcuts for directory commands (",[17,1490,108],{},", ",[17,1493,1494],{},"cd",", etc).",[1441,1497,1498,1503],{},[1457,1499,1500],{"align":1446},[17,1501,1502],{},"editor",[1457,1504,1505],{"align":1446},"Shortcuts for editing.",[1441,1507,1508,1512],{},[1457,1509,1510],{"align":1446},[17,1511,1467],{},[1457,1513,1514],{"align":1446},"General aliases.",[1441,1516,1517,1522],{},[1457,1518,1519],{"align":1446},[17,1520,1521],{},"git",[1457,1523,1524],{"align":1446},"Common git abbreviations.",[1441,1526,1527,1532],{},[1457,1528,1529],{"align":1446},[17,1530,1531],{},"node",[1457,1533,1534],{"align":1446},"The Node.js environment aliases.",[1441,1536,1537,1542],{},[1457,1538,1539],{"align":1446},[17,1540,1541],{},"npm",[1457,1543,1544],{"align":1446},"Common npm abbreviations.",[10,1546,1547],{},"Some useful plugins to enable:",[1435,1549,1550,1559],{},[1438,1551,1552],{},[1441,1553,1554,1557],{},[1444,1555,1556],{"align":1446},"Plugin",[1444,1558,1450],{"align":1446},[1452,1560,1561,1571,1588,1598,1608,1618,1628,1637,1647,1657],{},[1441,1562,1563,1568],{},[1457,1564,1565],{"align":1446},[17,1566,1567],{},"base",[1457,1569,1570],{"align":1446},"Miscellaneous tools",[1441,1572,1573,1578],{},[1457,1574,1575],{"align":1446},[17,1576,1577],{},"cht-sh",[1457,1579,1580,1581,1584,1585],{"align":1446},"Simplify ",[17,1582,1583],{},"curl cht.sh/\u003Cquery>"," to ",[17,1586,1587],{},"cht.sh \u003Cquery>",[1441,1589,1590,1595],{},[1457,1591,1592],{"align":1446},[17,1593,1594],{},"colors",[1457,1596,1597],{"align":1446},"Provides color definitions and ANSI functions for terminal output",[1441,1599,1600,1605],{},[1457,1601,1602],{"align":1446},[17,1603,1604],{},"docker-compose",[1457,1606,1607],{"align":1446},"Helper functions for using docker-compose",[1441,1609,1610,1615],{},[1457,1611,1612],{"align":1446},[17,1613,1614],{},"docker",[1457,1616,1617],{"align":1446},"Helpers to more easily work with Docker",[1441,1619,1620,1625],{},[1457,1621,1622],{"align":1446},[17,1623,1624],{},"explain",[1457,1626,1627],{"align":1446},"mankier.com explain function to explain other commands",[1441,1629,1630,1634],{},[1457,1631,1632],{"align":1446},[17,1633,1521],{},[1457,1635,1636],{"align":1446},"Git helper functions",[1441,1638,1639,1644],{},[1457,1640,1641],{"align":1446},[17,1642,1643],{},"history",[1457,1645,1646],{"align":1446},"Improve history handling with sane defaults",[1441,1648,1649,1654],{},[1457,1650,1651],{"align":1446},[17,1652,1653],{},"man",[1457,1655,1656],{"align":1446},"Colorize man pages for better readability",[1441,1658,1659,1664],{},[1457,1660,1661],{"align":1446},[17,1662,1663],{},"ssh",[1457,1665,1666],{"align":1446},"SSH helper functions",[1668,1669,1670],"style",{},"html pre.shiki code .so5gQ, html code.shiki .so5gQ{--shiki-light:#D73A49;--shiki-default:#F97583;--shiki-dark:#F97583}html pre.shiki code .slsVL, html code.shiki .slsVL{--shiki-light:#24292E;--shiki-default:#E1E4E8;--shiki-dark:#E1E4E8}html pre.shiki code .sfrk1, html code.shiki .sfrk1{--shiki-light:#032F62;--shiki-default:#9ECBFF;--shiki-dark:#9ECBFF}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 .suiK_, html code.shiki .suiK_{--shiki-light:#005CC5;--shiki-default:#79B8FF;--shiki-dark:#79B8FF}html pre.shiki code .shcOC, html code.shiki .shcOC{--shiki-light:#6F42C1;--shiki-default:#B392F0;--shiki-dark:#B392F0}html pre.shiki code .sQHwn, html code.shiki .sQHwn{--shiki-light:#E36209;--shiki-default:#FFAB70;--shiki-dark:#FFAB70}",{"title":40,"searchDepth":138,"depth":138,"links":1672},[1673,1674,1675,1676,1677,1678,1679,1680],{"id":28,"depth":185,"text":29},{"id":250,"depth":185,"text":251},{"id":378,"depth":185,"text":379},{"id":666,"depth":185,"text":667},{"id":841,"depth":185,"text":842},{"id":1108,"depth":185,"text":1109},{"id":1262,"depth":185,"text":1263},{"id":1389,"depth":185,"text":1390},"terminal","cheatsheet","2026-07-15","A collection of useful Bash aliases to boost terminal productivity.","md",null,"/knowledge-base/bash.png",{},"/knowledge-base/bash-aliases","5",{"title":5,"description":1684},{"loc":1689},"knowledge-base/bash-aliases",[1695,1696,38,1697],"Bash","Linux","Productivity","OGUP-brYKwdXWe7nFXMYRU1rB5XZcp_8gAI8l8aNwNc",[1686,1700],{"title":1701,"path":1702,"stem":1703,"children":-1},"CORS Header Selection Cheatsheet","/knowledge-base/cors","knowledge-base/cors",1784306722458]