Category

Linux Tutorials and Command Line Guides - Page 5

Learn Linux with step-by-step tutorials, command line examples, and system administration guides for Ubuntu, RHEL, CentOS, and more.

Welcome to the Linux tutorials section, your complete resource for mastering Linux commands and system administration.

This category covers everything from basic commands to advanced system-level operations across multiple distributions such as Ubuntu, RHEL, and CentOS.

Linux is the backbone of modern infrastructure, and understanding it is essential for DevOps, cloud computing, and system administration. You may also explore System Administration and Security for advanced topics.

Browse by distribution using the cards below — RHEL family (RHEL, Rocky Linux, AlmaLinux, CentOS, Fedora) and individual APT-based hubs (Ubuntu, Debian, Kali Linux, Linux Mint) — then see featured articles and the full article list.

639 articles

Linux category illustration with terminal, commands, permissions, and troubleshooting features

All Linux articles

linux

How to Copy a Directory Over SSH on Linux

Copy a directory and its contents between Linux hosts with scp -r and rsync -av over SSH, verify the remote layout, and avoid common path mistakes with trailing slashes.

Omer Cakmak7 min read
linux

Restrict SFTP Users to a Directory with OpenSSH Chroot

Restrict SFTP users to a chroot directory with OpenSSH ChrootDirectory, ForceCommand internal-sftp, Match blocks in sshd_config, writable upload folders, and SSH public-key authentication.

Omer Cakmak10 min read
linux

How to Set Up a Proxy for YUM and DNF Repositories

Configure proxy settings in dnf.conf and yum.repos.d for YUM, DNF 4, and DNF 5 on RHEL-family systems, including authenticated proxies, per-repo overrides, and proxy=_none_.

Omer Cakmak8 min read
linux

How to Set SFTP umask in Linux

Set SFTP upload permissions with OpenSSH internal-sftp -u in sshd_config, apply umask per user or group with Match blocks, and understand why umask removes bits but cannot add them.

Omer Cakmak7 min read
linux

Secure HTTPS File Transfer with curl and Apache on RHEL

Set up Apache httpd with TLS, WebDAV, and HTTP basic auth on RHEL-family systems, trust the server certificate on the client with curl --cacert, and upload or download files over verified HTTPS.

Omer Cakmak11 min read
linux

How to Set the FFmpeg Output Directory on Linux

Set the FFmpeg output directory by including the folder in the output file path after -i, use the current working directory for bare filenames, and set input_dir and output_dir in bash scripts.

Omer Cakmak5 min read
linux

SCP vs rsync in Linux: When to Use Each for Remote File Transfer

Compare scp and rsync for Linux file transfer: what each tool does, when to use one-off copy vs repeated sync, SSH security, metadata, resume, and common path mistakes.

Omer Cakmak11 min read
linux

pkill -P: Kill Child Processes by Parent PID in Linux

Use pkill -P PARENT_PID . to send SIGTERM to every direct child of a parent process, list them with ps --ppid, and clean up script workers with pkill -P $$ . on EXIT.

Omer Cakmak5 min read
linux

Run a Script Before the Linux Login Prompt with systemd

Run a shell script before the console login prompt with systemd using Wants and Before getty-pre.target, then verify with systemctl show and the script log file.

Omer Cakmak3 min read
linux

Run a Script Before Shutdown or Reboot with systemd

Run a shell script before shutdown or reboot with systemd using Before=shutdown.target and WantedBy=shutdown.target for cleanup on both poweroff and reboot.

Omer Cakmak4 min read
linux

Run a Script at Linux Boot with systemd (Without cron)

Run a shell script at Linux boot with a systemd service unit after network-online.target, enable it with systemctl, verify with journalctl, and avoid common ExecStart path mistakes.

Omer Cakmak5 min read
linux

Run a Script N Minutes After Boot with systemd (Without cron)

Run a shell script five minutes after boot with a systemd timer using OnBootSec, keep the Timer section in a .timer file, enable only the timer, and verify with systemctl list-timers.

Omer Cakmak4 min read
linux

Run a Script at Shutdown Only (Not on Reboot) with systemd

Run a shell script only at poweroff or halt with systemd by enabling the unit on poweroff.target and halt.target, not on reboot.target, and verify with a poweroff test.

Omer Cakmak3 min read
linux

pam_faillock: Lock User Accounts After Failed Logins on RHEL

Enable pam_faillock on RHEL-family Linux with authselect and faillock.conf, verify SSH lockout after failed passwords, and reset tallies with the faillock command.

