zoukankan      html  css  js  c++  java
  • Windows 下 命令行增强工具

    Clink

    Clink,将Bash强大的命令行编辑功能带到了Cmd.exe,

    支持路径补充(TAB)、粘贴(Ctrl-V)

    支持命令完成(Command-line completion)和环境变量

    撤消/重做(CTRL-_或CTRL-X、CTRL-U),改进命令历史和脚本完成。

    Gow

    Gow 是Windows 上轻量级的Cygwin 替代品,包含了130多个*nix 命令行工具,整个包大概10MB,安装时会自动加到PATH中去,其exe包含:

    • agrep 3.37
    • ansi2knr
    • basename 1.9.4
    • bash 2.03
    • bc 1.05
    • bison 1.28
    • bunzip2 1.0.1
    • bzip2 1.0.1
    • bzip2recover 1.0
    • cat 2.0
    • chgrp 3.16
    • chmod 3.16
    • chown 3.16
    • cksum 2.0
    • cmp 2.7
    • comm 2.0
    • compress 2.0
    • cp 3.16
    • csplit 2.0
    • curl 7.15.0
    • cut 2.0
    • cvs 2.0.41a
    • dc 1.2
    • dd 3.16
    • df 3.16
    • diff 2.7
    • diff3 2.7
    • dircolors 3.16
    • dirname 1.13
    • dos2unix
    • du 3.16
    • egrep 2.4.2
    • env 1.9.4
    • expand 5.1.2600.0
    • expr 1.9.4
    • factor 1.13
    • find 4.1 (called as gfind to not overwrite the Windows find.exe)
    • fgrep 2.4.2
    • flex 2.5.4
    • fmt 2.0
    • fold 2.0
    • fsplit
    • gawk 3.1.0
    • gclip 1.0
    • gow
    • gplay
    • grep 2.4.2
    • gsar 1.12
    • gunzip 1.2.4
    • gzip 1.2.4
    • head 2.0
    • id 1.9.4
    • indent 2.2.6
    • install 3.16
    • join 2.0
    • jwhois 2.4.1
    • less 340
    • lesskey 340
    • ln 3.16
    • logname 1.9.4
    • ls 3.16
    • m4 1.4
    • make 3.78.1
    • md5sum 2.0
    • mkdir
    • mkfifo
    • mknod 3.16
    • mv 3.16
    • mvdir 3.16
    • ncftp 3.1.8
    • nl 2.0
    • od 2.0
    • pageant 0.60
    • paste 2.5
    • patch 2.0
    • pathchk 1.9.4
    • pclip 1.0
    • plink 0.60
    • pr 2.0
    • printenv 1.9.4
    • printf 1.9.4
    • pscp 0.60
    • psftp 0.60
    • putty 0.60
    • puttygen 0.57
    • pwd
    • recode 3.6
    • rm 3.16
    • rman 3.0.7
    • rmdir
    • rsync 2.6.3
    • scp
    • sdiff 2.7
    • sed 3.02
    • seq 1.13
    • sftp
    • sh
    • shar 4.1
    • sleep 1.9.4
    • sort 2.0
    • split 2.0
    • stego
    • su 1.9.4
    • sum 2.0
    • sync 3.16
    • tac 2.0
    • tail 2.0
    • tar 1.12
    • tee 1.9.4
    • test 1.9.4
    • touch 3.16
    • tr 2.0
    • type
    • uname 1.9.4
    • unexpand 2.0
    • uniq 2.0
    • unix2dos
    • unrar 3.4.3
    • unshar 4.1
    • unzip 2.3
    • uudecode 4.1
    • vim 6.3
    • wc 2.0
    • wget 1.8.1
    • whereis
    • which 2.4
    • whoami 1.9.4
    • xargs 4.1
    • yes 1.9.4
    • zcat 1.2.4
    • zip 3.0

    *nix 命令行使用指南:

    Command

    Description

    apropos whatis

    Show commands pertinent to string. See also threadsafe

    man -t ascii | ps2pdf - > ascii.pdf

    make a pdf of a manual page

     

    which command

    Show full path name of command

     

    time command

    See how long a command takes

    time cat

    Start stopwatch. Ctrl-d to stop. See also sw

    dir navigation

    cd -

    Go to previous directory

    cd

    Go to $HOME directory

     

    (cd dir && command)

    Go to dir, execute command and return to current dir

    pushd .

    Put current dir on stack so you can popd back to it

    file searching

    alias l='ls -l --color=auto'

    quick dir listing

    ls -lrt

    List files by date. See also newest and find_mm_yyyy

    ls /usr/bin | pr -T9 -W$COLUMNS

    Print in 9 columns to width of terminal

     

    find -name '*.[ch]' | xargs grep -E 'expr'

    Search 'expr' in this dir and below. See also findrepo

     

    find -type f -print0 | xargs -r0 grep -F 'example'

    Search all regular files for 'example' in this dir and below

     

    find -maxdepth 1 -type f | xargs grep -F 'example'

    Search all regular files for 'example' in this dir

     

    find -maxdepth 1 -type d | while read dir; do echo $dir; echo cmd2; done

    Process each item with multiple commands (in while loop)

    find -type f ! -perm -444

    Find files not readable by all (useful for web site)

    find -type d ! -perm -111

    Find dirs not accessible by all (useful for web site)

    locate -r 'file[^/]*\.txt'

    Search cached index for names. This re is like glob *file*.txt

    look reference

    Quickly search (sorted) dictionary for prefix

    grep --color reference /usr/share/dict/words

    Highlight occurances of regular expression in dictionary

    archives and compression

     

    gpg -c file

    Encrypt file

     

    gpg file.gpg

    Decrypt file

     

    tar -c dir/ | bzip2 > dir.tar.bz2

    Make compressed archive of dir/

     

    bzip2 -dc dir.tar.bz2 | tar -x

    Extract archive (use gzip instead of bzip2 for tar.gz files)

     

    tar -c dir/ | gzip | gpg -c | ssh user@remote 'dd of=dir.tar.gz.gpg'

    Make encrypted archive of dir/ on remote machine

     

    find dir/ -name '*.txt' | tar -c --files-from=- | bzip2 > dir_txt.tar.bz2

    Make archive of subset of dir/ and below

     

    find dir/ -name '*.txt' | xargs cp -a --target-directory=dir_txt/ --parents

    Make copy of subset of dir/ and below

     

    ( tar -c /dir/to/copy ) | ( cd /where/to/ && tar -x -p )

    Copy (with permissions) copy/ dir to /where/to/ dir

     

    ( cd /dir/to/copy && tar -c . ) | ( cd /where/to/ && tar -x -p )

    Copy (with permissions) contents of copy/ dir to /where/to/

     

    ( tar -c /dir/to/copy ) | ssh -C user@remote 'cd /where/to/ && tar -x -p'

    Copy (with permissions) copy/ dir to remote:/where/to/ dir

     

    dd bs=1M if=/dev/sda | gzip | ssh user@remote 'dd of=sda.gz'

    Backup harddisk to remote machine

    rsync (Network efficient file copier: Use the --dry-run option for testing)

     

    rsync -P rsync://rsync.server.com/path/to/file file

    Only get diffs. Do multiple times for troublesome downloads

     

    rsync --bwlimit=1000 fromfile tofile

    Locally copy with rate limit. It's like nice for I/O

     

    rsync -az -e ssh --delete ~/public_html/ remote.com:'~/public_html'

    Mirror web site (using compression and encryption)

     

    rsync -auz -e ssh remote:/dir/ . && rsync -auz -e ssh . remote:/dir/

    Synchronize current directory with remote one

    ssh (Secure SHell)

     

    ssh $USER@$HOST command

    Run command on $HOST as $USER (default command=shell)

    ssh -f -Y $USER@$HOSTNAME xeyes

    Run GUI command on $HOSTNAME as $USER

     

    scp -p -r $USER@$HOST: file dir/

    Copy with permissions to $USER's home directory on $HOST

     

    scp -c arcfour $USER@$LANHOST: bigfile

    Use faster crypto for local LAN. This might saturate GigE

     

    ssh -g -L 8080:localhost:80 root@$HOST

    Forward connections to $HOSTNAME:8080 out to $HOST:80

     

    ssh -R 1434:imap:143 root@$HOST

    Forward connections from $HOST:1434 in to imap:143

     

    ssh-copy-id $USER@$HOST

    Install public key for $USER@$HOST for password-less log in

    wget (multi purpose download tool)

    (cd dir/ && wget -nd -pHEKk http://www.pixelbeat.org/cmdline.html)

    Store local browsable version of a page to the current dir

     

    wget -c http://www.example.com/large.file

    Continue downloading a partially downloaded file

     

    wget -r -nd -np -l1 -A '*.jpg' http://www.example.com/dir/

    Download a set of files to the current directory

     

    wget ftp://remote/file[1-9].iso/

    FTP supports globbing directly

    wget -q -O- http://www.pixelbeat.org/timeline.html | grep 'a href' | head

    Process output directly

     

    echo 'wget url' | at 01:00

    Download url at 1AM to current dir

     

    wget --limit-rate=20k url

    Do a low priority download (limit to 20KB/s in this case)

     

    wget -nv --spider --force-html -i bookmarks.html

    Check links in a file

     

    wget --mirror http://www.example.com/

    Efficiently update a local copy of a site (handy from cron)

    networking (Note ifconfig, route, mii-tool, nslookup commands are obsolete)

     

    ethtool eth0

    Show status of ethernet interface eth0

     

    ethtool --change eth0 autoneg off speed 100 duplex full

    Manually set ethernet interface speed

     

    iwconfig eth1

    Show status of wireless interface eth1

     

    iwconfig eth1 rate 1Mb/s fixed

    Manually set wireless interface speed

    iwlist scan

    List wireless networks in range

    ip link show

    List network interfaces

     

    ip link set dev eth0 name wan

    Rename interface eth0 to wan

     

    ip link set dev eth0 up

    Bring interface eth0 up (or down)

    ip addr show

    List addresses for interfaces

     

    ip addr add 1.2.3.4/24 brd + dev eth0

    Add (or del) ip and mask (255.255.255.0)

    ip route show

    List routing table

     

    ip route add default via 1.2.3.254

    Set default gateway to 1.2.3.254

    host pixelbeat.org

    Lookup DNS ip address for name or vice versa

    hostname -i

    Lookup local ip address (equivalent to host `hostname`)

    whois pixelbeat.org

    Lookup whois info for hostname or ip address

    netstat -tupl

    List internet services on a system

    netstat -tup

    List active connections to/from system

    windows networking (Note samba is the package that provides all this windows specific networking support)

    smbtree

    Find windows machines. See also findsmb

     

    nmblookup -A 1.2.3.4

    Find the windows (netbios) name associated with ip address

     

    smbclient -L windows_box

    List shares on windows machine or samba server

     

    mount -t smbfs -o fmask=666,guest //windows_box/share /mnt/share

    Mount a windows share

     

    echo 'message' | smbclient -M windows_box

    Send popup to windows machine (off by default in XP sp2)

    text manipulation (Note sed uses stdin and stdout. Newer versions support inplace editing with the -i option)

     

    sed 's/string1/string2/g'

    Replace string1 with string2

     

    sed 's/\(.*\)1/\12/g'

    Modify anystring1 to anystring2

     

    sed '/ *#/d; /^ *$/d'

    Remove comments and blank lines

     

    sed ':a; /\\$/N; s/\\\n//; ta'

    Concatenate lines with trailing \

     

    sed 's/[ \t]*$//'

    Remove trailing spaces from lines

     

    sed 's/\([`"$\]\)/\\\1/g'

    Escape shell metacharacters active within double quotes

    seq 10 | sed "s/^/      /; s/ *\(.\{7,\}\)/\1/"

    Right align numbers

     

    sed -n '1000{p;q}'

    Print 1000th line

     

    sed -n '10,20p;20q'

    Print lines 10 to 20

     

    sed -n 's/.*<title>\(.*\)<\/title>.*/\1/ip;T;q'

    Extract title from HTML web page

     

    sed -i 42d ~/.ssh/known_hosts

    Delete a particular line

     

    sort -t. -k1,1n -k2,2n -k3,3n -k4,4n

    Sort IPV4 ip addresses

    echo 'Test' | tr '[:lower:]' '[:upper:]'

    Case conversion

    tr -dc '[:print:]' < /dev/urandom

    Filter non printable characters

    tr -s '[:blank:]' '\t' </proc/diskstats | cut -f4

    cut fields separated by blanks

    history | wc -l

    Count lines

    set operations (Note you can export LANG=C for speed. Also these assume no duplicate lines within a file)

     

    sort file1 file2 | uniq

    Union of unsorted files

     

    sort file1 file2 | uniq -d

    Intersection of unsorted files

     

    sort file1 file1 file2 | uniq -u

    Difference of unsorted files

     

    sort file1 file2 | uniq -u

    Symmetric Difference of unsorted files

     

    join -t'\0' -a1 -a2 file1 file2

    Union of sorted files

     

    join -t'\0' file1 file2

    Intersection of sorted files

     

    join -t'\0' -v2 file1 file2

    Difference of sorted files

     

    join -t'\0' -v1 -v2 file1 file2

    Symmetric Difference of sorted files

    math

    echo '(1 + sqrt(5))/2' | bc -l

    Quick math (Calculate φ). See also bc

    seq -f '4/%g' 1 2 99999 | paste -sd-+ | bc -l

    Calculate π the unix way

    echo 'pad=20; min=64; (100*10^6)/((pad+min)*8)' | bc

    More complex (int) e.g. This shows max FastE packet rate

    echo 'pad=20; min=64; print (100E6)/((pad+min)*8)' | python

    Python handles scientific notation

    echo 'pad=20; plot [64:1518] (100*10**6)/((pad+x)*8)' | gnuplot -persist

    Plot FastE packet rate vs packet size

    echo 'obase=16; ibase=10; 64206' | bc

    Base conversion (decimal to hexadecimal)

    echo $((0x2dec))

    Base conversion (hex to dec) ((shell arithmetic expansion))

    units -t '100m/9.58s' 'miles/hour'

    Unit conversion (metric to imperial)

    units -t '500GB' 'GiB'

    Unit conversion (SI to IEC prefixes)

    units -t '1 googol'

    Definition lookup

    seq 100 | (tr '\n' +; echo 0) | bc

    Add a column of numbers. See also add and funcpy

    calendar

    cal -3

    Display a calendar

    cal 9 1752

    Display a calendar for a particular month year

    date -d fri

    What date is it this friday. See also day

    [ $(date -d '12:00 +1 day' +%d) = '01' ] || exit

    exit a script unless it's the last day of the month

    date --date='25 Dec' +%A

    What day does xmas fall on, this year

    date --date='@2147483647'

    Convert seconds since the epoch (1970-01-01 UTC) to date

    TZ='America/Los_Angeles' date

    What time is it on west coast of US (use tzselect to find TZ)

    date --date='TZ="America/Los_Angeles" 09:00 next Fri'

    What's the local time for 9AM next Friday on west coast US

    locales

    printf "%'d\n" 1234

    Print number with thousands grouping appropriate to locale

    BLOCK_SIZE=\'1 ls -l

    Use locale thousands grouping in ls. See also l

    echo "I live in `locale territory`"

    Extract info from locale database

    LANG=en_IE.utf8 locale int_prefix

    Lookup locale info for specific country. See also ccodes

    locale -kc $(locale | sed -n 's/\(LC_.\{4,\}\)=.*/\1/p') | less

    List fields available in locale database

    recode (Obsoletes iconv, dos2unix, unix2dos)

    recode -l | less

    Show available conversions (aliases on each line)

     

    recode windows-1252.. file_to_change.txt

    Windows "ansi" to local charset (auto does CRLF conversion)

     

    recode utf-8/CRLF.. file_to_change.txt

    Windows utf8 to local charset

     

    recode iso-8859-15..utf8 file_to_change.txt

    Latin9 (western europe) to utf8

     

    recode ../b64 < file.txt > file.b64

    Base64 encode

     

    recode /qp.. < file.qp > file.txt

    Quoted printable decode

     

    recode ..HTML < file.txt > file.html

    Text to HTML

    recode -lf windows-1252 | grep euro

    Lookup table of characters

    echo -n 0x80 | recode latin-9/x1..dump

    Show what a code represents in latin-9 charmap

    echo -n 0x20AC | recode ucs-2/x2..latin-9/x

    Show latin-9 encoding

    echo -n 0x20AC | recode ucs-2/x2..utf-8/x

    Show utf-8 encoding

    CDs

     

    gzip < /dev/cdrom > cdrom.iso.gz

    Save copy of data cdrom

     

    mkisofs -V LABEL -r dir | gzip > cdrom.iso.gz

    Create cdrom image from contents of dir

     

    mount -o loop cdrom.iso /mnt/dir

    Mount the cdrom image at /mnt/dir (read only)

     

    cdrecord -v dev=/dev/cdrom blank=fast

    Clear a CDRW

     

    gzip -dc cdrom.iso.gz | cdrecord -v dev=/dev/cdrom -

    Burn cdrom image (use dev=ATAPI -scanbus to confirm dev)

     

    cdparanoia -B

    Rip audio tracks from CD to wav files in current dir

     

    cdrecord -v dev=/dev/cdrom -audio -pad *.wav

    Make audio CD from all wavs in current dir (see also cdrdao)

     

    oggenc --tracknum='track' track.cdda.wav -o 'track.ogg'

    Make ogg file from wav file

    disk space (See also FSlint)

    ls -lSr

    Show files by size, biggest last

    du -s * | sort -k1,1rn | head

    Show top disk users in current dir. See also dutop

    du -hs /home/* | sort -k1,1h

    Sort paths by easy to interpret disk usage

    df -h

    Show free space on mounted filesystems

    df -i

    Show free inodes on mounted filesystems

    fdisk -l

    Show disks partitions sizes and types (run as root)

    rpm -q -a --qf '%10{SIZE}\t%{NAME}\n' | sort -k1,1n

    List all packages by installed size (Bytes) on rpm distros

    dpkg-query -W -f='${Installed-Size;10}\t${Package}\n' | sort -k1,1n

    List all packages by installed size (KBytes) on deb distros

    dd bs=1 seek=2TB if=/dev/null of=ext3.test

    Create a large test file (taking no space). See also truncate

    > file

    truncate data of file or create an empty file

    monitoring/debugging

    tail -f /var/log/messages

    Monitor messages in a log file

    strace -c ls >/dev/null

    Summarise/profile system calls made by command

    strace -f -e open ls >/dev/null

    List system calls made by command

    strace -f -e trace=write -e write=1,2 ls >/dev/null

    Monitor what's written to stdout and stderr

    ltrace -f -e getenv ls >/dev/null

    List library calls made by command

    lsof -p $$

    List paths that process id has open

    lsof ~

    List processes that have specified path open

    tcpdump not port 22

    Show network traffic except ssh. See also tcpdump_not_me

    ps -e -o pid,args --forest

    List processes in a hierarchy

    ps -e -o pcpu,cpu,nice,state,cputime,args --sort pcpu | sed '/^ 0.0 /d'

    List processes by % cpu usage

    ps -e -orss=,args= | sort -b -k1,1n | pr -TW$COLUMNS

    List processes by mem (KB) usage. See also ps_mem.py

    ps -C firefox-bin -L -o pid,tid,pcpu,state

    List all threads for a particular process

    ps -p 1,$$ -o etime=

    List elapsed wall time for particular process IDs

    last reboot

    Show system reboot history

    free -m

    Show amount of (remaining) RAM (-m displays in MB)

    watch -n.1 'cat /proc/interrupts'

    Watch changeable data continuously

    udevadm monitor

    Monitor udev events to help configure rules

    system information (see also sysinfo) ('#' means root access is required)

    uname -a

    Show kernel version and system architecture

    head -n1 /etc/issue

    Show name and version of distribution

    cat /proc/partitions

    Show all partitions registered on the system

    grep MemTotal /proc/meminfo

    Show RAM total seen by the system

    grep "model name" /proc/cpuinfo

    Show CPU(s) info

    lspci -tv

    Show PCI info

    lsusb -tv

    Show USB info

    mount | column -t

    List mounted filesystems on the system (and align output)

    grep -F capacity: /proc/acpi/battery/BAT0/info

    Show state of cells in laptop battery

    #

    dmidecode -q | less

    Display SMBIOS/DMI information

    #

    smartctl -A /dev/sda | grep Power_On_Hours

    How long has this disk (system) been powered on in total

    #

    hdparm -i /dev/sda

    Show info about disk sda

    #

    hdparm -tT /dev/sda

    Do a read speed test on disk sda

    #

    badblocks -s /dev/sda

    Test for unreadable blocks on disk sda

    interactive (see also linux keyboard shortcuts)

    readline

    Line editor used by bash, python, bc, gnuplot, ...

    screen

    Virtual terminals with detach capability, ...

    mc

    Powerful file manager that can browse rpm, tar, ftp, ssh, ...

    gnuplot

    Interactive/scriptable graphing

    links

    Web browser

    xdg-open .

    open a file or url with the registered desktop application

     

  • 相关阅读:
    Linq组合查询与分页组合查询结合
    jQuery常见用法
    验证码制作
    文件上传,图片加水印
    【2017-06-06】Ajax完整结构、三级联动的制作
    【2017-06-05】Jquery.ajax
    JQuery选择器,动画,事件和DOM操作
    Linq高级查询,分页查询及查询分页结合
    Linq基础+Lambda表达式对数据库的增删改及简单查询
    WebForm文件上传
  • 原文地址:https://www.cnblogs.com/solo/p/2618236.html
Copyright © 2011-2022 走看看