Adding files - arranging repo
This commit is contained in:
parent
7e4c82d12a
commit
57984ab217
33
README.org
33
README.org
|
@ -1,24 +1,31 @@
|
|||
* Bash tutorial
|
||||
|
||||
Tutorial with some basic commands, tips and options to use bash
|
||||
Tutorial with some basic commands, tips and options to use bash.
|
||||
[[https://www.gnu.org/software/bash/][Bash]] (Bourne Again Shell) is a shell commonly used on GNU-Linux systems for
|
||||
multiple purposes. Knowing about bash is an enjoyable experience and a great
|
||||
opportunity to learn about computers, files, directories and programs.
|
||||
|
||||
* [[./tutorial/add_user.org][How to add users]]
|
||||
* [[./tutorial/convertppt2pdf.org][Convert office files to pdf]]
|
||||
* [[./tutorial/changeowner.org][Changing file permissions: 'chmod']]
|
||||
* [[./tutorial/convertppt2pdf.org][How can I convert office files to pdf]]
|
||||
* [[./tutorial/croc.org][Using 'croc' to tranfer files between machines]]
|
||||
* [[./tutorial/dd_command_flash_usb.org][Using dd command to flash usb]]
|
||||
* [[./tutorial/describe_hardware.org][Describing hardware]]
|
||||
* [[./tutorial/dictionaries_translat.org][Using dictionaries and translation tools]]
|
||||
* [[./tutorial/gawk.org][GNU awk program]]
|
||||
* [[./tutorial/display_files.org][Display files: 'less', 'head' and 'tail' commands]]
|
||||
* [[./tutorial/files_directories.org][Learning about files and directories]]
|
||||
* [[./tutorial/gawk.org][GNU-awk program: a nice tool!]]
|
||||
* [[./tutorial/listing_process.org][Listing process]]
|
||||
* [[./tutorial/manuals.org][Reading the fabulous manuals!]]
|
||||
* [[./tutorial/rmlint.org][Using 'rmlint' for cleaning your HD]]
|
||||
* [[./tutorial/move_files.org][Move or rename files]]
|
||||
* [[./tutorial/poppler.org][Convert markup text to multiple formats using 'pandoc']]
|
||||
* [[./tutorial/poppler.org][Convert pdf to text or html using 'poppler']]
|
||||
* [[./tutorial/redirect_output.org][What exactly are input, output and standard error?]]
|
||||
* [[./tutorial/rmlint.org][Using 'rmlint' to clean your hard disk]]
|
||||
* [[./tutorial/run_bash_script.org][How to run bash scripts]]
|
||||
* [[./tutorial/run_rscript.org][How to run R-scripts]]
|
||||
* [[./tutorial/streaming_terminal.org][Streaming from terminal!]]
|
||||
* [[./tutorial/variables.org][Knowing about variables]]
|
||||
* [[./tutorial/redirect_output.org][Input output and standard error]]
|
||||
* [[./tutorial/files_directories.org][Exploring about files and directories]]
|
||||
* [[./tutorial/sed_subsitute.org][Using 'sed' to subsitute text]]
|
||||
* [[./tutorial/croc.org][Using 'croc' to tranfer files between machines]]
|
||||
* [[./tutorial/move_files.org][Move or rename files]]
|
||||
* [[./tutorial/search_files.org][Searching files in the system]]
|
||||
* [[./tutorial/listing_process.org][Listing process]]
|
||||
* [[./tutorial/display_files.org][Display files: 'less', 'head' and 'tail' commands]]
|
||||
* [[./tutorial/sed_subsitute.org][Using 'sed' editor to substitute text]]
|
||||
* [[./tutorial/streaming_terminal.org][A really nice feature: streaming from terminal!]]
|
||||
* [[./tutorial/variables.org][Knowing about variables]]
|
||||
|
||||
|
|
|
@ -26,40 +26,6 @@ The file can be found in the user home:
|
|||
|
||||
|
||||
|
||||
** Convert pdf to text or html using poppler
|
||||
|
||||
Use poppler and redirect the text to a org file.
|
||||
~pdftotext~ converts a pdf to "txt" if no other format is
|
||||
specified
|
||||
|
||||
: pdftotext foo.pdf foo
|
||||
|
||||
: pacman -S poppler
|
||||
: pdftotext foo.pdf ->> foo.org # first option
|
||||
: pdftotext foo.pdf foo.org # second option
|
||||
|
||||
Convert pdf to html
|
||||
|
||||
: pfdftohtml foo.pdf foo.html
|
||||
|
||||
** Convert files using pandoc
|
||||
|
||||
Use pandoc with "-s" flag to produce a standalone document and "-o" to
|
||||
redirect output to a file.
|
||||
|
||||
In the example a file "foo" is converted from ~odt~ to ~org~
|
||||
|
||||
: pandoc -s -o foo.org foo.odt
|
||||
|
||||
** Convert files to pdf using libreoffice
|
||||
|
||||
Convert odt file "tcl_online3.odt" to pdf
|
||||
|
||||
: libreoffice --headless --convert-to pdf tcl_online3.odt
|
||||
|
||||
|
||||
|
||||
|
||||
** Backup a file
|
||||
|
||||
Using "cp"
|
|
@ -1 +0,0 @@
|
|||
compartido@compartido.3161:1656845041
|
|
@ -1,3 +1,5 @@
|
|||
#+options: toc:nil num:nil author:nil
|
||||
|
||||
* Adding a new user
|
||||
|
||||
Check users that are logged
|
||||
|
@ -9,7 +11,7 @@ users
|
|||
#+RESULTS:
|
||||
: myuser
|
||||
|
||||
New user called "test"
|
||||
Creating a new user called "test"
|
||||
|
||||
#+begin_example bash
|
||||
sudo useradd -p -m test
|
||||
|
|
|
@ -1,206 +0,0 @@
|
|||
#+TITLE: bash commands
|
||||
#+DATE: 2021-08-30
|
||||
#+STARTUP: indent
|
||||
#+OPTIONS: num:nil
|
||||
|
||||
* DONE work in bash tutorial
|
||||
:LOGBOOK:
|
||||
CLOCK: [2021-09-08 mié 18:52]--[2021-09-08 mié 19:22] => 0:30
|
||||
CLOCK: [2021-09-04 sáb 16:04]--[2021-09-04 sáb 16:34] => 0:30
|
||||
CLOCK: [2021-09-04 sáb 15:19]--[2021-09-04 sáb 15:49] => 0:30
|
||||
:END:
|
||||
|
||||
|
||||
|
||||
* Execute stuffs
|
||||
|
||||
|
||||
* Show command history
|
||||
|
||||
: history
|
||||
|
||||
The file can be found in the user home:
|
||||
|
||||
: /home/user/.bash_history
|
||||
|
||||
|
||||
|
||||
|
||||
** Convert pdf to text or html using poppler
|
||||
|
||||
Use poppler and redirect the text to a org file.
|
||||
~pdftotext~ converts a pdf to "txt" if no other format is
|
||||
specified
|
||||
|
||||
: pdftotext foo.pdf foo
|
||||
|
||||
: pacman -S poppler
|
||||
: pdftotext foo.pdf ->> foo.org # first option
|
||||
: pdftotext foo.pdf foo.org # second option
|
||||
|
||||
Convert pdf to html
|
||||
|
||||
: pfdftohtml foo.pdf foo.html
|
||||
|
||||
** Convert files using pandoc
|
||||
|
||||
Use pandoc with "-s" flag to produce a standalone document and "-o" to
|
||||
redirect output to a file.
|
||||
|
||||
In the example a file "foo" is converted from ~odt~ to ~org~
|
||||
|
||||
: pandoc -s -o foo.org foo.odt
|
||||
|
||||
** Convert files to pdf using libreoffice
|
||||
|
||||
Convert odt file "tcl_online3.odt" to pdf
|
||||
|
||||
: libreoffice --headless --convert-to pdf tcl_online3.odt
|
||||
|
||||
|
||||
|
||||
** Display files
|
||||
|
||||
Show content of a file. Concatenates and writes file.
|
||||
Using "tac" reverses the result of "cat" command
|
||||
|
||||
: cat file.txt
|
||||
|
||||
Using head, tail and less to show parts of files
|
||||
|
||||
Showing the first two entries
|
||||
|
||||
#+begin_src bash
|
||||
head -n 2 /etc/hosts
|
||||
#+end_src
|
||||
|
||||
#+RESULTS:
|
||||
| 127.0.0.1 | localhost |
|
||||
| 127.0.1.1 | myuser |
|
||||
|
||||
Showing the last two entries
|
||||
|
||||
#+begin_src bash
|
||||
tail -n 2 /etc/hosts
|
||||
#+end_src
|
||||
|
||||
#+RESULTS:
|
||||
| ff02::1 | ip6-allnodes |
|
||||
| ff02::2 | ip6-allrouters |
|
||||
|
||||
|
||||
#+begin_src bash
|
||||
less /etc/hosts
|
||||
#+end_src
|
||||
|
||||
#+RESULTS:
|
||||
| 127.0.0.1 | localhost | | |
|
||||
| 127.0.1.1 | myuser | | |
|
||||
| ::1 | localhost | ip6-localhost | ip6-loopback |
|
||||
| ff02::1 | ip6-allnodes | | |
|
||||
| ff02::2 | ip6-allrouters | | |
|
||||
|
||||
|
||||
Show content of a zip file using less and pipe "|"
|
||||
|
||||
#+begin_src bash
|
||||
unzip -l tntvillage_484094.zip | less
|
||||
#+end_src
|
||||
|
||||
** Backup a file
|
||||
|
||||
Using "cp"
|
||||
|
||||
: cp bbdb{,.bak}
|
||||
|
||||
: bbdb.bak
|
||||
|
||||
Backups with tar (tape archiver)
|
||||
|
||||
Back up of "home"
|
||||
|
||||
* c = create file
|
||||
* v = verbose
|
||||
* f = write to a file/device
|
||||
* z = compress the file (gzip) "tar.bz"
|
||||
* j = compress the file (bzip2)
|
||||
|
||||
: tar -czvf /tmp/home.tar.gz /home
|
||||
|
||||
** Simple code to encrypt
|
||||
|
||||
Encrypt:
|
||||
|
||||
: gpg -c X
|
||||
: gpg X
|
||||
|
||||
Use the code to remove the original file:
|
||||
|
||||
: shred --remove X
|
||||
|
||||
|
||||
** Download files
|
||||
|
||||
This code download the file and the argument ~-O~ is to rename the file
|
||||
|
||||
#+begin_example
|
||||
wget https://filetodownload.org -O new_file
|
||||
#+end_example
|
||||
|
||||
* Devices
|
||||
|
||||
- mount /what /where
|
||||
- what = device name
|
||||
- where = directory
|
||||
- /mnt = devices that mount occasionally
|
||||
- /media = devices that mount frequently
|
||||
|
||||
: run/$USER/media/$LABEL
|
||||
|
||||
* List process
|
||||
|
||||
Use ~ps~, ~top~ or ~htop~ to list process:
|
||||
|
||||
* ~ps~ reports a snapshot of the current process
|
||||
|
||||
: ps aux | less
|
||||
|
||||
* ~top~ display dynamic real-time view of linux process
|
||||
|
||||
: top
|
||||
|
||||
* ~htop~ displays an interactive process viewer
|
||||
|
||||
: htop
|
||||
|
||||
To kill a process use:
|
||||
|
||||
: kill [PID]
|
||||
|
||||
or
|
||||
|
||||
: pkill [PID]
|
||||
|
||||
PID = process identificator
|
||||
|
||||
* Evaluate time to load
|
||||
|
||||
In emacs:
|
||||
|
||||
: time emacs --eval '(save-buffers-kill-terminal)'
|
||||
|
||||
* Cool commands
|
||||
|
||||
: cal # calendar
|
||||
: clear # clear output
|
||||
: uname # display system information (-r, -p, -a)
|
||||
: wc # wordcount (file name)
|
||||
: date # check the date
|
||||
|
||||
|
||||
* References:
|
||||
|
||||
* [[https://wiki-dev.bash-hackers.org/][The bash hackers wiki]]
|
||||
* [[https://link.springer.com/content/pdf/bfm%3A978-1-4302-6829-1%2F1.pdf?error=cookies_not_supported&code=2e41714e-ca8f-4796-a077-3243c836ec90][Beginning the linux command line]]
|
||||
* [[https://pandoc.org/][Pandoc manual]]
|
||||
* [[https://stackoverflow.com/][stackoverflow]]
|
|
@ -0,0 +1,48 @@
|
|||
#+options: toc:nil num:nil author:nil
|
||||
|
||||
* Changing permissions for files and directories
|
||||
|
||||
There are three types of permissions for files and directories in the system:
|
||||
|
||||
1. Read ('r')
|
||||
2. Write ('w')
|
||||
3. Execute ('x')
|
||||
|
||||
The permissions can be differente for users: owner - group - others
|
||||
|
||||
** Creating a file and checking permissions
|
||||
|
||||
Here we create a file with the sentence "this is a fancy file". The sentence is
|
||||
redirected to the name "fancyfile.org" and a new file is created!
|
||||
|
||||
#+begin_src bash
|
||||
echo "this is a fancy file" > fancyfile.org
|
||||
#+end_src
|
||||
|
||||
#+RESULTS:
|
||||
|
||||
In the ouptut of ~ls~ command, there letters showing each permission for each user: owner, group, others, respectively.
|
||||
|
||||
#+begin_src bash
|
||||
ls -la fancyfile.org
|
||||
#+end_src
|
||||
|
||||
#+RESULTS:
|
||||
: -rw-r--r-- 1 compartido compartido 21 jul 18 06:06 fancyfile.org
|
||||
|
||||
** Settings permissions for the file
|
||||
|
||||
#+begin_src bash
|
||||
chmod o=r,g=rw,o=r fancyfile.org
|
||||
#+end_src
|
||||
|
||||
#+RESULTS:
|
||||
|
||||
Then it changed!
|
||||
|
||||
#+begin_src bash
|
||||
ls -la fancyfile.org
|
||||
#+end_src
|
||||
|
||||
#+RESULTS:
|
||||
: -rw-rw-r-- 1 compartido compartido 21 jul 18 06:06 fancyfile.org
|
|
@ -1,16 +1,27 @@
|
|||
#+options: toc:nil num:nil author:nil
|
||||
|
||||
* How to convert office documents to text
|
||||
|
||||
You may use libreoffice from terminal to tranform the file in pdf:
|
||||
** From office document to pdf and then to plain text
|
||||
|
||||
You may use libreoffice from terminal to transform the file in pdf:
|
||||
|
||||
#+begin_example sh
|
||||
libreoffice --headless --convert-to pdf Presentation.pptx
|
||||
#+end_example
|
||||
|
||||
|
||||
Then you can use 'pdftotext' command to transform the pdf file to any plain text
|
||||
format:
|
||||
Then from a pdf you can use 'pdftotext' command to transform the pdf file to any
|
||||
plain text format:
|
||||
|
||||
#+begin_example sh
|
||||
pdftotext Presentation.pdf Presentation.txt
|
||||
#+end_example
|
||||
|
||||
|
||||
** One more example: convert odf files to pdf using libreoffice
|
||||
|
||||
Convert odt file "tcl_online3.odt" to pdf
|
||||
|
||||
#+begin_src bash
|
||||
libreoffice --headless --convert-to pdf tcl_online3.odt
|
||||
#+end_src
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
#+options: toc:nil num:nil author:nil
|
||||
|
||||
* Send files to another machine with "croc"
|
||||
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
#+options: toc:nil num:nil author:nil
|
||||
|
||||
** Flashing USB with "dd"
|
||||
|
||||
|
@ -20,4 +21,3 @@ An example with parabola:
|
|||
|
||||
The ISO image is copied to "sdb1" (USB volume)
|
||||
|
||||
More files with examples of use of "dd" [../bash/dd_command.org][here]] and [[~/Documentos/GNU/bash/dd_command_wiki.org][here]]
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
#+options: toc:nil num:nil author:nil
|
||||
|
||||
* Describe hardware
|
||||
|
||||
Here using piping to show only the first four lines in the output
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
#+options: toc:nil num:nil author:nil
|
||||
|
||||
* Translators and dictionaries
|
||||
|
||||
** Apertium translator
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
#+options: toc:nil num:nil author:nil
|
||||
|
||||
* Display files
|
||||
|
||||
Show content of a file. Concatenates and writes file.
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
this is a fancy file
|
|
@ -1,3 +1,4 @@
|
|||
#+options: toc:nil num:nil author:nil
|
||||
|
||||
* Files and directories
|
||||
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
#+TITLE: Using gawk in command-line
|
||||
#+DATE: 2022-03-15
|
||||
#+OPTIONS: num:nil toc:nil
|
||||
#+AUTHOR: Jose
|
||||
#+OPTIONS: num:nil toc:nil author:nil
|
||||
#+PROPERTY: header-args:bash :exports both :session *bsh* :tangle yes
|
||||
#+PROPERTY: header-args:bash+ :cmdline :results output
|
||||
|
||||
|
||||
* gawk stands for GNU-awk
|
||||
|
||||
~awk~ is a data driven program that search text in files using a pattern. After finding the pattern
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
#+options: toc:nil num:nil author:nil
|
||||
|
||||
* List process
|
||||
|
||||
Use ~ps~, ~top~ or ~htop~ to list process:
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
#+options: toc:nil num:nil author:nil
|
||||
|
||||
* Manuals
|
||||
|
||||
To explore the manuals use the command ~man~ or ~info~ followed by the name of the function or program
|
||||
|
|
|
@ -1,4 +1,6 @@
|
|||
* Move or rename
|
||||
#+options: toc:nil num:nil author:nil
|
||||
|
||||
* Move or rename files
|
||||
|
||||
Use "~mv~ source destination" command
|
||||
|
||||
|
|
|
@ -0,0 +1,18 @@
|
|||
#+options: toc:nil num:nil author:nil
|
||||
|
||||
* Convert files using pandoc
|
||||
|
||||
Use pandoc with "-s" flag to produce a standalone document and "-o" to redirect
|
||||
output to a file.
|
||||
|
||||
In the example a file "foo" is converted from ~odt~ to ~org~
|
||||
|
||||
#+begin_src bash
|
||||
pandoc -s -o foo.org foo.odt
|
||||
#+end_src
|
||||
|
||||
Check the manual for more information:
|
||||
|
||||
#+begin_example bash
|
||||
man pandoc
|
||||
#+end_src
|
|
@ -0,0 +1,28 @@
|
|||
#+options: toc:nil num:nil author:nil
|
||||
|
||||
* Convert pdf to text or html using poppler
|
||||
|
||||
Use poppler and redirect the text to a org file. ~pdftotext~ converts a pdf to
|
||||
"txt" if no other format is specified
|
||||
|
||||
#+begin_src bash
|
||||
pdftotext foo.pdf foo
|
||||
#+end_src
|
||||
|
||||
Install poppler in Parabola GNU-Linux
|
||||
|
||||
#+begin_src bash
|
||||
pacman -S poppler
|
||||
#+end_src
|
||||
|
||||
#+begin_src bash
|
||||
pdftotext foo.pdf ->> foo.org # first option
|
||||
pdftotext foo.pdf foo.org # second option
|
||||
#+end_src
|
||||
|
||||
Convert pdf to html
|
||||
|
||||
#+begin_src bash
|
||||
pfdftohtml foo.pdf foo.html
|
||||
#+end_src
|
||||
|
|
@ -1,3 +1,4 @@
|
|||
#+options: toc:nil num:nil author:nil
|
||||
|
||||
* Redirect input, output and standard error
|
||||
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
#+options: toc:nil num:nil author:nil
|
||||
|
||||
* Use rmlint to search for duplicated or empty files
|
||||
|
||||
** Install in Parabola GNU-linux
|
||||
|
|
|
@ -1,8 +1,10 @@
|
|||
#+options: toc:nil num:nil author:nil
|
||||
|
||||
* Run R scripts
|
||||
|
||||
Write the script and save it. Then go to the directory where the script
|
||||
was saved and run this code from terminal
|
||||
|
||||
#+begin_src bash
|
||||
Rscript script.R
|
||||
Rscript script.R
|
||||
#+end_src
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
#+options: toc:nil num:nil author:nil
|
||||
|
||||
* Searching
|
||||
|
||||
** Search for files
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
#+options: toc:nil num:nil author:nil
|
||||
|
||||
* Using 'sed' to substitute text
|
||||
|
||||
"~sed~" is a stream editor for filtering and transforming text"...
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
#+options: toc:nil num:nil author:nil
|
||||
|
||||
* Streaming from terminal
|
||||
|
||||
To watch a stream use video player such as 'mpv' or 'vlc' that supports streaming
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
#+options: toc:nil num:nil author:nil
|
||||
|
||||
* Variables and how to add a directory to $PATH
|
||||
|
||||
System variables are stored in users environment
|
||||
|
|
Loading…
Reference in New Issue