Commands tagged test (19)

  • On the machine acting like a server, run: iperf -s On the machine acting like a client, run: iperf -c ip.add.re.ss where ip.add.re.ss is the ip or hostname of the server. Show Sample Output


    8
    iperf -s
    forcefsck · 2011-01-24 07:58:38 22
  • For each cpu set mask and then monitor your cpu infos. Temp,load avg. etc. For example for 2nd cpu or 2nd core taskset 0x00000002 yes > /dev/null & For example for 3rd cpu or 3rd core taskset 0x00000004 yes > /dev/null & For example for 4th cpu or 4th core taskset 0x00000008 yes > /dev/null & Monitor your cpu temp with this command if you want watch -n1 "acpi -t" Load avg. from top command top kerim@bayner.com http://www.bayner.com/


    8
    taskset 0x00000001 yes > /dev/null &
    kerim · 2011-04-03 07:23:53 16
  • This loop will finish if a file hasn't changed in the last 10 seconds. . It checks the file's modification timestamp against the clock. If 10 seconds have elapsed without any change to the file, then the loop ends. . This script will give a false positive if there's a 10 second delay between updates, e.g. due to network congestion . How does it work? 'date +%s' gives the current time in seconds 'stat -c %Y' gives the file's last modification time in seconds '$(( ))' is bash's way of doing maths '[ X -lt 10 ]' tests the result is Less Than 10 otherwise sleep for 1 second and repeat . Note: Clever as this script is, inotify is smarter. Show Sample Output


    3
    while [ $(( $(date +%s) - $(stat -c %Y FILENAME) )) -lt 10 ]; do sleep 1; done; echo DONE
    flatcap · 2015-05-09 12:30:13 23
  • Finds executable and existing directories in your path that can be useful if migrating a profile script to another system. This is faster and smaller than any other method due to using only bash builtin commands. See also: + http://www.commandlinefu.com/commands/view/743/list-all-execs-in-path-usefull-for-grepping-the-resulting-list + http://www.askapache.com/linux-unix/bash_profile-functions-advanced-shell.html Show Sample Output


    2
    for p in ${PATH//:/ }; do [[ -d $p && -x $p ]] && echo $p; done
    AskApache · 2009-09-19 06:43:57 9

  • 2
    leapyear() { [ $(date -d "Dec 31, $1" +%j) == 366 ] && echo leap || echo not leap; }
    taliver · 2010-03-30 20:13:56 38
  • Applies each file operator using the built-in test. testt /home/askapache/.sq /home/askapache/.sq -a True - file exists. -d True - file is a directory. -e True - file exists. -r True - file is readable by you. -s True - file exists and is not empty. -w True - the file is writable by you. -x True - the file is executable by you. -O True - the file is effectively owned by you. -G True - the file is effectively owned by your group. -N True - the file has been modified since it was last read. Full Function: testt () { local dp; until [ -z "${1:-}" ]; do dp="$1"; [[ ! -a "$1" ]] && dp="$PWD/$dp"; command ls -w $((${COLUMNS:-80}-20)) -lA --color=tty -d "$dp"; [[ -d "$dp" ]] && find "$dp" -mount -depth -wholename "$dp" -printf '%.5m %10M %#15s %#9u %-9g %#5U %-5G %Am/%Ad/%AY %Cm/%Cd/%CY %Tm/%Td/%TY [%Y] %p\n' -a -quit 2> /dev/null; for f in a b c d e f g h L k p r s S t u w x O G N; do test -$f "$dp" && help test | sed "/-$f F/!d" | sed -e 's#^[\t ]*-\([a-zA-Z]\{1\}\) F[A-Z]*[\t ]* True if#-\1 "'$dp'" #g'; done; shift; done } Show Sample Output


    2
    testt(){ o=abcdefghLkprsStuwxOGN;echo $@;for((i=0;i<${#o};i++));do c=${o:$i:1};test -$c $1 && help test | sed "/^ *-$c/!d;1q;s/^[^T]*/-$c /;s/ if/ -/";done; }
    AskApache · 2012-02-21 16:54:53 13

  • 2
    function stringContains() { [ -z "${2##*$1*}" ] && [ -z "$1" -o -n "$2" ]; };
    mikhail · 2019-04-12 20:51:27 35
  • On the another machine write this command. pv -r /dev/zero | nc 192.168.1.1 7777 It will show live throughput between two machine.The destination machine ip is at our example 192.168.1.1 You must multiply by 8 for the network calculation. You must install pv and netcat commands for this commands usage. kerim@bayner.com http://www.bayner.com/ Show Sample Output


    1
    nc -l -p 7777 > /dev/null
    kerim · 2011-01-24 00:06:45 6
  • Pre-packaged python script that comes with Debian/Ubuntu. Show Sample Output


    1
    colortest-python
    eikenberry · 2012-10-26 06:50:01 5
  • `while true`: do forever `nc -l -p 4300 -c 'echo hello'`: this is the but anything can go here really `test $? -gt 0 && break`: this checks the return code for ctrl^c or the like and quite the loop, otherwise in order to kill the loop you'd have to get the parent process id and kill it. Show Sample Output


    1
    while true ; do nc -l -p 4300 -c 'echo hello'; test $? -gt 0 && break; done
    rawco · 2016-03-22 21:55:44 14
  • This command will output 1 if the given argument is a valid ip address and 0 if it is not. Show Sample Output


    0
    perl -e '$p=qr!(?:0|1\d{0,2}|2(?:[0-4]\d?|5[0-5]?|[6-9])?|[3-9]\d?)!;print((shift=~m/^$p\.$p\.$p\.$p$/)?1:0);' 123.123.123.123
    speaker · 2009-07-12 00:24:29 3
  • Move efficiently between directories. . This command adds a couple of extra features to cd, without affecting normal use. CDPATH use is also unaffected. It introduces and environment variable CDDIR which is used as an alternate home directory. . Note: I don't want to alter $HOME because then all my dot files will move. . Examples: . cd dir Change directory to "dir" (using CDPATH if necessary) . cd dir/file.txt Change directory to "dir" (containing folder of "file.txt") This allows you to cut'n'paste, or use . CDDIR is unset cd Change directory to $HOME . CDDIR=/home/flatcap/work cd Change directory to /home/flatcap/work . For convenience, put the command, and the following, in your .bashrc or .bash_profile export CDDIR="/home/flatcap/work" alias cdd="CDDIR=$(pwd)" Show Sample Output


    0
    cd() { if [ -n "$1" ]; then [ -f "$1" ] && set -- "${1%/*}"; else [ -n "$CDDIR" ] && set -- "$CDDIR"; fi; command cd "$@"; }
    flatcap · 2011-06-24 08:48:13 11
  • Uses zsh globbing syntax to safely remove all the files known to be generated by LaTeX, but only if there is actually a .tex source file with the same basename present. So we don't accidentally delete a .nav .log or .out file that has nothing to do with LaTeX, e/'[[ -f ${REPLY:r}.tex ]]'/ actually checks for the existance of a .tex file of the same name, beforehand. A different way to do this, would be to glob all *.tex files and generate a globbing pattern from them: TEXTEMPFILES=(*.tex(.N:s/%tex/'(log|toc|aux|nav|snm|out|tex.backup|bbl|blg|bib.backup|vrb|lof|lot|hd|idx)(.N)'/)) ; rm -v ${~TEXTEMPFILES} or, you could use purge() from grml-etc-core ( http://github.com/grml/grml-etc-core/blob/master/usr_share_grml/zsh/functions/purge )


    0
    rm -v *.(log|toc|aux|nav|snm|out|tex.backup|bbl|blg|bib.backup|vrb|lof|lot|hd|idx)(.e/'[[ -f ${REPLY:r}.tex ]]'/)
    xro · 2012-09-18 20:49:28 9
  • Given a hosts list, ssh one by one and echo its name only if 'processname' is not running. Show Sample Output


    0
    for i in `cat hosts_list`; do RES=`ssh myusername@${i} "ps -ef " |awk '/[p]rocessname/ {print $2}'`; test "x${RES}" = "x" && echo $i; done
    arlequin · 2014-10-03 14:57:54 10
  • For now just returns either "Success" or "Error". My awk-fu isn't strong enough to hackily parse out the error in case there is one, so I kept it simple. Show Sample Output


    0
    cysm() { curl -sd port="$1" http://canyouseeme.org |grep -o 'Success\|Error' }
    awh · 2014-11-11 23:30:39 52
  • perl version of "Wait for file to stop changing" When "FileName" has not been changed for last 10 seconds, then print "DONE" "10" in "(stat)[10]" means ctime. One have other options like atime, mtime and others. http://perldoc.perl.org/functions/stat.html


    0
    echo FileName | perl -nlE'sleep 1 while time-(stat)[10]<10' && echo DONE
    pung96 · 2015-05-09 14:58:41 9
  • Tests connection speed over HTTP request. Can use a lot of http mirrors of SAME file (Useful for test with Ubuntu mirrors, as example) and the split will be done opening connections in all urls if possible. -s Split connections in N number MAX=16 -j Set max concurrent downloads, must be equal to -s or will be restricted to this number. -x Set max connection per server, recommended to be the same of split. -k Min Split Size, default is 20MB, usefull to really force more splited connections over same file -d Directory to save the "file", in this case, /dev -o Points output to null --file-allocation=none Do not attempt to prealocate the file. --allow-overwrite=true Overwrite to /dev/null. Recommend use "rm /dev/null.aria2" after if runned as root. Show Sample Output


    0
    aria2c -s16 -j16 -x16 -k1M -d /dev -o null --file-allocation=none --allow-overwrite=true <url>
    pqatsi · 2015-06-18 13:13:12 9
  • to test check if given variable is a digit / number Show Sample Output


    0
    varNUM=12345; re='^[0-9]+$'; if ! [[ $varNUM =~ $re ]] ; then echo "error: Not a number"; fi
    aysadk · 2019-07-26 09:15:37 2114
  • Tested on bash, and follows all the rules about leap years. Show Sample Output


    -2
    leapyear() { if [ $[$1 % 4] -eq 0 ] && [ $[$1 % 100] -ne 0 ] || [ $[$1 % 400] -eq 0 ]; then echo $1' is a leap year!'; else echo $1' is not a leap year.'; fi; }
    kaedenn · 2010-03-30 17:19:20 5

What's this?

commandlinefu.com is the place to record those command-line gems that you return to again and again. That way others can gain from your CLI wisdom and you from theirs too. All commands can be commented on, discussed and voted up or down.

Share Your Commands


Check These Out

Cd Deluxe - improved cd command for *nix and windows
Hello, Take a look at this free cd replacement - "cd deluxe" a.k.a. "cdd". It is a free open source (GPLv3) application that I have created. As a long time command line enthusiast I have always been frustrated with the limited capabilities of the humble "cd" command. Especially since that is the most commonly used command line utility! See http://www.plan10.com/cdd for the full details and download information. Thanks, -Mike

Detect illegal access to kernel space, potentially useful for Meltdown detection
Based on capsule8 agent examples, not rigorously tested

Add strikethrough to text

Best kayak chiang
Just how to best outfit your fishing kayak can rely upon they type of fishing you're performing and the conditions you'll encounter. Little streams and seas need different concerns than offshore huge game fishing for instance. Whatever form of fishing you want to do, kayak fishing has some distinctive factors as the space is limited. It will be vital that you prioritize the most crucial things that you'll require to gain access to most regularly, and have them within simple reach. Some fishermen like to help keep it simple and hold the minimal level of gear: some like to hold something that they might probably need. There are several standard components that will raise the fish-ability of a kayak, or ensure it is more angler-friendly. Seats: Different than the usual exercise and your fishing equipment I'd claim that a high quality seat are at the the top of priority list. If you intend to spend your day fishing in comfort, you need to purchase a kayak with an excellent seat, or install one yourself. Pole Members: These are easy and useful areas to carry your rods securely while paddling, fishing or trolling. Some kayaks result from the factory with flush mounted rod slots or rod cases mounted on variable brackets. Some kayak retailers may modify your kayak by rigging pole cases for you really to match the wants of one's fishery: you may prefer to platform your own. There are numerous different models and types of rod holders from which to choose 1. Remove support rod holders are reduced in profile and give you a clear deck, so are not as likely becoming a range catcher (especially when travel fishing). There are plugs readily available for travel rods, and extensions for mainstream rods. Both could be removed when not in use. 2. Flexible pole members that are attached to the terrace are fully variable up and down, and provide 360-degree rotation. They come in types for spin/bait throwing or fly rods. Some may be removed when maybe not in use, which really is a great function if you are fly fishing. 3. There many other choices for mounting pole cases to seats, dairy crates and several other custom rigs. 4. Whatever the kind of pole holders you utilize, you ought to connect a pole lead therefore you may not lose them overboard. When you have to create a surf entry or exit, you must keep or secure your supports so they're maybe not lost in case of Best kayak chiang. Point Programs: These let you not just to stay in one spot where you would like to fish, but and also to fish a big area in an organized way. If you are sight fishing, blind throwing, or trolling you will need to cover the location as thoroughly that you can, and the correct anchor system will enable you to do so. You need to begin with an point basket as the base for the point system: a constant line working via a pulley on your own bow to a pulley on your stern with a snap land on each conclusion, and mounted on a band in the middle. You are able to fix your anchor line to or through the band, allowing you to modify your anchor point from any stage along the entire length of the kayak.

Eliminate dead symlinks interactively in /usr/ recursevely
Its not mine... I get from textlive migration in gentoo : http://www.gentoo.org/proj/en/tex/texlive-migration-guide.xml

list files recursively by size

ffmpeg command that transcodes a MythTV recording for Google Nexus One mobile phone
This command will transcode a MythTV recording. The target device is a Google Nexus One mobile phone. My recordings are from a HDHomerun with Over The Air content. Plays back nicely on the N1.

list txt files order by time
list all txt files order by time, newest first

The program listening on port 8080 through IPv6

Find the package that installed a command


Stay in the loop…

Follow the Tweets.

Every new command is wrapped in a tweet and posted to Twitter. Following the stream is a great way of staying abreast of the latest commands. For the more discerning, there are Twitter accounts for commands that get a minimum of 3 and 10 votes - that way only the great commands get tweeted.

» http://twitter.com/commandlinefu
» http://twitter.com/commandlinefu3
» http://twitter.com/commandlinefu10

Subscribe to the feeds.

Use your favourite RSS aggregator to stay in touch with the latest commands. There are feeds mirroring the 3 Twitter streams as well as for virtually every other subset (users, tags, functions,…):

Subscribe to the feed for: