Linux:Tips and Tricks: Difference between revisions

Peter A. Smode (talk | contribs)
Debugging shell scripts
Line 22: Line 22:
# Invoking shell with debugging options: <code>$ /bin/bash ''option(s)'' ''script_name'' ''argument1 ... argumentN''</code>   
# Invoking shell with debugging options: <code>$ /bin/bash ''option(s)'' ''script_name'' ''argument1 ... argumentN''</code>   
# Using set shell built-in command in the middle of the script: <code>$ set -''option''</code> to enable or <code>$ set +''option''</code> to disable
# Using set shell built-in command in the middle of the script: <code>$ set -''option''</code> to enable or <code>$ set +''option''</code> to disable
==== Network Diagnostics ====
<syntaxhighlight lang="shell-session">
# ip a
# ip l
# ip r
# ip -6 r
# firewall-cmd --list-all --zone=... (replace ... with whatever zones you are working with)
# nmcli c s
# nmcli d s
# nmcli c s ppp0
# nmcli c s enp2s0
# nmcli c s enp3s0
# sysctl -a | grep -E 'forwarding'
</syntaxhighlight>

Revision as of 15:03, 30 December 2022

1 Find files modified in past N days[edit | edit source]

find path -mtime -N -ls

[psmode@wort ~]$ find /kvm/ -mtime -3 -ls
102090127      4 drwxr-xr-x   7  root     root         4096 Jan  3 09:46 /kvm/
  2038539      4 drwxr-xr-x   2  root     kitsnet_adm     4096 Jan  3 09:13 /kvm/socat-kvm
  2038573      4 -rw-r--r--   1  root     root               5 Jan  3 09:13 /kvm/socat-kvm/uv040
101237691      8 -rw-r--r--   1  root     kitsnet_adm     6370 Jan  3 09:46 /kvm/uv034.xml
102163845     12 -rw-r--r--   1  root     root            9096 Jan  3 09:46 /kvm/uv039.xml
102090129     12 -rw-r--r--   1  root     root            8303 Jan  3 09:46 /kvm/uv040.xml
2 Shell script debugging modes[edit | edit source]

A good explanation of the debugging modes is given by How To Enable Shell Script Debugging Mode in Linux. Basically, there are three modes

  • -v (short for verbose) – tells the shell to show all lines in a script while they are read, it activates verbose mode.
  • -n (short for noexec or no ecxecution) – instructs the shell read all the commands, however doesn’t execute them. This options activates syntax checking mode.
  • -x (short for xtrace or execution trace) – tells the shell to display all commands and their arguments on the terminal while they are executed. This option enables shell tracing mode.

Which may be invoked by any of three different ways:

  1. Modifying the first line of a shell script: #!/bin/sh option(s)
  2. Invoking shell with debugging options: $ /bin/bash option(s) script_name argument1 ... argumentN   
  3. Using set shell built-in command in the middle of the script: $ set -option to enable or $ set +option to disable

3 Network Diagnostics[edit | edit source]

# ip a
# ip l
# ip r
# ip -6 r
# firewall-cmd --list-all --zone=... (replace ... with whatever zones you are working with)
# nmcli c s
# nmcli d s
# nmcli c s ppp0
# nmcli c s enp2s0
# nmcli c s enp3s0
# sysctl -a | grep -E 'forwarding'