File: mergeall-products/unzipped/test/ziptools/docetc/1.2-upgrades/more-platform-demos/linux-ubuntu-log.txt
############################################################################# # ziptools console session using Python 3 on Linux (Ubuntu). Results are # identical to 3.X on Unix (Mac OS), except that symlink permissions silently # do not work, even when unzipped from a Unix zip, or run via manual commands # in the shell. Symlinks themselves work, as do their modtime updates. # See android-*-log.txt for ziptools tests run on the Linux-based Android. ############################################################################# # # Setup # ~$ alias py3=python3 ~$ export Z=/home/ubuntu-user/Desktop/ziptools ~$ export M=/home/ubuntu-user/Desktop/Mergeall ~$ pwd /home/ubuntu-user ~$ date Sat Apr 11 10:34:27 PDT 2020 ~$ cd Desktop ~/Desktop$ # # Extract a zip created on Unix (Mac OS): links detected/created # ~/Desktop$ py3 $Z/zip-extract.py cgi.zip unzip -permissions Unzipping from cgi.zip to unzip Extracted cgi/ => unzip/cgi Extracted cgi/.htaccess => unzip/cgi/.htaccess Extracted cgi/__prior-sitesearch-savedterms.txt => unzip/cgi/__prior-sitesearch-savedterms.txt Extracted cgi/_prior-sitesearch-savedterms.txt => unzip/cgi/_prior-sitesearch-savedterms.txt Extracted cgi/dev/ => unzip/cgi/dev Extracted cgi/dev/orig-sitesearch.py => unzip/cgi/dev/orig-sitesearch.py Extracted cgi/dev/other-sitesearch.py => unzip/cgi/dev/other-sitesearch.py Extracted cgi/dev/py2-mock-out.txt => unzip/cgi/dev/py2-mock-out.txt Extracted cgi/dev/py3-mock-out.txt => unzip/cgi/dev/py3-mock-out.txt Extracted cgi/dev/sitesearch-savedterms-live.txt => unzip/cgi/dev/sitesearch-savedterms-live.txt Extracted cgi/dev/sitesearch-savedterms.txt => unzip/cgi/dev/sitesearch-savedterms.txt Extracted cgi/DIFFS-with-offline-june2017.txt => unzip/cgi/DIFFS-with-offline-june2017.txt (Link) Extracted cgi/DIRLINK1 => unzip/cgi/DIRLINK1 (Link) Extracted cgi/DIRLINK2 => unzip/cgi/DIRLINK2 (Link) Extracted cgi/FILELINK1 => unzip/cgi/FILELINK1 (Link) Extracted cgi/FILELINK2 => unzip/cgi/FILELINK2 Extracted cgi/HOW-INSTALL-CGI-SCRIPTS.txt => unzip/cgi/HOW-INSTALL-CGI-SCRIPTS.txt Extracted cgi/HOW.txt => unzip/cgi/HOW.txt Extracted cgi/index.html => unzip/cgi/index.html Extracted cgi/LIVE-Aug2017/ => unzip/cgi/LIVE-Aug2017 Extracted cgi/LIVE-Aug2017/sitesearch-savedterms.txt => unzip/cgi/LIVE-Aug2017/sitesearch-savedterms.txt Extracted cgi/LIVE-June2017/ => unzip/cgi/LIVE-June2017 Extracted cgi/LIVE-June2017/gdform.cgi => unzip/cgi/LIVE-June2017/gdform.cgi Extracted cgi/LIVE-June2017/gdformssl.cgi => unzip/cgi/LIVE-June2017/gdformssl.cgi Extracted cgi/LIVE-June2017/pylotto-players.txt => unzip/cgi/LIVE-June2017/pylotto-players.txt Extracted cgi/LIVE-June2017/pylotto.pswd => unzip/cgi/LIVE-June2017/pylotto.pswd Extracted cgi/LIVE-June2017/pylotto.py => unzip/cgi/LIVE-June2017/pylotto.py Extracted cgi/LIVE-June2017/pylotto24.py => unzip/cgi/LIVE-June2017/pylotto24.py Extracted cgi/LIVE-June2017/sitesearch-savedterms.txt => unzip/cgi/LIVE-June2017/sitesearch-savedterms.txt Extracted cgi/LIVE-June2017/sitesearch.html => unzip/cgi/LIVE-June2017/sitesearch.html Extracted cgi/LIVE-June2017/sitesearch.py => unzip/cgi/LIVE-June2017/sitesearch.py Extracted cgi/pylotto-full.py => unzip/cgi/pylotto-full.py Extracted cgi/pylotto.py => unzip/cgi/pylotto.py Extracted cgi/showcode-template.txt => unzip/cgi/showcode-template.txt Extracted cgi/showcode-unicode-demo.txt => unzip/cgi/showcode-unicode-demo.txt Extracted cgi/showcode.py => unzip/cgi/showcode.py Extracted cgi/sitesearch-savedterms.txt => unzip/cgi/sitesearch-savedterms.txt Extracted cgi/sitesearch.py => unzip/cgi/sitesearch.py Extracted cgi/temp.html => unzip/cgi/temp.html Extracted cgi/test.py => unzip/cgi/test.py Extracted cgi/xreadonly.txt => unzip/cgi/xreadonly.txt Extracted cgi/xwriteonly.txt => unzip/cgi/xwriteonly.txt Extract finished: files=34, folders=4, links=4, unknowns=0. # # Results: all good, except symlink permissions: # similar to recent Androids, they are always fixed (777), even set manually # ~/Desktop$ ls -l unzip/cgi/ total 160 drwxrwxrwx 2 ubuntu-user ubuntu-user 4096 Jun 13 2017 dev -rw-r--r-- 1 ubuntu-user ubuntu-user 1219 Jun 13 2017 DIFFS-with-offline-june2017.txt lrwxrwxrwx 1 ubuntu-user ubuntu-user 12 Mar 21 13:37 DIRLINK1 -> LIVE-Aug2017 lrwxrwxrwx 1 ubuntu-user ubuntu-user 13 Mar 21 13:38 DIRLINK2 -> LIVE-Aug2017/ lrwxrwxrwx 1 ubuntu-user ubuntu-user 11 Mar 21 13:36 FILELINK1 -> showcode.py lrwxrwxrwx 1 ubuntu-user ubuntu-user 25 Mar 21 13:37 FILELINK2 -> sitesearch-savedterms.txt -rw-r--r-- 1 ubuntu-user ubuntu-user 1768 Jun 29 2019 HOW-INSTALL-CGI-SCRIPTS.txt -rwxrwxrwx 1 ubuntu-user ubuntu-user 1042 Apr 14 2018 HOW.txt -rw-r--r-- 1 ubuntu-user ubuntu-user 2584 Feb 23 14:55 index.html drwx------ 2 ubuntu-user ubuntu-user 4096 Aug 6 2017 LIVE-Aug2017 drwxr-xr-x 2 ubuntu-user ubuntu-user 4096 Jun 13 2017 LIVE-June2017 -rw-r--r-- 1 ubuntu-user ubuntu-user 6315 Feb 17 2018 __prior-sitesearch-savedterms.txt -rw-r--r-- 1 ubuntu-user ubuntu-user 5205 Jul 30 2017 _prior-sitesearch-savedterms.txt -rwxr-xr-x 1 ubuntu-user ubuntu-user 20729 Feb 18 2014 pylotto-full.py -rwxr-xr-x 1 ubuntu-user ubuntu-user 151 Jun 13 2017 pylotto.py -rw------- 1 ubuntu-user ubuntu-user 26250 Aug 19 2019 showcode.py -rwxrwxrwx 1 ubuntu-user ubuntu-user 3035 Jul 19 2019 showcode-template.txt -rw-r--r-- 1 ubuntu-user ubuntu-user 72 Feb 23 2018 showcode-unicode-demo.txt -rwxr-xr-x 1 ubuntu-user ubuntu-user 14054 Jun 29 2019 sitesearch.py -rw------- 1 ubuntu-user ubuntu-user 13948 Jun 30 2019 sitesearch-savedterms.txt -rw-r--r-- 1 ubuntu-user ubuntu-user 15372 Feb 23 14:55 temp.html -rwxr-xr-x 1 ubuntu-user ubuntu-user 78 Apr 14 2018 test.py -r--r--r-- 1 ubuntu-user ubuntu-user 0 Apr 2 11:21 xreadonly.txt -rw--w--w- 1 ubuntu-user ubuntu-user 0 Apr 2 11:21 xwriteonly.txt ~/Desktop$ ls -l unzip/cgi/FILELINK1 lrwxrwxrwx 1 ubuntu-user ubuntu-user 11 Mar 21 13:36 unzip/cgi/FILELINK1 -> showcode.py ~/Desktop$ chmod 444 unzip/cgi/FILELINK1 ~/Desktop$ ls -l unzip/cgi/FILELINK1 lrwxrwxrwx 1 ubuntu-user ubuntu-user 11 Mar 21 13:36 unzip/cgi/FILELINK1 -> showcode.py # # The link's permissions on Mac OS (and in original zipfile): original data + after an unzip # # ~/Desktop$ ls -lT cgi/[DF]* # -rw-r--r-- 1 blue staff 1219 Jun 13 09:08:02 2017 cgi/DIFFS-with-offline-june2017.txt # lrwxr-xr-x 1 blue staff 12 Mar 21 13:37:28 2020 cgi/DIRLINK1 -> LIVE-Aug2017 # lrwxr-xr-x 1 blue staff 13 Mar 21 13:38:38 2020 cgi/DIRLINK2 -> LIVE-Aug2017/ # lrw------- 1 blue staff 11 Mar 21 13:36:56 2020 cgi/FILELINK1 -> showcode.py # lrwxr-xr-x 1 blue staff 25 Mar 21 13:37:10 2020 cgi/FILELINK2 -> sitesearch-savedterms.txt # # ~/Desktop$ ls -lT cgit/cgi/[DF]* # -rw-r--r-- 1 blue staff 1219 Jun 13 09:08:02 2017 cgit/cgi/DIFFS-with-offline-june2017.txt # lrwxr-xr-x 1 blue staff 12 Mar 21 13:37:28 2020 cgit/cgi/DIRLINK1 -> LIVE-Aug2017 # lrwxr-xr-x 1 blue staff 13 Mar 21 13:38:38 2020 cgit/cgi/DIRLINK2 -> LIVE-Aug2017/ # lrw------- 1 blue staff 11 Mar 21 13:36:56 2020 cgit/cgi/FILELINK1 -> showcode.py # lrwxr-xr-x 1 blue staff 25 Mar 21 13:37:10 2020 cgit/cgi/FILELINK2 -> sitesearch-savedterms.txt # # # Check content against original, with diffall Linux frozen executable: # links (only) differ, because not recognized as links on FAT transfer drive # ~/Desktop$ $M/diffall cgi unzip/cgi -skipcruft | tail -n 6 Diffs found: 4 - items MISSED at [cgi] - [unzip/cgi]: [FILELINK2] - items MISSED at [cgi] - [unzip/cgi]: [FILELINK1] - items MISSED at [cgi] - [unzip/cgi]: [DIRLINK1] - items MISSED at [cgi] - [unzip/cgi]: [DIRLINK2] End of report. # The unzipped symlinks differ in type from plain files copied from FAT ~/Desktop$ $M/diffall cgi unzip/cgi -skipcruft -------------------- Comparing cgi to unzip/cgi Directory lists are identical Comparing contents .htaccess matches HOW-INSTALL-CGI-SCRIPTS.txt matches *MISSED: FILELINK2 __prior-sitesearch-savedterms.txt matches showcode-unicode-demo.txt matches xwriteonly.txt matches *MISSED: FILELINK1 temp.html matches index.html matches pylotto.py matches test.py matches sitesearch-savedterms.txt matches HOW.txt matches *MISSED: DIRLINK1 pylotto-full.py matches xreadonly.txt matches *MISSED: DIRLINK2 sitesearch.py matches _prior-sitesearch-savedterms.txt matches showcode-template.txt matches DIFFS-with-offline-june2017.txt matches showcode.py matches -------------------- ...etc... End of report. # # Check modtimes: all same as original - propagated correctly, # but file/link diffs for original FAT copy differ here too # ~/Desktop$ $M/mergeall cgi unzip/cgi -skipcruft -report Starting. ------------------------------------------------------------------------------- *Collecting tree differences Skipping system cruft (metadata) files in both FROM and TO comparing [cgi] [unzip/cgi] comparing [cgi/LIVE-June2017] [unzip/cgi/LIVE-June2017] comparing [cgi/dev] [unzip/cgi/dev] comparing [cgi/LIVE-Aug2017] [unzip/cgi/LIVE-Aug2017] Phase runtime: 0.002905713000018295 ------------------------------------------------------------------------------- *Reporting tree differences ------------------------------------------------------------------------------- SAMEFILE DIFFERENCES: (name, dirfrom, dirto, why) **These items will be replaced in dirto by automatic resolution** [] ------------------------------------------------------------------------------- UNIQUE ITEMS IN DIRTO: (names, dirfrom, dirto) **These items will be deleted from dirto by automatic resolution** [] ------------------------------------------------------------------------------- UNIQUE ITEMS IN DIRFROM: (names, dirfrom, dirto) **These items will be copied over to dirto by automatic resolution** [] ------------------------------------------------------------------------------- MIXED MODE NAMES: (name, dirfrom, dirto) **These items will be replaced in dirto by automatic resolution** [('FILELINK2', 'cgi', 'unzip/cgi'), ('FILELINK1', 'cgi', 'unzip/cgi'), ('DIRLINK1', 'cgi', 'unzip/cgi'), ('DIRLINK2', 'cgi', 'unzip/cgi')] ------------------------------------------------------------------------------- *Summary Compared => files: 34, folders: 4 Differences => samefile: 0, uniqueto: 0, uniquefrom: 0, mixedmode: 4 Changed: files => created: 0, deleted: 0, replaced: 0 folders => created: 0, deleted: 0, replaced: 0 ------------------------------------------------------------------------------- Finished. ~/Desktop$ ls -l unzip/cgi/FILELINK1 cgi/FILELINK1 -rw-r--r-- 1 ubuntu-user ubuntu-user 1067 Mar 21 13:36 cgi/FILELINK1 lrwxrwxrwx 1 ubuntu-user ubuntu-user 11 Mar 21 13:36 unzip/cgi/FILELINK1 -> showcode.py # # Rezip unzipped content on Linux (use 1.2 -zip@. to crop the top-level nesting) # ~/Desktop$ py3 $Z/zip-create.py rezip.zip unzip/cgi -zip@. -skipcruft Zipping ['unzip/cgi'] to rezip.zip Cruft patterns: {'keep': ['.htaccess'], 'skip': ['.*', '[dD]esktop.ini', 'Thumbs.db', '~*', '$*', '*.py[co]']} Adding folder unzip/cgi => cgi Adding file unzip/cgi/.htaccess => cgi/.htaccess Adding file unzip/cgi/HOW-INSTALL-CGI-SCRIPTS.txt => cgi/HOW-INSTALL-CGI-SCRIPTS.txt Adding link ~file unzip/cgi/FILELINK2 => cgi/FILELINK2 Adding file unzip/cgi/__prior-sitesearch-savedterms.txt => cgi/__prior-sitesearch-savedterms.txt Adding file unzip/cgi/showcode-unicode-demo.txt => cgi/showcode-unicode-demo.txt Adding folder unzip/cgi/LIVE-June2017 => cgi/LIVE-June2017 Adding file unzip/cgi/LIVE-June2017/pylotto.pswd => cgi/LIVE-June2017/pylotto.pswd Adding file unzip/cgi/LIVE-June2017/gdform.cgi => cgi/LIVE-June2017/gdform.cgi Adding file unzip/cgi/LIVE-June2017/pylotto24.py => cgi/LIVE-June2017/pylotto24.py Adding file unzip/cgi/LIVE-June2017/pylotto.py => cgi/LIVE-June2017/pylotto.py Adding file unzip/cgi/LIVE-June2017/sitesearch-savedterms.txt => cgi/LIVE-June2017/sitesearch-savedterms.txt Adding file unzip/cgi/LIVE-June2017/gdformssl.cgi => cgi/LIVE-June2017/gdformssl.cgi Adding file unzip/cgi/LIVE-June2017/sitesearch.py => cgi/LIVE-June2017/sitesearch.py Adding file unzip/cgi/LIVE-June2017/sitesearch.html => cgi/LIVE-June2017/sitesearch.html Adding file unzip/cgi/LIVE-June2017/pylotto-players.txt => cgi/LIVE-June2017/pylotto-players.txt Adding file unzip/cgi/xwriteonly.txt => cgi/xwriteonly.txt Adding link ~file unzip/cgi/FILELINK1 => cgi/FILELINK1 Adding file unzip/cgi/temp.html => cgi/temp.html Adding file unzip/cgi/index.html => cgi/index.html Adding file unzip/cgi/pylotto.py => cgi/pylotto.py Adding file unzip/cgi/test.py => cgi/test.py Adding file unzip/cgi/sitesearch-savedterms.txt => cgi/sitesearch-savedterms.txt Adding file unzip/cgi/HOW.txt => cgi/HOW.txt Adding link ~folder unzip/cgi/DIRLINK1 => cgi/DIRLINK1 Adding file unzip/cgi/pylotto-full.py => cgi/pylotto-full.py Adding file unzip/cgi/xreadonly.txt => cgi/xreadonly.txt Adding link ~folder unzip/cgi/DIRLINK2 => cgi/DIRLINK2 Adding file unzip/cgi/sitesearch.py => cgi/sitesearch.py Adding file unzip/cgi/_prior-sitesearch-savedterms.txt => cgi/_prior-sitesearch-savedterms.txt Adding file unzip/cgi/showcode-template.txt => cgi/showcode-template.txt Adding folder unzip/cgi/dev => cgi/dev Adding file unzip/cgi/dev/orig-sitesearch.py => cgi/dev/orig-sitesearch.py Adding file unzip/cgi/dev/sitesearch-savedterms.txt => cgi/dev/sitesearch-savedterms.txt Adding file unzip/cgi/dev/py3-mock-out.txt => cgi/dev/py3-mock-out.txt Adding file unzip/cgi/dev/sitesearch-savedterms-live.txt => cgi/dev/sitesearch-savedterms-live.txt Adding file unzip/cgi/dev/py2-mock-out.txt => cgi/dev/py2-mock-out.txt Adding file unzip/cgi/dev/other-sitesearch.py => cgi/dev/other-sitesearch.py Adding folder unzip/cgi/LIVE-Aug2017 => cgi/LIVE-Aug2017 Adding file unzip/cgi/LIVE-Aug2017/sitesearch-savedterms.txt => cgi/LIVE-Aug2017/sitesearch-savedterms.txt Adding file unzip/cgi/DIFFS-with-offline-june2017.txt => cgi/DIFFS-with-offline-june2017.txt Adding file unzip/cgi/showcode.py => cgi/showcode.py Create finished: files=34, folders=4, links=4, unknowns=0, crufts=0. # # Unzip rezipped content on Linux (links still present from original Unix zip) # ~/Desktop$ py3 $Z/zip-extract.py rezip rezip -permissions Unzipping from rezip.zip to rezip Extracted cgi/ => rezip/cgi Extracted cgi/.htaccess => rezip/cgi/.htaccess Extracted cgi/HOW-INSTALL-CGI-SCRIPTS.txt => rezip/cgi/HOW-INSTALL-CGI-SCRIPTS.txt (Link) Extracted cgi/FILELINK2 => rezip/cgi/FILELINK2 Extracted cgi/__prior-sitesearch-savedterms.txt => rezip/cgi/__prior-sitesearch-savedterms.txt Extracted cgi/showcode-unicode-demo.txt => rezip/cgi/showcode-unicode-demo.txt Extracted cgi/LIVE-June2017/ => rezip/cgi/LIVE-June2017 Extracted cgi/LIVE-June2017/pylotto.pswd => rezip/cgi/LIVE-June2017/pylotto.pswd Extracted cgi/LIVE-June2017/gdform.cgi => rezip/cgi/LIVE-June2017/gdform.cgi Extracted cgi/LIVE-June2017/pylotto24.py => rezip/cgi/LIVE-June2017/pylotto24.py Extracted cgi/LIVE-June2017/pylotto.py => rezip/cgi/LIVE-June2017/pylotto.py Extracted cgi/LIVE-June2017/sitesearch-savedterms.txt => rezip/cgi/LIVE-June2017/sitesearch-savedterms.txt Extracted cgi/LIVE-June2017/gdformssl.cgi => rezip/cgi/LIVE-June2017/gdformssl.cgi Extracted cgi/LIVE-June2017/sitesearch.py => rezip/cgi/LIVE-June2017/sitesearch.py Extracted cgi/LIVE-June2017/sitesearch.html => rezip/cgi/LIVE-June2017/sitesearch.html Extracted cgi/LIVE-June2017/pylotto-players.txt => rezip/cgi/LIVE-June2017/pylotto-players.txt Extracted cgi/xwriteonly.txt => rezip/cgi/xwriteonly.txt (Link) Extracted cgi/FILELINK1 => rezip/cgi/FILELINK1 Extracted cgi/temp.html => rezip/cgi/temp.html Extracted cgi/index.html => rezip/cgi/index.html Extracted cgi/pylotto.py => rezip/cgi/pylotto.py Extracted cgi/test.py => rezip/cgi/test.py Extracted cgi/sitesearch-savedterms.txt => rezip/cgi/sitesearch-savedterms.txt Extracted cgi/HOW.txt => rezip/cgi/HOW.txt (Link) Extracted cgi/DIRLINK1 => rezip/cgi/DIRLINK1 Extracted cgi/pylotto-full.py => rezip/cgi/pylotto-full.py Extracted cgi/xreadonly.txt => rezip/cgi/xreadonly.txt (Link) Extracted cgi/DIRLINK2 => rezip/cgi/DIRLINK2 Extracted cgi/sitesearch.py => rezip/cgi/sitesearch.py Extracted cgi/_prior-sitesearch-savedterms.txt => rezip/cgi/_prior-sitesearch-savedterms.txt Extracted cgi/showcode-template.txt => rezip/cgi/showcode-template.txt Extracted cgi/dev/ => rezip/cgi/dev Extracted cgi/dev/orig-sitesearch.py => rezip/cgi/dev/orig-sitesearch.py Extracted cgi/dev/sitesearch-savedterms.txt => rezip/cgi/dev/sitesearch-savedterms.txt Extracted cgi/dev/py3-mock-out.txt => rezip/cgi/dev/py3-mock-out.txt Extracted cgi/dev/sitesearch-savedterms-live.txt => rezip/cgi/dev/sitesearch-savedterms-live.txt Extracted cgi/dev/py2-mock-out.txt => rezip/cgi/dev/py2-mock-out.txt Extracted cgi/dev/other-sitesearch.py => rezip/cgi/dev/other-sitesearch.py Extracted cgi/LIVE-Aug2017/ => rezip/cgi/LIVE-Aug2017 Extracted cgi/LIVE-Aug2017/sitesearch-savedterms.txt => rezip/cgi/LIVE-Aug2017/sitesearch-savedterms.txt Extracted cgi/DIFFS-with-offline-june2017.txt => rezip/cgi/DIFFS-with-offline-june2017.txt Extracted cgi/showcode.py => rezip/cgi/showcode.py Extract finished: files=34, folders=4, links=4, unknowns=0. # Check content ~/Desktop$ $M/diffall rezip/cgi unzip/cgi -skipcruft | tail -n 6 ================================================================================ Runtime hrs:mins:secs = 0:0:0.00 Dirs checked 4, Files checked: 38, Files skipped: 0 System metadata (cruft) files were skipped No diffs found. End of report. # Check modtimes ~/Desktop$ $M/mergeall rezip/cgi unzip/cgi -skipcruft -report | tail -n 9 ------------------------------------------------------------------------------- *Summary Compared => files: 34, folders: 4 Differences => samefile: 0, uniqueto: 0, uniquefrom: 0, mixedmode: 0 Changed: files => created: 0, deleted: 0, replaced: 0 folders => created: 0, deleted: 0, replaced: 0 ------------------------------------------------------------------------------- Finished. # Symlinks propagated (sans original permissions) ~/Desktop$ ls -l unzip/cgi/FILELINK1 rezip/cgi/FILELINK1 lrwxrwxrwx 1 ubuntu-user ubuntu-user 11 Mar 21 13:36 rezip/cgi/FILELINK1 -> showcode.py lrwxrwxrwx 1 ubuntu-user ubuntu-user 11 Mar 21 13:36 unzip/cgi/FILELINK1 -> showcode.py # The whole shebang - same as original zip ~/Desktop$ ls -l rezip/cgi total 160 drwxrwxrwx 2 ubuntu-user ubuntu-user 4096 Jun 13 2017 dev -rw-r--r-- 1 ubuntu-user ubuntu-user 1219 Jun 13 2017 DIFFS-with-offline-june2017.txt lrwxrwxrwx 1 ubuntu-user ubuntu-user 12 Mar 21 13:37 DIRLINK1 -> LIVE-Aug2017 lrwxrwxrwx 1 ubuntu-user ubuntu-user 13 Mar 21 13:38 DIRLINK2 -> LIVE-Aug2017/ lrwxrwxrwx 1 ubuntu-user ubuntu-user 11 Mar 21 13:36 FILELINK1 -> showcode.py lrwxrwxrwx 1 ubuntu-user ubuntu-user 25 Mar 21 13:37 FILELINK2 -> sitesearch-savedterms.txt -rw-r--r-- 1 ubuntu-user ubuntu-user 1768 Jun 29 2019 HOW-INSTALL-CGI-SCRIPTS.txt -rwxrwxrwx 1 ubuntu-user ubuntu-user 1042 Apr 14 2018 HOW.txt -rw-r--r-- 1 ubuntu-user ubuntu-user 2584 Feb 23 14:55 index.html drwx------ 2 ubuntu-user ubuntu-user 4096 Aug 6 2017 LIVE-Aug2017 drwxr-xr-x 2 ubuntu-user ubuntu-user 4096 Jun 13 2017 LIVE-June2017 -rw-r--r-- 1 ubuntu-user ubuntu-user 6315 Feb 17 2018 __prior-sitesearch-savedterms.txt -rw-r--r-- 1 ubuntu-user ubuntu-user 5205 Jul 30 2017 _prior-sitesearch-savedterms.txt -rwxr-xr-x 1 ubuntu-user ubuntu-user 20729 Feb 18 2014 pylotto-full.py -rwxr-xr-x 1 ubuntu-user ubuntu-user 151 Jun 13 2017 pylotto.py -rw------- 1 ubuntu-user ubuntu-user 26250 Aug 19 2019 showcode.py -rwxrwxrwx 1 ubuntu-user ubuntu-user 3035 Jul 19 2019 showcode-template.txt -rw-r--r-- 1 ubuntu-user ubuntu-user 72 Feb 23 2018 showcode-unicode-demo.txt -rwxr-xr-x 1 ubuntu-user ubuntu-user 14054 Jun 29 2019 sitesearch.py -rw------- 1 ubuntu-user ubuntu-user 13948 Jun 30 2019 sitesearch-savedterms.txt -rw-r--r-- 1 ubuntu-user ubuntu-user 15372 Feb 23 14:55 temp.html -rwxr-xr-x 1 ubuntu-user ubuntu-user 78 Apr 14 2018 test.py -r--r--r-- 1 ubuntu-user ubuntu-user 0 Apr 2 11:21 xreadonly.txt -rw--w--w- 1 ubuntu-user ubuntu-user 0 Apr 2 11:21 xwriteonly.txt