[{"data":1,"prerenderedAt":1827},["ShallowReactive",2],{"navigation_docs_fr":3,"-fr-general-linux-cli-basics-":376,"-fr-general-linux-cli-basics--surround":1822},[4,16,93,261,270,331],{"title":5,"icon":6,"path":7,"stem":8,"children":9,"page":15},"À propos","i-noto-star","\u002Ffr\u002Fabout","fr\u002F1.about",[10],{"title":11,"path":12,"stem":13,"icon":14},"Bienvenue","\u002Ffr\u002Fabout\u002Fwelcome","fr\u002F1.about\u002F1.welcome","i-lucide-home",false,{"title":17,"icon":18,"path":19,"stem":20,"children":21,"page":15},"Généralités","i-noto-open-book","\u002Ffr\u002Fgeneral","fr\u002F2.general",[22,26,44,58,75],{"title":17,"path":23,"stem":24,"icon":25},"\u002Ffr\u002Fgeneral\u002Fsummary","fr\u002F2.general\u002F1.summary","i-lucide-bookmark",{"title":27,"icon":28,"path":29,"stem":30,"children":31,"page":15},"Réseau","i-lucide-network","\u002Ffr\u002Fgeneral\u002Fnetworking","fr\u002F2.general\u002F2.networking",[32,36,40],{"title":33,"path":34,"stem":35},"NAT & DHCP","\u002Ffr\u002Fgeneral\u002Fnetworking\u002Fnat","fr\u002F2.general\u002F2.networking\u002F1.nat",{"title":37,"path":38,"stem":39},"Zone DNS","\u002Ffr\u002Fgeneral\u002Fnetworking\u002Fdns","fr\u002F2.general\u002F2.networking\u002F2.dns",{"title":41,"path":42,"stem":43},"Samba","\u002Ffr\u002Fgeneral\u002Fnetworking\u002Fsamba","fr\u002F2.general\u002F2.networking\u002F3.samba",{"title":45,"icon":46,"path":47,"stem":48,"children":49,"page":15},"Stockage","i-lucide-hard-drive","\u002Ffr\u002Fgeneral\u002Fstorage","fr\u002F2.general\u002F3.storage",[50,54],{"title":51,"path":52,"stem":53},"RAID","\u002Ffr\u002Fgeneral\u002Fstorage\u002Fraid","fr\u002F2.general\u002F3.storage\u002F1.raid",{"title":55,"path":56,"stem":57},"ZFS","\u002Ffr\u002Fgeneral\u002Fstorage\u002Fzfs","fr\u002F2.general\u002F3.storage\u002F2.zfs",{"title":59,"icon":60,"path":61,"stem":62,"children":63,"page":15},"Matériel","i-lucide-server","\u002Ffr\u002Fgeneral\u002Fhardware","fr\u002F2.general\u002F4.hardware",[64,68,71],{"title":65,"path":66,"stem":67},"Les bases","\u002Ffr\u002Fgeneral\u002Fhardware\u002Fbasics","fr\u002F2.general\u002F4.hardware\u002F1.basics",{"title":27,"path":69,"stem":70},"\u002Ffr\u002Fgeneral\u002Fhardware\u002Fnetwork","fr\u002F2.general\u002F4.hardware\u002F2.network",{"title":72,"path":73,"stem":74},"Le ProloNAS","\u002Ffr\u002Fgeneral\u002Fhardware\u002Fprolonas","fr\u002F2.general\u002F4.hardware\u002F3.prolonas",{"title":76,"icon":77,"path":78,"stem":79,"children":80,"page":15},"Linux pour les nuls","i-lucide-terminal","\u002Ffr\u002Fgeneral\u002Flinux","fr\u002F2.general\u002F5.linux",[81,85,89],{"title":82,"path":83,"stem":84},"CLI pour les nuls","\u002Ffr\u002Fgeneral\u002Flinux\u002Fcli-basics","fr\u002F2.general\u002F5.linux\u002F1.cli-basics",{"title":86,"path":87,"stem":88},"Dossiers et partitions","\u002Ffr\u002Fgeneral\u002Flinux\u002Ffilesystem","fr\u002F2.general\u002F5.linux\u002F2.filesystem",{"title":90,"path":91,"stem":92},"Outils CLI pratiques","\u002Ffr\u002Fgeneral\u002Flinux\u002Fhandy-tools","fr\u002F2.general\u002F5.linux\u002F3.handy-tools",{"title":94,"icon":95,"path":96,"stem":97,"children":98,"page":15},"Serveex","i-noto-microscope","\u002Ffr\u002Fserveex","fr\u002F3.serveex",[99,103,125,143,169,187,201,215,233,247],{"title":100,"path":101,"stem":102,"icon":25},"Introduction","\u002Ffr\u002Fserveex\u002Fintroduction","fr\u002F3.serveex\u002F1.introduction",{"title":104,"icon":105,"path":106,"stem":107,"children":108,"page":15},"Cœur du serveur","i-lucide-server-cog","\u002Ffr\u002Fserveex\u002Fcore","fr\u002F3.serveex\u002F2.core",[109,113,117,121],{"title":110,"path":111,"stem":112},"Debian 13","\u002Ffr\u002Fserveex\u002Fcore\u002Finstallation","fr\u002F3.serveex\u002F2.core\u002F1.installation",{"title":114,"path":115,"stem":116},"Docker","\u002Ffr\u002Fserveex\u002Fcore\u002Fdocker","fr\u002F3.serveex\u002F2.core\u002F2.docker",{"title":118,"path":119,"stem":120},"Wireguard","\u002Ffr\u002Fserveex\u002Fcore\u002Fwireguard","fr\u002F3.serveex\u002F2.core\u002F3.wireguard",{"title":122,"path":123,"stem":124},"SWAG","\u002Ffr\u002Fserveex\u002Fcore\u002Fswag","fr\u002F3.serveex\u002F2.core\u002F4.swag",{"title":126,"icon":127,"path":128,"stem":129,"children":130,"page":15},"Sécurité","i-lucide-shield","\u002Ffr\u002Fserveex\u002Fsecurity","fr\u002F3.serveex\u002F3.security",[131,135,139],{"title":132,"path":133,"stem":134},"Cloudflare Zero Trust","\u002Ffr\u002Fserveex\u002Fsecurity\u002Fcloudflare","fr\u002F3.serveex\u002F3.security\u002F2.cloudflare",{"title":136,"path":137,"stem":138},"TinyAuth","\u002Ffr\u002Fserveex\u002Fsecurity\u002Ftinyauth","fr\u002F3.serveex\u002F3.security\u002F3.tinyauth",{"title":140,"path":141,"stem":142},"Pocket ID","\u002Ffr\u002Fserveex\u002Fsecurity\u002Fpocket-id","fr\u002F3.serveex\u002F3.security\u002F4.pocket-id",{"title":144,"icon":145,"path":146,"stem":147,"children":148,"page":15},"Monitoring","i-lucide-chart-no-axes-column","\u002Ffr\u002Fserveex\u002Fmonitoring","fr\u002F3.serveex\u002F4.monitoring",[149,153,157,161,165],{"title":150,"path":151,"stem":152},"Uptime-Kuma","\u002Ffr\u002Fserveex\u002Fmonitoring\u002Fuptime-kuma","fr\u002F3.serveex\u002F4.monitoring\u002F1.uptime-kuma",{"title":154,"path":155,"stem":156},"Dozzle","\u002Ffr\u002Fserveex\u002Fmonitoring\u002Fdozzle","fr\u002F3.serveex\u002F4.monitoring\u002F2.dozzle",{"title":158,"path":159,"stem":160},"Speedtest Tracker","\u002Ffr\u002Fserveex\u002Fmonitoring\u002Fspeedtest-tracker","fr\u002F3.serveex\u002F4.monitoring\u002F3.speedtest-tracker",{"title":162,"path":163,"stem":164},"Beszel","\u002Ffr\u002Fserveex\u002Fmonitoring\u002Fbeszel","fr\u002F3.serveex\u002F4.monitoring\u002F4.beszel",{"title":166,"path":167,"stem":168},"UpSnap","\u002Ffr\u002Fserveex\u002Fmonitoring\u002Fupsnap","fr\u002F3.serveex\u002F4.monitoring\u002F5.upsnap",{"title":170,"icon":171,"path":172,"stem":173,"children":174,"page":15},"Média & Seedbox","i-lucide-list-video","\u002Ffr\u002Fserveex\u002Fmedia","fr\u002F3.serveex\u002F5.media",[175,179,183],{"title":176,"path":177,"stem":178},"Jellyfin","\u002Ffr\u002Fserveex\u002Fmedia\u002Fjellyfin","fr\u002F3.serveex\u002F5.media\u002F1.jellyfin",{"title":180,"path":181,"stem":182},"Qbittorrent","\u002Ffr\u002Fserveex\u002Fmedia\u002Fqbittorrent","fr\u002F3.serveex\u002F5.media\u002F2.qbittorrent",{"title":184,"path":185,"stem":186},"Automatisation","\u002Ffr\u002Fserveex\u002Fmedia\u002Fservarr","fr\u002F3.serveex\u002F5.media\u002F3.servarr",{"title":188,"icon":189,"path":190,"stem":191,"children":192,"page":15},"Cloud & Photos","i-lucide-cloud-upload","\u002Ffr\u002Fserveex\u002Fcloud","fr\u002F3.serveex\u002F6.cloud",[193,197],{"title":194,"path":195,"stem":196},"Immich","\u002Ffr\u002Fserveex\u002Fcloud\u002Fimmich","fr\u002F3.serveex\u002F6.cloud\u002F1.immich",{"title":198,"path":199,"stem":200},"Nextcloud","\u002Ffr\u002Fserveex\u002Fcloud\u002Fnextcloud","fr\u002F3.serveex\u002F6.cloud\u002F2.nextcloud",{"title":202,"icon":203,"path":204,"stem":205,"children":206,"page":15},"Fichiers & partage","i-lucide-folder-tree","\u002Ffr\u002Fserveex\u002Ffiles","fr\u002F3.serveex\u002F7.files",[207,211],{"title":208,"path":209,"stem":210},"File Browser Quantum","\u002Ffr\u002Fserveex\u002Ffiles\u002Ffile-browser-quantum","fr\u002F3.serveex\u002F7.files\u002F1.file-browser-quantum",{"title":212,"path":213,"stem":214},"Pingvin","\u002Ffr\u002Fserveex\u002Ffiles\u002Fpingvin","fr\u002F3.serveex\u002F7.files\u002F2.pingvin",{"title":216,"icon":217,"path":218,"stem":219,"children":220,"page":15},"Développement","i-lucide-code-xml","\u002Ffr\u002Fserveex\u002Fdevelopment","fr\u002F3.serveex\u002F8.development",[221,225,229],{"title":222,"path":223,"stem":224},"Code-Serveur","\u002Ffr\u002Fserveex\u002Fdevelopment\u002Fcode-server","fr\u002F3.serveex\u002F8.development\u002F1.code-server",{"title":226,"path":227,"stem":228},"Forgejo","\u002Ffr\u002Fserveex\u002Fdevelopment\u002Fforgejo","fr\u002F3.serveex\u002F8.development\u002F2.forgejo",{"title":230,"path":231,"stem":232},"IT Tools","\u002Ffr\u002Fserveex\u002Fdevelopment\u002Fit-tools","fr\u002F3.serveex\u002F8.development\u002F3.it-tools",{"title":234,"icon":235,"path":236,"stem":237,"children":238,"page":15},"Applications utiles","i-lucide-award","\u002Ffr\u002Fserveex\u002Fapps","fr\u002F3.serveex\u002F9.apps",[239,243],{"title":240,"path":241,"stem":242},"Adguard Home","\u002Ffr\u002Fserveex\u002Fapps\u002Fadguard","fr\u002F3.serveex\u002F9.apps\u002F1.adguard",{"title":244,"path":245,"stem":246},"Vaultwarden","\u002Ffr\u002Fserveex\u002Fapps\u002Fvaultwarden","fr\u002F3.serveex\u002F9.apps\u002F2.vaultwarden",{"title":248,"icon":249,"path":250,"stem":251,"children":252,"page":15},"Avancé","i-lucide-flask-conical","\u002Ffr\u002Fserveex\u002Fadvanced","fr\u002F3.serveex\u002F91.advanced",[253,257],{"title":254,"path":255,"stem":256},"Authentik","\u002Ffr\u002Fserveex\u002Fadvanced\u002Fauthentik","fr\u002F3.serveex\u002F91.advanced\u002F1.authentik",{"title":258,"path":259,"stem":260},"Arcane","\u002Ffr\u002Fserveex\u002Fadvanced\u002Farcane","fr\u002F3.serveex\u002F91.advanced\u002F2.arcane",{"title":262,"icon":263,"path":264,"stem":265,"children":266,"page":15},"Stockeex","i-noto-computer-disk","\u002Ffr\u002Fstockeex","fr\u002F4.stockeex",[267],{"title":100,"path":268,"stem":269,"icon":25},"\u002Ffr\u002Fstockeex\u002Fintroduction","fr\u002F4.stockeex\u002F1.introduction",{"title":271,"icon":272,"path":273,"stem":274,"children":275,"page":15},"Mes bêtises","i-noto-test-tube","\u002Ffr\u002Fnonsense","fr\u002F5.nonsense",[276,279,301],{"title":271,"path":277,"stem":278,"icon":25},"\u002Ffr\u002Fnonsense\u002Fsummary","fr\u002F5.nonsense\u002F1.summary",{"title":280,"icon":281,"path":282,"stem":283,"children":284,"page":15},"Python","i-lucide-file-code-2","\u002Ffr\u002Fnonsense\u002Fpython","fr\u002F5.nonsense\u002F2.python",[285,289,293,297],{"title":286,"path":287,"stem":288},"Nvidia Stock Bot","\u002Ffr\u002Fnonsense\u002Fpython\u002Fnvidia-stock-bot","fr\u002F5.nonsense\u002F2.python\u002F1.nvidia-stock-bot",{"title":290,"path":291,"stem":292},"Adguard CIDRE","\u002Ffr\u002Fnonsense\u002Fpython\u002Fadguard-cidre","fr\u002F5.nonsense\u002F2.python\u002F2.adguard-cidre",{"title":294,"path":295,"stem":296},"Lumeex","\u002Ffr\u002Fnonsense\u002Fpython\u002Flumeex","fr\u002F5.nonsense\u002F2.python\u002F3.lumeex",{"title":298,"path":299,"stem":300},"Instameex","\u002Ffr\u002Fnonsense\u002Fpython\u002Finstameex","fr\u002F5.nonsense\u002F2.python\u002F4.instameex",{"title":302,"icon":303,"path":304,"stem":305,"children":306,"page":15},"Bash","i-lucide-file-terminal","\u002Ffr\u002Fnonsense\u002Fbash","fr\u002F5.nonsense\u002F3.bash",[307,311,315,319,323,327],{"title":308,"path":309,"stem":310},"Doublons servarr","\u002Ffr\u002Fnonsense\u002Fbash\u002Fservarr-duplicates","fr\u002F5.nonsense\u002F3.bash\u002F1.servarr-duplicates",{"title":312,"path":313,"stem":314},"Luks backup","\u002Ffr\u002Fnonsense\u002Fbash\u002Fluks-backup","fr\u002F5.nonsense\u002F3.bash\u002F2.luks-backup",{"title":316,"path":317,"stem":318},"Socat Proxy","\u002Ffr\u002Fnonsense\u002Fbash\u002Fsocat-proxy","fr\u002F5.nonsense\u002F3.bash\u002F3.socat-proxy",{"title":320,"path":321,"stem":322},"HotDisk","\u002Ffr\u002Fnonsense\u002Fbash\u002Fhotdisk","fr\u002F5.nonsense\u002F3.bash\u002F4.hotdisk",{"title":324,"path":325,"stem":326},"Backrest Docker Stop","\u002Ffr\u002Fnonsense\u002Fbash\u002Fbackrest-docker-stop","fr\u002F5.nonsense\u002F3.bash\u002F5.backrest-docker-stop",{"title":328,"path":329,"stem":330},"rm Confirmation Guard","\u002Ffr\u002Fnonsense\u002Fbash\u002Frm-confirmation","fr\u002F5.nonsense\u002F3.bash\u002F6.rm-confirmation",{"title":332,"icon":333,"path":334,"stem":335,"children":336,"page":15},"Poubelle","i-noto-recycling-symbol","\u002Ffr\u002Frecycled","fr\u002F6.recycled",[337,340,354],{"title":332,"path":338,"stem":339,"icon":25},"\u002Ffr\u002Frecycled\u002Fsummary","fr\u002F6.recycled\u002F1.summary",{"title":341,"icon":342,"path":343,"stem":344,"children":345,"page":15},"Obsolète","i-lucide-trash-2","\u002Ffr\u002Frecycled\u002Fdeprecated","fr\u002F6.recycled\u002F2.deprecated",[346,350],{"title":347,"path":348,"stem":349},"Wireguard 14","\u002Ffr\u002Frecycled\u002Fdeprecated\u002Fwireguard-14","fr\u002F6.recycled\u002F2.deprecated\u002F1.wireguard-14",{"title":351,"path":352,"stem":353},"File Browser","\u002Ffr\u002Frecycled\u002Fdeprecated\u002Ffile-browser","fr\u002F6.recycled\u002F2.deprecated\u002F2.file-browser",{"title":355,"icon":356,"path":357,"stem":358,"children":359,"page":15},"Alternatives","i-lucide-arrow-left-right","\u002Ffr\u002Frecycled\u002Falternatives","fr\u002F6.recycled\u002F3.alternatives",[360,364,368,372],{"title":361,"path":362,"stem":363},"Plex","\u002Ffr\u002Frecycled\u002Falternatives\u002Fplex","fr\u002F6.recycled\u002F3.alternatives\u002F1.plex",{"title":365,"path":366,"stem":367},"Qbittorrent pour Plex","\u002Ffr\u002Frecycled\u002Falternatives\u002Fqbittorrent-for-plex","fr\u002F6.recycled\u002F3.alternatives\u002F2.qbittorrent for plex",{"title":369,"path":370,"stem":371},"Servarr pour Plex","\u002Ffr\u002Frecycled\u002Falternatives\u002Fservarr-for-plex","fr\u002F6.recycled\u002F3.alternatives\u002F3.servarr for plex",{"title":373,"path":374,"stem":375},"Gitea","\u002Ffr\u002Frecycled\u002Falternatives\u002Fgitea","fr\u002F6.recycled\u002F3.alternatives\u002F4.gitea",{"id":377,"title":82,"body":378,"contributors":1813,"description":1815,"extension":1816,"hideCopyPage":15,"hideHeader":15,"hideToc":15,"links":1817,"meta":1818,"navigation":1819,"path":83,"seo":1820,"stem":84,"__hash__":1821},"docs_fr\u002Ffr\u002F2.general\u002F5.linux\u002F1.cli-basics.md",{"type":379,"value":380,"toc":1784},"minimark",[381,389,393,396,401,416,428,439,444,447,478,504,508,515,518,607,616,643,647,671,695,699,702,736,740,743,750,753,769,782,788,803,817,857,864,871,877,922,927,934,941,964,970,976,987,1005,1048,1057,1067,1074,1084,1120,1130,1145,1163,1175,1213,1220,1240,1265,1280,1283,1289,1298,1310,1319,1333,1342,1356,1360,1363,1771,1780],[382,383],"ellipsis",{"blur":384,"left":385,"top":386,"width":387,"z-index":388},"140px","0px","10rem","40rem","60",[390,391,392],"p",{},"Un serveur n'a pas de bureau, pas d'icônes et pas de souris. Tout se passe dans un terminal, et cette fenêtre noire avec un curseur clignotant est principalement ce qui décourage les gens de se lancer de le self-hosting. À tort : le terminal n'est qu'un chat. Vous posez une question ou écrivez un ordre, la machine répond. Rien de plus complexe qu'une barre de recherche, sauf qu'il en fait bien plus et ne cache jamais une option derrière trois menus.",[390,394,395],{},"La bonne nouvelle, c'est que vous n'avez pas besoin de connaître des centaines de commandes. Une dizaine d'entre elles couvrent presque tout vos besoins sur un serveur maison, et elles suivent toutes le même schéma. Apprenez à lire ce schéma et chaque commande que vous croiserez par la suite deviendra lisible, même celles que vous n'avez jamais vues.",[397,398,400],"h2",{"id":399},"comment-une-commande-est-construite","Comment une commande est construite",[390,402,403,404,408,409,408,412,415],{},"Chaque ligne de commande, sans exception, est rédigée de la même manière : ",[405,406,407],"strong",{},"quoi lancer",", ",[405,410,411],{},"comment le lancer",[405,413,414],{},"sur quoi le lancer",".",[417,418,425],"pre",{"className":419,"code":421,"filename":422,"language":423,"meta":424},[420],"language-text","sudo apt install -y nano\n│    │   │       │  └─ argument : ce sur quoi la commande travaille\n│    │   │       └──── option : change son comportement\n│    │   └──────────── sous-commande : ce que le programme doit faire\n│    └──────────────── le programme que vous lancez\n└───────────────────── le lancer avec les droits administrateur\n","Anatomie d'une commande","text","",[426,427,421],"code",{"__ignoreMap":424},[390,429,430,431,434,435,438],{},"Lue à voix haute, cette ligne dit « en tant qu'administrateur, demande au gestionnaire de paquets d'installer le paquet nano, et ne me demande pas de confirmer ». Ce sont les espaces qui séparent les parties, et c'est notamment pour ça qu'un dossier nommé ",[426,432,433],{},"Mes Sauvegardes"," doit être mis entre guillemets (",[426,436,437],{},"cd \"Mes Sauvegardes\"","), sinon le shell (le système utilisé par le terminal) y lit deux choses différentes.",[440,441,443],"h3",{"id":442},"les-options-courtes-et-longues","Les options, courtes et longues",[390,445,446],{},"Les options changent le comportement d'une commande. Elles existent en deux versions, et la plupart des commandes acceptent les deux :",[448,449,450,468],"ul",{},[451,452,453,456,457,460,461,464,465,415],"li",{},[405,454,455],{},"Courtes",", un tiret et une seule lettre : ",[426,458,459],{},"ls -a",". Elles peuvent s'empiler, donc ",[426,462,463],{},"ls -l -a -h"," s'écrit généralement ",[426,466,467],{},"ls -lah",[451,469,470,473,474,477],{},[405,471,472],{},"Longues",", deux tirets et un mot entier : ",[426,475,476],{},"ls --all",". Plus longues à taper, mais vous saurez encore ce qu'elles font six mois plus tard, ce qui en fait le meilleur choix dans un script.",[390,479,480,481,484,485,488,489,492,493,408,496,499,500,503],{},"Certaines options attendent une valeur juste après elles : ",[426,482,483],{},"ssh-keygen -t ed25519"," (",[426,486,487],{},"-t"," pour type), ",[426,490,491],{},"rsync --exclude @eaDir",". Et la casse compte, toujours. Dans ",[426,494,495],{},"ls",[426,497,498],{},"-r"," inverse l'ordre de tri alors que ",[426,501,502],{},"-R"," descend dans les sous-dossiers. Deux choses différentes, pour une même lettre.",[440,505,507],{"id":506},"les-arguments-et-les-chemins","Les arguments et les chemins",[390,509,510,511,514],{},"L'argument est la cible : un fichier, un dossier, un nom de paquet, une adresse. Beaucoup de commandes en acceptent plusieurs à la fois, séparés par des espaces, et c'est ce qui rend le terminal rapide : ",[426,512,513],{},"rm fichier1.txt fichier2.txt fichier3.txt"," supprime trois fichiers d'un coup.",[390,516,517],{},"Quand la cible est un endroit sur le disque, vous l'écrivez sous forme de chemin, et quelques raccourcis valent la peine d'être connus :",[519,520,521,534],"table",{},[522,523,524],"thead",{},[525,526,527,531],"tr",{},[528,529,530],"th",{},"Chemin",[528,532,533],{},"Signification",[535,536,537,548,561,570,580,594],"tbody",{},[525,538,539,545],{},[540,541,542],"td",{},[426,543,544],{},"\u002F",[540,546,547],{},"la racine de tout le système, tout vit en dessous",[525,549,550,555],{},[540,551,552],{},[426,553,554],{},"~",[540,556,557,558],{},"votre propre dossier personnel, ",[426,559,560],{},"\u002Fhome\u002Futilisateur",[525,562,563,567],{},[540,564,565],{},[426,566,415],{},[540,568,569],{},"le dossier dans lequel vous vous trouvez",[525,571,572,577],{},[540,573,574],{},[426,575,576],{},"..",[540,578,579],{},"le dossier juste au-dessus",[525,581,582,587],{},[540,583,584],{},[426,585,586],{},"\u002Fvar\u002Flog",[540,588,589,590,593],{},"un chemin ",[405,591,592],{},"absolu",", même résultat depuis n'importe où",[525,595,596,601],{},[540,597,598],{},[426,599,600],{},"logs\u002Faujourdhui",[540,602,589,603,606],{},[405,604,605],{},"relatif",", compris depuis là où vous êtes",[608,609,610,611,415],"info",{},"L'usage des dossiers par l'OS est un sujet à part entière, traité dans ",[612,613,615],"a",{"href":614},"\u002Fgeneral\u002Flinux\u002Ffilesystem","dossiers et partitions",[390,617,618,619,622,623,626,627,630,631,634,635,638,639,642],{},"L'invite de commande indique elle-même où vous êtes : dans ",[426,620,621],{},"utilisateur@serveex:~\u002Fdocker$",", vous êtes connecté en tant qu'",[426,624,625],{},"utilisateur"," sur la machine nommée ",[426,628,629],{},"serveex",", dans le dossier ",[426,632,633],{},"docker"," de votre home. Ce ",[426,636,637],{},"$"," final signifie que vous êtes loggé avec un utilisateur normal. Si vous voyez ",[426,640,641],{},"#"," à la place, c'est que vous êtes connecté avec l'utilisateur root et chaque faute de frappe compte double.",[440,644,646],{"id":645},"trouver-de-laide","Trouver de l'aide",[390,648,649,650,653,654,657,658,661,662,666,667,415],{},"Deux astuces vous rendront indépendant des tutoriels. ",[426,651,652],{},"commande --help"," affiche un résumé rapide de chaque option, et ",[426,655,656],{},"man commande"," ouvre le manuel complet (",[426,659,660],{},"man"," pour ",[663,664,665],"em",{},"manual","), que vous quittez en appuyant sur ",[668,669],"kbd",{"value":670},"Q",[672,673,674,675,678,679,682,683,686,687,690,691,694],"tip",{"icon":424},"✨ ",[405,676,677],{},"Astuce :"," trois réflexes clavier qui changent tout : ",[668,680],{"value":681},"Tab"," complète le nom de fichier ou de dossier que vous avez commencé à taper, si bien que vous ne taperez presque jamais un chemin complet ; la flèche ",[668,684],{"value":685},"Up"," rappelle vos commandes précédentes, ce qui évite de retaper une longue ligne pour un caractère ; et ",[668,688],{"value":689},"Ctrl"," + ",[668,692],{"value":693},"C"," arrête ce qui est en train de tourner.",[440,696,698],{"id":697},"enchaîner-les-commandes","Enchaîner les commandes",[390,700,701],{},"Une fois le schéma compris, les commandes peuvent se combiner les unes aux autres :",[448,703,704,713,723],{},[451,705,706,709,710],{},[426,707,708],{},"&&"," lance la suivante seulement si la précédente a réussi : ",[426,711,712],{},"sudo apt update && sudo apt full-upgrade",[451,714,715,718,719,722],{},[426,716,717],{},"|",", le pipe, envoie la sortie d'une commande dans une autre : ",[426,720,721],{},"ls -l | grep sauvegarde"," liste le dossier, puis ne garde que les lignes contenant « sauvegarde »",[451,724,725,728,729,732,733],{},[426,726,727],{},">"," écrit la sortie dans un fichier au lieu de l'écran, et ",[426,730,731],{},">>"," l'ajoute à la fin de ce fichier : ",[426,734,735],{},"df -h > rapport-disques.txt",[397,737,739],{"id":738},"les-commandes-que-vous-utiliserez-vraiment","Les commandes que vous utiliserez vraiment",[390,741,742],{},"La plupart des noms de commandes sont des abréviations. Une fois que vous savez ce qu'elles signifient, elles cessent de ressembler à des incantations obscures.",[440,744,746,749],{"id":745},"pwd-print-working-directory",[426,747,748],{},"pwd",", print working directory",[390,751,752],{},"Vous dit où vous êtes. Elle ne change rien, elle répond juste à la question.",[417,754,759],{"className":755,"code":756,"filename":757,"language":758,"meta":424,"style":424},"language-bash shiki shiki-themes github-dark material-theme github-dark","pwd\n","Terminal","bash",[426,760,761],{"__ignoreMap":424},[762,763,766],"span",{"class":764,"line":765},"line",1,[762,767,756],{"class":768},"sJGgK",[417,770,775],{"className":771,"code":772,"filename":773,"language":774,"meta":424,"style":424},"language-console shiki shiki-themes github-dark material-theme github-dark","\u002Fhome\u002Futilisateur\u002Fdocker\n","Sortie","console",[426,776,777],{"__ignoreMap":424},[762,778,779],{"class":764,"line":765},[762,780,772],{"class":781},"s8-mJ",[440,783,785,787],{"id":784},"ls-list",[426,786,495],{},", list",[390,789,790,791,794,795,798,799,802],{},"Liste ce qu'il y a dans le dossier courant. Seule, elle n'affiche que les noms, elle est donc presque toujours utilisée avec des options : ",[426,792,793],{},"-l"," pour le format long avec tailles, dates et permissions, ",[426,796,797],{},"-a"," pour afficher aussi les fichiers cachés (ceux qui commencent par un point), ",[426,800,801],{},"-h"," pour des tailles en K\u002FM\u002FG plutôt qu'en octets bruts.",[417,804,806],{"className":755,"code":805,"filename":757,"language":758,"meta":424,"style":424},"ls -lah\n",[426,807,808],{"__ignoreMap":424},[762,809,810,813],{"class":764,"line":765},[762,811,495],{"class":812},"sEgDM",[762,814,816],{"class":815},"sJWha"," -lah\n",[417,818,820],{"className":771,"code":819,"filename":773,"language":774,"meta":424,"style":424},"total 20K\ndrwxr-xr-x  4 utilisateur utilisateur 4.0K Sep  5 10:12 .\ndrwxr-xr-x 18 utilisateur utilisateur 4.0K Sep  4 21:03 ..\n-rw-r--r--  1 utilisateur utilisateur  512 Sep  5 10:12 .env\n-rw-r--r--  1 utilisateur utilisateur 1.2K Sep  5 09:58 compose.yaml\ndrwxr-xr-x  3 utilisateur utilisateur 4.0K Sep  2 18:44 immich\n",[426,821,822,827,833,839,845,851],{"__ignoreMap":424},[762,823,824],{"class":764,"line":765},[762,825,826],{"class":781},"total 20K\n",[762,828,830],{"class":764,"line":829},2,[762,831,832],{"class":781},"drwxr-xr-x  4 utilisateur utilisateur 4.0K Sep  5 10:12 .\n",[762,834,836],{"class":764,"line":835},3,[762,837,838],{"class":781},"drwxr-xr-x 18 utilisateur utilisateur 4.0K Sep  4 21:03 ..\n",[762,840,842],{"class":764,"line":841},4,[762,843,844],{"class":781},"-rw-r--r--  1 utilisateur utilisateur  512 Sep  5 10:12 .env\n",[762,846,848],{"class":764,"line":847},5,[762,849,850],{"class":781},"-rw-r--r--  1 utilisateur utilisateur 1.2K Sep  5 09:58 compose.yaml\n",[762,852,854],{"class":764,"line":853},6,[762,855,856],{"class":781},"drwxr-xr-x  3 utilisateur utilisateur 4.0K Sep  2 18:44 immich\n",[390,858,859,860,863],{},"La première colonne, ce sont les permissions, le ",[426,861,862],{},"d"," tout au début signifiant qu'il s'agit d'un dossier. Puis le propriétaire, la taille, la date de dernière modification, et le nom.",[440,865,867,870],{"id":866},"cd-change-directory",[426,868,869],{},"cd",", change directory",[390,872,873,874,876],{},"Permet de changer de repertoire. Lorsque vous indiquez un chemin, elle vous y rend. Avec ",[426,875,576],{}," elle remonte d'un niveau, et sans rien du tout elle vous ramène dans votre dossier utilisateur.",[417,878,880],{"className":771,"code":879,"filename":757,"language":774,"meta":424,"style":424},"utilisateur@serveex:~\u002Fdocker$ cd \u002Fvar\u002Flog\nutilisateur@serveex:\u002Fvar\u002Flog$ cd ..\nutilisateur@serveex:\u002F$ cd\nutilisateur@serveex:~$\n",[426,881,882,894,904,914],{"__ignoreMap":424},[762,883,884,887,890],{"class":764,"line":765},[762,885,886],{"class":812},"utilisateur@serveex:~\u002Fdocker",[762,888,637],{"class":889},"s8jd1",[762,891,893],{"class":892},"slcoZ"," cd \u002Fvar\u002Flog\n",[762,895,896,899,901],{"class":764,"line":829},[762,897,898],{"class":812},"utilisateur@serveex:\u002Fvar\u002Flog",[762,900,637],{"class":889},[762,902,903],{"class":892}," cd ..\n",[762,905,906,909,911],{"class":764,"line":835},[762,907,908],{"class":812},"utilisateur@serveex:\u002F",[762,910,637],{"class":889},[762,912,913],{"class":892}," cd\n",[762,915,916,919],{"class":764,"line":841},[762,917,918],{"class":812},"utilisateur@serveex:~",[762,920,921],{"class":889},"$\n",[390,923,924,925,415],{},"Notez l'invite de commande : elle montre toujours où vous vous trouvez, si bien qu'en pratique vous avez rarement besoin de ",[426,926,748],{},[440,928,930,933],{"id":929},"mkdir-make-directory",[426,931,932],{},"mkdir",", make directory",[390,935,936,937,940],{},"Crée un dossier. Plusieurs à la fois si vous les listez, et ",[426,938,939],{},"-p"," crée toute la chaîne de parents d'un coup, c'est la version que vous utiliserez vraiment.",[417,942,944],{"className":755,"code":943,"filename":757,"language":758,"meta":424,"style":424},"mkdir sauvegardes\nmkdir -p docker\u002Fimmich\u002Fconfig\n",[426,945,946,954],{"__ignoreMap":424},[762,947,948,950],{"class":764,"line":765},[762,949,932],{"class":812},[762,951,953],{"class":952},"s11XM"," sauvegardes\n",[762,955,956,958,961],{"class":764,"line":829},[762,957,932],{"class":812},[762,959,960],{"class":815}," -p",[762,962,963],{"class":952}," docker\u002Fimmich\u002Fconfig\n",[417,965,966],{"className":771,"code":424,"filename":773,"language":774,"meta":424,"style":424},[426,967,968],{"__ignoreMap":424},[762,969],{"class":764,"line":765},[390,971,972,973,975],{},"La sortie n'affiche rien. Ce n'est pas un bug, c'est la règle : la plupart des commandes ne disent rien quand elles réussissent et ne se manifestent que si quelque chose se passe mal. Le silence est une bonne nouvelle, et ",[426,974,495],{}," confirme que le dossier est bien là.",[440,977,979,982,983,986],{"id":978},"cp-et-mv-copy-et-move",[426,980,981],{},"cp"," et ",[426,984,985],{},"mv",", copy et move",[390,988,989,991,992,994,995,997,998,1001,1002,1004],{},[426,990,981],{}," copie, ",[426,993,985],{}," déplace. Même syntaxe dans les deux cas : d'abord la source, puis la destination. Copier un dossier demande ",[426,996,498],{},", pour ",[663,999,1000],{},"recursive",", puisqu'un dossier veut dire tout ce qu'il contient aussi. ",[426,1003,985],{}," sert également de commande pour renommer, parce que renommer un fichier revient simplement à le déplacer vers un nouveau nom.",[417,1006,1008],{"className":755,"code":1007,"filename":757,"language":758,"meta":424,"style":424},"cp compose.yaml compose.yaml.bak\ncp -r config\u002F config-backup\u002F\nmv ancien-nom.txt nouveau-nom.txt\nls\n",[426,1009,1010,1020,1033,1043],{"__ignoreMap":424},[762,1011,1012,1014,1017],{"class":764,"line":765},[762,1013,981],{"class":812},[762,1015,1016],{"class":952}," compose.yaml",[762,1018,1019],{"class":952}," compose.yaml.bak\n",[762,1021,1022,1024,1027,1030],{"class":764,"line":829},[762,1023,981],{"class":812},[762,1025,1026],{"class":815}," -r",[762,1028,1029],{"class":952}," config\u002F",[762,1031,1032],{"class":952}," config-backup\u002F\n",[762,1034,1035,1037,1040],{"class":764,"line":835},[762,1036,985],{"class":812},[762,1038,1039],{"class":952}," ancien-nom.txt",[762,1041,1042],{"class":952}," nouveau-nom.txt\n",[762,1044,1045],{"class":764,"line":841},[762,1046,1047],{"class":812},"ls\n",[417,1049,1051],{"className":771,"code":1050,"filename":773,"language":774,"meta":424,"style":424},"compose.yaml  compose.yaml.bak  config  config-backup  nouveau-nom.txt\n",[426,1052,1053],{"__ignoreMap":424},[762,1054,1055],{"class":764,"line":765},[762,1056,1050],{"class":781},[390,1058,1059,1060,1062,1063,1066],{},"Trois commandes silencieuses, et ",[426,1061,495],{}," qui montre le résultat : la copie est à côté de l'original, le dossier a été dupliqué, et ",[426,1064,1065],{},"ancien-nom.txt"," a disparu parce que le déplacer vers un autre nom équivaut à le renommer\u002F",[440,1068,1070,1073],{"id":1069},"rm-remove",[426,1071,1072],{},"rm",", remove",[390,1075,1076,1077,1079,1080,1083],{},"Supprime. Il n'y a pas de corbeille, pas d'annulation, pas de fenêtre de confirmation. ",[426,1078,498],{}," supprime un dossier et son contenu, ",[426,1081,1082],{},"-f"," force sans demander.",[1085,1086,1088,1091,1092,1095,1096,1099,1100,1102,1103,1106,1107,1109,1110,1113,1114,1116,1117,415],"warning",{"to":1087},"\u002Fnonsense\u002Fbash\u002Frm-confirmation",[426,1089,1090],{},"rm -rf"," est la commande qui efface les homelabs. Elle ne vérifie pas, ne prévient pas, et ne s'arrête pas. Relisez le chemin deux fois avant d'appuyer sur ",[668,1093],{"value":1094},"Enter",", surtout quand la ligne commence par ",[426,1097,1098],{},"sudo"," et contient un ",[426,1101,544],{}," ou un ",[426,1104,1105],{},"*",". Vous pouvez aussi vous en prémunir en enveloppant ",[426,1108,1098],{}," dans une petite fonction Bash qui demande ",[405,1111,1112],{},"« êtes-vous sûr ? »"," avant de laisser passer un ",[426,1115,1072],{},", c'est le sujet de ",[405,1118,1119],{},"rm confirmation guard",[440,1121,1123,982,1126,1129],{"id":1122},"cat-et-nano-lire-et-modifier",[426,1124,1125],{},"cat",[426,1127,1128],{},"nano",", lire et modifier",[390,1131,1132,1134,1135,1138,1139,1142,1143,415],{},[426,1133,1125],{}," (abréviation de ",[663,1136,1137],{},"concatenate",") déverse un fichier entier à l'écran, parfait pour une config courte. Pour tout ce qui est plus long, ",[426,1140,1141],{},"less"," le fait défiler. Pour quitter, tapez simplement ",[668,1144],{"value":670},[390,1146,1147,1148,1150,1151,690,1153,1156,1157,690,1159,1162],{},"Pour éditer un fichier, ",[426,1149,1128],{}," ouvre un éditeur simple : les flèches pour se déplacer, ",[668,1152],{"value":689},[668,1154],{"value":1155},"O"," pour enregistrer, ",[668,1158],{"value":689},[668,1160],{"value":1161},"X"," pour quitter.",[417,1164,1166],{"className":755,"code":1165,"filename":757,"language":758,"meta":424,"style":424},"cat .env\n",[426,1167,1168],{"__ignoreMap":424},[762,1169,1170,1172],{"class":764,"line":765},[762,1171,1125],{"class":812},[762,1173,1174],{"class":952}," .env\n",[417,1176,1180],{"className":1177,"code":1178,"filename":773,"language":1179,"meta":424,"style":424},"language-properties shiki shiki-themes github-dark material-theme github-dark","PUID=1000\nPGID=1000\nTZ=Europe\u002FParis\n","properties",[426,1181,1182,1194,1203],{"__ignoreMap":424},[762,1183,1184,1188,1191],{"class":764,"line":765},[762,1185,1187],{"class":1186},"szyEh","PUID",[762,1189,1190],{"class":889},"=",[762,1192,1193],{"class":892},"1000\n",[762,1195,1196,1199,1201],{"class":764,"line":829},[762,1197,1198],{"class":1186},"PGID",[762,1200,1190],{"class":889},[762,1202,1193],{"class":892},[762,1204,1205,1208,1210],{"class":764,"line":835},[762,1206,1207],{"class":1186},"TZ",[762,1209,1190],{"class":889},[762,1211,1212],{"class":892},"Europe\u002FParis\n",[440,1214,1216,1219],{"id":1215},"grep-chercher-dans-les-fichiers",[426,1217,1218],{},"grep",", chercher dans les fichiers",[390,1221,1222,1224,1225,1228,1229,1231,1232,1235,1236,1239],{},[426,1223,1218],{}," veut dire ",[663,1226,1227],{},"global regular expression print",", une façon compliquée de dire « trouve-moi ce texte ». Vous lui donnez quoi chercher et où, et il affiche chaque ligne correspondante. ",[426,1230,498],{}," cherche dans tout un dossier, ",[426,1233,1234],{},"-i"," ignore les majuscules et minuscules, ",[426,1237,1238],{},"-n"," affiche les numéros de ligne.",[417,1241,1243],{"className":755,"code":1242,"filename":757,"language":758,"meta":424,"style":424},"grep -rin \"password\" \u002Fhome\u002Futilisateur\u002Fdocker\n",[426,1244,1245],{"__ignoreMap":424},[762,1246,1247,1249,1252,1256,1259,1262],{"class":764,"line":765},[762,1248,1218],{"class":812},[762,1250,1251],{"class":815}," -rin",[762,1253,1255],{"class":1254},"s8K8j"," \"",[762,1257,1258],{"class":952},"password",[762,1260,1261],{"class":1254},"\"",[762,1263,1264],{"class":952}," \u002Fhome\u002Futilisateur\u002Fdocker\n",[417,1266,1268],{"className":771,"code":1267,"filename":773,"language":774,"meta":424,"style":424},"\u002Fhome\u002Futilisateur\u002Fdocker\u002Fimmich\u002F.env:6:DB_PASSWORD=changeme\n\u002Fhome\u002Futilisateur\u002Fdocker\u002Fvaultwarden\u002Fcompose.yaml:14:  ADMIN_PASSWORD=hunter2\n",[426,1269,1270,1275],{"__ignoreMap":424},[762,1271,1272],{"class":764,"line":765},[762,1273,1274],{"class":781},"\u002Fhome\u002Futilisateur\u002Fdocker\u002Fimmich\u002F.env:6:DB_PASSWORD=changeme\n",[762,1276,1277],{"class":764,"line":829},[762,1278,1279],{"class":781},"\u002Fhome\u002Futilisateur\u002Fdocker\u002Fvaultwarden\u002Fcompose.yaml:14:  ADMIN_PASSWORD=hunter2\n",[390,1281,1282],{},"Chaque ligne indique le fichier, puis le numéro de ligne à l'intérieur, puis la ligne correspondante elle-même. Très pratique le jour où vous ne vous souvenez plus dans quelle stack se trouve un réglage.",[440,1284,1286,1288],{"id":1285},"sudo-lancer-en-privilèges-administrateur",[426,1287,1098],{},", lancer en privilèges administrateur",[390,1290,1291,1294,1295,1297],{},[663,1292,1293],{},"Substitute user do",". Afin d'éviter de casser votre serveur par accident, un utilisateur normal ne peut pas toucher aux fichiers du système. Préfixer une commande par ",[426,1296,1098],{}," lance cette seule commande avec les droits administrateur. Cette commande vous demandera votre mot de passe au moins une fois par session, et parfois plusieurs fois selon le temps qui se sera écoulé depuis sa dernière utilisation.",[417,1299,1301],{"className":755,"code":1300,"filename":757,"language":758,"meta":424,"style":424},"nano \u002Fetc\u002Fssh\u002Fsshd_config\n",[426,1302,1303],{"__ignoreMap":424},[762,1304,1305,1307],{"class":764,"line":765},[762,1306,1128],{"class":812},[762,1308,1309],{"class":952}," \u002Fetc\u002Fssh\u002Fsshd_config\n",[417,1311,1313],{"className":771,"code":1312,"filename":773,"language":774,"meta":424,"style":424},"Error writing \u002Fetc\u002Fssh\u002Fsshd_config: Permission denied\n",[426,1314,1315],{"__ignoreMap":424},[762,1316,1317],{"class":764,"line":765},[762,1318,1312],{"class":781},[417,1320,1322],{"className":755,"code":1321,"filename":757,"language":758,"meta":424,"style":424},"sudo nano \u002Fetc\u002Fssh\u002Fsshd_config\n",[426,1323,1324],{"__ignoreMap":424},[762,1325,1326,1328,1331],{"class":764,"line":765},[762,1327,1098],{"class":812},[762,1329,1330],{"class":952}," nano",[762,1332,1309],{"class":952},[417,1334,1336],{"className":771,"code":1335,"filename":773,"language":774,"meta":424,"style":424},"[sudo] password for utilisateur:\n",[426,1337,1338],{"__ignoreMap":424},[762,1339,1340],{"class":764,"line":765},[762,1341,1335],{"class":781},[1343,1344,1345,1346,1349,1350,1352,1353,1355],"note",{},"Lordsqu'une commande répond ",[426,1347,1348],{},"Permission denied",", c'est quasiment certain que c'est parce qu'elle a besoin des privilèges administrateurs : il lui fallait ",[426,1351,1098],{},". Cependant, résistez tout de même au réflexe de mettre ",[426,1354,1098],{}," partout, un fichier créé avec les privilèges root continuera de vous embêter par la suite parce que votre utilisateur normal n'en sera plus propriétaire.",[397,1357,1359],{"id":1358},"aide-mémoire","Aide-mémoire",[390,1361,1362],{},"Les commandes qui valent la peine d'être gardées sous la main, et d'où viennent leurs noms.",[519,1364,1365,1378],{},[522,1366,1367],{},[525,1368,1369,1372,1375],{},[528,1370,1371],{},"Commande",[528,1373,1374],{},"Abréviation de",[528,1376,1377],{},"Ce qu'elle fait",[535,1379,1380,1392,1404,1416,1428,1441,1453,1465,1477,1488,1503,1515,1526,1538,1549,1562,1575,1588,1601,1618,1630,1643,1656,1668,1681,1694,1707,1720,1733,1746,1759],{},[525,1381,1382,1386,1389],{},[540,1383,1384],{},[426,1385,748],{},[540,1387,1388],{},"print working directory",[540,1390,1391],{},"Affiche où vous êtes",[525,1393,1394,1398,1401],{},[540,1395,1396],{},[426,1397,495],{},[540,1399,1400],{},"list",[540,1402,1403],{},"Liste les fichiers et les dossiers",[525,1405,1406,1410,1413],{},[540,1407,1408],{},[426,1409,869],{},[540,1411,1412],{},"change directory",[540,1414,1415],{},"Vous déplace ailleurs",[525,1417,1418,1422,1425],{},[540,1419,1420],{},[426,1421,932],{},[540,1423,1424],{},"make directory",[540,1426,1427],{},"Crée un dossier",[525,1429,1430,1435,1438],{},[540,1431,1432],{},[426,1433,1434],{},"touch",[540,1436,1437],{},"mot anglais courant",[540,1439,1440],{},"Crée un fichier vide, ou rafraîchit sa date",[525,1442,1443,1447,1450],{},[540,1444,1445],{},[426,1446,981],{},[540,1448,1449],{},"copy",[540,1451,1452],{},"Copie un fichier ou un dossier",[525,1454,1455,1459,1462],{},[540,1456,1457],{},[426,1458,985],{},[540,1460,1461],{},"move",[540,1463,1464],{},"Déplace ou renomme",[525,1466,1467,1471,1474],{},[540,1468,1469],{},[426,1470,1072],{},[540,1472,1473],{},"remove",[540,1475,1476],{},"Supprime, définitivement",[525,1478,1479,1483,1485],{},[540,1480,1481],{},[426,1482,1125],{},[540,1484,1137],{},[540,1486,1487],{},"Affiche un fichier à l'écran",[525,1489,1490,1494,1500],{},[540,1491,1492],{},[426,1493,1141],{},[540,1495,1496,1497],{},"jeu de mots sur ",[426,1498,1499],{},"more",[540,1501,1502],{},"Fait défiler un fichier long",[525,1504,1505,1509,1512],{},[540,1506,1507],{},[426,1508,1128],{},[540,1510,1511],{},"l'éditeur qui remplace Pico",[540,1513,1514],{},"Modifie un fichier",[525,1516,1517,1521,1523],{},[540,1518,1519],{},[426,1520,1218],{},[540,1522,1227],{},[540,1524,1525],{},"Cherche du texte",[525,1527,1528,1533,1535],{},[540,1529,1530],{},[426,1531,1532],{},"find",[540,1534,1437],{},[540,1536,1537],{},"Cherche des fichiers par nom, taille ou date",[525,1539,1540,1544,1546],{},[540,1541,1542],{},[426,1543,660],{},[540,1545,665],{},[540,1547,1548],{},"Ouvre la documentation complète d'une commande",[525,1550,1551,1556,1559],{},[540,1552,1553],{},[426,1554,1555],{},"df",[540,1557,1558],{},"disk free",[540,1560,1561],{},"Affiche l'espace libre par partition",[525,1563,1564,1569,1572],{},[540,1565,1566],{},[426,1567,1568],{},"lsblk",[540,1570,1571],{},"list block devices",[540,1573,1574],{},"Dessine l'arbre des disques et des partitions",[525,1576,1577,1582,1585],{},[540,1578,1579],{},[426,1580,1581],{},"du",[540,1583,1584],{},"disk usage",[540,1586,1587],{},"Affiche ce que pèse un dossier",[525,1589,1590,1595,1598],{},[540,1591,1592],{},[426,1593,1594],{},"ps",[540,1596,1597],{},"process status",[540,1599,1600],{},"Liste les processus en cours",[525,1602,1603,1608,1615],{},[540,1604,1605],{},[426,1606,1607],{},"htop",[540,1609,1610,1611,1614],{},"le ",[426,1612,1613],{},"top"," de Hisham",[540,1616,1617],{},"Vue en direct du CPU, de la RAM et des processus",[525,1619,1620,1625,1627],{},[540,1621,1622],{},[426,1623,1624],{},"kill",[540,1626,1437],{},[540,1628,1629],{},"Arrête un processus par son numéro",[525,1631,1632,1637,1640],{},[540,1633,1634],{},[426,1635,1636],{},"chmod",[540,1638,1639],{},"change mode",[540,1641,1642],{},"Change les permissions d'un fichier",[525,1644,1645,1650,1653],{},[540,1646,1647],{},[426,1648,1649],{},"chown",[540,1651,1652],{},"change owner",[540,1654,1655],{},"Change le propriétaire d'un fichier",[525,1657,1658,1662,1665],{},[540,1659,1660],{},[426,1661,1098],{},[540,1663,1664],{},"substitute user do",[540,1666,1667],{},"Lance une commande en administrateur",[525,1669,1670,1675,1678],{},[540,1671,1672],{},[426,1673,1674],{},"apt",[540,1676,1677],{},"advanced package tool",[540,1679,1680],{},"Installe, met à jour et supprime des paquets",[525,1682,1683,1688,1691],{},[540,1684,1685],{},[426,1686,1687],{},"systemctl",[540,1689,1690],{},"control systemd",[540,1692,1693],{},"Démarre, arrête et active des services",[525,1695,1696,1701,1704],{},[540,1697,1698],{},[426,1699,1700],{},"ssh",[540,1702,1703],{},"secure shell",[540,1705,1706],{},"Ouvre une session sur une machine distante",[525,1708,1709,1714,1717],{},[540,1710,1711],{},[426,1712,1713],{},"scp",[540,1715,1716],{},"secure copy",[540,1718,1719],{},"Copie des fichiers via SSH",[525,1721,1722,1727,1730],{},[540,1723,1724],{},[426,1725,1726],{},"tar",[540,1728,1729],{},"tape archive",[540,1731,1732],{},"Empaquette et dépaquette des archives",[525,1734,1735,1740,1743],{},[540,1736,1737],{},[426,1738,1739],{},"wget",[540,1741,1742],{},"web get",[540,1744,1745],{},"Télécharge un fichier depuis une URL",[525,1747,1748,1753,1756],{},[540,1749,1750],{},[426,1751,1752],{},"curl",[540,1754,1755],{},"client URL",[540,1757,1758],{},"Envoie une requête à une URL",[525,1760,1761,1766,1768],{},[540,1762,1763],{},[426,1764,1765],{},"history",[540,1767,1437],{},[540,1769,1770],{},"Liste les commandes tapées précédemment",[672,1772,674,1773,1775,1776,1779],{"icon":424},[405,1774,677],{}," Rassurez-vous, personne ne retient tout ça. Dans la réalité, vous rechercherez les trois mêmes options pendant des semaines, puis un jour vous réaliserez que vous les tapez sans réfléchir. En attendant, ",[426,1777,1778],{},"--help"," et ce tableau seront vos meilleurs amis.",[1781,1782,1783],"style",{},"html pre.shiki code .sJGgK, html code.shiki .sJGgK{--shiki-light:#79B8FF;--shiki-default:#82AAFF;--shiki-dark:#79B8FF}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 .s8-mJ, html code.shiki .s8-mJ{--shiki-light:#79B8FF;--shiki-default:#EEFFFF;--shiki-dark:#79B8FF}html pre.shiki code .sEgDM, html code.shiki .sEgDM{--shiki-light:#B392F0;--shiki-default:#FFCB6B;--shiki-dark:#B392F0}html pre.shiki code .sJWha, html code.shiki .sJWha{--shiki-light:#79B8FF;--shiki-default:#C3E88D;--shiki-dark:#79B8FF}html pre.shiki code .s8jd1, html code.shiki .s8jd1{--shiki-light:#E1E4E8;--shiki-default:#89DDFF;--shiki-dark:#E1E4E8}html pre.shiki code .slcoZ, html code.shiki .slcoZ{--shiki-light:#E1E4E8;--shiki-default:#EEFFFF;--shiki-dark:#E1E4E8}html pre.shiki code .s11XM, html code.shiki .s11XM{--shiki-light:#9ECBFF;--shiki-default:#C3E88D;--shiki-dark:#9ECBFF}html pre.shiki code .szyEh, html code.shiki .szyEh{--shiki-light:#F97583;--shiki-default:#F07178;--shiki-dark:#F97583}html pre.shiki code .s8K8j, html code.shiki .s8K8j{--shiki-light:#9ECBFF;--shiki-default:#89DDFF;--shiki-dark:#9ECBFF}",{"title":424,"searchDepth":829,"depth":829,"links":1785},[1786,1792,1812],{"id":399,"depth":829,"text":400,"children":1787},[1788,1789,1790,1791],{"id":442,"depth":835,"text":443},{"id":506,"depth":835,"text":507},{"id":645,"depth":835,"text":646},{"id":697,"depth":835,"text":698},{"id":738,"depth":829,"text":739,"children":1793},[1794,1796,1798,1800,1802,1804,1806,1808,1810],{"id":745,"depth":835,"text":1795},"pwd, print working directory",{"id":784,"depth":835,"text":1797},"ls, list",{"id":866,"depth":835,"text":1799},"cd, change directory",{"id":929,"depth":835,"text":1801},"mkdir, make directory",{"id":978,"depth":835,"text":1803},"cp et mv, copy et move",{"id":1069,"depth":835,"text":1805},"rm, remove",{"id":1122,"depth":835,"text":1807},"cat et nano, lire et modifier",{"id":1215,"depth":835,"text":1809},"grep, chercher dans les fichiers",{"id":1285,"depth":835,"text":1811},"sudo, lancer en privilèges administrateur",{"id":1358,"depth":829,"text":1359},[1814],"Djeex","Comprendre comment une commande Linux est construite, apprendre les commandes essentielles du terminal, ce que veulent dire leurs noms, et repartir avec un aide-mémoire.","md",null,{},true,{"title":82,"description":1815},"vb4W_fHxWdKnQ0mE9ZZ4o-wuk7tzmokv1ssMPvBpPfY",[1823,1825],{"title":72,"path":73,"stem":74,"description":1824,"children":-1},"Construire un serveur domestique performant avec un mini PC Intel N100.  Guide pratique pour démarrer l'auto-hébergement pour moins de 130 €.",{"title":86,"path":87,"stem":88,"description":1826,"children":-1},"Comment le système de fichiers de Debian est organisé, ce que contient chaque dossier racine, la différence entre partitions et dossiers, et les habitudes qui gardent un serveur propre.",1788645851668]