100% encontró este documento útil (2 votos)
14K vistas1 página

Bash Script Cheat Sheet

This document provides a summary of common commands and functions for file manipulation, text processing, programming constructs, networking and system administration in UNIX/Linux shells. It covers basic file operations, variables, conditional execution, loops, string and file testing, finding/replacing text and more all in 3 sentences or less.

Cargado por

Hardeep Singh
Derechos de autor
© Attribution Non-Commercial (BY-NC)
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
100% encontró este documento útil (2 votos)
14K vistas1 página

Bash Script Cheat Sheet

This document provides a summary of common commands and functions for file manipulation, text processing, programming constructs, networking and system administration in UNIX/Linux shells. It covers basic file operations, variables, conditional execution, loops, string and file testing, finding/replacing text and more all in 3 sentences or less.

Cargado por

Hardeep Singh
Derechos de autor
© Attribution Non-Commercial (BY-NC)
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
  • UNIX/Linux Shell Cheat Sheet

[Link]

shtml

v1.1 7 Aug 2007

UNIX / Linux Shell Cheat Sheet

File Manipulation
> file >> file >file 2>&1 < file a|b create (overwrite) file append to file both output and errors to file read from file pipe output from 'a' as input to 'b'

Test Operators
if [ $x -lt $y ]; then # do something fi Numeric Tests lt gt read text file line by line eq ne ge le less than greater than equal to not equal greater or equal less or equal

Variable Substitution
${V:-def} ${V:=def} ${V:?err} $V, or def if unset $V (set to def if unset) $V, or err if unset

Conditional Execution
c1 || c2 c1 && c2 run c1; if it fails, run c2 run c1; if it works, run c2

Common Constructs
while read f do echo Line is $f done < file $ grep foo myfile afoo foo foobar $ cut -d: -f5 /etc/passwd Dilbert foo=`ls`

Common utilities and switches


ls -lSr ls -ltr ls -lh du -sk * sort -n ps -ef wget URL time cmd touch file read x cmd | \ tee [Link] nice cmd list files, biggest last list files, newest last human-readable filesizes directory sizes (slow) sort numerically (not alpha) list my commands download URL stopwatch on `cmd` create file read x from keyboard cmd output to stdout and also to [Link] run cmd with low priority

find matching lines get field with delimiter get output of command

File Tests nt newer than d f r w x is a directory is a file readable writeable executable

String Tests = equal to z n zero length not zero length

case $foo in a) echo foo is A ;; b) echo foo is B ;; *) echo foo is not A or B ;; esac doubleit() { expr $1 \* 2 } doubleit 3 # returns 6 function declaration and calling syntax A for loop for i in * do echo File is $i done iterates through its input (which is subject to globbing) case is a good way to avoid iterating through many if/elif/elif/elif constructs.

Networking
ifconfig -a netstat -r ssh u@host scp [Link] \ u@host: list all network interfaces show routers log in to host as user u copy [Link] to host as user u

Logical Tests && || ! logical AND logical OR logical NOT

Argument Variables
$0 $1 $2 ... $9 $* $# program name 1st argument 2nd argument ... 9th argument all arguments No. of arguments

General Admin
less file alias l='ls -l' tar cf [Link] \ list_of_files cal 3 1973 df -h truss -p PID display file, page by page create l as alias for ls -l create a tar archive [Link] from the listed dirs/files display a calendar (Mar 73) show disk mounts show syscalls of PID

Files: Contents / Attributes


find . -size 10k -print find . -name *.txt -print find /foo -type d -ls three=`expr 1 + 2` echo "scale = 5 ; 5121 / 1024 | bc egrep (foo|bar) file files over 10Kb find text files ls all directories under /foo simple maths better maths find foo or bar in file print the 5th word of each line replace foo in file with bar

Useful Variables
$IFS $? $SHELL LANG Internal File Separator return code from last program what shell is running this script? Language; C is US English awk '{ print $5 }' file sed s/foo/bar/g file

A full PDF and online tutorial is available at [Link]

También podría gustarte