User Tools

Site Tools


info:basic_commands

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
info:basic_commands [2009/12/03 15:33] – external edit 127.0.0.1info:basic_commands [2012/02/25 21:10] (current) – Added rsync intro hartmut
Line 8: Line 8:
   * ''mv'' moves a file, where path is relative to current directory: mv [path]filename [path]filname   * ''mv'' moves a file, where path is relative to current directory: mv [path]filename [path]filname
   * ''file'' reveals what content type a file is. Use it to test if a file is text, image, binary or whatever.   * ''file'' reveals what content type a file is. Use it to test if a file is text, image, binary or whatever.
 +  * ''find'' and ''rm'' can be used in combination to delete files found by ''find''. e.g. this will recursively remove all files with extension ''.txt'' in the current directory: ''find . -name \*.txt -print0 | xargs -0 rm''\\ As an alternative, it is possible to use some shell features: ''rm $(find -name \*.txt)''
   * ''sudo'' starts a process with super user (=root) capabilities. To start a root shell, use ''sudo su''. If ''sudo'' is not installed, use ''su'' instead. It requires not the current user's password but the root password.   * ''sudo'' starts a process with super user (=root) capabilities. To start a root shell, use ''sudo su''. If ''sudo'' is not installed, use ''su'' instead. It requires not the current user's password but the root password.
   * ''less'' helps to look at what a file stores.   * ''less'' helps to look at what a file stores.
-  * ''cat'' reads a file and prints it to ''stdout'' (the console if invoked as-is.)+  * ''cat'' reads a file and prints it to ''stdout'' (the console if invoked as-is.) To read from STDIN, pass ''-'' as the file to read. This can be used to create a file by entering its content in the console. Use ''cat - > new_file'' and paste the content to quickly create a new file with content. To end the file, press Ctrl+D, which produces the EOF-character.
   * ''locate'' locates all files that contain a given string.   * ''locate'' locates all files that contain a given string.
   * ''grep'' searches input for matching lines. To search all files in the current directory (and sub directories), use ''grep -r . -e "text"''.   * ''grep'' searches input for matching lines. To search all files in the current directory (and sub directories), use ''grep -r . -e "text"''.
   * ''man'' shows the manual for some command. Sometimes ''info'' shows a more detailed documentation.   * ''man'' shows the manual for some command. Sometimes ''info'' shows a more detailed documentation.
   * ''dmesg'' prints kernel messages.   * ''dmesg'' prints kernel messages.
 +
 +===== Networking Tools =====
 +==== HTTP/FTP ====
 +  * Use ''wget'' to download files from HTTP and FTP. The tool allows recursive downloading, i.e. also fetch outgoing links from some HTML page. To restrict the files downloaded to a certain type (by file suffix), use the ''-A'' option: <code>wget -r http://some.host/path/to/file.html -A pdf</code> downloads all PDFs referenced by the HTML file.
 +==== rsync ====
 +  * To upload files from your machine to another via ssl, one tool that can be used is ''rsync''. It allows recursive uploading, can be configured to upload changed or new files only, can optionally delete remote files that are no longer existing locally, and is very nice to your bandwith.
 +
 +=== Example ===
 +* This is a script to upload a complete directory recursively (local copy of website to web server).
 +The local directory is ''gallery'', this is also the place where the script resides. The remote username
 +is ''user'' and should be replaced by an existing one. Also, the server ''server.xx'' and the server directory have to be adapted.
 +
 +The rsync options used here: ''-a'': keep a lot of attributes (owner, permissions etc.); ''-z'': compress; ''-v'': verbose; ''-r'': recurse into subdirectories; ''--update'': only upload changed or added files; ''--delete'': delete remote files no
 +longer available locally; and finally: ''--delay-updates'': makes rsync postpone all changes until the run is finished, which makes a lot of sense when updating live websites.
 +
 +If you comment out the second ''myoption='' line and uncomment the first one, the ''--dry-run'' option lets you simulate what rsync would do without actually harming anything.
 +
 +<code>
 +#! /bin/sh
 +#comment out --dry-run to get it working
 +#myoption=--dry-run # don't put spaces around the =
 +myoption= #this resets the variable
 +echo "--> gallery dir"
 +rsync -razv --update --delete $myoption --delay-updates gallery user@server.xx:/var/www/de.baz.foo/
 +</code>
 +
  
 ===== Piping ===== ===== Piping =====
 The output of one command can be piped into the input of another command. This is done by the pipe operator ''|''. To search kernel messages for some string, use ''dmesg | grep string''. The output of one command can be piped into the input of another command. This is done by the pipe operator ''|''. To search kernel messages for some string, use ''dmesg | grep string''.
 +
 +Additionally, the STDOUT (1) and STDERR (2) streams can also be redirected. To redirect the STDERR output to STDOUT, use: ''command 2>&1 ...''. This can be used in combination with piping.
  
  
info/basic_commands.1259850826.txt.gz · Last modified: 2009/12/03 16:21 (external edit)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki