"use client" import React, { useState } from "react" import Link from "next/link" import { PenToolIcon as Tool, ArrowLeft, Copy, Check, Terminal } from "lucide-react" import { Button } from "@/components/ui/button" import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow } from "@/components/ui/table" import { Accordion, AccordionContent, AccordionItem, AccordionTrigger } from "@/components/ui/accordion" export default function SystemCLIToolsPage() { const [viewMode, setViewMode] = useState<"table" | "accordion">("table") // Group commands by category for better organization const commandGroups = [ { title: "System Monitoring", commands: [ { command: "htop", description: "Interactive process viewer with CPU/memory usage" }, { command: "top", description: "Display Linux processes in real-time" }, { command: "atop", description: "Advanced system & process monitor" }, { command: "glances", description: "System monitoring tool with web interface" }, { command: "nmon", description: "Performance monitoring tool" }, { command: "iotop", description: "Monitor disk I/O usage by processes" }, { command: "vmstat 1", description: "Report virtual memory statistics every second" }, ], }, { title: "Network Tools", commands: [ { command: "iftop", description: "Display bandwidth usage on an interface" }, { command: "nmap ", description: "Network exploration and security scanning" }, { command: "tcpdump -i ", description: "Dump network traffic" }, { command: "netstat -tuln", description: "Display network connections" }, { command: "ss -tuln", description: "Another utility to investigate sockets" }, { command: "mtr ", description: "Network diagnostic tool combining ping and traceroute" }, { command: "iperf3 -s", description: "Run iperf server for bandwidth testing" }, ], }, { title: "File and Text Tools", commands: [ { command: "find / -name ", description: "Find files by name" }, { command: "grep -r 'pattern' /path", description: "Search for pattern in files" }, { command: "sed -i 's/old/new/g' file", description: "Replace text in files" }, { command: "awk '{print $1}' file", description: "Text processing tool" }, { command: "tail -f /var/log/syslog", description: "Follow log file in real-time" }, { command: "less /var/log/messages", description: "View file with pagination" }, { command: "journalctl -f", description: "Follow systemd journal logs" }, ], }, { title: "Performance Analysis", commands: [ { command: "iostat -x 1", description: "Report CPU and I/O statistics" }, { command: "mpstat -P ALL 1", description: "Report CPU utilization" }, { command: "perf top", description: "System profiling tool" }, { command: "strace ", description: "Trace system calls and signals" }, { command: "lsof", description: "List open files" }, { command: "pstree", description: "Display process tree" }, { command: "slabtop", description: "Display kernel slab cache information" }, ], }, { title: "Security Tools", commands: [ { command: "fail2ban-client status", description: "Show fail2ban status" }, { command: "chage -l ", description: "Show password expiry information" }, { command: "lastlog", description: "Show last login of all users" }, { command: "last", description: "Show listing of last logged in users" }, { command: "w", description: "Show who is logged on and what they are doing" }, { command: "lynis audit system", description: "Security auditing tool" }, { command: "openssl s_client -connect host:port", description: "Test SSL/TLS connections" }, ], }, { title: "Remote Administration", commands: [ { command: "ssh @", description: "Secure shell connection" }, { command: "scp @:", description: "Secure copy files" }, { command: "rsync -avz ", description: "Synchronize files/folders" }, { command: "screen", description: "Terminal multiplexer" }, { command: "tmux", description: "Terminal multiplexer alternative" }, { command: "ssh-keygen -t rsa -b 4096", description: "Generate SSH key pair" }, { command: "ssh-copy-id @", description: "Copy SSH key to server" }, ], }, { title: "System Configuration", commands: [ { command: "systemctl status ", description: "Check service status" }, { command: "journalctl -u ", description: "View service logs" }, { command: "timedatectl", description: "Control system time and date" }, { command: "hostnamectl", description: "Control system hostname" }, { command: "localectl", description: "Control system locale and keyboard" }, { command: "update-alternatives --config ", description: "Configure system alternatives" }, { command: "dpkg-reconfigure ", description: "Reconfigure an installed package" }, ], }, ] return (
Back to Help and Info

System CLI Tools

This section provides a collection of useful command-line tools for system administration in Proxmox VE. These tools help you monitor system performance, troubleshoot issues, manage files, analyze network traffic, and perform various administrative tasks.

Many of these tools may have been installed during the post-installation process. For information about the post-installation setup and basic settings, please refer to the{" "} Post-Installation Documentation .

{viewMode === "table" ? (
{commandGroups.map((group, index) => (

{group.title}

Command Description Action {group.commands.map((cmd, cmdIndex) => ( {cmd.command} {cmd.description} ))}
))}
) : (
{commandGroups.map((group, index) => (

{group.title}

{group.commands.map((cmd, cmdIndex) => (
{cmd.command}
{cmd.command}

{cmd.description}

))}
))}
)}

CLI Tool Tips

  • Replace <host> with a hostname or IP address
  • Replace <interface> with your network interface (e.g., eth0)
  • Replace <filename>,{" "} <service>, etc. with appropriate values
  • Many tools have additional options. Use{" "} man <command> or{" "} <command> --help to see all available options
  • Installation: If a tool is not available, you can install it using{" "} apt install <package>. Most of these tools may have been installed during the post-installation process.
  • For tools that continuously update (like top, htop), press q to quit
  • For screen and tmux sessions, use Ctrl+a or Ctrl+b as the prefix key followed by other commands
) } interface CopyButtonProps { text: string } function CopyButton({ text }: CopyButtonProps) { const [copied, setCopied] = React.useState(false) const copyToClipboard = () => { navigator.clipboard.writeText(text) setCopied(true) setTimeout(() => setCopied(false), 2000) } return ( ) }