UNIX概要

UNIXはオペレーティングシステムの一種です。
OSとは、ハードウェアを直接操作するシステムのことをいいます。
UNIXは、AT&T Bell 研究所の Ken Tompson 氏と Dennis Ritchie 氏が 独自に開発したオペレーティングシステムです。1969年には完成されていたといわれています。
UNIX は大きく分けると BSD(Berkeley Software Distribution)系と System V系があります。
BSDは、カリフォルニア大学バークレー校を中心として機能拡張されたUNIXです。

UNIX基本コマンド

コマンドとは、オペレート機能やアプリケーションを実行するための呪文のようなもので、スペリングを覚える必要があります。以下に重要なコマンドを挙げます。

スペルコマンドの機能
catファイルの内容を表示する。manual
cdカレントディレクトリを変更。manual
chmodファイル・ディレクトリのモードを変更。 manual
cpファイルをコピーする。 manual
emacsemacsエディタを起動。 manual
grep指定のパターンにマッチする行を表示。 manual
gzip高機能なファイル圧縮・展開ツール。 manual
lessファイル表示プログラム (ページャ)
lsファイル・ディレクトリを表示
manマニュアルを表示。
mvファイルの移動、名前変更。
pwdカレントディレクトリを表示。
rmファイルの削除
tar複数のファイルを1つにまとめる。

基本コマンドの詳細マニュアル

コマンドオプション
cat
     -b      Implies the -n option but doesn't number blank lines.

     -e      Implies the -v option, and displays a dollar sign (`$') at the
             end of each line as well.

     -n      Number the output lines, starting at 1.

     -s      Squeeze multiple adjacent empty lines, causing the output to be
             single spaced.

     -t      Implies the -v option, and displays tab characters as `^I' as
             well.

     -u      The -u option guarantees that the output is unbuffered.

     -v      Displays non-printing characters so they are visible.  Control
             characters print as `^X' for control-X; the delete character
             (octal 0177) prints as `^?' Non-ascii characters (with the high
             bit set) are printed as `M-' (for meta) followed by the character
             for the low 7 bits.
cd
       -b  Forces a ``break'' from  option  processing,  causing  any  further
           shell arguments to be treated as non-option arguments.  The remain-
           ing arguments will not be interpreted as shell options.   This  may
           be used to pass options to a shell script without confusion or pos-
           sible subterfuge.  The shell will not  run  a  set-user  ID  script
           without this option.

       -c  Commands  are  read  from  the  following  argument  (which must be
           present, and must be a single  argument),  stored  in  the  command
           shell  variable  for  reference, and executed.  Any remaining argu-
           ments are placed in the argv shell variable.

       -d  The shell loads the directory stack from  ~/.cshdirs  as  described
           under Startup and shutdown, whether or not it is a login shell. (+)

       -Dname[=value]
           Sets the environment variable name to value. (Domain/OS only) (+)

       -e  The shell exits if any invoked  command  terminates  abnormally  or
           yields a non-zero exit status.
       -f  The shell ignores ~/.tcshrc, and thus starts faster.

       -F  The  shell  uses  fork(2)  instead  of vfork(2) to spawn processes.
           (Convex/OS only) (+)

       -i  The shell is interactive and prompts for its top-level input,  even
           if it appears to not be a terminal.  Shells are interactive without
           this option if their inputs and outputs are terminals.

       -l  The shell is a login shell.  Applicable only if -l is the only flag
           specified.

       -m  The  shell loads ~/.tcshrc even if it does not belong to the effec-
           tive user.  Newer versions of su(1) can pass -m to the shell. (+)

       -n  The shell parses commands but does not execute them.  This aids  in
           debugging shell scripts.

       -q  The shell accepts SIGQUIT (see Signal handling) and behaves when it
           is used under a debugger.  Job control is disabled. (u)

       -s  Command input is taken from the standard input.
       -t  The shell reads and executes a single line of input.  A `\' may  be
           used  to  escape  the  newline at the end of this line and continue
           onto another line.

       -v  Sets the verbose shell variable, so that command  input  is  echoed
           after history substitution.

       -x  Sets  the  echo shell variable, so that commands are echoed immedi-
           ately before execution.

       -V  Sets the verbose shell variable even before executing ~/.tcshrc.

       -X  Is to -x as -V is to -v.
chmod
     -H      If the -R option is specified, symbolic links on the command line
             are followed.  (Symbolic links encountered in the tree traversal
             are not followed.)

     -L      If the -R option is specified, all symbolic links are followed.

     -P      If the -R option is specified, no symbolic links are followed.

     -R      Change the modes of the file hierarchies rooted in the files
             instead of just the files themselves.
