<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Linux on My Little Blog</title><link>https://www.parkerchenca.com/tags/linux/</link><description>Recent content in Linux on My Little Blog</description><generator>Hugo</generator><language>en-us</language><copyright>Parker Chen</copyright><lastBuildDate>Thu, 10 Sep 2026 11:27:00 +0000</lastBuildDate><atom:link href="https://www.parkerchenca.com/tags/linux/index.xml" rel="self" type="application/rss+xml"/><item><title>Daily Linux commands</title><link>https://www.parkerchenca.com/tech/daily-linux-commands/</link><pubDate>Thu, 10 Sep 2026 11:27:00 +0000</pubDate><guid>https://www.parkerchenca.com/tech/daily-linux-commands/</guid><description>Use Linux like the Windows</description><content:encoded><![CDATA[<blockquote>
<p>🔔 <strong>Prelude:
With these commands you are able to do most text-related work the same as you are on Windows.</strong></p>
</blockquote>
<h2 id="linux-common-commands">Linux Common Commands</h2>
<h3 id="system-management">System Management</h3>
<h4 id="system-information">System Information</h4>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="c1"># Basic system information</span>
</span></span><span class="line"><span class="cl">lscpu                                  <span class="c1"># Detailed CPU information</span>
</span></span><span class="line"><span class="cl">uname -a                               <span class="c1"># Kernel and architecture info</span>
</span></span><span class="line"><span class="cl">cat /etc/os-release                    <span class="c1"># Distribution information</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># Hardware information</span>
</span></span><span class="line"><span class="cl">lsblk                                  <span class="c1"># Block devices</span>
</span></span><span class="line"><span class="cl">lsusb                                  <span class="c1"># USB devices</span>
</span></span><span class="line"><span class="cl">lspci                                  <span class="c1"># PCI devices</span>
</span></span></code></pre></div><h4 id="package-management">Package Management</h4>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="c1"># dpkg package management</span>
</span></span><span class="line"><span class="cl">sudo dpkg -i package.deb                           <span class="c1"># Install deb package</span>
</span></span><span class="line"><span class="cl">dpkg -l <span class="p">|</span> grep package_name                        <span class="c1"># Search installed packages</span>
</span></span><span class="line"><span class="cl">dpkg -L package_name                               <span class="c1"># List package files</span>
</span></span><span class="line"><span class="cl">dpkg -S /path/to/file                              <span class="c1"># Find which package owns file</span>
</span></span></code></pre></div><h3 id="monitoring-and-performance">Monitoring and Performance</h3>
<h4 id="memory-and-disk">Memory and Disk</h4>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="c1"># Memory usage</span>
</span></span><span class="line"><span class="cl">free -h                                <span class="c1"># Human readable format</span>
</span></span><span class="line"><span class="cl">watch -n <span class="m">1</span> free -h                     <span class="c1"># Real-time monitoring</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># Disk usage</span>
</span></span><span class="line"><span class="cl">df -h                                  <span class="c1"># Disk usage</span>
</span></span><span class="line"><span class="cl">du -sh /path/to/directory              <span class="c1"># Directory size</span>
</span></span><span class="line"><span class="cl">du -h --max-depth<span class="o">=</span><span class="m">1</span> <span class="p">|</span> sort -hr         <span class="c1"># Sort directories by size</span>
</span></span><span class="line"><span class="cl">sudo fdisk -l                          <span class="c1"># Partition table info</span>
</span></span></code></pre></div><h4 id="system-monitoring">System Monitoring</h4>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="c1"># Temperature monitoring</span>
</span></span><span class="line"><span class="cl">vcgencmd measure_temp                   <span class="c1"># Raspberry Pi temperature</span>
</span></span><span class="line"><span class="cl">sensors                                <span class="c1"># General temperature sensors</span>
</span></span><span class="line"><span class="cl">watch -n <span class="m">1</span> vcgencmd measure_temp        <span class="c1"># Real-time temperature monitoring</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># Process monitoring</span>
</span></span><span class="line"><span class="cl">ps aux                                 <span class="c1"># All processes</span>
</span></span><span class="line"><span class="cl">top                                    <span class="c1"># Real-time process monitor</span>
</span></span><span class="line"><span class="cl">htop                                   <span class="c1"># Enhanced top</span>
</span></span><span class="line"><span class="cl">ps aux --sort<span class="o">=</span>-%mem <span class="p">|</span> head -10         <span class="c1"># Sort by memory usage</span>
</span></span><span class="line"><span class="cl">ps aux --sort<span class="o">=</span>-%cpu <span class="p">|</span> head -10         <span class="c1"># Sort by CPU usage</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># I/O monitoring</span>
</span></span><span class="line"><span class="cl">sudo iotop                             <span class="c1"># I/O usage</span>
</span></span><span class="line"><span class="cl">sudo iotop -o                          <span class="c1"># Show only processes doing I/O</span>
</span></span></code></pre></div><h4 id="network-monitoring">Network Monitoring</h4>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="c1"># Connection status</span>
</span></span><span class="line"><span class="cl">ss -tuln                               <span class="c1"># Network connections</span>
</span></span><span class="line"><span class="cl">ss -a                                  <span class="c1"># All connections</span>
</span></span><span class="line"><span class="cl">ss -tuln <span class="p">|</span> grep :22                    <span class="c1"># Specific port</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># Traffic monitoring</span>
</span></span><span class="line"><span class="cl">iftop                                  <span class="c1"># Interface traffic (requires installation)</span>
</span></span><span class="line"><span class="cl">nethogs                               <span class="c1"># Traffic by process (requires installation)</span>
</span></span></code></pre></div><h3 id="processes-and-services">Processes and Services</h3>
<h4 id="process-management">Process Management</h4>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="c1"># Find processes</span>
</span></span><span class="line"><span class="cl">pgrep -f <span class="s2">&#34;process_name&#34;</span>                <span class="c1"># Find process PID</span>
</span></span><span class="line"><span class="cl">ps aux <span class="p">|</span> grep <span class="s2">&#34;process_name&#34;</span>           <span class="c1"># Detailed information</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># Terminate processes</span>
</span></span><span class="line"><span class="cl"><span class="nb">kill</span> PID                               <span class="c1"># Normal termination</span>
</span></span><span class="line"><span class="cl"><span class="nb">kill</span> -9 PID                            <span class="c1"># Force termination</span>
</span></span><span class="line"><span class="cl">pkill <span class="s2">&#34;process_name&#34;</span>                   <span class="c1"># Terminate by name</span>
</span></span></code></pre></div><h4 id="background-jobs">Background Jobs</h4>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="c1"># Background execution</span>
</span></span><span class="line"><span class="cl"><span class="nb">command</span> <span class="p">&amp;</span>                              <span class="c1"># Start in background</span>
</span></span><span class="line"><span class="cl">nohup <span class="nb">command</span> <span class="p">&amp;</span>                        <span class="c1"># Run without hangup</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># Job control</span>
</span></span><span class="line"><span class="cl">Ctrl + Z                               <span class="c1"># Suspend current process</span>
</span></span><span class="line"><span class="cl"><span class="nb">bg</span>                                     <span class="c1"># Continue in background</span>
</span></span><span class="line"><span class="cl"><span class="nb">fg</span>                                     <span class="c1"># Bring to foreground</span>
</span></span><span class="line"><span class="cl"><span class="nb">jobs</span>                                   <span class="c1"># List background jobs</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># tmux sessions</span>
</span></span><span class="line"><span class="cl">tmux new-session -d -s session_name <span class="s2">&#34;command&#34;</span>
</span></span><span class="line"><span class="cl">tmux attach -t session_name
</span></span></code></pre></div><h4 id="service-management">Service Management</h4>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="c1"># systemd services</span>
</span></span><span class="line"><span class="cl">systemctl status service_name          <span class="c1"># Check status</span>
</span></span><span class="line"><span class="cl">systemctl start/stop/restart service_name
</span></span><span class="line"><span class="cl">systemctl enable/disable service_name  <span class="c1"># Auto-start on boot</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># Log viewing</span>
</span></span><span class="line"><span class="cl">journalctl -u service_name             <span class="c1"># Service logs</span>
</span></span><span class="line"><span class="cl">journalctl -f                          <span class="c1"># Real-time logs</span>
</span></span><span class="line"><span class="cl">journalctl --since <span class="s2">&#34;2 hours ago&#34;</span>       <span class="c1"># Time range</span>
</span></span></code></pre></div><h4 id="scheduled-tasks">Scheduled Tasks</h4>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="c1"># cron jobs</span>
</span></span><span class="line"><span class="cl">crontab -e                             <span class="c1"># Edit</span>
</span></span><span class="line"><span class="cl">crontab -l                             <span class="c1"># List</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># Syntax: minute hour day month weekday command</span>
</span></span><span class="line"><span class="cl"><span class="c1"># 0 2 * * * /home/user/backup.sh      # Run daily at 2 AM</span>
</span></span><span class="line"><span class="cl"><span class="c1"># */10 * * * * /usr/bin/check.sh      # Run every 10 minutes</span>
</span></span></code></pre></div><h3 id="network-management">Network Management</h3>
<h4 id="network-interfaces">Network Interfaces</h4>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="c1"># View network interfaces</span>
</span></span><span class="line"><span class="cl">ip addr show                           <span class="c1"># All interfaces</span>
</span></span><span class="line"><span class="cl">ip a                                   <span class="c1"># Short form</span>
</span></span><span class="line"><span class="cl">ip link show up                        <span class="c1"># Enabled interfaces</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># Manage interfaces</span>
</span></span><span class="line"><span class="cl">sudo ip link <span class="nb">set</span> eth0 up/down          <span class="c1"># Enable/disable interface</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># Routing information</span>
</span></span><span class="line"><span class="cl">ip route show                          <span class="c1"># Routing table</span>
</span></span><span class="line"><span class="cl">ip route <span class="p">|</span> grep default                <span class="c1"># Default gateway</span>
</span></span></code></pre></div><h4 id="wifi-management">WiFi Management</h4>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="c1"># NetworkManager</span>
</span></span><span class="line"><span class="cl">nmcli dev wifi list                    <span class="c1"># Scan WiFi</span>
</span></span><span class="line"><span class="cl">nmcli dev wifi connect <span class="s2">&#34;SSID&#34;</span> password <span class="s2">&#34;password&#34;</span>
</span></span><span class="line"><span class="cl">nmcli connection show                  <span class="c1"># Saved connections</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># Traditional tools</span>
</span></span><span class="line"><span class="cl">iwconfig                               <span class="c1"># WiFi interface status</span>
</span></span></code></pre></div><h4 id="network-testing">Network Testing</h4>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="c1"># Connectivity testing</span>
</span></span><span class="line"><span class="cl">ping google.com
</span></span><span class="line"><span class="cl">ping -c <span class="m">4</span> google.com                   <span class="c1"># Limit count</span>
</span></span><span class="line"><span class="cl">traceroute google.com                  <span class="c1"># Path tracing</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># Port testing</span>
</span></span><span class="line"><span class="cl">nc -zv google.com <span class="m">80</span>                   <span class="c1"># Port connectivity</span>
</span></span><span class="line"><span class="cl">nmap -p 22,80,443 target_host          <span class="c1"># Port scanning</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># DNS queries</span>
</span></span><span class="line"><span class="cl">dig google.com                         <span class="c1"># DNS lookup</span>
</span></span><span class="line"><span class="cl">cat /etc/resolv.conf                   <span class="c1"># DNS configuration</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># Firewall</span>
</span></span><span class="line"><span class="cl">sudo ufw status                        <span class="c1"># Ubuntu firewall status</span>
</span></span></code></pre></div><h3 id="files-and-text">Files and Text</h3>
<h4 id="file-finding">File Finding</h4>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="c1"># Find by name</span>
</span></span><span class="line"><span class="cl">find /path -name <span class="s2">&#34;filename&#34;</span>
</span></span><span class="line"><span class="cl">find . -name <span class="s2">&#34;*.txt&#34;</span>                   <span class="c1"># By extension</span>
</span></span><span class="line"><span class="cl">find . -type f -name <span class="s2">&#34;*.log&#34;</span>           <span class="c1"># Files only</span>
</span></span><span class="line"><span class="cl">find . -type d -name <span class="s2">&#34;temp*&#34;</span>           <span class="c1"># Directories only</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># Command location</span>
</span></span><span class="line"><span class="cl">which python3                          <span class="c1"># Command location</span>
</span></span><span class="line"><span class="cl">whereis python3                        <span class="c1"># Binary, source, manual</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># Fast search</span>
</span></span><span class="line"><span class="cl">sudo updatedb                          <span class="c1"># Update database</span>
</span></span><span class="line"><span class="cl">locate filename                        <span class="c1"># Quick search</span>
</span></span></code></pre></div><h4 id="content-search">Content Search</h4>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="c1"># Basic search</span>
</span></span><span class="line"><span class="cl">grep <span class="s2">&#34;pattern&#34;</span> file.txt
</span></span><span class="line"><span class="cl">grep <span class="s2">&#34;pattern&#34;</span> *.txt                   <span class="c1"># Multiple files</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># Common options</span>
</span></span><span class="line"><span class="cl">grep -i <span class="s2">&#34;pattern&#34;</span> file                 <span class="c1"># Ignore case</span>
</span></span><span class="line"><span class="cl">grep -r <span class="s2">&#34;pattern&#34;</span> directory/           <span class="c1"># Recursive search</span>
</span></span><span class="line"><span class="cl">grep -n <span class="s2">&#34;pattern&#34;</span> file                 <span class="c1"># Show line numbers</span>
</span></span><span class="line"><span class="cl">grep -v <span class="s2">&#34;pattern&#34;</span> file                 <span class="c1"># Invert match</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># Context search</span>
</span></span><span class="line"><span class="cl">grep -A <span class="m">3</span> <span class="s2">&#34;pattern&#34;</span> file               <span class="c1"># Show 3 lines after</span>
</span></span><span class="line"><span class="cl">grep -B <span class="m">3</span> <span class="s2">&#34;pattern&#34;</span> file               <span class="c1"># Show 3 lines before</span>
</span></span><span class="line"><span class="cl">grep -C <span class="m">3</span> <span class="s2">&#34;pattern&#34;</span> file               <span class="c1"># Show 3 lines around</span>
</span></span></code></pre></div><h4 id="file-content-operations">File Content Operations</h4>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="c1"># View files</span>
</span></span><span class="line"><span class="cl">cat file.txt                           <span class="c1"># Full content</span>
</span></span><span class="line"><span class="cl">head -20 file.txt                      <span class="c1"># First 20 lines</span>
</span></span><span class="line"><span class="cl">tail -20 file.txt                      <span class="c1"># Last 20 lines</span>
</span></span><span class="line"><span class="cl">tail -f file.txt                       <span class="c1"># Follow changes</span>
</span></span><span class="line"><span class="cl">less file.txt                          <span class="c1"># Paged viewing</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># Sort and unique</span>
</span></span><span class="line"><span class="cl">sort file.txt                          <span class="c1"># Sort</span>
</span></span><span class="line"><span class="cl">sort -n numbers.txt                    <span class="c1"># Numeric sort</span>
</span></span><span class="line"><span class="cl">sort file.txt <span class="p">|</span> uniq                   <span class="c1"># Remove duplicates</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># File comparison</span>
</span></span><span class="line"><span class="cl">diff file1.txt file2.txt               <span class="c1"># Basic comparison</span>
</span></span><span class="line"><span class="cl">diff -u file1 file2                    <span class="c1"># Unified format</span>
</span></span><span class="line"><span class="cl">diff -y file1 file2                    <span class="c1"># Side-by-side</span>
</span></span></code></pre></div><h4 id="text-processing-and-pipes">Text Processing and Pipes</h4>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="c1"># sed stream editor</span>
</span></span><span class="line"><span class="cl">sed <span class="s1">&#39;s/old/new/g&#39;</span> file.txt             <span class="c1"># Global replacement</span>
</span></span><span class="line"><span class="cl">sed -i <span class="s1">&#39;s/old/new/g&#39;</span> file.txt          <span class="c1"># In-place modification</span>
</span></span><span class="line"><span class="cl">sed <span class="s1">&#39;/pattern/d&#39;</span> file.txt              <span class="c1"># Delete matching lines</span>
</span></span><span class="line"><span class="cl">sed -n <span class="s1">&#39;1,10p&#39;</span> file.txt                <span class="c1"># Print specific lines</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># awk text processing</span>
</span></span><span class="line"><span class="cl">awk <span class="s1">&#39;{print $1}&#39;</span> file.txt              <span class="c1"># Print first column</span>
</span></span><span class="line"><span class="cl">awk <span class="s1">&#39;{print $1, $3}&#39;</span> file.txt          <span class="c1"># Print multiple columns</span>
</span></span><span class="line"><span class="cl">awk <span class="s1">&#39;/pattern/ {print $2}&#39;</span> file.txt    <span class="c1"># Conditional print</span>
</span></span><span class="line"><span class="cl">awk -F<span class="s1">&#39;:&#39;</span> <span class="s1">&#39;{print $1}&#39;</span> /etc/passwd     <span class="c1"># Specify delimiter</span>
</span></span><span class="line"><span class="cl">awk <span class="s1">&#39;{sum += $1} END {print sum}&#39;</span> numbers.txt  <span class="c1"># Calculate sum</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># Pipes and redirection</span>
</span></span><span class="line"><span class="cl"><span class="nb">command</span> &gt; file.txt                     <span class="c1"># Output redirection</span>
</span></span><span class="line"><span class="cl"><span class="nb">command</span> &gt;&gt; file.txt                    <span class="c1"># Append redirection</span>
</span></span><span class="line"><span class="cl"><span class="nb">command</span> 2&gt; error.log                   <span class="c1"># Error redirection</span>
</span></span><span class="line"><span class="cl"><span class="nb">command</span> <span class="p">&amp;</span>&gt; all.log                     <span class="c1"># All output redirection</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># Pipe operations</span>
</span></span><span class="line"><span class="cl">command1 <span class="p">|</span> command2                    <span class="c1"># Basic pipe</span>
</span></span><span class="line"><span class="cl">cat log <span class="p">|</span> grep <span class="s2">&#34;ERROR&#34;</span> <span class="p">|</span> awk <span class="s1">&#39;{print $1}&#39;</span> <span class="p">|</span> sort <span class="p">|</span> uniq -c
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># tee splitting</span>
</span></span><span class="line"><span class="cl"><span class="nb">command</span> <span class="p">|</span> tee file.txt                 <span class="c1"># Output to both file and terminal</span>
</span></span><span class="line"><span class="cl"><span class="nb">command</span> <span class="p">|</span> tee -a file.txt              <span class="c1"># Append mode</span>
</span></span><span class="line"><span class="cl"><span class="nb">echo</span> <span class="s2">&#34;text&#34;</span> <span class="p">|</span> sudo tee /root/file.txt &gt; /dev/null  <span class="c1"># Privilege escalation write</span>
</span></span></code></pre></div><h3 id="transfer-and-compression">Transfer and Compression</h3>
<h4 id="network-downloads">Network Downloads</h4>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="c1"># wget downloads</span>
</span></span><span class="line"><span class="cl">wget https://example.com/file.zip
</span></span><span class="line"><span class="cl">wget -O newname.zip https://example.com/file.zip  <span class="c1"># Specify filename</span>
</span></span><span class="line"><span class="cl">wget -c https://example.com/largefile.iso         <span class="c1"># Resume download</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># curl downloads</span>
</span></span><span class="line"><span class="cl">curl -O https://example.com/file.zip               <span class="c1"># Keep original filename</span>
</span></span><span class="line"><span class="cl">curl -o newname.zip https://example.com/file.zip   <span class="c1"># Specify filename</span>
</span></span><span class="line"><span class="cl">curl -C - -O https://example.com/largefile.iso     <span class="c1"># Resume download</span>
</span></span></code></pre></div><h4 id="remote-transfer">Remote Transfer</h4>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="c1"># scp secure copy</span>
</span></span><span class="line"><span class="cl">scp file.txt user@remote:/path/                    <span class="c1"># Upload file</span>
</span></span><span class="line"><span class="cl">scp -r directory/ user@remote:/path/               <span class="c1"># Upload directory</span>
</span></span><span class="line"><span class="cl">scp user@remote:/path/file.txt ./                  <span class="c1"># Download file</span>
</span></span><span class="line"><span class="cl">scp -P <span class="m">2222</span> file.txt user@remote:/path/            <span class="c1"># Specify port</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># rsync synchronization</span>
</span></span><span class="line"><span class="cl">rsync -av source/ destination/                     <span class="c1"># Basic sync</span>
</span></span><span class="line"><span class="cl">rsync -av --delete source/ destination/            <span class="c1"># Delete extra files</span>
</span></span><span class="line"><span class="cl">rsync -av source/ user@remote:/path/               <span class="c1"># Remote sync</span>
</span></span><span class="line"><span class="cl">rsync -avz --progress source/ destination/         <span class="c1"># Compression + progress</span>
</span></span></code></pre></div><h4 id="compression-and-extraction">Compression and Extraction</h4>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="c1"># tar archives</span>
</span></span><span class="line"><span class="cl">tar -czf archive.tar.gz files/                     <span class="c1"># Create compressed archive</span>
</span></span><span class="line"><span class="cl">tar -xzf archive.tar.gz                            <span class="c1"># Extract archive</span>
</span></span><span class="line"><span class="cl">tar -tzf archive.tar.gz                            <span class="c1"># View contents</span>
</span></span><span class="line"><span class="cl">tar -xzf archive.tar.gz -C /destination/           <span class="c1"># Extract to directory</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># zip compression</span>
</span></span><span class="line"><span class="cl">zip -r archive.zip directory/                      <span class="c1"># Compress directory</span>
</span></span><span class="line"><span class="cl">unzip archive.zip                                  <span class="c1"># Extract</span>
</span></span><span class="line"><span class="cl">unzip archive.zip -d /destination/                 <span class="c1"># Extract to directory</span>
</span></span><span class="line"><span class="cl">unzip -l archive.zip                               <span class="c1"># View contents</span>
</span></span></code></pre></div><h3 id="device-management">Device Management</h3>
<h4 id="usb-devices">USB Devices</h4>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="c1"># USB device management</span>
</span></span><span class="line"><span class="cl">lsusb                                  <span class="c1"># USB device list</span>
</span></span><span class="line"><span class="cl">lsusb -v                               <span class="c1"># Detailed information</span>
</span></span><span class="line"><span class="cl">watch -n <span class="m">1</span> lsusb                       <span class="c1"># Real-time monitoring</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># Mount USB</span>
</span></span><span class="line"><span class="cl">sudo mkdir /mnt/usb
</span></span><span class="line"><span class="cl">sudo mount /dev/sdb1 /mnt/usb          <span class="c1"># Mount</span>
</span></span><span class="line"><span class="cl">sudo umount /mnt/usb                   <span class="c1"># Unmount</span>
</span></span></code></pre></div><h4 id="bluetooth-devices">Bluetooth Devices</h4>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="c1"># Bluetooth management</span>
</span></span><span class="line"><span class="cl">systemctl status bluetooth             <span class="c1"># Service status</span>
</span></span><span class="line"><span class="cl">sudo hciconfig hci0 up                 <span class="c1"># Enable adapter</span>
</span></span><span class="line"><span class="cl">sudo hcitool scan                      <span class="c1"># Scan devices</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># Bluetooth console</span>
</span></span><span class="line"><span class="cl">bluetoothctl
</span></span><span class="line"><span class="cl"><span class="c1"># Common commands: power on, scan on, pair &lt;MAC&gt;, connect &lt;MAC&gt;</span>
</span></span></code></pre></div><h4 id="audio-devices">Audio Devices</h4>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="c1"># Audio devices</span>
</span></span><span class="line"><span class="cl">aplay -l                               <span class="c1"># Playback devices</span>
</span></span><span class="line"><span class="cl">arecord -l                             <span class="c1"># Recording devices</span>
</span></span><span class="line"><span class="cl">pactl list sinks short                 <span class="c1"># PulseAudio output devices</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># Volume control</span>
</span></span><span class="line"><span class="cl">alsamixer                              <span class="c1"># Graphical mixer</span>
</span></span><span class="line"><span class="cl">amixer sset Master 80%                 <span class="c1"># Set volume</span>
</span></span><span class="line"><span class="cl">pactl set-sink-volume @DEFAULT_SINK@ 50%
</span></span></code></pre></div><h3 id="quick-operations">Quick Operations</h3>
<h4 id="history-operations">History Operations</h4>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="c1"># History search</span>
</span></span><span class="line"><span class="cl">Ctrl + R                               <span class="c1"># Reverse search history</span>
</span></span><span class="line"><span class="cl">Ctrl + S                               <span class="c1"># Forward search history</span>
</span></span><span class="line"><span class="cl"><span class="nb">history</span>                                <span class="c1"># Show history list</span>
</span></span><span class="line"><span class="cl"><span class="nb">history</span> <span class="p">|</span> grep <span class="s2">&#34;pattern&#34;</span>               <span class="c1"># Search history commands</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># ! operator (history expansion)</span>
</span></span><span class="line"><span class="cl">!!                                     <span class="c1"># Repeat last command</span>
</span></span><span class="line"><span class="cl">!$                                     <span class="c1"># Last argument of previous command</span>
</span></span><span class="line"><span class="cl">!^                                     <span class="c1"># First argument of previous command</span>
</span></span><span class="line"><span class="cl">!*                                     <span class="c1"># All arguments of previous command</span>
</span></span><span class="line"><span class="cl">!n                                     <span class="c1"># Execute nth command in history</span>
</span></span><span class="line"><span class="cl">!ssh                                   <span class="c1"># Execute most recent command starting with ssh</span>
</span></span><span class="line"><span class="cl">!?config                               <span class="c1"># Execute most recent command containing config</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># Quick substitution</span>
</span></span><span class="line"><span class="cl">^old^new                               <span class="c1"># Replace old with new in last command</span>
</span></span><span class="line"><span class="cl">!!:s/old/new                           <span class="c1"># Same as above, sed-style replacement</span>
</span></span><span class="line"><span class="cl">sudo !!                                <span class="c1"># Add sudo to previous command</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># Argument operations</span>
</span></span><span class="line"><span class="cl"><span class="nb">echo</span> !$                                <span class="c1"># Show last argument of previous command</span>
</span></span><span class="line"><span class="cl">ls !*                                  <span class="c1"># Use all arguments from previous command with ls</span>
</span></span></code></pre></div><h4 id="quick-editing">Quick Editing</h4>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="c1"># Cursor movement</span>
</span></span><span class="line"><span class="cl">Ctrl + A                               <span class="c1"># Move to beginning of line</span>
</span></span><span class="line"><span class="cl">Ctrl + E                               <span class="c1"># Move to end of line</span>
</span></span><span class="line"><span class="cl">Ctrl + F                               <span class="c1"># Move forward one character</span>
</span></span><span class="line"><span class="cl">Ctrl + B                               <span class="c1"># Move backward one character</span>
</span></span><span class="line"><span class="cl">Alt + F                                <span class="c1"># Move forward one word</span>
</span></span><span class="line"><span class="cl">Alt + B                                <span class="c1"># Move backward one word</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># Deletion operations</span>
</span></span><span class="line"><span class="cl">Ctrl + K                               <span class="c1"># Delete from cursor to end of line</span>
</span></span><span class="line"><span class="cl">Ctrl + U                               <span class="c1"># Delete from cursor to beginning of line</span>
</span></span><span class="line"><span class="cl">Ctrl + W                               <span class="c1"># Delete previous word</span>
</span></span><span class="line"><span class="cl">Alt + D                                <span class="c1"># Delete next word</span>
</span></span><span class="line"><span class="cl">Ctrl + H                               <span class="c1"># Delete previous character (same as Backspace)</span>
</span></span><span class="line"><span class="cl">Ctrl + D                               <span class="c1"># Delete current character</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># Copy and paste</span>
</span></span><span class="line"><span class="cl">Ctrl + Y                               <span class="c1"># Paste last deleted content</span>
</span></span><span class="line"><span class="cl">Alt + Y                                <span class="c1"># Cycle through deletion history</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># Other editing</span>
</span></span><span class="line"><span class="cl">Ctrl + T                               <span class="c1"># Transpose current and previous character</span>
</span></span><span class="line"><span class="cl">Alt + T                                <span class="c1"># Transpose current and previous word</span>
</span></span><span class="line"><span class="cl">Alt + U                                <span class="c1"># Convert current word to uppercase</span>
</span></span><span class="line"><span class="cl">Alt + L                                <span class="c1"># Convert current word to lowercase</span>
</span></span><span class="line"><span class="cl">Alt + C                                <span class="c1"># Capitalize current word</span>
</span></span><span class="line"><span class="cl">Ctrl + _                               <span class="c1"># Undo last edit</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># System control</span>
</span></span><span class="line"><span class="cl">Ctrl + L                               <span class="c1"># Clear screen</span>
</span></span><span class="line"><span class="cl">Ctrl + C                               <span class="c1"># Interrupt current command</span>
</span></span><span class="line"><span class="cl">Ctrl + Z                               <span class="c1"># Suspend current process</span>
</span></span><span class="line"><span class="cl">Ctrl + D                               <span class="c1"># End input/exit shell</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># Auto-completion</span>
</span></span><span class="line"><span class="cl">Tab                                    <span class="c1"># Auto-complete</span>
</span></span><span class="line"><span class="cl">Tab Tab                                <span class="c1"># Show all possible completions</span>
</span></span><span class="line"><span class="cl">Alt + .                                <span class="c1"># Insert last argument of previous command</span>
</span></span><span class="line"><span class="cl">Alt + *                                <span class="c1"># Expand all possible completions for current word</span>
</span></span></code></pre></div><h4 id="directory-and-file-operations">Directory and File Operations</h4>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="c1"># Directory operations</span>
</span></span><span class="line"><span class="cl"><span class="nb">cd</span> -                                   <span class="c1"># Return to previous directory</span>
</span></span><span class="line"><span class="cl">pushd/popd                             <span class="c1"># Directory stack operations</span>
</span></span><span class="line"><span class="cl">mkdir -p path/to/deep/directory        <span class="c1"># Create nested directories</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># {} Brace expansion - generates multiple names</span>
</span></span><span class="line"><span class="cl">touch file<span class="o">{</span>1,2,3<span class="o">}</span>.txt                  <span class="c1"># Creates file1.txt file2.txt file3.txt</span>
</span></span><span class="line"><span class="cl">mkdir <span class="o">{</span>backup,temp,logs<span class="o">}</span>               <span class="c1"># Create multiple directories</span>
</span></span><span class="line"><span class="cl">cp file.txt<span class="o">{</span>,.bak<span class="o">}</span>                     <span class="c1"># Copy to file.txt.bak</span>
</span></span><span class="line"><span class="cl"><span class="nb">echo</span> <span class="o">{</span>A..Z<span class="o">}</span>                           <span class="c1"># Expand A B C ... Z</span>
</span></span><span class="line"><span class="cl"><span class="nb">echo</span> <span class="o">{</span>1..10<span class="o">}</span>                          <span class="c1"># Expand 1 2 3 ... 10</span>
</span></span><span class="line"><span class="cl"><span class="nb">echo</span> <span class="o">{</span>01..10<span class="o">}</span>                         <span class="c1"># Expand 01 02 03 ... 10 (preserve format)</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># [] Bracket matching - matches existing files</span>
</span></span><span class="line"><span class="cl">ls file<span class="o">[</span>123<span class="o">]</span>.txt                       <span class="c1"># Match file1.txt file2.txt file3.txt</span>
</span></span><span class="line"><span class="cl">ls file<span class="o">[</span>1-5<span class="o">]</span>.txt                       <span class="c1"># Match file1.txt to file5.txt</span>
</span></span><span class="line"><span class="cl">ls <span class="o">[</span>abc<span class="o">]</span>*.txt                          <span class="c1"># Match txt files starting with a, b, or c</span>
</span></span><span class="line"><span class="cl">ls <span class="o">[</span>A-Z<span class="o">]</span>*.log                          <span class="c1"># Match log files starting with uppercase</span>
</span></span><span class="line"><span class="cl">ls file<span class="o">[</span>!123<span class="o">]</span>.txt                      <span class="c1"># Match files except file1,2,3.txt</span>
</span></span><span class="line"><span class="cl">rm temp<span class="o">[</span>0-9<span class="o">][</span>0-9<span class="o">]</span>.tmp                  <span class="c1"># Delete files like temp01.tmp to temp99.tmp</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># Wildcard combinations</span>
</span></span><span class="line"><span class="cl">cp *.<span class="o">{</span>jpg,png,gif<span class="o">}</span> images/             <span class="c1"># Copy all image files</span>
</span></span><span class="line"><span class="cl">ls file<span class="o">[</span>1-3<span class="o">]</span>.<span class="o">{</span>txt,log<span class="o">}</span>                 <span class="c1"># Match file1.txt, file1.log, etc.</span>
</span></span><span class="line"><span class="cl">find . -name <span class="s2">&#34;*[0-9].txt&#34;</span>              <span class="c1"># Find txt files ending with digits</span>
</span></span></code></pre></div>]]></content:encoded></item></channel></rss>