Difference between revisions of "Linux commands"
(→See also: Date format codes) |
(→Recovering from an interupted transfer) |
||
Line 41: | Line 41: | ||
''Note using port forwarding for commonly accessed sites you can define non standard ports in your <code>.ssh/config</code> so you never | ''Note using port forwarding for commonly accessed sites you can define non standard ports in your <code>.ssh/config</code> so you never | ||
need to explicitly state them above.'' | need to explicitly state them above.'' | ||
+ | |||
+ | === Recovering from an interupted transfer === | ||
+ | This ability is included natively in Linux and used to be very useful for splitting large backups up so they could fit onto small media such as floppy disks. But there's one time when it's very useful nowadays too which is when a large file transfer gets interupted and there's no option for continuation such as when using SCP. | ||
+ | |||
+ | When this happens, go onto the target machine, check how many bytes were transferred of the target file and rename it to "xaa". Then on the local machine, do the following command to split the source file into two parts, the first being of the size of the number of bytes that have already been transferred (in this example 1234567 bytes). | ||
+ | {{code|<bash>split -b 1234567 foo.tar.gz</bash>}} | ||
+ | |||
+ | The resulting files are called "xaa" and "xab", and the latter is the containing the remaining content that needs to be transferred to the target server. Once you've transferred it across, you can then join the two files (remember you renamed the first part to "xaa" so there's no need to transfer that) together using ''cat'' as follows, and then remove all the ''xa*'' files from noth source and target servers. | ||
+ | {{code|<bash>cat xa* > foo.tar.gz</bash>}} | ||
== Files == | == Files == |
Revision as of 11:24, 10 September 2012
Contents
Ubuntu package management
Searching for an installed package
Use dpkg and grep;
will list all packages with java in the name
Searching for installable packages
apt-cache performs a variety of operations on APT´s package cache
lists all packages in the cache with java in the name that are installable
SSH & SCP
tar pipe
Example of sending a file to a remote server:
Example of retrieving a file from a remote server:
Note using port forwarding for commonly accessed sites you can define non standard ports in your .ssh/config
so you never
need to explicitly state them above.
Recovering from an interupted transfer
This ability is included natively in Linux and used to be very useful for splitting large backups up so they could fit onto small media such as floppy disks. But there's one time when it's very useful nowadays too which is when a large file transfer gets interupted and there's no option for continuation such as when using SCP.
When this happens, go onto the target machine, check how many bytes were transferred of the target file and rename it to "xaa". Then on the local machine, do the following command to split the source file into two parts, the first being of the size of the number of bytes that have already been transferred (in this example 1234567 bytes).
The resulting files are called "xaa" and "xab", and the latter is the containing the remaining content that needs to be transferred to the target server. Once you've transferred it across, you can then join the two files (remember you renamed the first part to "xaa" so there's no need to transfer that) together using cat as follows, and then remove all the xa* files from noth source and target servers.
Files
Get the size of a directory and its contents
Use this more specific version to find the size of a users Maildir folder:
Search for file content recursively
Here is an example looking for library(.+) or require(.+) within R files recursively
If you have spaces or newlines in file names, then you have to use -print0 option instead of -print and xargs -null so that the list of file names are exchanged with null-terminated strings.
There are other tips at stackoverflow.com.
Search for file content recursively and tar
Search for file content recursively and long list
Search and replace content in files
You could also use find and sed, but I find that this little line of perl works nicely.
- -e means execute the following line of code.
- -i means edit in-place
- -w write warnings
- -p loop
EXTS="7z t7z"
Mass renaming
mmv is a mass move/copy/renaming tool that uses standard wildcards to perform its functions. According to the manual the “;” wildcard is useful for matching files at any depth in the directory tree (ie it will go below the current directory, recursively).
- Example
The first pattern matches anything with a “.JPG” and renames each file (the “#1” matches the first wildcard) to “.jpg”. Each time you use a \(wildcard) you can use a #x to get that wildcard. Where x is a positive number starting at 1. Copied off: http://tldp.org/LDP/GNU-Linux-Tools-Summary/html/mass-rename.html
Image manipulation
Resizing JPG's and changing quality setting
The first line shows how to reduce and image to 25% and quality to 50% adding "_resized" to the results filename. The second command uses Perl to apply this same command to all JPG's in the current directory.
Apply an opaque background of a specified colour to a directory of transparent PNG's
- This command requires ImageMagick to be installed
- It loops through all PNG's in the CWD and puts them in a directory called processed which must exist
Audio conversion
The following converts a .wav file to an mp3:
To do a whole directory you could do this:
Video manipulation
Use the following commands to extract a small snippet out of a video (the -ar switch is only needed for outputting to flv I think).
See also
- Converting_microarray_images for bash/imagemagick image file manipulation
System monitoring
List the top 10 memory consuming processes
List the top 10 CPU consuming processes
Network commands
Restart the network after changing configuration
List all the listening sockets and their ports and programs
Get current default gateway
The default gateway is on the last line, it should have the U and G flags set
Release DHCP lease
Obtain a new DHCP lease
Internet
Download a copy of an entire site
This will download an entire site, if the site is already downloaded, then only newer files are transferred.
Devices
mount
All files accessible in a Unix system are arranged in one big tree, the file hierarchy, rooted at /. These files can be spread out over several devices. The mount command serves to attach the file system found on some device to the big file tree.
fstab
Static information about the filesystems (fstab) is a configuration file that contains information of all the partitions and storage devices in your computer. It is a map of devices to the point in the filesytem where the device can be accessed, it contains information of where your partitions and storage devices should be mounted and how. It acts as a set of defaults for devices that are specified using the mount command where the file system directory is not specified. See W:Fstab#Example.
Mount a .iso
See this HOWTO
Port forwarding
Port forwarding allows a remote client to gain access to a network so an intranet can be accessed.
Then point your webbrowsers proxy server to appserver:[PORT] and access the intranet etc.
To subvert a firewalled environment where outgoing ssh is allowed.
Then point your web browser to a SOCKS proxy @ localhost:9000
Further it's possible to get ssh through a web proxy using corkscrew.