Omer Cakmak7 min read
linux

Install Prometheus and Grafana on RHEL, Rocky Linux, and AlmaLinux

Install Prometheus from the upstream Linux binary on RHEL-family hosts, add Grafana from the official RPM repository, enable both with systemd, open firewalld ports 9090 and 3000, and connect Grafana to Prometheus on the …

Omer Cakmak12 min read
linux

What Does the Dot After Linux File Permissions Mean?

Learn what the trailing dot after Linux permissions means in ls -l output, how it differs from a plus sign, and when to use ls -Z or restorecon instead of removing SELinux labels.

Omer Cakmak6 min read
linux

How to Copy Files from One Linux Server to Another

Copy files between Linux servers with scp, rsync, SFTP, tar over SSH, ncat, curl, and wget using tested push, pull, sync, and HTTP examples.

Omer Cakmak13 min read
linux

How to Create a Dropdown List in SoftMaker PlanMaker

Create a dropdown list in SoftMaker PlanMaker with input validation for in-cell lists or a form object dropdown linked to a sheet range and result cell.

Omer Cakmak6 min read
linux

chmod 777 in Linux: Meaning, Risks and Safer Alternatives

chmod 777 gives owner, group, and everyone else read, write, and execute or search permission (rwxrwxrwx); learn why that is risky, what chmod -R 777 does, and which modes like 755 or 775 to use instead.

Omer Cakmak6 min read
linux

Check Last Password Change and Expiration Date in Linux

Check last password change and expiration date on Linux with chage -l, chage -i -l, passwd -S, and /etc/shadow, including status codes and local vs LDAP users.

Omer Cakmak8 min read
linux

How to Check if a Linux Server Is Physical or Virtual

Check if a Linux server is physical or virtual with systemd-detect-virt, virt-what, dmidecode, DMI sysfs files, and lscpu, including VM vs container detection and when tools disagree.

Omer Cakmak7 min read
linux

Capture SSH and sshd strace Logs for Troubleshooting

Capture SSH client and sshd strace logs with ssh -vvv and sshd -ddd on an alternate port, analyze syscall failures, optionally attach strace -f -p to the running daemon, and collect matching tcpdump evidence.

Omer Cakmak8 min read
linux

Batch Resize Images in Linux with ImageMagick

Batch resize images in Linux with ImageMagick mogrify and magick, including aspect-ratio control, non-destructive output directories, mixed JPG and PNG folders, recursive trees, and optional format conversion.

Omer Cakmak10 min read
linux

bash: curl: command not found

Fix bash: curl: command not found by installing the curl package with apt, dnf, pacman, zypper, or apk, or by restoring /usr/bin and /bin in PATH when curl is already installed.

Omer Cakmak7 min read
linux

Systemd Tutorial for Beginners: Units, Services, Targets, and systemctl

Learn what systemd is in Linux, how units and targets fit together, and which systemctl commands to run first. This beginner tutorial focuses on concepts and points to dedicated guides for listing services, targets, …

Omer Cakmak8 min read
linux

Best Automation Testing Tools: Open Source and Linux-Friendly

Compare the best automation testing tools in {year} for Linux and CI pipelines, including Playwright, Selenium, Cypress, Appium, pytest, REST Assured, Robot Framework, k6, and JMeter, with guidance on test types, …

Deepak Prasad19 min read
linux

Best Open Source APM Tools for Application Performance Monitoring

Compare the best open source and self-hosted application performance monitoring tools in {year}, including SigNoz, Apache SkyWalking, OpenObserve, Coroot, Glowroot, and the Grafana stack, with guidance on OpenTelemetry …

Deepak Prasad30 min read
linux

How to Automate SFTP in Shell Scripts on Linux

Automate SFTP file transfers in Linux shell scripts using sftp batch mode with SSH keys, or password authentication with sshpass or expect when keys are not available.

Omer Cakmak10 min read
linux

How to Install ARPACK on Linux

Install ARPACK runtime and development packages on Ubuntu, Debian, and RHEL-family Linux from distribution repositories, verify libraries with dpkg or rpm and pkg-config, and link a sample Fortran program against …

Omer Cakmak8 min read
linux

Fix “Another App Is Holding the yum Lock” on RHEL and Fedora

Fix “another app is currently holding the yum lock” and modern DNF lock messages on RHEL and Fedora. Find the holding PID, wait safely, and clear stale metadata or RPMDB locks on DNF4 and DNF5.

Omer Cakmak8 min read