MODES
     Modes may be absolute or symbolic.  An absolute mode is an octal number
     constructed by or-ing the following values:

           4000    set-user-ID-on-execution
           2000    set-group-ID-on-execution
           1000    sticky bit, see chmod(2)
           0400    read by owner
           0200    write by owner
           0100    execute (or search for directories) by owner
           0070    read, write, execute/search by group
           0007    read, write, execute/search by others
cp
     -H    If the -R option is specified, symbolic links on the command line
           are followed.  (Symbolic links encountered in the tree traversal
           are not followed.)

     -L    If the -R option is specified, all symbolic links are followed.

     -P    If the -R option is specified, no symbolic links are followed.

     -R    If source_file designates a directory, cp copies the directory and
           the entire subtree connected at that point.  This option also
           causes symbolic links to be copied, rather than indirected through,
           and for cp to create special files rather than copying them as nor-
           mal files.  Created directories have the same mode as the corre-
           sponding source directory, unmodified by the process' umask.

     -f    For each existing destination pathname, attempt to overwrite it. If
           permissions do not allow copy to succeed, remove it and create a
           new file, without prompting for confirmation.  (The -i option is
           ignored if the -f option is specified.)

     -i    Causes cp to write a prompt to the standard error output before
           copying a file that would overwrite an existing file.  If the
           response from the standard input begins with the character `y', the
           file copy is attempted.

     -p    Causes cp to preserve in the copy as many of the modification time,
           access time, file flags, file mode, user ID, and group ID as
           allowed by permissions.
emacs
       +number Go  to  the  line  specified  by  number (do not insert a space
               between the "+" sign and the number).

       +line:column
               Go to the specified line and column

       -q      Do not load an init file.

       -no-site-file
               Do not load the site-wide startup file.

       -debug-init
               Enable Emacs Lisp debugger during the processing  of  the  user
               init  file  ~/.emacs.  This is useful for debugging problems in
               the init file.

       -u user Load user's init file.

       -t file Use specified file as the terminal instead of using  stdin/std-
               out.   This must be the first argument specified in the command
               line.
       -version
               Display Emacs version information and exit.

       The following options are lisp-oriented (these options are processed in
       the order encountered):

       -f function
               Execute the lisp function function.

       -l file Load the lisp code in the file file.

       -eval expr
               Evaluate the Lisp expression expr.

       The following options are useful when running Emacs as a batch editor:

       -batch  Edit  in  batch mode.  The editor will send messages to stderr.
               This option must be the first in the argument list.   You  must
               use -l and -f options to specify files to execute and functions
               to call.
               
       -kill   Exit Emacs while in batch mode.

       -L directory
               Add directory to the list of  directories  Emacs  searches  for
               Lisp files.

       -nw     Tells Emacs not to use its special interface to X.  If you  use
               this  switch  when invoking Emacs from an xterm(1) window, dis-
               play is done in that window.  This must  be  the  first  option
               specified in the command line.
grep
       -A NUM, --after-context=NUM
              Print NUM lines of trailing context after matching lines.

       -a, --text
              Process a binary file as if it were text; this is equivalent  to
              the --binary-files=text option.

       -B NUM, --before-context=NUM
              Print NUM lines of leading context before matching lines.

       -C [NUM], -NUM, --context[=NUM]
              Print NUM lines (default 2) of output context.

       -b, --byte-offset
              Print  the byte offset within the input file before each line of
              output.
              
       --binary-files=TYPE
              If the first few bytes of a file indicate that the file contains
              binary  data, assume that the file is of type TYPE.  By default,
              TYPE is binary, and grep normally outputs either a one-line mes-
              sage  saying  that a binary file matches, or no message if there
              is no match.  If TYPE is  without-match,  grep  assumes  that  a
              binary file does not match; this is equivalent to the -I option.
              If TYPE is text, grep processes a binary  file  as  if  it  were
              text;  this  is  equivalent  to  the  -a  option.  Warning: grep
              --binary-files=text might output binary garbage, which can  have
              nasty side effects if the output is a terminal and if the termi-
              nal driver interprets some of it as commands.

       -c, --count
              Suppress normal output; instead print a count of matching  lines
              for  each  input  file.  With the -v, --invert-match option (see
              below), count non-matching lines.

       -d ACTION, --directories=ACTION
              If an input file is a directory, use ACTION to process  it.   By
              default,  ACTION  is read, which means that directories are read
              just as if they were ordinary files.  If ACTION is skip,  direc-
              tories  are  silently skipped.  If ACTION is recurse, grep reads
              all files under each directory, recursively; this is  equivalent
              to the -r option.

       -E, --extended-regexp
              Interpret PATTERN as an extended regular expression (see below).

       -e PATTERN, --regexp=PATTERN
              Use PATTERN as the pattern; useful to protect patterns beginning
              with -.

       -F, --fixed-strings
              Interpret  PATTERN as a list of fixed strings, separated by new-
              lines, any of which is to be matched.

       -f FILE, --file=FILE
              Obtain patterns from FILE, one per line.  The  empty  file  con-
              tains zero patterns, and therefore matches nothing.

       -G, --basic-regexp
              Interpret  PATTERN  as  a  basic regular expression (see below).
              This is the default.

       -H, --with-filename
              Print the filename for each match.

       -h, --no-filename
              Suppress the prefixing of  filenames  on  output  when  multiple
              files are searched.

       --help Output a brief help message.

       -I     Process  a  binary  file as if it did not contain matching data;
              this is equivalent to the --binary-files=without-match option.

       -i, --ignore-case
              Ignore case distinctions in  both  the  PATTERN  and  the  input
              files.

       -L, --files-without-match
              Suppress  normal  output;  instead  print the name of each input
              file from which no output would normally have been printed.  The
              scanning will stop on the first match.

       -l, --files-with-matches
              Suppress  normal  output;  instead  print the name of each input
              file from which output would normally have  been  printed.   The
              scanning will stop on the first match.

       --mmap If  possible, use the mmap(2) system call to read input, instead
              of the default read(2) system call.  In some situations,  --mmap
              yields  better performance.  However, --mmap can cause undefined
              behavior (including core dumps) if an input file  shrinks  while
              grep is operating, or if an I/O error occurs.

       -n, --line-number
              Prefix each line of output with the line number within its input
              file.

       -q, --quiet, --silent
              Quiet; suppress normal output.  The scanning will  stop  on  the
              first match.  Also see the -s or --no-messages option below.

       -r, --recursive
              Read all files under each directory, recursively; this is equiv-
              alent to the -d recurse option.

       -s, --no-messages
              Suppress error messages about nonexistent or  unreadable  files.
              Portability note: unlike GNU grep, traditional grep did not con-
              form to POSIX.2, because traditional grep lacked a -q option and
              its  -s option behaved like GNU grep's -q option.  Shell scripts
              intended to be portable to traditional grep should avoid both -q
              and -s and should redirect output to /dev/null instead.

       -U, --binary
              Treat  the  file(s) as binary.  By default, under MS-DOS and MS-
              Windows, grep guesses the file type by looking at  the  contents
              of  the first 32KB read from the file.  If grep decides the file
              is a text file, it strips the CR characters  from  the  original
              file  contents  (to  make  regular expressions with ^ and $ work
              correctly).  Specifying -U overrules this guesswork, causing all
              files  to be read and passed to the matching mechanism verbatim;
              if the file is a text file with CR/LF pairs at the end  of  each
              line,  this  will  cause some regular expressions to fail.  This
              option has no effect on platforms other than MS-DOS and  MS-Win-
              dows.

       -u, --unix-byte-offsets
              Report  Unix-style  byte  offsets.   This  switch causes grep to
              report byte offsets as if the file were  Unix-style  text  file,
              i.e.,  with  CR  characters  stripped  off.   This  will produce
              results identical to running  grep  on  a  Unix  machine.   This
              option  has  no  effect unless -b option is also used; it has no
              effect on platforms other than MS-DOS and MS-Windows.

       -V, --version
              Print the version number of grep to standard error.   This  ver-
              sion number should be included in all bug reports (see below).

       -v, --invert-match
              Invert the sense of matching, to select non-matching lines.

       -w, --word-regexp
              Select  only  those  lines  containing  matches  that form whole
              words.  The test is that the matching substring must  either  be
              at  the  beginning  of  the line, or preceded by a non-word con-
              stituent character.  Similarly, it must be either at the end  of
              the line or followed by a non-word constituent character.  Word-
              constituent characters are letters, digits, and the  underscore.

       -x, --line-regexp
              Select only those matches that exactly match the whole line.

       -y     Obsolete synonym for -i.

       -Z, --null
              Output  a  zero  byte  (the  ASCII NUL character) instead of the
              character that normally follows a file name.  For example,  grep
              -lZ  outputs  a  zero  byte  after each file name instead of the
              usual newline.  This option makes the output  unambiguous,  even
              in the presence of file names containing unusual characters like
              newlines.  This option can  be  used  with  commands  like  find
              -print0,  perl  -0,  sort  -z, and xargs -0 to process arbitrary
              file names, even those that contain newline characters.
gzip
       -a --ascii
              Ascii  text  mode: convert end-of-lines using local conventions.
              This option is supported only  on  some  non-Unix  systems.  For
              MSDOS, CR LF is converted to LF when compressing, and LF is con-
              verted to CR LF when decompressing.

       -c --stdout --to-stdout
              Write output on standard output; keep original files  unchanged.
              If  there  are  several  input  files,  the output consists of a
              sequence of independently compressed members. To  obtain  better
              compression,  concatenate  all  input  files  before compressing
              them.

       -d --decompress --uncompress
              Decompress.

       -f --force
              Force compression or decompression even if the file has multiple
              links  or  the corresponding file already exists, or if the com-
              pressed data is read from or written to a terminal. If the input
              data  is  not  in a format recognized by gzip, and if the option
              --stdout is also given, copy the input data  without  change  to
              the standard ouput: let zcat behave as cat.  If -f is not given,
              and when not running in the background, gzip prompts  to  verify
              whether an existing file should be overwritten.

       -h --help
              Display a help screen and quit.

       -l --list
              For each compressed file, list the following fields:

                  compressed size: size of the compressed file
                  uncompressed size: size of the uncompressed file
                  ratio: compression ratio (0.0% if unknown)
                  uncompressed_name: name of the uncompressed file

              The  uncompressed size is given as -1 for files not in gzip for-
              mat, such as compressed .Z files. To get the  uncompressed  size
              for such a file, you can use:

                  zcat file.Z | wc -c

              In  combination  with the --verbose option, the following fields
              are also displayed:

                  method: compression method
                  crc: the 32-bit CRC of the uncompressed data
                  date & time: time stamp for the uncompressed file

              The compression methods currently supported  are  deflate,  com-
              press,  lzh  (SCO  compress  -H)  and pack.  The crc is given as
              ffffffff for a file not in gzip format.

              With --name, the uncompressed name,  date and  time   are  those
              stored within the compress file if present.

              With  --verbose,  the  size totals and compression ratio for all
              files is also displayed, unless some  sizes  are  unknown.  With
              --quiet, the title and totals lines are not displayed.

       -L --license
              Display the gzip license and quit.

       -n --no-name
              When  compressing,  do  not save the original file name and time
              stamp by default. (The original name is always saved if the name
              had  to  be  truncated.)  When decompressing, do not restore the
              original file name if present (remove only the gzip suffix  from
              the  compressed  file name) and do not restore the original time
              stamp if present (copy it from the compressed file). This option
              is the default when decompressing.

       -N --name
              When  compressing,  always  save the original file name and time
              stamp; this is the  default.  When  decompressing,  restore  the
              original  file  name  and  time stamp if present. This option is
              useful on systems which have a limit on file name length or when
              the time stamp has been lost after a file transfer.

       -q --quiet
              Suppress all warnings.

       -r --recursive
              Travel  the  directory structure recursively. If any of the file
              names specified on the command line are directories,  gzip  will
              descend  into  the directory and compress all the files it finds
              there (or decompress them in the case of gunzip ).

       -S .suf --suffix .suf
              Use suffix .suf instead of .gz. Any suffix  can  be  given,  but
              suffixes other than .z and .gz should be avoided to avoid confu-
              sion when files are transferred to other systems.  A null suffix
              forces  gunzip  to  try decompression on all given files regard-
              less of suffix, as in:

                  gunzip -S "" *       (*.* for MSDOS)

              Previous versions of gzip used the .z suffix. This  was  changed
              to avoid a conflict with pack(1).

       -t --test
              Test. Check the compressed file integrity.

       -v --verbose
              Verbose. Display the name and percentage reduction for each file
              compressed or decompressed.

       -V --version
              Version. Display the version number and compilation options then
              quit.

       -# --fast --best
              Regulate  the  speed of compression using the specified digit #,
              where -1 or --fast  indicates  the  fastest  compression  method
              (less  compression)  and -9 or --best indicates the slowest com-
              pression method (best  compression).   The  default  compression
              level is -6 (that is, biased towards high compression at expense
              of speed).