• 0 Posts
  • 5 Comments
Joined 1 year ago
cake
Cake day: June 13th, 2023

help-circle


  • assuming you have a GNU toolchain you can use the find command like so:

    find . -type f -executable -exec sh -c '
    case $( file "$1" ) in (*Bourne-Again*) exit 0; esac
    exit 1' sh {} \; -print0 | xargs -0 -I{} cp {} target/
    

    This first finds all executable files in the current directory (change the “.” arg in find to search other dirs), uses the file command to test if it’s a bash file, and if it is, pipes the file name to xargs which calls cp on each file.

    note: if “target” is inside the search directory you’ll get output from cp that it skipped copying identical files. this is because find will find them a free you copy them so be careful!

    note 2: this doesn’t preserve the directory structure of the files, so if your scripts are nested and might have duplicate names, you’ll get errors.



  • no, and that’s be a pretty bad idea, you’re opening up all your internal hosts to the public internet.

    a VPN is specifically designed to keep all your internal hosts off the public internet. When you authenticate with the VPN server the remote device you are using effectively “joins” the internal network, using the VPN to act like a tunnel between you and your network.

    it has the benefits of better security as well as the fact that once you set it up, you can access any services you host, not just HTTP ones.