[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"categories-en":3,"post:\u002Fpost\u002Flinux-without-rote-learning-master-the-terminal-with-logic":37},[4,11,17,24,30],{"id":5,"slug":6,"name":7,"colorHex":8,"iconName":9,"postCount":10},"0e2c1225-f78a-4c20-8c93-998ab9dc93b9","frontend","Frontend","#40484f",null,25,{"id":12,"slug":13,"name":14,"colorHex":15,"iconName":9,"postCount":16},"bc8df70e-b7fb-4d89-a80c-fd458d36d58c","code-development","Code & Development","#8b5cf6",23,{"id":18,"slug":19,"name":20,"colorHex":21,"iconName":22,"postCount":23},"550e8400-e29b-41d4-a716-446655440001","inteligencia-artificial","Artificial Intelligence","#6366f1","brain",14,{"id":25,"slug":26,"name":27,"colorHex":28,"iconName":9,"postCount":29},"ea63b69c-2eb4-4100-81f3-70ce52d33743","tech-news","Tech News","#e50606",4,{"id":31,"slug":32,"name":33,"colorHex":34,"iconName":35,"postCount":36},"550e8400-e29b-41d4-a716-446655440017","how-to-guides","How-To & Guides","#be123c","book-open",2,{"post":38,"related":1580,"translations":1599,"resolved":9},{"id":39,"slug":40,"title":41,"excerpt":42,"image":43,"featured":44,"groupId":45,"publishedAt":46,"readingTime":47,"views":48,"author":49,"category":51,"tags":52,"contentJson":59,"metaTitle":1577,"metaDescription":1578,"updatedAt":1579},"cc38e046-2bf9-4b2f-83c1-a608e85d1148","linux-without-rote-learning-master-the-terminal-with-logic","Linux without rote learning: master the terminal with logic","Master the Linux terminal by understanding its logical anatomy. From kernel to prompt, learn the core principles that make command line mastery easy.","https:\u002F\u002Fmfgiomkkbihnlpfdxwrt.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fblog-assets\u002Fmedia\u002Ffeatured\u002F1781580412954-featured-4pvpt0.webp",false,"fd4fd759-6dfe-4960-a50c-7eb202fccbb8","2026-06-18T08:29:17.090403+00:00",7,0,{"name":50,"avatar":9},"Genildo Souza",{"slug":32,"name":33,"color":34},[53,56],{"slug":54,"name":55},"bash","Bash",{"slug":57,"name":58},"developer-tools","Developer Tools",{"type":60,"content":61},"doc",[62,77,90,92,99,105,140,194,195,201,213,219,299,300,306,318,323,324,330,348,612,613,619,625,683,702,703,709,721,739,747,807,808,814,820,894,973,974,980,992,999,1000,1006,1030,1224,1225,1231,1237,1289,1301,1306,1317,1495,1502,1519,1526,1527,1533,1539,1544,1545,1551,1557,1574],{"type":63,"attrs":64,"content":66},"paragraph",{"id":65},"lx_p01",[67,70,75],{"text":68,"type":69},"The Linux terminal is intimidating at first glance: a black screen waiting for commands, no buttons, no hints. But behind this austerity lies a deeply ","text",{"text":71,"type":69,"marks":72},"logical",[73],{"type":74},"italic",{"text":76,"type":69}," — and that logic, once understood, turns what seemed like rote memorization into a mental model.",{"type":63,"attrs":78,"content":80},{"id":79},"lx_p02",[81,83,88],{"text":82,"type":69},"The thesis of this guide is straightforward: ",{"text":84,"type":69,"marks":85},"mastering Linux doesn't require memorizing hundreds of commands, but rather understanding four things — the system's anatomy, how to read the prompt context, the file tree structure, and a handful of essential commands",[86],{"type":87},"bold",{"text":89,"type":69},". This covers most of the daily administration. We'll go from the terminal to identity and permission management.",{"type":91},"horizontalRule",{"type":93,"attrs":94,"content":96},"heading",{"id":95,"level":36},"lx_h01",[97],{"text":98,"type":69},"Part 1 — Anatomy: the kernel and the distribution",{"type":63,"attrs":100,"content":102},{"id":101},"lx_p10",[103],{"text":104,"type":69},"Two concepts are often confused, but operate in different layers. Think of a car: there's the engine and there's the bodywork that surrounds it.",{"type":106,"attrs":107,"content":110},"bulletList",{"id":108,"tight":109},"lx_ul01",true,[111,126],{"type":112,"attrs":113,"content":115},"listItem",{"id":114},"lx_li101",[116],{"type":63,"attrs":117,"content":119},{"id":118},"lx_p11",[120,124],{"text":121,"type":69,"marks":122},"The Kernel (Linux)",[123],{"type":87},{"text":125,"type":69}," — the heart of the system. It is what connects programs directly to the hardware, managing memory, processes, and devices.",{"type":112,"attrs":127,"content":129},{"id":128},"lx_li102",[130],{"type":63,"attrs":131,"content":133},{"id":132},"lx_p12",[134,138],{"text":135,"type":69,"marks":136},"The Distribution (e.g.: Ubuntu)",[137],{"type":87},{"text":139,"type":69}," — the bundle of programs, graphical interface, and configurations built around the kernel. The different \"flavors\" — Ubuntu, Debian, Slackware, Red Hat, and even Android — share the same heart, changing the bodywork.",{"type":141,"attrs":142,"content":144},"compare",{"id":143},"cmp_cg6rv11o",[145,170],{"type":146,"attrs":147,"content":151},"compareColumn",{"id":148,"side":149,"title":150},"col_8fzdmlrj","left","The Kernel",[152,158,164],{"type":63,"attrs":153,"content":155},{"id":154},"p_g5d74l9j",[156],{"text":157,"type":69},"Acts as the core engine that connects programs directly to hardware",{"type":63,"attrs":159,"content":161},{"id":160},"p_2ru16epv",[162],{"text":163,"type":69},"Manages system memory, processes, and devices",{"type":63,"attrs":165,"content":167},{"id":166},"p_5ptk60kv",[168],{"text":169,"type":69},"Remains the same heart shared by every Linux flavor",{"type":146,"attrs":171,"content":175},{"id":172,"side":173,"title":174},"col_2o8k73pn","right","The Distribution",[176,182,188],{"type":63,"attrs":177,"content":179},{"id":178},"p_8d9pr1pn",[180],{"text":181,"type":69},"Serves as the bodywork built around the kernel",{"type":63,"attrs":183,"content":185},{"id":184},"p_cvz8ta08",[186],{"text":187,"type":69},"Bundles programs, graphical interface, and configurations",{"type":63,"attrs":189,"content":191},{"id":190},"p_4tjc9agh",[192],{"text":193,"type":69},"Changes between flavors such as Ubuntu, Debian, Slackware, Red Hat, and Android",{"type":91},{"type":93,"attrs":196,"content":198},{"id":197,"level":36},"lx_h02",[199],{"text":200,"type":69},"Part 2 — The terminal: reading the prompt",{"type":63,"attrs":202,"content":204},{"id":203},"lx_p20",[205,207,211],{"text":206,"type":69},"Before typing any command, the prompt already tells a story. That seemingly cryptic line — ",{"text":208,"type":69,"marks":209},"daniel@casadocodigo:~$",[210],{"type":87},{"text":212,"type":69}," — is a full context panel.",{"type":214,"attrs":215},"svgDiagram",{"id":216,"svg":217,"label":218},"lx_svg01","\u003Csvg viewBox=\"0 0 620 200\" xmlns=\"http:\u002F\u002Fwww.w3.org\u002F2000\u002Fsvg\" font-family=\"system-ui, -apple-system, sans-serif\">\u003Crect x=\"0\" y=\"0\" width=\"620\" height=\"200\" fill=\"#ffffff\"\u002F>\u003Ctext x=\"310\" y=\"34\" text-anchor=\"middle\" font-size=\"16\" font-weight=\"700\" fill=\"#0f172a\">Anatomia do prompt\u003C\u002Ftext>\u003Crect x=\"90\" y=\"78\" width=\"440\" height=\"64\" rx=\"8\" fill=\"#1e293b\" stroke=\"#94a3b8\" stroke-width=\"1.5\"\u002F>\u003Ctext x=\"120\" y=\"120\" font-family=\"ui-monospace, Menlo, monospace\" font-size=\"22\">\u003Ctspan fill=\"#e2e8f0\">daniel\u003C\u002Ftspan>\u003Ctspan fill=\"#64748b\">@\u003C\u002Ftspan>\u003Ctspan fill=\"#e2e8f0\">casadocodigo\u003C\u002Ftspan>\u003Ctspan fill=\"#64748b\">:\u003C\u002Ftspan>\u003Ctspan fill=\"#86efac\">~\u003C\u002Ftspan>\u003Ctspan fill=\"#fbbf24\">$\u003C\u002Ftspan>\u003C\u002Ftext>\u003Ctext x=\"310\" y=\"172\" text-anchor=\"middle\" font-size=\"12\" fill=\"#64748b\">usuário · @ · host · : · diretório · privilégio\u003C\u002Ftext>\u003C\u002Fsvg>","Anatomy of the prompt",{"type":106,"attrs":220,"content":222},{"id":221,"tight":109},"lx_ul02",[223,237,251,265,279],{"type":112,"attrs":224,"content":226},{"id":225},"lx_li201",[227],{"type":63,"attrs":228,"content":230},{"id":229},"lx_p21",[231,235],{"text":232,"type":69,"marks":233},"daniel",[234],{"type":87},{"text":236,"type":69}," — the user: the currently logged-in account.",{"type":112,"attrs":238,"content":240},{"id":239},"lx_li202",[241],{"type":63,"attrs":242,"content":244},{"id":243},"lx_p22",[245,249],{"text":246,"type":69,"marks":247},"@",[248],{"type":87},{"text":250,"type":69}," — separator, read as \"at\".",{"type":112,"attrs":252,"content":254},{"id":253},"lx_li203",[255],{"type":63,"attrs":256,"content":258},{"id":257},"lx_p23",[259,263],{"text":260,"type":69,"marks":261},"casadocodigo",[262],{"type":87},{"text":264,"type":69}," — the host: the server\u002Fcomputer name.",{"type":112,"attrs":266,"content":268},{"id":267},"lx_li204",[269],{"type":63,"attrs":270,"content":272},{"id":271},"lx_p24",[273,277],{"text":274,"type":69,"marks":275},"~",[276],{"type":87},{"text":278,"type":69}," — the current directory; the tilde is shorthand for the user's personal (home) folder.",{"type":112,"attrs":280,"content":282},{"id":281},"lx_li205",[283],{"type":63,"attrs":284,"content":286},{"id":285},"lx_p25",[287,291,293,297],{"text":288,"type":69,"marks":289},"$",[290],{"type":87},{"text":292,"type":69}," — the privilege: indicates a regular user. A ",{"text":294,"type":69,"marks":295},"#",[296],{"type":87},{"text":298,"type":69}," in its place would indicate administrator (root).",{"type":91},{"type":93,"attrs":301,"content":303},{"id":302,"level":36},"lx_h03",[304],{"text":305,"type":69},"Part 3 — The file tree (FHS)",{"type":63,"attrs":307,"content":309},{"id":308},"lx_p30",[310,312,316],{"text":311,"type":69},"In Linux there is no \"C:\" or \"D:\". Everything stems from a single root, the ",{"text":313,"type":69,"marks":314},"\u002F",[315],{"type":87},{"text":317,"type":69},", and branches out according to the Filesystem Hierarchy Standard (FHS). Each directory has a defined role.",{"type":214,"attrs":319},{"id":320,"svg":321,"label":322},"lx_svg02","\u003Csvg viewBox=\"0 0 680 400\" xmlns=\"http:\u002F\u002Fwww.w3.org\u002F2000\u002Fsvg\" font-family=\"system-ui, -apple-system, sans-serif\">\u003Cdefs>\u003Cmarker id=\"fhsAr\" viewBox=\"0 0 10 10\" refX=\"9\" refY=\"5\" markerWidth=\"7\" markerHeight=\"7\" orient=\"auto-start-reverse\">\u003Cpath d=\"M 0 1 L 9 5 L 0 9 z\" fill=\"#64748b\"\u002F>\u003C\u002Fmarker>\u003C\u002Fdefs>\u003Crect x=\"0\" y=\"0\" width=\"680\" height=\"400\" fill=\"#ffffff\"\u002F>\u003Ctext x=\"340\" y=\"30\" text-anchor=\"middle\" font-size=\"16\" font-weight=\"700\" fill=\"#0f172a\">A árvore de arquivos (FHS)\u003C\u002Ftext>\u003Crect x=\"36\" y=\"190\" width=\"72\" height=\"44\" rx=\"8\" fill=\"#f5f3ff\" stroke=\"#7c3aed\" stroke-width=\"1.5\"\u002F>\u003Ctext x=\"72\" y=\"218\" text-anchor=\"middle\" dominant-baseline=\"central\" font-family=\"ui-monospace, monospace\" font-size=\"18\" font-weight=\"700\" fill=\"#4c1d95\">\u002F\u003C\u002Ftext>\u003Cpath d=\"M 108 212 L 130 212 L 130 110 L 148 110\" fill=\"none\" stroke=\"#64748b\" stroke-width=\"1.5\" marker-end=\"url(#fhsAr)\"\u002F>\u003Cpath d=\"M 108 212 L 148 212\" fill=\"none\" stroke=\"#64748b\" stroke-width=\"1.5\" marker-end=\"url(#fhsAr)\"\u002F>\u003Cpath d=\"M 108 212 L 130 212 L 130 318 L 148 318\" fill=\"none\" stroke=\"#64748b\" stroke-width=\"1.5\" marker-end=\"url(#fhsAr)\"\u002F>\u003Crect x=\"150\" y=\"62\" width=\"510\" height=\"96\" rx=\"8\" fill=\"#fdf2f8\" stroke=\"#f0d4e6\" stroke-width=\"1\"\u002F>\u003Ctext x=\"166\" y=\"82\" font-size=\"12\" font-weight=\"600\" fill=\"#9d174d\">[ Core do sistema ]\u003C\u002Ftext>\u003Crect x=\"180\" y=\"98\" width=\"150\" height=\"44\" rx=\"8\" fill=\"#ffffff\" stroke=\"#94a3b8\" stroke-width=\"1.5\"\u002F>\u003Ctext x=\"255\" y=\"116\" text-anchor=\"middle\" font-family=\"ui-monospace, monospace\" font-size=\"14\" font-weight=\"600\" fill=\"#1e293b\">\u002Fbin\u003C\u002Ftext>\u003Ctext x=\"255\" y=\"132\" text-anchor=\"middle\" font-size=\"11\" fill=\"#64748b\">binários essenciais\u003C\u002Ftext>\u003Crect x=\"350\" y=\"98\" width=\"150\" height=\"44\" rx=\"8\" fill=\"#ffffff\" stroke=\"#94a3b8\" stroke-width=\"1.5\"\u002F>\u003Ctext x=\"425\" y=\"116\" text-anchor=\"middle\" font-family=\"ui-monospace, monospace\" font-size=\"14\" font-weight=\"600\" fill=\"#1e293b\">\u002Fboot\u003C\u002Ftext>\u003Ctext x=\"425\" y=\"132\" text-anchor=\"middle\" font-size=\"11\" fill=\"#64748b\">inicialização e boot\u003C\u002Ftext>\u003Crect x=\"520\" y=\"98\" width=\"120\" height=\"44\" rx=\"8\" fill=\"#ffffff\" stroke=\"#94a3b8\" stroke-width=\"1.5\"\u002F>\u003Ctext x=\"580\" y=\"116\" text-anchor=\"middle\" font-family=\"ui-monospace, monospace\" font-size=\"14\" font-weight=\"600\" fill=\"#1e293b\">\u002Fsbin\u003C\u002Ftext>\u003Ctext x=\"580\" y=\"132\" text-anchor=\"middle\" font-size=\"11\" fill=\"#64748b\">admin (root)\u003C\u002Ftext>\u003Crect x=\"150\" y=\"166\" width=\"510\" height=\"96\" rx=\"8\" fill=\"#f5f3ff\" stroke=\"#ddd6fe\" stroke-width=\"1\"\u002F>\u003Ctext x=\"166\" y=\"186\" font-size=\"12\" font-weight=\"600\" fill=\"#5b21b6\">[ Estrutura e dispositivos ]\u003C\u002Ftext>\u003Crect x=\"180\" y=\"202\" width=\"150\" height=\"44\" rx=\"8\" fill=\"#ffffff\" stroke=\"#94a3b8\" stroke-width=\"1.5\"\u002F>\u003Ctext x=\"255\" y=\"220\" text-anchor=\"middle\" font-family=\"ui-monospace, monospace\" font-size=\"14\" font-weight=\"600\" fill=\"#1e293b\">\u002Fdev\u003C\u002Ftext>\u003Ctext x=\"255\" y=\"236\" text-anchor=\"middle\" font-size=\"11\" fill=\"#64748b\">dispositivos de hw\u003C\u002Ftext>\u003Crect x=\"350\" y=\"202\" width=\"150\" height=\"44\" rx=\"8\" fill=\"#ffffff\" stroke=\"#94a3b8\" stroke-width=\"1.5\"\u002F>\u003Ctext x=\"425\" y=\"220\" text-anchor=\"middle\" font-family=\"ui-monospace, monospace\" font-size=\"14\" font-weight=\"600\" fill=\"#1e293b\">\u002Fetc\u003C\u002Ftext>\u003Ctext x=\"425\" y=\"236\" text-anchor=\"middle\" font-size=\"11\" fill=\"#64748b\">configuração do sistema\u003C\u002Ftext>\u003Crect x=\"520\" y=\"202\" width=\"120\" height=\"44\" rx=\"8\" fill=\"#ffffff\" stroke=\"#94a3b8\" stroke-width=\"1.5\"\u002F>\u003Ctext x=\"580\" y=\"220\" text-anchor=\"middle\" font-family=\"ui-monospace, monospace\" font-size=\"14\" font-weight=\"600\" fill=\"#1e293b\">\u002Fmnt\u003C\u002Ftext>\u003Ctext x=\"580\" y=\"236\" text-anchor=\"middle\" font-size=\"11\" fill=\"#64748b\">montagem\u003C\u002Ftext>\u003Crect x=\"150\" y=\"270\" width=\"510\" height=\"96\" rx=\"8\" fill=\"#ecfeff\" stroke=\"#cffafe\" stroke-width=\"1\"\u002F>\u003Ctext x=\"166\" y=\"290\" font-size=\"12\" font-weight=\"600\" fill=\"#155e75\">[ Dados e usuários ]\u003C\u002Ftext>\u003Crect x=\"180\" y=\"306\" width=\"150\" height=\"44\" rx=\"8\" fill=\"#ffffff\" stroke=\"#94a3b8\" stroke-width=\"1.5\"\u002F>\u003Ctext x=\"255\" y=\"324\" text-anchor=\"middle\" font-family=\"ui-monospace, monospace\" font-size=\"14\" font-weight=\"600\" fill=\"#1e293b\">\u002Fhome\u003C\u002Ftext>\u003Ctext x=\"255\" y=\"340\" text-anchor=\"middle\" font-size=\"11\" fill=\"#64748b\">pastas dos usuários\u003C\u002Ftext>\u003Crect x=\"350\" y=\"306\" width=\"150\" height=\"44\" rx=\"8\" fill=\"#ffffff\" stroke=\"#94a3b8\" stroke-width=\"1.5\"\u002F>\u003Ctext x=\"425\" y=\"324\" text-anchor=\"middle\" font-family=\"ui-monospace, monospace\" font-size=\"14\" font-weight=\"600\" fill=\"#1e293b\">\u002Fvar\u003C\u002Ftext>\u003Ctext x=\"425\" y=\"340\" text-anchor=\"middle\" font-size=\"11\" fill=\"#64748b\">logs e dados variáveis\u003C\u002Ftext>\u003Crect x=\"520\" y=\"306\" width=\"120\" height=\"44\" rx=\"8\" fill=\"#ffffff\" stroke=\"#94a3b8\" stroke-width=\"1.5\"\u002F>\u003Ctext x=\"580\" y=\"324\" text-anchor=\"middle\" font-family=\"ui-monospace, monospace\" font-size=\"14\" font-weight=\"600\" fill=\"#1e293b\">\u002Ftmp\u003C\u002Ftext>\u003Ctext x=\"580\" y=\"340\" text-anchor=\"middle\" font-size=\"11\" fill=\"#64748b\">temporários\u003C\u002Ftext>\u003C\u002Fsvg>","The file tree (FHS)",{"type":91},{"type":93,"attrs":325,"content":327},{"id":326,"level":36},"lx_h04",[328],{"text":329,"type":69},"Part 4 — The survival kit in the terminal",{"type":63,"attrs":331,"content":333},{"id":332},"lx_p40",[334,336,340,342,346],{"text":335,"type":69},"Daily commands fall into two families: ",{"text":337,"type":69,"marks":338},"navigation",[339],{"type":87},{"text":341,"type":69}," (moving through the tree) and ",{"text":343,"type":69,"marks":344},"manipulation",[345],{"type":87},{"text":347,"type":69}," (action on files and folders).",{"type":349,"attrs":350,"content":352},"table",{"id":351},"lx_tbl01",[353,385,415,443,471,500,528,556,584],{"type":354,"content":355},"tableRow",[356,367,376],{"type":357,"attrs":358,"content":360},"tableHeader",{"align":9,"colspan":359,"rowspan":359,"colwidth":9},1,[361],{"type":63,"attrs":362,"content":364},{"id":363},"lx_th11",[365],{"text":366,"type":69},"Command",{"type":357,"attrs":368,"content":369},{"align":9,"colspan":359,"rowspan":359,"colwidth":9},[370],{"type":63,"attrs":371,"content":373},{"id":372},"lx_th12",[374],{"text":375,"type":69},"Family",{"type":357,"attrs":377,"content":378},{"align":9,"colspan":359,"rowspan":359,"colwidth":9},[379],{"type":63,"attrs":380,"content":382},{"id":381},"lx_th13",[383],{"text":384,"type":69},"What it does",{"type":354,"content":386},[387,397,406],{"type":388,"attrs":389,"content":390},"tableCell",{"align":9,"colspan":359,"rowspan":359,"colwidth":9},[391],{"type":63,"attrs":392,"content":394},{"id":393},"lx_tc111",[395],{"text":396,"type":69},"pwd",{"type":388,"attrs":398,"content":399},{"align":9,"colspan":359,"rowspan":359,"colwidth":9},[400],{"type":63,"attrs":401,"content":403},{"id":402},"lx_tc112",[404],{"text":405,"type":69},"Navigation",{"type":388,"attrs":407,"content":408},{"align":9,"colspan":359,"rowspan":359,"colwidth":9},[409],{"type":63,"attrs":410,"content":412},{"id":411},"lx_tc113",[413],{"text":414,"type":69},"Shows the current absolute path (print working directory).",{"type":354,"content":416},[417,426,434],{"type":388,"attrs":418,"content":419},{"align":9,"colspan":359,"rowspan":359,"colwidth":9},[420],{"type":63,"attrs":421,"content":423},{"id":422},"lx_tc121",[424],{"text":425,"type":69},"cd [caminho]",{"type":388,"attrs":427,"content":428},{"align":9,"colspan":359,"rowspan":359,"colwidth":9},[429],{"type":63,"attrs":430,"content":432},{"id":431},"lx_tc122",[433],{"text":405,"type":69},{"type":388,"attrs":435,"content":436},{"align":9,"colspan":359,"rowspan":359,"colwidth":9},[437],{"type":63,"attrs":438,"content":440},{"id":439},"lx_tc123",[441],{"text":442,"type":69},"Enters a directory (cd ~ goes to home, cd .. goes up one level).",{"type":354,"content":444},[445,454,462],{"type":388,"attrs":446,"content":447},{"align":9,"colspan":359,"rowspan":359,"colwidth":9},[448],{"type":63,"attrs":449,"content":451},{"id":450},"lx_tc131",[452],{"text":453,"type":69},"ls",{"type":388,"attrs":455,"content":456},{"align":9,"colspan":359,"rowspan":359,"colwidth":9},[457],{"type":63,"attrs":458,"content":460},{"id":459},"lx_tc132",[461],{"text":405,"type":69},{"type":388,"attrs":463,"content":464},{"align":9,"colspan":359,"rowspan":359,"colwidth":9},[465],{"type":63,"attrs":466,"content":468},{"id":467},"lx_tc133",[469],{"text":470,"type":69},"Lists the contents (ls -l detailed, ls -a shows hidden files).",{"type":354,"content":472},[473,482,491],{"type":388,"attrs":474,"content":475},{"align":9,"colspan":359,"rowspan":359,"colwidth":9},[476],{"type":63,"attrs":477,"content":479},{"id":478},"lx_tc141",[480],{"text":481,"type":69},"mkdir [nome]",{"type":388,"attrs":483,"content":484},{"align":9,"colspan":359,"rowspan":359,"colwidth":9},[485],{"type":63,"attrs":486,"content":488},{"id":487},"lx_tc142",[489],{"text":490,"type":69},"Manipulation",{"type":388,"attrs":492,"content":493},{"align":9,"colspan":359,"rowspan":359,"colwidth":9},[494],{"type":63,"attrs":495,"content":497},{"id":496},"lx_tc143",[498],{"text":499,"type":69},"Creates a new empty directory.",{"type":354,"content":501},[502,511,519],{"type":388,"attrs":503,"content":504},{"align":9,"colspan":359,"rowspan":359,"colwidth":9},[505],{"type":63,"attrs":506,"content":508},{"id":507},"lx_tc151",[509],{"text":510,"type":69},"touch [arquivo]",{"type":388,"attrs":512,"content":513},{"align":9,"colspan":359,"rowspan":359,"colwidth":9},[514],{"type":63,"attrs":515,"content":517},{"id":516},"lx_tc152",[518],{"text":490,"type":69},{"type":388,"attrs":520,"content":521},{"align":9,"colspan":359,"rowspan":359,"colwidth":9},[522],{"type":63,"attrs":523,"content":525},{"id":524},"lx_tc153",[526],{"text":527,"type":69},"Creates a blank file.",{"type":354,"content":529},[530,539,547],{"type":388,"attrs":531,"content":532},{"align":9,"colspan":359,"rowspan":359,"colwidth":9},[533],{"type":63,"attrs":534,"content":536},{"id":535},"lx_tc161",[537],{"text":538,"type":69},"cp [orig] [dest]",{"type":388,"attrs":540,"content":541},{"align":9,"colspan":359,"rowspan":359,"colwidth":9},[542],{"type":63,"attrs":543,"content":545},{"id":544},"lx_tc162",[546],{"text":490,"type":69},{"type":388,"attrs":548,"content":549},{"align":9,"colspan":359,"rowspan":359,"colwidth":9},[550],{"type":63,"attrs":551,"content":553},{"id":552},"lx_tc163",[554],{"text":555,"type":69},"Copies a file while keeping the original.",{"type":354,"content":557},[558,567,575],{"type":388,"attrs":559,"content":560},{"align":9,"colspan":359,"rowspan":359,"colwidth":9},[561],{"type":63,"attrs":562,"content":564},{"id":563},"lx_tc171",[565],{"text":566,"type":69},"mv [orig] [dest]",{"type":388,"attrs":568,"content":569},{"align":9,"colspan":359,"rowspan":359,"colwidth":9},[570],{"type":63,"attrs":571,"content":573},{"id":572},"lx_tc172",[574],{"text":490,"type":69},{"type":388,"attrs":576,"content":577},{"align":9,"colspan":359,"rowspan":359,"colwidth":9},[578],{"type":63,"attrs":579,"content":581},{"id":580},"lx_tc173",[582],{"text":583,"type":69},"Moves or renames a file.",{"type":354,"content":585},[586,595,603],{"type":388,"attrs":587,"content":588},{"align":9,"colspan":359,"rowspan":359,"colwidth":9},[589],{"type":63,"attrs":590,"content":592},{"id":591},"lx_tc181",[593],{"text":594,"type":69},"rm [arquivo]",{"type":388,"attrs":596,"content":597},{"align":9,"colspan":359,"rowspan":359,"colwidth":9},[598],{"type":63,"attrs":599,"content":601},{"id":600},"lx_tc182",[602],{"text":490,"type":69},{"type":388,"attrs":604,"content":605},{"align":9,"colspan":359,"rowspan":359,"colwidth":9},[606],{"type":63,"attrs":607,"content":609},{"id":608},"lx_tc183",[610],{"text":611,"type":69},"Removes files (-r to remove directories). No confirmation — careful.",{"type":91},{"type":93,"attrs":614,"content":616},{"id":615,"level":36},"lx_h05",[617],{"text":618,"type":69},"Part 5 — The oracle: how to ask for help",{"type":63,"attrs":620,"content":622},{"id":621},"lx_p50",[623],{"text":624,"type":69},"Nobody memorizes everything. Linux comes with built-in documentation, in three levels of increasing depth:",{"type":626,"attrs":627,"content":629},"orderedList",{"id":628,"type":9,"start":359,"tight":109},"lx_ol01",[630,644,658],{"type":112,"attrs":631,"content":633},{"id":632},"lx_li501",[634],{"type":63,"attrs":635,"content":637},{"id":636},"lx_p51",[638,642],{"text":639,"type":69,"marks":640},"whatis [comando]",[641],{"type":87},{"text":643,"type":69}," — the quick tip: a one-line description of what the command does.",{"type":112,"attrs":645,"content":647},{"id":646},"lx_li502",[648],{"type":63,"attrs":649,"content":651},{"id":650},"lx_p52",[652,656],{"text":653,"type":69,"marks":654},"[comando] --help",[655],{"type":87},{"text":657,"type":69}," (or -h) — the summary: displays the options and usage directly on the screen.",{"type":112,"attrs":659,"content":661},{"id":660},"lx_li503",[662],{"type":63,"attrs":663,"content":665},{"id":664},"lx_p53",[666,670,672,675,677,681],{"text":667,"type":69,"marks":668},"man [comando]",[669],{"type":87},{"text":671,"type":69}," — the complete official manual (man pages). Inside it: ",{"text":313,"type":69,"marks":673},[674],{"type":87},{"text":676,"type":69}," searches for text and ",{"text":678,"type":69,"marks":679},"q",[680],{"type":87},{"text":682,"type":69}," exits.",{"type":684,"attrs":685},"speedCards",{"id":686,"cards":687,"title":700,"caption":701},"speed_r6xbb6a4",[688,692,696],{"label":689,"value":690,"detail":691},"Quick tip","whatis","Returns a one-line description of what the command does.",{"label":693,"value":694,"detail":695},"Summary","--help","Prints available options and usage syntax directly on the screen.",{"label":697,"value":698,"detail":699},"Full manual","man","Opens the interactive official manual with detailed examples; press \u002F to search and q to exit.","Built-in help levels","Three tiers of terminal documentation, from instant answers to exhaustive detail.",{"type":91},{"type":93,"attrs":704,"content":706},{"id":705,"level":36},"lx_h06",[707],{"text":708,"type":69},"Part 6 — The tracker: locating files with find",{"type":63,"attrs":710,"content":712},{"id":711},"lx_p60",[713,715,719],{"text":714,"type":69},"The command ",{"text":716,"type":69,"marks":717},"find",[718],{"type":87},{"text":720,"type":69}," combines three parts — where to search, what to search for, and what to do:",{"type":684,"attrs":722},{"id":723,"cards":724,"title":737,"caption":738},"speed_aoi7bot0",[725,729,733],{"label":726,"value":727,"detail":728},"Where to search","[path]","Indica o ponto inicial da busca. O trecho usa . para buscar a partir do diretório atual.",{"label":730,"value":731,"detail":732},"What to search for","[expression]","Aplica filtros como -name pelo nome do arquivo, -user pelo dono ou -atime para itens acessados há mais de 1 dia.",{"label":734,"value":735,"detail":736},"What to do","[action]","Determina a ação sobre os resultados. -print exibe os arquivos na tela e é o comportamento padrão.","Anatomy of the find command","The find command follows the structure find + [path] + [expression] + [action] to locate files.",{"type":740,"attrs":741,"content":744},"codeBlock",{"id":742,"language":54,"highlighted":743},"lx_code01","\u003Cpre class=\"shiki shiki-themes github-light github-dark\" style=\"--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e\" tabindex=\"0\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#6A737D;--shiki-dark:#6A737D\"># find + [caminho] + [expressão] + [ação]\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#6F42C1;--shiki-dark:#B392F0\">find\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#24292E;--shiki-dark:#E1E4E8\"> . -name \"*.bash*\"\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#6F42C1;--shiki-dark:#B392F0\">#\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#24292E;--shiki-dark:#E1E4E8\"> busca a partir do diretório atual qualquer arquivo\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#6F42C1;--shiki-dark:#B392F0\">#\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#24292E;--shiki-dark:#E1E4E8\"> que contenha 'bash' no nome\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>",[745],{"text":746,"type":69},"# find + [caminho] + [expressão] + [ação]\nfind . -name \"*.bash*\"\n# busca a partir do diretório atual qualquer arquivo\n# que contenha 'bash' no nome\n",{"type":106,"attrs":748,"content":750},{"id":749,"tight":109},"lx_ul03",[751,765,779,793],{"type":112,"attrs":752,"content":754},{"id":753},"lx_li601",[755],{"type":63,"attrs":756,"content":758},{"id":757},"lx_p61",[759,763],{"text":760,"type":69,"marks":761},"-name \"*.bash*\"",[762],{"type":87},{"text":764,"type":69}," — filters by file name.",{"type":112,"attrs":766,"content":768},{"id":767},"lx_li602",[769],{"type":63,"attrs":770,"content":772},{"id":771},"lx_p62",[773,777],{"text":774,"type":69,"marks":775},"-user daniel",[776],{"type":87},{"text":778,"type":69}," — filters by file owner.",{"type":112,"attrs":780,"content":782},{"id":781},"lx_li603",[783],{"type":63,"attrs":784,"content":786},{"id":785},"lx_p63",[787,791],{"text":788,"type":69,"marks":789},"-atime +1",[790],{"type":87},{"text":792,"type":69}," — accessed more than 1 day ago.",{"type":112,"attrs":794,"content":796},{"id":795},"lx_li604",[797],{"type":63,"attrs":798,"content":800},{"id":799},"lx_p64",[801,805],{"text":802,"type":69,"marks":803},"-print",[804],{"type":87},{"text":806,"type":69}," — displays the results on screen (default action).",{"type":91},{"type":93,"attrs":809,"content":811},{"id":810,"level":36},"lx_h07",[812],{"text":813,"type":69},"Part 7 — The editor duel: Vim vs Nano",{"type":63,"attrs":815,"content":817},{"id":816},"lx_p70",[818],{"text":819,"type":69},"Editing text in the terminal requires choosing between two opposing philosophies.",{"type":141,"attrs":821,"content":823},{"id":822},"cmp_123drk3d",[824,859],{"type":146,"attrs":825,"content":828},{"id":826,"side":149,"title":827},"col_7m9o5xfi","Vim",[829,835,841,847,853],{"type":63,"attrs":830,"content":832},{"id":831},"p_cijn1rof",[833],{"text":834,"type":69},"Powerful and complex: philosophy based on operation modes (visual and insert)",{"type":63,"attrs":836,"content":838},{"id":837},"p_ywn3kx9g",[839],{"text":840,"type":69},"i enters insert mode; Esc returns to visual mode",{"type":63,"attrs":842,"content":844},{"id":843},"p_9igacskc",[845],{"text":846,"type":69},":w saves the file; :q quits the editor",{"type":63,"attrs":848,"content":850},{"id":849},"p_v2e17mj0",[851],{"text":852,"type":69},"Keyboard navigation with the hjkl keys",{"type":63,"attrs":854,"content":856},{"id":855},"p_bm14e4p3",[857],{"text":858,"type":69},"Steep learning curve due to mode separation",{"type":146,"attrs":860,"content":863},{"id":861,"side":173,"title":862},"col_zsakxghn","Nano",[864,870,876,882,888],{"type":63,"attrs":865,"content":867},{"id":866},"p_bk830wcq",[868],{"text":869,"type":69},"Intuitive and friendly: philosophy of direct shortcuts displayed at the bottom of the screen",{"type":63,"attrs":871,"content":873},{"id":872},"p_brwxvkgw",[874],{"text":875,"type":69},"Fluid interface that allows editing without switching between operation modes",{"type":63,"attrs":877,"content":879},{"id":878},"p_lexu59u8",[880],{"text":881,"type":69},"Ctrl+O (^O) saves (WriteOut); Ctrl+X (^X) exits the editor",{"type":63,"attrs":883,"content":885},{"id":884},"p_du412q6j",[886],{"text":887,"type":69},"Ctrl+W (^W) searches for a word in the text (Where Is)",{"type":63,"attrs":889,"content":891},{"id":890},"p_ph5fjnpg",[892],{"text":893,"type":69},"Low barrier to entry: visible commands and immediate access",{"type":106,"attrs":895,"content":897},{"id":896,"tight":44},"lx_ul04",[898,942],{"type":112,"attrs":899,"content":901},{"id":900},"lx_li701",[902],{"type":63,"attrs":903,"content":905},{"id":904},"lx_p71",[906,910,912,916,918,922,924,928,930,934,936,940],{"text":907,"type":69,"marks":908},"Vim (powerful and complex)",[909],{"type":87},{"text":911,"type":69}," — based on modes (visual vs. insert). ",{"text":913,"type":69,"marks":914},"i",[915],{"type":87},{"text":917,"type":69}," enters insert mode, ",{"text":919,"type":69,"marks":920},"Esc",[921],{"type":87},{"text":923,"type":69}," returns to visual, ",{"text":925,"type":69,"marks":926},":w",[927],{"type":87},{"text":929,"type":69}," saves, ",{"text":931,"type":69,"marks":932},":q",[933],{"type":87},{"text":935,"type":69}," exits and ",{"text":937,"type":69,"marks":938},"hjkl",[939],{"type":87},{"text":941,"type":69}," moves the cursor using the keyboard.",{"type":112,"attrs":943,"content":945},{"id":944},"lx_li702",[946],{"type":63,"attrs":947,"content":949},{"id":948},"lx_p72",[950,954,956,960,962,966,967,971],{"text":951,"type":69,"marks":952},"Nano (intuitive and friendly)",[953],{"type":87},{"text":955,"type":69}," — fluid interface with the shortcut menu always visible at the bottom. ",{"text":957,"type":69,"marks":958},"^O",[959],{"type":87},{"text":961,"type":69}," saves (WriteOut), ",{"text":963,"type":69,"marks":964},"^X",[965],{"type":87},{"text":935,"type":69},{"text":968,"type":69,"marks":969},"^W",[970],{"type":87},{"text":972,"type":69}," searches for a word (Where Is). The caret represents the Ctrl key.",{"type":91},{"type":93,"attrs":975,"content":977},{"id":976,"level":36},"lx_h08",[978],{"text":979,"type":69},"Part 8 — Dissecting texts: cat, head and tail",{"type":63,"attrs":981,"content":983},{"id":982},"lx_p80",[984,986,990],{"text":985,"type":69},"To read and combine files without opening an editor, three commands handle most cases. The operator ",{"text":987,"type":69,"marks":988},">",[989],{"type":87},{"text":991,"type":69}," redirects the output to a new file.",{"type":740,"attrs":993,"content":996},{"id":994,"language":54,"highlighted":995},"lx_code02","\u003Cpre class=\"shiki shiki-themes github-light github-dark\" style=\"--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e\" tabindex=\"0\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#6A737D;--shiki-dark:#6A737D\"># fusão: lê vários arquivos e grava a saída num novo\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#6F42C1;--shiki-dark:#B392F0\">cat\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#24292E;--shiki-dark:#E1E4E8\"> vim_basico.txt agenda > concatenando.txt\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#6F42C1;--shiki-dark:#B392F0\">#\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#24292E;--shiki-dark:#E1E4E8\"> topo: exibe o início do arquivo\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#6F42C1;--shiki-dark:#B392F0\">head\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#24292E;--shiki-dark:#E1E4E8\"> -n 3 concatenando.txt\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#6F42C1;--shiki-dark:#B392F0\">#\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#24292E;--shiki-dark:#E1E4E8\"> fundo: exibe o final do arquivo\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#6F42C1;--shiki-dark:#B392F0\">tail\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#24292E;--shiki-dark:#E1E4E8\"> -n 5 concatenando.txt\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>",[997],{"text":998,"type":69},"# fusão: lê vários arquivos e grava a saída num novo\ncat vim_basico.txt agenda > concatenando.txt\n\n# topo: exibe o início do arquivo\nhead -n 3 concatenando.txt\n\n# fundo: exibe o final do arquivo\ntail -n 5 concatenando.txt\n",{"type":91},{"type":93,"attrs":1001,"content":1003},{"id":1002,"level":36},"lx_h09",[1004],{"text":1005,"type":69},"Part 9 — Packaging and compression",{"type":63,"attrs":1007,"content":1009},{"id":1008},"lx_p90",[1010,1012,1016,1018,1022,1024,1028],{"text":1011,"type":69},"There's an important distinction: ",{"text":1013,"type":69,"marks":1014},"packaging",[1015],{"type":74},{"text":1017,"type":69}," (grouping several files into one) is different from ",{"text":1019,"type":69,"marks":1020},"compressing",[1021],{"type":74},{"text":1023,"type":69}," (reducing the size). The ",{"text":1025,"type":69,"marks":1026},"tar",[1027],{"type":87},{"text":1029,"type":69}," groups them; the flags add compression.",{"type":349,"attrs":1031,"content":1033},{"id":1032},"lx_tbl02",[1034,1072,1110,1148,1186],{"type":354,"content":1035},[1036,1045,1054,1063],{"type":357,"attrs":1037,"content":1038},{"align":9,"colspan":359,"rowspan":359,"colwidth":9},[1039],{"type":63,"attrs":1040,"content":1042},{"id":1041},"lx_th21",[1043],{"text":1044,"type":69},"Format",{"type":357,"attrs":1046,"content":1047},{"align":9,"colspan":359,"rowspan":359,"colwidth":9},[1048],{"type":63,"attrs":1049,"content":1051},{"id":1050},"lx_th22",[1052],{"text":1053,"type":69},"Action",{"type":357,"attrs":1055,"content":1056},{"align":9,"colspan":359,"rowspan":359,"colwidth":9},[1057],{"type":63,"attrs":1058,"content":1060},{"id":1059},"lx_th23",[1061],{"text":1062,"type":69},"Create",{"type":357,"attrs":1064,"content":1065},{"align":9,"colspan":359,"rowspan":359,"colwidth":9},[1066],{"type":63,"attrs":1067,"content":1069},{"id":1068},"lx_th24",[1070],{"text":1071,"type":69},"Extract",{"type":354,"content":1073},[1074,1083,1092,1101],{"type":388,"attrs":1075,"content":1076},{"align":9,"colspan":359,"rowspan":359,"colwidth":9},[1077],{"type":63,"attrs":1078,"content":1080},{"id":1079},"lx_tc211",[1081],{"text":1082,"type":69},".tar (the package)",{"type":388,"attrs":1084,"content":1085},{"align":9,"colspan":359,"rowspan":359,"colwidth":9},[1086],{"type":63,"attrs":1087,"content":1089},{"id":1088},"lx_tc212",[1090],{"text":1091,"type":69},"Groups, without compression.",{"type":388,"attrs":1093,"content":1094},{"align":9,"colspan":359,"rowspan":359,"colwidth":9},[1095],{"type":63,"attrs":1096,"content":1098},{"id":1097},"lx_tc213",[1099],{"text":1100,"type":69},"tar -cvf backup.tar *.txt",{"type":388,"attrs":1102,"content":1103},{"align":9,"colspan":359,"rowspan":359,"colwidth":9},[1104],{"type":63,"attrs":1105,"content":1107},{"id":1106},"lx_tc214",[1108],{"text":1109,"type":69},"tar -xvf backup.tar",{"type":354,"content":1111},[1112,1121,1130,1139],{"type":388,"attrs":1113,"content":1114},{"align":9,"colspan":359,"rowspan":359,"colwidth":9},[1115],{"type":63,"attrs":1116,"content":1118},{"id":1117},"lx_tc221",[1119],{"text":1120,"type":69},".tar.gz (the standard)",{"type":388,"attrs":1122,"content":1123},{"align":9,"colspan":359,"rowspan":359,"colwidth":9},[1124],{"type":63,"attrs":1125,"content":1127},{"id":1126},"lx_tc222",[1128],{"text":1129,"type":69},"Groups and compresses (fast, efficient).",{"type":388,"attrs":1131,"content":1132},{"align":9,"colspan":359,"rowspan":359,"colwidth":9},[1133],{"type":63,"attrs":1134,"content":1136},{"id":1135},"lx_tc223",[1137],{"text":1138,"type":69},"tar -zcvf backup.tar.gz *.txt",{"type":388,"attrs":1140,"content":1141},{"align":9,"colspan":359,"rowspan":359,"colwidth":9},[1142],{"type":63,"attrs":1143,"content":1145},{"id":1144},"lx_tc224",[1146],{"text":1147,"type":69},"tar -zxvf backup.tar.gz",{"type":354,"content":1149},[1150,1159,1168,1177],{"type":388,"attrs":1151,"content":1152},{"align":9,"colspan":359,"rowspan":359,"colwidth":9},[1153],{"type":63,"attrs":1154,"content":1156},{"id":1155},"lx_tc231",[1157],{"text":1158,"type":69},".tar.bz2 (the dense one)",{"type":388,"attrs":1160,"content":1161},{"align":9,"colspan":359,"rowspan":359,"colwidth":9},[1162],{"type":63,"attrs":1163,"content":1165},{"id":1164},"lx_tc232",[1166],{"text":1167,"type":69},"Compresses to the maximum (slow, smaller).",{"type":388,"attrs":1169,"content":1170},{"align":9,"colspan":359,"rowspan":359,"colwidth":9},[1171],{"type":63,"attrs":1172,"content":1174},{"id":1173},"lx_tc233",[1175],{"text":1176,"type":69},"tar -jcvf backup.tar.bz2 *.txt",{"type":388,"attrs":1178,"content":1179},{"align":9,"colspan":359,"rowspan":359,"colwidth":9},[1180],{"type":63,"attrs":1181,"content":1183},{"id":1182},"lx_tc234",[1184],{"text":1185,"type":69},"tar -jxvf backup.tar.bz2",{"type":354,"content":1187},[1188,1197,1206,1215],{"type":388,"attrs":1189,"content":1190},{"align":9,"colspan":359,"rowspan":359,"colwidth":9},[1191],{"type":63,"attrs":1192,"content":1194},{"id":1193},"lx_tc241",[1195],{"text":1196,"type":69},".zip (the universal)",{"type":388,"attrs":1198,"content":1199},{"align":9,"colspan":359,"rowspan":359,"colwidth":9},[1200],{"type":63,"attrs":1201,"content":1203},{"id":1202},"lx_tc242",[1204],{"text":1205,"type":69},"Cross-platform standard.",{"type":388,"attrs":1207,"content":1208},{"align":9,"colspan":359,"rowspan":359,"colwidth":9},[1209],{"type":63,"attrs":1210,"content":1212},{"id":1211},"lx_tc243",[1213],{"text":1214,"type":69},"zip backup.zip *.txt",{"type":388,"attrs":1216,"content":1217},{"align":9,"colspan":359,"rowspan":359,"colwidth":9},[1218],{"type":63,"attrs":1219,"content":1221},{"id":1220},"lx_tc244",[1222],{"text":1223,"type":69},"unzip backup.zip",{"type":91},{"type":93,"attrs":1226,"content":1228},{"id":1227,"level":36},"lx_h10",[1229],{"text":1230,"type":69},"Part 10 — Users, Permissions, and Privileges",{"type":63,"attrs":1232,"content":1234},{"id":1233},"lx_p100",[1235],{"text":1236,"type":69},"Linux organizes power in a three-level pyramid:",{"type":106,"attrs":1238,"content":1240},{"id":1239,"tight":109},"lx_ul05",[1241,1261,1275],{"type":112,"attrs":1242,"content":1244},{"id":1243},"lx_li1001",[1245],{"type":63,"attrs":1246,"content":1248},{"id":1247},"lx_p101",[1249,1253,1255,1259],{"text":1250,"type":69,"marks":1251},"Administrator \u002F root",[1252],{"type":87},{"text":1254,"type":69}," — absolute privilege, controls the entire system. Regular users invoke this power temporarily with ",{"text":1256,"type":69,"marks":1257},"sudo",[1258],{"type":87},{"text":1260,"type":69}," (requires password).",{"type":112,"attrs":1262,"content":1264},{"id":1263},"lx_li1002",[1265],{"type":63,"attrs":1266,"content":1268},{"id":1267},"lx_p102",[1269,1273],{"text":1270,"type":69,"marks":1271},"System users",[1272],{"type":87},{"text":1274,"type":69}," — do not perform interactive login; they exist to manage background services (e.g.: www-data for Apache).",{"type":112,"attrs":1276,"content":1278},{"id":1277},"lx_li1003",[1279],{"type":63,"attrs":1280,"content":1282},{"id":1281},"lx_p103",[1283,1287],{"text":1284,"type":69,"marks":1285},"Regular users",[1286],{"type":87},{"text":1288,"type":69}," — restricted access; they browse and edit their files in \u002Fhome, but do not modify the system.",{"type":63,"attrs":1290,"content":1292},{"id":1291},"lx_p104",[1293,1295,1299],{"text":1294,"type":69},"This power materializes in the permissions, visible in ",{"text":1296,"type":69,"marks":1297},"ls -l",[1298],{"type":87},{"text":1300,"type":69},". The 10-character string breaks down like this:",{"type":214,"attrs":1302},{"id":1303,"svg":1304,"label":1305},"lx_svg03","\u003Csvg viewBox=\"0 0 680 250\" xmlns=\"http:\u002F\u002Fwww.w3.org\u002F2000\u002Fsvg\" font-family=\"system-ui, -apple-system, sans-serif\">\u003Crect x=\"0\" y=\"0\" width=\"680\" height=\"250\" fill=\"#ffffff\"\u002F>\u003Ctext x=\"340\" y=\"30\" text-anchor=\"middle\" font-size=\"16\" font-weight=\"700\" fill=\"#0f172a\">Decifrando permissões:  -rw-rw-r--\u003C\u002Ftext>\u003Ctext x=\"95\" y=\"62\" text-anchor=\"middle\" font-size=\"12\" font-weight=\"600\" fill=\"#475569\">Tipo\u003C\u002Ftext>\u003Ctext x=\"225\" y=\"62\" text-anchor=\"middle\" font-size=\"12\" font-weight=\"600\" fill=\"#1e40af\">Dono\u003C\u002Ftext>\u003Ctext x=\"395\" y=\"62\" text-anchor=\"middle\" font-size=\"12\" font-weight=\"600\" fill=\"#047857\">Grupo\u003C\u002Ftext>\u003Ctext x=\"565\" y=\"62\" text-anchor=\"middle\" font-size=\"12\" font-weight=\"600\" fill=\"#b45309\">Outros\u003C\u002Ftext>\u003Crect x=\"70\" y=\"72\" width=\"50\" height=\"58\" rx=\"8\" fill=\"#f1f5f9\" stroke=\"#64748b\" stroke-width=\"1.5\"\u002F>\u003Ctext x=\"95\" y=\"108\" text-anchor=\"middle\" font-family=\"ui-monospace, monospace\" font-size=\"24\" font-weight=\"700\" fill=\"#334155\">-\u003C\u002Ftext>\u003Crect x=\"150\" y=\"72\" width=\"150\" height=\"58\" rx=\"8\" fill=\"#eff6ff\" stroke=\"#1e40af\" stroke-width=\"1.5\"\u002F>\u003Ctext x=\"225\" y=\"108\" text-anchor=\"middle\" font-family=\"ui-monospace, monospace\" font-size=\"24\" font-weight=\"700\" fill=\"#1e3a8a\">rw-\u003C\u002Ftext>\u003Crect x=\"320\" y=\"72\" width=\"150\" height=\"58\" rx=\"8\" fill=\"#ecfdf5\" stroke=\"#047857\" stroke-width=\"1.5\"\u002F>\u003Ctext x=\"395\" y=\"108\" text-anchor=\"middle\" font-family=\"ui-monospace, monospace\" font-size=\"24\" font-weight=\"700\" fill=\"#065f46\">rw-\u003C\u002Ftext>\u003Crect x=\"490\" y=\"72\" width=\"150\" height=\"58\" rx=\"8\" fill=\"#fff7ed\" stroke=\"#b45309\" stroke-width=\"1.5\"\u002F>\u003Ctext x=\"565\" y=\"108\" text-anchor=\"middle\" font-family=\"ui-monospace, monospace\" font-size=\"24\" font-weight=\"700\" fill=\"#92400e\">r--\u003C\u002Ftext>\u003Ctext x=\"95\" y=\"150\" text-anchor=\"middle\" font-size=\"11\" fill=\"#64748b\">arq \u002F dir \u002F link\u003C\u002Ftext>\u003Ctext x=\"225\" y=\"150\" text-anchor=\"middle\" font-size=\"11\" fill=\"#64748b\">proprietário\u003C\u002Ftext>\u003Ctext x=\"395\" y=\"150\" text-anchor=\"middle\" font-size=\"11\" fill=\"#64748b\">membros do grupo\u003C\u002Ftext>\u003Ctext x=\"565\" y=\"150\" text-anchor=\"middle\" font-size=\"11\" fill=\"#64748b\">todos os demais\u003C\u002Ftext>\u003Cline x1=\"60\" y1=\"180\" x2=\"620\" y2=\"180\" stroke=\"#e2e8f0\" stroke-width=\"1\"\u002F>\u003Ctext x=\"340\" y=\"206\" text-anchor=\"middle\" font-size=\"13\" fill=\"#334155\">\u003Ctspan font-weight=\"600\">r\u003C\u002Ftspan> = ler   ·   \u003Ctspan font-weight=\"600\">w\u003C\u002Ftspan> = escrever   ·   \u003Ctspan font-weight=\"600\">x\u003C\u002Ftspan> = executar   ·   \u003Ctspan font-weight=\"600\">-\u003C\u002Ftspan> = negado\u003C\u002Ftext>\u003C\u002Fsvg>","Deciphering permissions",{"type":63,"attrs":1307,"content":1309},{"id":1308},"lx_p105",[1310,1311,1315],{"text":714,"type":69},{"text":1312,"type":69,"marks":1313},"chmod",[1314],{"type":87},{"text":1316,"type":69}," changes these permissions using octal notation. Each rwx trio is a 3-bit binary number (on = 1):",{"type":349,"attrs":1318,"content":1320},{"id":1319},"lx_tbl03",[1321,1350,1379,1408,1437,1466],{"type":354,"content":1322},[1323,1332,1341],{"type":357,"attrs":1324,"content":1325},{"align":9,"colspan":359,"rowspan":359,"colwidth":9},[1326],{"type":63,"attrs":1327,"content":1329},{"id":1328},"lx_th31",[1330],{"text":1331,"type":69},"Permission",{"type":357,"attrs":1333,"content":1334},{"align":9,"colspan":359,"rowspan":359,"colwidth":9},[1335],{"type":63,"attrs":1336,"content":1338},{"id":1337},"lx_th32",[1339],{"text":1340,"type":69},"Binary",{"type":357,"attrs":1342,"content":1343},{"align":9,"colspan":359,"rowspan":359,"colwidth":9},[1344],{"type":63,"attrs":1345,"content":1347},{"id":1346},"lx_th33",[1348],{"text":1349,"type":69},"Octal",{"type":354,"content":1351},[1352,1361,1370],{"type":388,"attrs":1353,"content":1354},{"align":9,"colspan":359,"rowspan":359,"colwidth":9},[1355],{"type":63,"attrs":1356,"content":1358},{"id":1357},"lx_tc311",[1359],{"text":1360,"type":69},"rwx",{"type":388,"attrs":1362,"content":1363},{"align":9,"colspan":359,"rowspan":359,"colwidth":9},[1364],{"type":63,"attrs":1365,"content":1367},{"id":1366},"lx_tc312",[1368],{"text":1369,"type":69},"111",{"type":388,"attrs":1371,"content":1372},{"align":9,"colspan":359,"rowspan":359,"colwidth":9},[1373],{"type":63,"attrs":1374,"content":1376},{"id":1375},"lx_tc313",[1377],{"text":1378,"type":69},"7",{"type":354,"content":1380},[1381,1390,1399],{"type":388,"attrs":1382,"content":1383},{"align":9,"colspan":359,"rowspan":359,"colwidth":9},[1384],{"type":63,"attrs":1385,"content":1387},{"id":1386},"lx_tc321",[1388],{"text":1389,"type":69},"rw-",{"type":388,"attrs":1391,"content":1392},{"align":9,"colspan":359,"rowspan":359,"colwidth":9},[1393],{"type":63,"attrs":1394,"content":1396},{"id":1395},"lx_tc322",[1397],{"text":1398,"type":69},"110",{"type":388,"attrs":1400,"content":1401},{"align":9,"colspan":359,"rowspan":359,"colwidth":9},[1402],{"type":63,"attrs":1403,"content":1405},{"id":1404},"lx_tc323",[1406],{"text":1407,"type":69},"6",{"type":354,"content":1409},[1410,1419,1428],{"type":388,"attrs":1411,"content":1412},{"align":9,"colspan":359,"rowspan":359,"colwidth":9},[1413],{"type":63,"attrs":1414,"content":1416},{"id":1415},"lx_tc331",[1417],{"text":1418,"type":69},"r-x",{"type":388,"attrs":1420,"content":1421},{"align":9,"colspan":359,"rowspan":359,"colwidth":9},[1422],{"type":63,"attrs":1423,"content":1425},{"id":1424},"lx_tc332",[1426],{"text":1427,"type":69},"101",{"type":388,"attrs":1429,"content":1430},{"align":9,"colspan":359,"rowspan":359,"colwidth":9},[1431],{"type":63,"attrs":1432,"content":1434},{"id":1433},"lx_tc333",[1435],{"text":1436,"type":69},"5",{"type":354,"content":1438},[1439,1448,1457],{"type":388,"attrs":1440,"content":1441},{"align":9,"colspan":359,"rowspan":359,"colwidth":9},[1442],{"type":63,"attrs":1443,"content":1445},{"id":1444},"lx_tc341",[1446],{"text":1447,"type":69},"r--",{"type":388,"attrs":1449,"content":1450},{"align":9,"colspan":359,"rowspan":359,"colwidth":9},[1451],{"type":63,"attrs":1452,"content":1454},{"id":1453},"lx_tc342",[1455],{"text":1456,"type":69},"100",{"type":388,"attrs":1458,"content":1459},{"align":9,"colspan":359,"rowspan":359,"colwidth":9},[1460],{"type":63,"attrs":1461,"content":1463},{"id":1462},"lx_tc343",[1464],{"text":1465,"type":69},"4",{"type":354,"content":1467},[1468,1477,1486],{"type":388,"attrs":1469,"content":1470},{"align":9,"colspan":359,"rowspan":359,"colwidth":9},[1471],{"type":63,"attrs":1472,"content":1474},{"id":1473},"lx_tc351",[1475],{"text":1476,"type":69},"---",{"type":388,"attrs":1478,"content":1479},{"align":9,"colspan":359,"rowspan":359,"colwidth":9},[1480],{"type":63,"attrs":1481,"content":1483},{"id":1482},"lx_tc352",[1484],{"text":1485,"type":69},"000",{"type":388,"attrs":1487,"content":1488},{"align":9,"colspan":359,"rowspan":359,"colwidth":9},[1489],{"type":63,"attrs":1490,"content":1492},{"id":1491},"lx_tc353",[1493],{"text":1494,"type":69},"0",{"type":740,"attrs":1496,"content":1499},{"id":1497,"language":54,"highlighted":1498},"lx_code03","\u003Cpre class=\"shiki shiki-themes github-light github-dark\" style=\"--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e\" tabindex=\"0\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#6A737D;--shiki-dark:#6A737D\"># 6 = dono (rw-), 6 = grupo (rw-), 4 = outros (r--)\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#6F42C1;--shiki-dark:#B392F0\">chmod\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#24292E;--shiki-dark:#E1E4E8\"> 664 agenda\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>",[1500],{"text":1501,"type":69},"# 6 = dono (rw-), 6 = grupo (rw-), 4 = outros (r--)\nchmod 664 agenda\n",{"type":63,"attrs":1503,"content":1505},{"id":1504},"lx_p106",[1506,1508,1512,1514,1517],{"text":1507,"type":69},"As for the ",{"text":1509,"type":69,"marks":1510},"ownership",[1511],{"type":74},{"text":1513,"type":69}," (who owns it and which group) is managed with another set of commands — usually requiring ",{"text":1256,"type":69,"marks":1515},[1516],{"type":87},{"text":1518,"type":69},":",{"type":740,"attrs":1520,"content":1523},{"id":1521,"language":54,"highlighted":1522},"lx_code04","\u003Cpre class=\"shiki shiki-themes github-light github-dark\" style=\"--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e\" tabindex=\"0\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#6F42C1;--shiki-dark:#B392F0\">sudo\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#24292E;--shiki-dark:#E1E4E8\"> adduser paulo            # cria o usuário paulo\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#6F42C1;--shiki-dark:#B392F0\">sudo\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#24292E;--shiki-dark:#E1E4E8\"> addgroup suporte        # cria o grupo suporte\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#6F42C1;--shiki-dark:#B392F0\">sudo\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#24292E;--shiki-dark:#E1E4E8\"> chgrp suporte agenda    # muda o grupo do arquivo\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#6F42C1;--shiki-dark:#B392F0\">sudo\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#24292E;--shiki-dark:#E1E4E8\"> chown paulo:suporte agenda  # muda dono e grupo\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>",[1524],{"text":1525,"type":69},"sudo adduser paulo            # cria o usuário paulo\nsudo addgroup suporte        # cria o grupo suporte\nsudo chgrp suporte agenda    # muda o grupo do arquivo\nsudo chown paulo:suporte agenda  # muda dono e grupo\n",{"type":91},{"type":93,"attrs":1528,"content":1530},{"id":1529,"level":36},"lx_h11",[1531],{"text":1532,"type":69},"Part 11 — The Master Flow",{"type":63,"attrs":1534,"content":1536},{"id":1535},"lx_p110",[1537],{"text":1538,"type":69},"In practice, daily administration chains everything we've seen into a single flow: locate, create, protect, package, and validate.",{"type":214,"attrs":1540},{"id":1541,"svg":1542,"label":1543},"lx_svg04","\u003Csvg viewBox=\"0 0 600 500\" xmlns=\"http:\u002F\u002Fwww.w3.org\u002F2000\u002Fsvg\" font-family=\"system-ui, -apple-system, sans-serif\">\u003Cdefs>\u003Cmarker id=\"mfAr\" viewBox=\"0 0 10 10\" refX=\"9\" refY=\"5\" markerWidth=\"7\" markerHeight=\"7\" orient=\"auto-start-reverse\">\u003Cpath d=\"M 0 1 L 9 5 L 0 9 z\" fill=\"#64748b\"\u002F>\u003C\u002Fmarker>\u003C\u002Fdefs>\u003Crect x=\"0\" y=\"0\" width=\"600\" height=\"500\" fill=\"#ffffff\"\u002F>\u003Ctext x=\"300\" y=\"30\" text-anchor=\"middle\" font-size=\"16\" font-weight=\"700\" fill=\"#0f172a\">O fluxo do mestre\u003C\u002Ftext>\u003Crect x=\"60\" y=\"50\" width=\"480\" height=\"66\" rx=\"10\" fill=\"#ffffff\" stroke=\"#94a3b8\" stroke-width=\"1.5\"\u002F>\u003Ccircle cx=\"92\" cy=\"83\" r=\"14\" fill=\"#4c1d95\"\u002F>\u003Ctext x=\"92\" y=\"83\" text-anchor=\"middle\" dominant-baseline=\"central\" font-size=\"13\" font-weight=\"700\" fill=\"#ffffff\">1\u003C\u002Ftext>\u003Ctext x=\"120\" y=\"78\" font-size=\"14\" font-weight=\"600\" fill=\"#1e293b\">Localizar &amp; navegar\u003C\u002Ftext>\u003Ctext x=\"120\" y=\"98\" font-family=\"ui-monospace, monospace\" font-size=\"12\" fill=\"#64748b\">pwd  ·  cd \u002Fhome\u002Fdaniel\u002Fprojetos\u003C\u002Ftext>\u003Cline x1=\"300\" y1=\"116\" x2=\"300\" y2=\"134\" stroke=\"#64748b\" stroke-width=\"1.5\" marker-end=\"url(#mfAr)\"\u002F>\u003Crect x=\"60\" y=\"136\" width=\"480\" height=\"66\" rx=\"10\" fill=\"#ffffff\" stroke=\"#94a3b8\" stroke-width=\"1.5\"\u002F>\u003Ccircle cx=\"92\" cy=\"169\" r=\"14\" fill=\"#4c1d95\"\u002F>\u003Ctext x=\"92\" y=\"169\" text-anchor=\"middle\" dominant-baseline=\"central\" font-size=\"13\" font-weight=\"700\" fill=\"#ffffff\">2\u003C\u002Ftext>\u003Ctext x=\"120\" y=\"164\" font-size=\"14\" font-weight=\"600\" fill=\"#1e293b\">Criar &amp; editar\u003C\u002Ftext>\u003Ctext x=\"120\" y=\"184\" font-family=\"ui-monospace, monospace\" font-size=\"12\" fill=\"#64748b\">touch log.txt  ·  vi log.txt\u003C\u002Ftext>\u003Cline x1=\"300\" y1=\"202\" x2=\"300\" y2=\"220\" stroke=\"#64748b\" stroke-width=\"1.5\" marker-end=\"url(#mfAr)\"\u002F>\u003Crect x=\"60\" y=\"222\" width=\"480\" height=\"66\" rx=\"10\" fill=\"#ffffff\" stroke=\"#94a3b8\" stroke-width=\"1.5\"\u002F>\u003Ccircle cx=\"92\" cy=\"255\" r=\"14\" fill=\"#4c1d95\"\u002F>\u003Ctext x=\"92\" y=\"255\" text-anchor=\"middle\" dominant-baseline=\"central\" font-size=\"13\" font-weight=\"700\" fill=\"#ffffff\">3\u003C\u002Ftext>\u003Ctext x=\"120\" y=\"250\" font-size=\"14\" font-weight=\"600\" fill=\"#1e293b\">Segurança &amp; escalonamento\u003C\u002Ftext>\u003Ctext x=\"120\" y=\"270\" font-family=\"ui-monospace, monospace\" font-size=\"12\" fill=\"#64748b\">sudo chown root:suporte log.txt\u003C\u002Ftext>\u003Cline x1=\"300\" y1=\"288\" x2=\"300\" y2=\"306\" stroke=\"#64748b\" stroke-width=\"1.5\" marker-end=\"url(#mfAr)\"\u002F>\u003Crect x=\"60\" y=\"308\" width=\"480\" height=\"66\" rx=\"10\" fill=\"#ffffff\" stroke=\"#94a3b8\" stroke-width=\"1.5\"\u002F>\u003Ccircle cx=\"92\" cy=\"341\" r=\"14\" fill=\"#4c1d95\"\u002F>\u003Ctext x=\"92\" y=\"341\" text-anchor=\"middle\" dominant-baseline=\"central\" font-size=\"13\" font-weight=\"700\" fill=\"#ffffff\">4\u003C\u002Ftext>\u003Ctext x=\"120\" y=\"336\" font-size=\"14\" font-weight=\"600\" fill=\"#1e293b\">Empacotamento\u003C\u002Ftext>\u003Ctext x=\"120\" y=\"356\" font-family=\"ui-monospace, monospace\" font-size=\"12\" fill=\"#64748b\">tar -zcvf log_backup.tar.gz log.txt\u003C\u002Ftext>\u003Cline x1=\"300\" y1=\"374\" x2=\"300\" y2=\"392\" stroke=\"#64748b\" stroke-width=\"1.5\" marker-end=\"url(#mfAr)\"\u002F>\u003Crect x=\"60\" y=\"394\" width=\"480\" height=\"66\" rx=\"10\" fill=\"#ffffff\" stroke=\"#94a3b8\" stroke-width=\"1.5\"\u002F>\u003Ccircle cx=\"92\" cy=\"427\" r=\"14\" fill=\"#4c1d95\"\u002F>\u003Ctext x=\"92\" y=\"427\" text-anchor=\"middle\" dominant-baseline=\"central\" font-size=\"13\" font-weight=\"700\" fill=\"#ffffff\">5\u003C\u002Ftext>\u003Ctext x=\"120\" y=\"422\" font-size=\"14\" font-weight=\"600\" fill=\"#1e293b\">Validação\u003C\u002Ftext>\u003Ctext x=\"120\" y=\"442\" font-family=\"ui-monospace, monospace\" font-size=\"12\" fill=\"#64748b\">ls -l  (checa tamanho e permissões)\u003C\u002Ftext>\u003C\u002Fsvg>","The Master Flow",{"type":91},{"type":93,"attrs":1546,"content":1548},{"id":1547,"level":36},"lx_h12",[1549],{"text":1550,"type":69},"Conclusion: from fear to the mental model",{"type":63,"attrs":1552,"content":1554},{"id":1553},"lx_p120",[1555],{"text":1556,"type":69},"The terminal stops intimidating when it stops being a loose set of commands and becomes a system with clear rules: a single root, a prompt that informs the context, a mathematically precise permission hierarchy, and a handful of verbs that combine.",{"type":63,"attrs":1558,"content":1560},{"id":1559},"lx_p121",[1561,1563,1566,1568,1572],{"text":1562,"type":69},"Every command here — from ",{"text":396,"type":69,"marks":1564},[1565],{"type":87},{"text":1567,"type":69}," to ",{"text":1569,"type":69,"marks":1570},"chown",[1571],{"type":87},{"text":1573,"type":69}," — fits into this model. Mastering Linux isn't memorizing syntax; it's internalizing the logic that connects everything.",{"type":63,"attrs":1575},{"id":1576},"lx_p122","Master the Linux Terminal: A Logical Guide to Command Line","Stop memorizing commands. Master the Linux terminal by understanding its core logic, file structure, and essential tools in this practical guide.","2026-08-24T14:53:53.315534+00:00",[1581],{"id":1582,"slug":1583,"title":1584,"excerpt":1585,"image":1586,"featured":44,"groupId":1587,"publishedAt":1588,"readingTime":1589,"views":48,"author":1590,"category":1591,"tags":1592},"4248e94e-fd6b-4b9b-aa5e-26f468bf17c9","tanstack-query-how-to-eliminate-manual-server-state-management-in-react","TanStack Query: How to Eliminate Manual Server State Management in React","Learn how to use TanStack Query to manage cache, synchronization, and server states in React applications simply and efficiently.","https:\u002F\u002Fmfgiomkkbihnlpfdxwrt.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fblog-assets\u002Fmedia\u002Ffeatured\u002F1771225461743-featured-6ekg6f.jpeg","a9c1ac7b-0707-4b2e-a8d1-cf146626cfeb","2026-07-08T23:44:47.320193+00:00",6,{"name":50,"avatar":9},{"slug":32,"name":33,"color":34},[1593,1596],{"slug":1594,"name":1595},"javascript","JavaScript",{"slug":1597,"name":1598},"typescript","TypeScript",{"pt":1600,"en":40,"es":1601},"linux-sem-decoreba-domine-o-terminal-com-logica","linux-sin-memorizar-domina-el-terminal-con-logica"]