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 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 ]