• 【原】网页程序学习Linux利器jsuix


    http://www.masswerk.at/jsuix/

    一个用js来模拟unix的东西,完全js实现,真的太强了!
    使用帮助如下:

    Man Pages for JS/UIX 0.45
    Contents:
    alias       sets an alias for a (complex) command
    apropos     displays a short description of a command
    browse      opens a web page in a new browser window
    cal         displays a monthly calendar
    cat         concatenates and outputs files
    cd          changes the current directory
    chmod       changes a files's permissions.
    clear       clears and resets the terminal display
    cp          copies files from source to target
    date        displays the date and time with format options
    echo        writes all arguments back to the terminal
    exit        exits the current shell or leaves the session
    features    displays the features of this application.
    fexport     exports home-directory for copy and later re-use
    fimport     imports preveously exported file-data to the file-system
    hallo       displays a short system information
    halt        halts / shuts down the system
    hello       displays a short system information
    help        displays a help screen with complete command list
    info        displays information about the site
    invaders    starts the well known arcade game.
    js          javascript evaluation (no user command, experts only; read man!)
    logname     displays the current user name
    ls          lists a directory
    mail        launches a mail client
    man         displays manual pages for a command
    mkdir       creates a directory
    more        displays long files in a pager
    mv          moves (renames) files from source to target
    news        displays system-news and information on recent changes.
    pager       pager (synonym for "more")
    pg          pager (synonym for "more")
    pr          prints a file to a browser window
    ps          displays current processes
    pwd         prints the current working directory
    reboot      halts and reboots the system
    rm          removes files
    rmdir       removes /empty) directories
    set         sets shell-variables, without arguments a full list is displayed
    sh          starts a new system shell (command interpreter)
    splitmode   switches terminal splitmode (statusline) on/off
    stty        sets terminal options
    su          switches user
    time        displays the current time
    touch       sets the timestamp of a file or creates empty file
    type        writes all arguments back employing type styles
    unalias     discards an alias defined by "alias"
    uname       displays the system identification
    unset       discards a shell variable
    vi          visual editor (simpler version of standard UN*X vi)
    view        vi (visual editor) in view mode (read only)
    wc          word count (words, lines, characters)
    web         opens a web page in a new browser window
    which       evaluates which command will be executed
    write       writes to the terminal employing type styles as mark up.
    alias
    * Synopsis:
    alias <name> {<value>}
    sets an alias that will be used as a command.
    aliases can be discarded using "unset".
    if called without arguments, all set aliases are listed.
    * Arguments:
    <name>   the name of the alias. names must begin with a letter
    and use only the characters "A"-"Z", "0"-"9" or "_".
    <value>  the value of the alias.
    apropos
    * Synopsis:
    apropos <command>
    displays a short description of a command.
    * Arguments:
    <command>  command name.
    browse
    * Synopsis:
    browse [-n] [<url>]
    opens a given url in a new browser window.
    if no url was specified, a standard site is called (<http://www.masswerk.at>).
    * Arguments:
    <url>  url of a website. protocol defaults to http.
    * Options:
    -n  open in a new browser window. (with JS/UIX 0.3x default value!)
    cal
    * Synopsis:
    cal [-w] [[<month_nr>] [<year>]]
    displays a monthly calendar.
    defaults to current month and year if no arguments specified.
    * Arguments:
    <month_nr>  number of month (1..12), default current month.
    <year>      year (1900..9999), default current year.
    * Options:
    -w  show week numbers.
    cat
    * Synopsis:
    cat <filelist>
    concatenate files
    joins any specified files to a new stream.
    any lines in STDIN will preceed the content of theese files.
    * Arguments:
    <filelist>  any number of file-paths separated by spaces.
    cd
    * Synopsis:
    cd [<dirname>]
    change directory to given path.
    if called without argument, the current working directory will be set to the
    value of $HOME.
    path/name-conventions:
    "/" = file-separator
    "." = current directory
    ".." = parent directory.
    chmod
    * Synopsis:
    chmod [-R] <mode> <filelist>
    where <mode> is octal number or {u|g|o|a}(+|-){w|r|x|s} or {u|g|o|a}=(o|u|g)
    change a files's permissions for read, write or execute.
    * Arguments:
    <filelist>  file(s) to be set (you must be the file's owner).
    <mode>      either an octal number representing a bit-vector,
    where position "x" stands for:
    00x00 ... user (owner of the file)
    000x0 ... group
    0000x ... others
    0x000 ... sticky-bit
    and "x" is a 3-bit value (0-7),
    where a set or unset bit represents permissions for:
    4 ... read
    2 ... write
    1 ... execute
    or in the form of {u|g|o|a}(+|-){w|r|x|s},
    where the first part represents the "who"-part as:
    u ... user
    g ... group
    o ... other
    a ... all
    to be either set (+) or unset (-) to the third part as:
    w ... write
    r ... read
    x ... execute/search
    s ... sticky-bit
    or in the form of {u|g|o|a}=(o|u|g),
    where the first part represents the "who"-part as above
    to be set to the value of the third part.
    (the current version does not support setUID or setGID.
    these bits will be ignored.)
    * Options:
    -R  recursive (include nested files and directories).
    clear
    * Synopsis:
    clear
    clears and resets the terminal display.
    cp
    * Synopsis:
    cp [-ipr] <sourcefile> {<sourcefile>} <target>
    copy files from source- to target-file.
    * Arguments:
    <sourcefile>  file(s) or directories to be copied
    if called with multiple source-files the target must be
    a directory
    <target>      the file name of the new file or the name of a directory.
    * Options:
    -i  ignore error warnings
    -p  copy file permissions
    -r  recursive - include nested files
    date
    * Synopsis:
    date [-l|u] [+format]
    diplays the date and time as local (default) or UTC
    as: weekday, day month year hours:minutes:seconds [UTC]
    the output can be formated by an optional format-string.
    * Arguments:
    <format>  a string consisting of any of the following characters:
    %%a        week-day abrv., Sun-Sat
    %%d        day, 1-31
    %%D        date as mm/dd/yy
    %%h        month abrv., Jan-Dec
    %%H        hours, 00-23
    %%j        year-day, 001-366
    %%m        month, 01-12
    %%M        minutes, 00-59
    %%n        new line
    %%r        time in AM/PM
    %%S        seconds, 00-59
    %%t        tab (insert space)
    %%T        time as hh:mm:ss
    %%w        week-day, 0-6, Sun=0
    %%y        last two digits of the year, 00-99
    example:  date +%D%t%T
    gives "11/05/03 16:50:01"
    * Options:
    -l  local time (default)
    -u  UTC time
    echo
    * Synopsis:
    echo [<args>]
    writes the given arguments back to the terminal
    * Arguments:
    <args>  any text separated by any amount of space.
    exit
    * Synopsis:
    exit
    exits the current shell.
    if the current shell is the login-shell, the session is closed.
    features
    * Synopsis:
    features
    displays the features of this application.
    fexport
    * Synopsis:
    fexport
    file-export and backup.
    exports the files and directories residing in the home-directory (as set in
    $HOME) to a browser form for later re-use. copy this data and keep it on your
    local machine for later import. (hidden files won't be exported.)
    you can mount exported files and directories with "fimport".
    fimport
    * Synopsis:
    fimport
    imports/mounts exported files and directories to the current home-directory.
    if files or directories with the same name exist, these will have precedence
    over any files on the import-list. timestamps will be set according to import-
    data. this may back-date directories with newer content.
    see "fexport" for exporting data.
    hallo
    * Synopsis:
    hallo
    displays a short information about this system.
    halt
    * Synopsis:
    halt
    halt / shut down the system
    hello
    * Synopsis:
    hello
    displays a short information about this system.
    help
    * Synopsis:
    help
    displays a help screen with a short list of available commands.
    info
    * Synopsis:
    info
    displays information about this site.
    aliases: "masswerk", "mass:werk".
    invaders
    * Synopsis:
    invaders
    starts the well kown arcade game: space invaders for JS/UIX.
    please note that there is only one life and only one shot at a time.
    usage: use cursor <LEFT> and cursor <RIGHT> to move, press <SPACE> to fire.
    (alternatively you may use the vi-movements "h"=left and "l"=right.)
    press "p" for pause, "q" or <ESC> to quit.
    js
    * Synopsis:
    js -l[t]|t <varname>
    js -s[n] <varname> <value>
    js -e <expression>
    javascript evaluation (no user command, experts only!).
    lists or sets javascript objects and object properties, evaluates expressions.
    CAUTION: an error in an eval-string will cause an javascript-error bringing
    down the JS/UIX-system! setting a variable may override and harm the system.
    * Arguments:
    <varname>     name of a variable, object or property
    may be in form of "varname", "varname[index]",
    "varname.prop[index]", "varname[index][index]" and so on.
    <value>       a numeric or string value for set (option -s)
    <expression>  expression to be evaled (option -e)
    * Options:
    -l[t]  list an object or property
    -s[n]  set an object's value or object's property's value
    "-sn" for numeric (plain) value (default: string)
    -t     report object's type or object's property's type
    -e     eval expression (use single quotes to hide specials from shell)
    logname
    * Synopsis:
    logname
    displays the current user name
    ls
    * Synopsis:
    ls <dirname>
    lists a directory.
    * Arguments:
    <dirname>  ralative or absolute file path.
    if called with option "i" or "l" also the name of a plain file.
    * Options:
    -C  force output to colums
    -F  show file type (appended to filename)
    "/" ... directory
    "*" ... executable
    "@" ... link
    <nothing> ... plain file
    -L  force output to one file by line
    -a  show hidden '.'-files.
    -i  show inode-id (file serial number)
    -l  long output, format:
    "mode  inodes  user  group  bytes  mdate [YYYY/MM/DD hh.mm:ss]  name"
    mail
    * Synopsis:
    mail [<user@host>]
    opens a mail window to given address or the webmaster if none specified.
    * Arguments:
    <user@host>  mail address.
    man
    * Synopsis:
    man <command>
    displays a manual page for system commands.
    if an entry for the command is found, it will be displayed using the standard
    pager.
    * Arguments:
    <command>  command name.
    for an alias its value is displayed.
    * Options:
    -p  opens a new browser window with the full list.
    mkdir
    * Synopsis:
    mkdir <dirname> {<dirname>}
    make one or more new directory/ies
    * Arguments:
    <dirname>  directory/ies to be inited
    more
    * Synopsis:
    more <filename>
    displays the specified file in a pager. if used in a pipe, any lines in STDIN
    will preceed the content of any specified file. Any outgoing lines in STDOUT
    will be stripped off of any type-styles.
    for navigation use
    <SPACE>  for the next page, or
    "q"      for quit
    mv
    * Synopsis:
    mv [-i] <filename> {<filename>} <target>
    move (rename) files from source to target.
    * Arguments:
    <filename>  file(s) or directories to be moved
    if called with multiple files the target must be a directory
    <target>    the file name of the new file or the name of a directory.
    * Options:
    -i  ignore error warnings
    news
    * Synopsis:
    news
    displays system-news and information on recent changes. (displays /etc/news)
    pager
    * Synopsis:
    pager <filename>
    synonym for "more".
    => see "more".
    pg
    * Synopsis:
    pager <filename>
    synonym for "more".
    => see "more".
    pr
    * Synopsis:
    pr <filelist>
    print files (to a new browser window) - ready for copy&paste.
    * Arguments:
    <filelist>  list of files to be printed.
    any content of a lefthand pipe will preceed the content of
    these files.
    ps
    * Synopsis:
    ps
    displays a list of active processes with PID (Process-ID) and name.
    pwd
    * Synopsis:
    pwd
    print working directory.
    outputs the path of the current working directory.
    reboot
    * Synopsis:
    reboot
    halt and reboot the system
    rm
    * Synopsis:
    rm [-ir] <filename> {<filename>}
    remove (discard) files.
    use "rmdir" or "rm -r" for directories.
    * Arguments:
    <filename>  file(s) to be removed
    * Options:
    -i  ignore error warnings
    -r  recursive - discard directories and included files
    rmdir
    * Synopsis:
    rmdir [-i] <dirname> {<dirname>}
    remove (discard) directories.
    directories must be empty! use "rm -r" for populated directories.
    * Arguments:
    <dirname>  directory/ies to be removed
    * Options:
    -i  ignore error warnings
    set
    * Synopsis:
    set [<varname> {<varname>} [= {<value>}]]
    sets a variable in the command shell.
    variables can be retrieved by "$<varname>" in any term not in single-quotes.
    see "man sh" for more. to discard a variable use "unset".
    if called without arguments all set variables and values are listed.
    The system supports currently the following special variables:
    GID      group-id
    HOME     home directory
    HOST     login-host
    PATH     command path
    PID      process id of current process environment
    PS       shell prompt
    UID      user-id
    USER     user-name
    VERSION  os/term-version
    * Arguments:
    <varname>  the name of the variable. names must begin with a letter
    and use only the characters "A"-"Z", "0"-"9" or "_".
    <value>    the value of the variable. use quotes and escapes ("\") for
    complex expressions.
    if no value is assigned, the variable holds an empty value.
    sh
    * Synopsis:
    shell, commands, aliases, and variables.
    A simple implementation of sh. As command opens a subshell.
    Currently the following features are supported:
    quotings, escapes, variables, aliases, pipes, subshells, simple scripts.
    Quoting levels:
    double-quotes  string with variable interpolation
    single-quotes  literal string without interpolation
    backticks (`)  will be expanded to the output processed by a subshell called
    with this string as its arguments.
    Commands may be separated by ";".
    The pipe-character "|" will stream the output of the left side to the STDIN-
    stream of the command on its right side.
    The output redirector ">" writes the output of the command to a file specified
    on its right side. ">>" appends the output to an existing file if any.
    Order of Interpolation:
    First all control-characters ("`", "|", ";", ">", ">>") will be traced, then
    any terms in backticks will be evaluated in a new subshell and the return
    values will be inserted and parsed as arguments.
    Afterwards all variables of the current arguments will be expanded. If the
    first argument is an alias, the alias will be expanded, its value parsed and
    copied in front the first remaining argument.
    In case a backslash ("\") is found at the end of a line, the line is
    concatenated with the following one to a single line.
    Order of Execution:
    If the now first argument is a shell-command (set, unset, alias, unalias, cd)
    it will be executed in the same shell.
    Else, if an executable file with the name of the command is found in any
    directory specified in the PATH-variable, this command will be executed in a
    new sub-process spawned as child of the current shell. If the first argument
    contains a slash it will be interpretated as relative path-name of a binary
    or an executable shell-script to be processed in a new sub-shell.
    Finally, if the first-argument is not a valid file-name, an error message will
    be put to STDERR.
    Permissions, Modes:
    In order to be executable a script or command must either be set to execute
    privileges for the effective user or group or - in the case of a script called
    in the form "sh <filename>" - with sufficient read permissions.
    Permissions can be set using "chmod".
    (Since the shell is the only script-language present, the *magic cookie*
    "#!/bin/sh" may be absent. Permissions take precedence.)
    Variable Interpolation:
    Variables will be expanded in any double-quoted or unquoted term.
    Use $<varname> or ${<varname>} to retrieve the value of any defined variable.
    variables can be hidden from the shell using single-quotes or escapes with
    backslash ("\").
    Positional Parameters:
    In shell-scripts the term $<number> - where <number> is in the range 0-9 -
    expands to positional paramters. $0 will expand to the command or script name
    while the variable $1-$9 will give the value of the first argument and so on.
    Currently the system employs a number of special variables:
    GID      group-id
    HOME     home directory
    HOST     login-host
    PATH     command path
    PID      process id of current process environment
    PS       shell prompt
    UID      user-id
    USER     user-name (log-name)
    VERSION  os/term-version
    Special Files, Command History:
    There are two special files to the shell:
    The first is "etc/profile" which is executed by the login-shell on start up
    for initialization.
    The second one is "~/.history" where the command history is stored. (You can
    access the command history using cursor up/down in the command line.)
    * Arguments:
    <filename>  a script to be opened in a subshell
    <args>      currently, if the first argument is not a valid filename,
    the arguments will be interpreted as arguments to be executed
    by a new subshell.
    shell
    * Synopsis:
    JS/UIX-shell
    see "sh" for more.
    => see "sh".
    splitmode
    * Synopsis:
    splitmode <mode>
    displays a statusline to demonstrate screen splitting.
    (splitting will be terminated by the next "clear" command.)
    * Arguments:
    <mode>  "on"  switch statusline on
    "off" switch statusline off
    stty
    * Synopsis:
    stty <option>
    set terminal options.
    * Options:
    -a         list all options
    -g         list all options in formated output
    [-]blink   [no] cursor blinking
    [-]block   [no] block cursor
    [-]smart   [no] smart console (minimal scrolling)
    [-]rows n  [re]set max. terminal line to n
    sane       reset to sane values
    su
    * Synopsis:
    su <username>
    switch the user.
    * Arguments:
    <username>  user, name must consist of the characters [A-Za-z0-9_]
    only the first 8 characters are recognized (rest ignored).
    time
    * Synopsis:
    time [-l|u]
    diplays the time as local (default) or UTC
    as: hours:minutes:seconds [UTC]
    * Options:
    -l  local time (default)
    -u  UTC time
    touch
    * Synopsis:
    touch <filenamename> {<filenamename>}
    set the file last modified date (mdate) to current time.
    if the file does'nt exist an empty file be created.
    * Arguments:
    <filenamename>  name of the file to be modified or created.
    type
    * Synopsis:
    type [-ipru|-n <num>] [<args>]
    writes the given arguments back to the terminal in specified type style.
    * Arguments:
    <args>  any text separated by any amount of space.
    * Options:
    -n <num>     number representing the type style as a bit vector;
    for details see the other options identifying styles
    by the following characters:
    -p           plain     (0)
    -r           reverse   (1)
    -u           underline (2)
    -i           italics   (4)
    -s           stroke    (8)
    -> example:  "type -n 5 <args>" is same as "type -ir <args>".
    unalias
    * Synopsis:
    unalias <name>
    discards an alias defined by "alias".
    * Arguments:
    <name>  the name of the alias. names must begin with a letter
    and use only the characters "A"-"Z", "0"-"9" or "_".
    uname
    * Synopsis:
    uname
    displays the system identification
    unset
    * Synopsis:
    unset <varname>
    discards a variable defined by "set".
    reserved variables must not be discarded. (see "man set").
    * Arguments:
    <varname>  the name of the variable. names must begin with a letter
    and use only the characters "A"-"Z", "0"-"9" or "_".
    vi
    * Synopsis:
    vi [<filename>]
    opens a (simple) implementation of the visual editor (vi).
    current beta restrictions: no numeral modifiers, no search expressions.
    as the standard vi this implementation is a modal application.
    use <esc> to enter movements, ":" to enter the command-line, or one of the
    insert-, append-, change-, replacement-keys to enter edit mode.
    <esc> brings you always back to movements; leave with ":q!" without changes.
    Basic Commands: (+<return>)
    :q[uit]            quit (if no changes made)
    :q[uit]!           forced quit, ignore changes
    :w [filename]      write [filename]
    :w! [filename]     forced write, overwrite existing files
    :wq[!] [filename]  forced write and quit
    :x[!] [filename]   like "wq" - write only when changes have been made
    :ZZ                like "x"
    :1                 display first line
    :$                 display last line
    :N                 display line N
    Cursor Movements:
    h  left  (or cursor)     k  line up   (or cursor)
    l  right (or cursor)     j  line down (or cursor)
    0  go to the first character of the current line
    ^  go to the first non-blank character of the current line
    $  go to the end of the current line
    -  go up one line and to the first non-blan character
    +  go down one line and to the first non-blan character
    w  one word forward
    b  one word backward
    e  forward to end of word
    z  display current-line on top
    Editing Comands:
    a   append after cursor
    A   append after end of line
    i   insert before cursor
    I   insert before first non-blank character of the line
    o   open a new line below the current line
    O   open a new line above the current line
    c[motion]  change text (insert between old and new cursor position)
    (this command is currently restricted to the same line)
    cc  change the current line
    C   change to the end of the current line
    R   replace text
    Deleting, Copy and Paste, Undo:
    x   delete character under (and after) the cursor
    X   delete character before the cursor
    dd  delete current line and put it in the copy buffer
    D   delete to end of line
    J   join lines (delete new line at end of the current line)
    Copy & Paste (currently restricted to lines only):
    yy  yank current line (put to copy buffer)
    p   put (insert) copy buffer to end line after current line
    P   put (insert) copy buffer above current line
    u  undo last change
    U  redo last undo
    This implementation accepts pipes as valid input. If called as "view"
    vi is opened in read only mode.
    * Arguments:
    <filename>  a file to be opened.
    view
    * Synopsis:
    view [<filename>]
    synonym for "vi" in view-mode (read only mode).
    files must be saved with new name or changes will be lost.
    => see "vi".
    wc
    * Synopsis:
    wc [-clw]
    word count.
    counts the characters, words, and lines of a specified file or from STDIN.
    * Options:
    -c  count characters
    -l  count lines
    -w  count words
    web
    * Synopsis:
    web [-n] [<url>]
    synonym for "browse".
    => see "browse".
    which
    * Synopsis:
    which <command>
    evaluates the command path for the given command.
    if the command is found it is displayed with full path-name.
    * Arguments:
    <command>  name of the command to be found.
    write
    * Synopsis:
    write <args>
    writes the arguments back to the terminal using type styles.
    * Arguments:
    <args>       any arguments (treated as strings separated by spaces).
    type styles can be specified as follows:
    %+<typestyle>  switch type style on
    %-<typestyle>  switch type style off
    %n             new line
    %%             escaped "%"
    where <typestyle> is marked by one the following characters:
    p  plain (+p discards all active styles, -p is ineffective)
    r  reverse
    u  underline
    i  italics
    s  strike.
    type styles may overlap.
    -> example:  write "Do not use %+rREVERSE%-r for 100%% of the text."
    (c) mass:werk 2003; http://www.masswerk.at
  • 相关阅读:
    django监测登录成功事件
    大兔子生小兔子问题
    XML 命名空间(XML Namespaces)介绍以及节点读取方法
    喝汽水问题
    一个女程序员的男友需求说明书(转)
    ASP.NET学习(二)
    字典序排序
    如果说中国的程序员技术偏低,原因可能在这里(转)
    BI(摘)
    肝脏、心脏、脾脏、肺脏、肾脏的毒素表现以及食疗排毒
  • 原文地址:https://www.cnblogs.com/temptation/p/361793.html
Copyright © 2020-2023  润新知