Notes by Dr. Xi

Displaying keyword search results 1 - 10
Created by Dr. Xi on February 24, 2012 13:01:01    Last update: February 24, 2012 13:01:01
To zip all files under js and css , but exclude the svn files: $ zip -r css-js.zip css js -x '*.svn*'
Created by Dr. Xi on January 06, 2012 13:44:55    Last update: January 06, 2012 13:44:55
To exclude CVS directories: grep -R -l --exclude-dir=CVS 'string_to_find‘ src ... To exclude .svn directories: grep -R -l --exclude-dir=.svn 'string_to_find‘ src...
Created by Dr. Xi on September 30, 2011 15:34:47    Last update: September 30, 2011 15:34:47
A naive try would be something like this: $ nc -l 8082 | nc remote_host 80 Yes, it does forward the request from local port 8082 to remote_host:80 , but the response is dumped to stdout , not routed back to the client as expected. Using a named pipe makes it work: $ mkfifo backpipe $ nc -l 8082 0<backpipe | nc ... Use tee to get a glimpse of the response through the pipe (I wasn't able to find a way to dump the request): $ nc -k -l 8082 0<backpipe | nc localhost 80 | tee... The GNU netcat has a different syntax than the stock nc . It also supports different switches. To listen to port 1234: $ netcat -l -p 1234...
Created by Dr. Xi on February 17, 2011 12:34:58    Last update: August 10, 2011 09:04:32
String comparison operators: Operator Meaning -n str the length of str is nonzero. -z str the length of str is zero (0). str1 = str2 str1 and str2 are the same (note one equal sign, not two!). str1 != str2 str1 and str2 are not the same. str str is not a null string Examples: # empty string is not null if [ '' ]; then ... Numerical comparisons ( integer expressions only! ): Operator Meaning int1 -eq int2 int1 and int2 are numerically equal int1 -ne int2 int1 and int2 are numerically NOT equal int1 -gt int2 int1 is greater than int2 int1 -ge int2 int1 is greater than or equal to int2 int1 -lt int2 int1 is less than int2 int1 -le...
Created by Dr. Xi on June 20, 2011 15:18:06    Last update: June 20, 2011 15:18:06
Perl does not have built-in functions to get the base name or dir name from a file path. But on the Unix platforms we can rely on the executables basename and dirname . #!/usr/bin/perl $f = '/A path with/space "/file... The quotes, escapes, and chomp are necessary: # This fails when there's a space in $f $base =...
Created by Dr. Xi on March 28, 2011 11:11:33    Last update: March 28, 2011 11:13:21
grep is a versatile command with many variations (grep, egrep, fgrep, then various implementations). It uses a regula expression (regex) pattern to filter input. But then there are basic and extended flavors of regex - leading to even more confusion. And, beware that there are lots of bad examples of regex in the wild... There are two critical questions to ask when you use grep: which grep implementation are you using? what is the flavor of the regex? Here are some examples for gnu grep v2.7: # Find all numbers (no decimal point), basic regex... Use the -o flag to show only the matching part instead of the whole matching line: grep -o -E '\b[0-9]{2}\b' The good thing about the gnu grep is that it...
Created by Dr. Xi on February 28, 2011 12:29:19    Last update: February 28, 2011 12:30:40
The Unix shell passes these parameters to the shell script: Variable Meaning $* A single string representing all command line arguments separated by $IFS (internal field separator, usually a space) $@ A sequence of strings representing the command line arguments. $1,$2...$n $1 is the first argument, $2 is the second argument, and so on... $0 The name of the script itself. $# The number of arguments. Example shell script ( sharg.sh ): #!/bin/sh echo $# arguments passed to $0: $@ ... Output for ./sharg.sh "a b c d" : 1 arguments passed to ./sharg.sh: a b c d here ... Output for ./sharg.sh a "b c" d : 3 arguments passed to ./sharg.sh: a b c d here ...
Created by Dr. Xi on February 17, 2011 14:06:22    Last update: February 17, 2011 14:06:22
This is the crontab to run a cron job every 15 minutes: */15 * * * * /path/to/executable >/redirect/output... or, 0,15,30,45 * * * * /path/to/executable >/redirect/... In general, the format is: minute hour day_of_month month day_of_week command Valid values are: Field Value minute 0-59 hour 0-23 day of month 1-31 month 1-12 day of week 0-6 (Sunday = 0) Reference: crontab(5) - Linux man page
Created by Dr. Xi on February 17, 2011 13:23:16    Last update: February 17, 2011 13:23:16
To find the PID of the tomcat instance that is currently running: ps -ef | grep java | grep tomcat | awk '{print $2}...
Created by Dr. Xi on February 17, 2011 12:59:47    Last update: February 17, 2011 12:59:47
Operator Meaning -e file1 file1 exists -b file1 file1 is a block special file -c file1 file1 is a character special file -d file1 file1 is a directory -f file1 file1 is a regular -g file1 Set Group ID (sgid) bit is set for file1 -h file1 file1 is a symbolic link -k file1 Sticky bit is set for file1 -L file1 file1 is a symbolic link -p file1 file1 is a named pipe (FIFO) -r file1 file1 is readable by the current process -s file1 file1 has a size greater than zero. -t FileDescriptor FileDescriptor is open and associated with a terminal. -u file1 Set User ID (suid) bit is set for file1 -w file1 Write flag (w) is on for file1 -x file1...
Previous  1 2 3 4 5 6 7 8 Next