man -k [key word] find manual for command related to a keyword export VAR=value 'set' a command shell environment variable ~/.profile user shell commands/variables /etc/profile global system shell commands/variables grep -i foo foo.txt report string foo matches in file foo.txt set REQUEST_METHOD POST Example of how to set an environment variable ... use set to view state talk willco@inow.com live chat session, ctrl C to quit .forward place this file containing a forward address in home directory. chmod 644? mail q quits and deletes read messages pre * will unread all messages such that quit does not delete them w n [file] saves message body only s n [file] saves entire message x quits with no message deletion useradd -u UID -d /home/username -c "User Name" username -m passwd [opt user] change password, defaults to current user passwd -l username lock out user passwd -S username report user password status smbpasswd user:user update SMB (MS Windows file sharing) passwd adduser username will ask for full user name gpasswd -a rickatech public add user to existing group usermod -a -G public henauker add user to existing group groupadd -g GID groupname pwd show current file path rm -R [path/file] will summariliy delete dir and its children rm -fr ... recursive and skips user prompts cp -a old new preserve file properties i possible chmod 760 [file/dir] rwx, rw, - chown [user].[group] chmod g+s [dir] new child dir's will inherit parent group Users and Groups grep -i foo foo.txt report string foo matches in file foo.txt ps list your active processes ps ax list all active processes ps aux list all active processes and show what user they are running under ps axjf tree list all active processes kill [p#] kill active process by number kill -n 9 [p#] kill hung process by number (SIGKILL) gzip [file1] compress to file.gz gunzip [file1.gz] uncompress to file1 tar cvf [archive] * create archive file of all files in current directory tar xvf [src] extract files from archive zip -r foo.zip set/* bzip2 -d foo.bz2 uuencode [src] [name] > [dest] uudecode [file] du recursive directory showing block use ln [org] [lnk] make a hard file link ln -s [org] [lnk] make symbolic link foo & runs foo as background task tr '\r' '\n' < in > out Macintosh -> UNIX tr -d "\r" < in > out MSDOS-> UNIX history -c wipe shell history (best performed right before exit) vi / locate text forward ? locate text reverse ma mark block start mb mark block end :'a,'bd delete block yy copy line P insert line below G move to last line :0 move to first line :set nowrap don't wrap long line, set wrap to enable :set ic ignore case for locate text :set noic use case for locate text :sp [file] split screen, specify different file ctrl W to switch between split screens find [path] -name [file] find -iname "*.c" -exec grep -i "foobar" -H -n {} \; df show disk space usage diff -b [f1] [f2] show non-white space differences between files tail -f [file] watch file being appended, ^C to end watch ls -l 2 second refresh of ls command uname -a report system information lsmod list kernel modules currently active Helpful DNS diagnostic commands (typically part of bind-utils package) ... whois zaptech.org dig jabber.zaptech.org dig jabber.zaptech.org any dig @ns1.sparkworx.com jabber.zaptech.org su - invoke root shell w/root environment date -u output UTC time instead of local time a2ps -Plp192.168.11.21 foo.c scp RPMS/apache-1.3.20-16.i386.rpm fredness@tester.local:/home/fredness killall httpd nohup ./httpd & from terminal session, invoke command in background (creates nohup.out) ci foobar.txt RCS commit co -l foobar.txt RCS checkout rlog foobar.txt RCS show commit log rcsdiff foorbar.txt RCS diff current vs last commit rcsdiff foorbar.txt 1.1 1.2 w show who's logged in netstat -l what is listening netstat -a what is listening and sending netstat -tp show process id of tcp connections cat /proc/ide/svwks machine technical attributes hdparm -i hard disk technical attributes .htaccess this file declares server side include and MIME type extensions served # IP6 ping, require specificying interface ping6 -I eth0 -c fe80::20c:29ff:fe13:c50f # show all filenames, for each name if present also cat the file find . -name "*" -exec sh -c "echo file:{} && cat {}" \; # show files older than 60 days find . -atime +60 -exec sh -c "ls -l {};" \; # fancy ftp handling, may not be part of most distros base install ncftpget -d stdout -u username -p passwd -R ftp://somesite.com/public_html # test pulling slave data from a DNS master dig axfr @pentium.lan.zaptech.org zaptech.com # recursive ftp download using username with a '@' wget -r ftp://leighster%40sprintmail.com:password@ftp-www.earthlink.net # wget, another recursive example wget ftp://bubble/httpdocs/* -r --user bubble --password pop # copy a file, then use sed to find/replace string, e.g. '<' -> '<' cp foo baz; sed -i -e 's/</\</g' baz # Find all files with name Root, search and replace text find -name Root -exec sh -c "sed -s s/happy-neuron.com/63.131.132.56/g {} > sed; mv sed {}" \;
Elsewhere Links [ edit ]