首页 专题 - 实验 - 软件 - 管理 - 布线 - 方案 - 配置 - 问题 - 协议 - 下载 - 交换 - 路由 - 无线 - 安全 - 认证 - Cisco - 华为 - 网吧 - ADSL
您是本帖第1205位浏览者 打印

[讨论] UNIX系统操作入门1----9

本主题由 System 于 2008-5-31 05:00 解除限时置顶

UNIX系统操作入门1----9

登录步骤
========
    login : _______ => 输入 username
    password : _______ => 输入密码

退出步骤
========
    % logout
    % exit
    % CTRL d

更改帐号密码
============
    % passwd => 执行后将会出现下列讯息
    Changing NIS password for user on ice.
    Old password: ______ => 输入旧密码
    New password: ______ => 输入新密码(最好6-8字,英文字母与数字混合)
    Retype new password: ______ => 再输入一次密码

在线指令说明
============
    执行格式: man command-name
    Example:
    % man ls

进入远端电脑系统
================
    执行格式:rlogin hostname [-1 username]
    Example:
    %rlogin doc
    remote login 进入工作站 doc 中。
    %rlogin doc -l user
    使用 user 帐号进入工作站 doc 中。

    执行格式:telnet hostname 或 telnet IP address
    Example:
    %telnet doc
    %telnet 140.109.20.251

TOP

  UNIX系统操作入门(3)

文件及目录操作
=============

改变文件或目录之读、写、执行之允许权
====================================
    执行格式:chmod [-R] mode name ( name 可为文件名或目录名;mode可为 3 个 8 位元之数字,或利用ls -l 命令,列出文件或目录之读、写、执行允许权之文字缩写。)
    mode : rwx rwx rwx r:read w:write x:execute(user group other 缩写为: u g o)

    Example :
    % chmod 755 dir1 将目录dir1,设定成任何使用者,皆有读取及执行之权利,但只有拥有者可做修改。
    % chmod 700 file1  将文件file1,设定只有拥有者可以读、写和执行。
    % chmod o x file2  将文件file2,增加拥有者可以执行之权利。
    % chmod g x file3  将文件file3,增加群组使用者可执行之权利。
    % chmod o-r file4  将文件file4,除去其它使用者可读取之权利。

改变文件或目录之拥有权
======================
    执行格式:chown [-R] username name ( name 可为文件名或目录名。)

    Example :
    % chown user file1  将文件 file1 之拥有权,改为使用者 user 所有。
    % chown -R user dir1  将目录 dir1,及其下所有文件和子目录之拥有权,改为使用者 user 所有。

检查自己所属之群组名称
======================
    执行格式:groups

    Example :
    % groups

改变文件或目录之群组拥有权
==========================
    执行格式:chgrp [-R] groupname name ( name 可为文件名或目录名 )

    Example :
    % chgrp vlsi file1  将文件 file1 之群组拥有权,改为 vlsi 群组。
    % chgrp -R image dir1 将目录dir1,及其下所有文件和子目录,改为 image 群组。

改变文件或目录之最后修改时间(变为当前时间)
=========================================
    执行格式:touch name ( name 可为文件或目录名称。)

    Example :
    % touch file1
    % touch dir1

文件之连结
==========
同一文件,可拥有一个以上之名称,可将文件做数个连结。
    执行格式:ln oldname newname ( Hard link )

    Example :
    % ln file1 file2   将名称 file2,连结至文件 file1。

    执行格式:ln -s oldname newname ( Symblick link )

    Example :
    % ln -s file3 file4 将名称 file4,连结至文件file3。

文件之字串找寻
==============
    执行格式:grep string file

    Example :
    % grep abc file1  寻找文件file1中,列出字串 abc 所在之整行文字内容。

找寻文件或命令之路径
====================
    执行格式:whereis command ( 显示命令之路径。)
    执行格式:which command ( 显示命令之路径,及使用者所定义之别 )
    执行格式:whatis command ( 显示命令功能之摘要。)
    执行格式:find search-path -name filename -print ( 搜寻指定路径下,某文件之路径 )

    Example :
    % find / -name file1 -print ( 自根目录下,寻找文件名为 file1 之路径)

比较文件或目录之内容
====================
    执行格式:diff [-r] name1 name2 ( name1 name2 可同时为文件名,或目录名称 )

    Example :
    % diff file1 file2  比较文件 file1 与 file2 内,各行之不同处。
    % diff -r dir1 dir2  比较目录 dir1 与 dir2 内,各文件之不同处。

TOP

  UNIX系统操作入门(4)

文件传输
========

拷贝文件或目录至远端工作站
==========================
    执行格式: rcp [-r] source hostnome:destination( source 可为文件名、目录名或路径,hostnome 为工作站站名,destination 为路径名称.

    Example :
    % rcp file1 doc:/home/user  将文件 file1,拷贝到工作站 doc 路径 /home/user 之目录下。
    % rcp -r dir1 doc:/home/user  将目录 dir1,拷贝到工作站 doc 路径/home/user 之目录下。

自远端工作站,拷贝文件或目录
============================
    执行格式: rcp [-r] hostname:source destination  ( hostname 为工作站名,source 为路径名,destination 可为文件名、目录名或路径 )

    Example :
    % rcp doc:/home/user/file1 file2  将工作站 doc 中,位於 /home/user 目录下之目录 dir1,拷贝到目前工作站之目录下,目录名称仍为 dir1。
    % rcp -r doc:/home/user/dir1  将工作站 doc 中,位於 /home/user 目录下之目录 dir1,拷贝到当前工作站之目录下,目录名称仍为 dir1。

本地工作站与远端工作站之间文件传输(FTP使用)
===========================================
( 必须拥有远端工作站之帐号及密码,才可进行传输工作 )
    执行格式: ftp hostname or ftp ip_address

    Example :
    % ftp doc 与远端工作站 doc ,进行文件传输
    Name (doc:user-name) : 输入帐号
    Password (doc:user-name): 输入密码

    ftp> help 列出 ftp 文件传输,可使用之任何命令。
    ftp> !ls 列出本地工作站,目前目录下之所有文件名。
    ftp> !pwd 列出本地工作站,目前所在之工作目录位置。
    ftp> ls 列出远端工作站目前目录下之所有文件名。
    ftp> dir 列出远端工作站目前目录下之所有文件名(略同於 UNIX 的 ls -l 指令).
    ftp> dir . |more 同上,但每页会暂停(可能不适用 Unix 以外的 ftp)。
    ftp> pwd 列出远端工作站目前所在之目录位置。
    ftp> cd dir1 更改远端工作站之工作目录位置至 dir1 之下。
    ftp> get file1 将远端工作站之文件 file1 ,拷贝到本地工作站中。
    ftp> put file2 将本地工作站之文件 file2 ,拷贝到远端工作站中。
    ftp> mget *.c 将远端工作站中,副文件名为 c 之所有文件,拷贝到本地工作站中。
    ftp> mput *.txt 将本地工作站中,副文件名为 txt 之所有文件,拷贝远端工作站中。
    ftp> prompt 切换交谈式指令(使用 mput/mget 时不用每个文件皆询问yes/no)
    ftp> quit 结束 ftp 工作。
    ftp> bye 结束 ftp 工作。

注: 从PC与工作站间的文件传输也可通过在 PC端的 FTP指令进行文件传输,指令用法与
上所述大致相同。

TOP

  UNIX系统操作入门(5)

Job 控制
========
UNIX O.S.,可於 foregrourd 及 background 同时处理多个 process。一般使用者执行命令时,皆是在 foreground 交谈式地执行 process,亦可将 process 置於 background 中,以非交谈式来执行 process。(process : 进程   foregrourd : 前台   background : 后台)


查看系统之 process
==================
    执行格式:ps [-aux]
    Example :
    % ps 或 ps -x (查看系统中,属於自己的 process。)
    % ps -au   (查看系统中,所有使用者的 process。)
    % ps -aux   (查看系统中,包含系统内部,及所有使用者的 process。)

结束或终止 process
==================
    执行格式:kill [-9] PID ( PID 为利用 ps 命令所查出之 process ID。)
    Example :
    % kill 456 或 kill -9 456  终止 process ID 为 456 之 process。

在 background 执行 process 的方式
=================================
    执行格式:command

TOP

  UNIX系统操作入门(6)

environment variable
====================

查看 environment variable 之设定值
==================================
    执行格式:setenv  查看所有 environment variable 之设定值。
    Example :
    % setenv

    执行格式:echo $NAME  显示指定的 environment variable "NAME" 之设定值。
    Example :
    % echo $PRINTER  显示 environment variable "PRINTER" 打印机名称之设定值。

设定 environment variable
=========================
    执行格式:setenv NAME word
    Example :
    % setenv PRINTER sp1  设定 environment variable "PRINTER" 打印机名称为 sp1。

删除 environment variable
=========================
    执行格式:unsetenv NAME
    Example :
    % unsetenv PRINTER  删除 environment variable "PRINTER" 打印机名称之设定值。

alias
=====
查看所定义的命令之 alias
========================
    执行格式: alias 查看自己目前定义之所有命令,及所对应之 alias 名称。
    执行格式: alias name 查看指定之 alias 名称所定义之命令。
    Example :
    % alias dir (查看别名 dir 所定义之命令)
    ls -atl

定义命令之 alias
================
    执行格式: alias name 'command line'
    Example :
    %  alias dir 'ls -l'  将命令 "ls - l" 定义别名为 dir。

删除所定义之 alias
==================
    执行格式: unalias name
    Example :
    % unalias dir (删除别名为 dir 之定义。)
    % unalias * (删除所有别名之设定。)


history
=======
设定命令记录表之长度
====================
    执行格式: set history = n
    Example :
    % set history = 40  设定命令记录表之长度为 40 (可记载执行过之前面 40 个命令)。

查看命令记录表之内容
====================
    执行格式: history

使用命令记录表
==============
    执行格式: !!
    Example :
    % !! (重覆执行前一个命令)
    执行格式: !n ( n 为命令记录表之命令编号。)
    Example :
    % !5 ( 执行命令记录表中第五个命令。)
    执行格式: !string ( 重覆前面执行过以 string 为起始字元之命令。)
    Example :
    % !cat ( 重覆前面执行过,以 cat 为起始字元之命令。)

显示前一个命令之内容
====================
    执行格式: !!:p

更改前一命令之内容并执行之
==========================
    执行格式: ^oldstring ^newstring
将前一命令中 oldstring 的部份,改成 newstring,并执行之。
    Example :
    % find . -name file1.c -print
    ^file1.c^core
    % find . -name core -print

注:文件 core 为执行程式或命令发生错误时,系统所产生的文件。作为侦错(debug)之用,因其所占空间极大,通常将之删除。

TOP

  UNIX系统操作入门(9)

文件编辑器 vi 之使用方法简介
============================
vi 是 visual editor 的缩写,是 UNIX 所提供的编辑器之一。它提供使用者一个视窗的编辑环境,在此视窗下,使用者可编辑所要的文件。vi、celvis(cvi) 是在工作站上被广大使用的中英文编辑软体。对初学者而言,常因其特殊的使用方法,而不得其门而入;对已经在使用 vi 的使用者来说,也常见因对 vi 的不熟悉或不够了解,而无法发挥出 vi 强大的编辑能力,以下将介绍 vi 之使用方法简介。

进入vi
======
直接执行 vi编辑程式即可:
    %vi test
此刻萤幕上会出现 vi 的编辑视窗,同时 vi 会将文件复制一份至记忆体中
的缓冲区 (buffer) 。 vi会保留在磁盘中的文件不变,而先对缓冲区的档
案作编辑,编辑完成后,使用者可决定是否要取代原来旧有的文件。

离开vi
======
若在输入模式下,则先利用《ESC》进入指令模式,而后即可选用下列指令
离开vi。
    :q! 离开vi,并放弃刚在缓冲区内编辑的内容
    :wq 将缓冲区内的资料写入磁盘中,并离开vi
    :ZZ 同wq
    :x 同wq
    :w 将缓冲区内的资料写入磁盘中,但并不离开vi
    :q 离开vi,若文件被修改过,则会被要求确认是否放弃修改的内容,此指令可与:w 配合使用

vi 的操作模式
=============
    vi 提供两种操作模式:输入模式(insert mode)和指令模式(command mode)。当使用者进入 vi 后,即处在指令模式下,此刻键入之任何字元皆被视为指令。在此模式下可进行删除、修改等动作。若要输入资料,则需进入输入模式。

输入模式
========
    如何进入输入模式
a (append) 由游标之后加入资料。
A 由该行之末加入资料。
i (insert) 由游标之前加入资料。
I 由该行之首加入资料。
o (open) 新增一行於该行之下供输入资料之用。
O 新增一行於该行之上供输入资料之用。

如何离开输入模式
《ESC》 结束输入模式。

指令模式
========
    游标之移动
h 向左移一个字元。
j 向上移一个字元。
k 向下移一个字元。
l 向右移一个字元。
0 移至该行之首
$ 移至该行之末。
^ 移至该行的第一个字元处。
H 移至视窗的第一列。
M 移至视窗的中间那列。
L 移至视窗的最后一列。
G 移至该文件的最后一列。
  移至下一列的第一个字元处。
- 移至上一列的第一个字元处。
( 移至该句之首。 (注一)
) 移至该句之末。
{ 移至该段落之首。 (注二)
} 移至该段落之末。
nG 移至该文件的第 n 列。
n  移至游标所在位置之后的第 n 列。
n- 移至游标所在位置之前的第 n 列。
<Ctrl><g> 会显示该行之行号、文件名称、文件中最末行之行号、游标所在行号占总行号之百分比。

注一:句子(sentence)在vi中是指以『!』、『.』或『?』结束的一串字。
注二:段落(paragraph)在vi中是指以空白行隔开的文字。

视窗的移动
==========
<Ctrl><f> 视窗往下卷一页。
<Ctrl><b> 视窗往上卷一页。
<Ctrl><d> 视窗往下卷半页。
<Ctrl><u> 视窗往上卷半页。
<Ctrl><e> 视窗往下卷一行。
<Ctrl><y> 视窗往上卷一行。

删除、复制及修改指令介绍 (此单元较少使用)
=========================
d(delete)、c(change)和y(yank)这一类的指令在 vi 中的指令格式为:
Operator   Scope = command
(运算子) (范围)
运算子:
d 删除指令。删除资料,但会将删除资料复制到记忆体缓冲区。
y 将资料(字组、行列、句子或段落)复制到缓冲区。
p 放置(put)指令,与 d 和 y 配和使用。可将最后delete或yank的资
料放置於游标所在位置之行列下。
c 修改(change)指令,类似delete与insert的组和。删除一个字组、句
子等之资料,并插入新键资料。

范围:
e 由游标所在位置至该字串的最后一个字元。
w 由游标所在位置至下一个字串的第一个字元。
b 由游标所在位置至前一个字串的第一个字元。
$ 由游标所在位置至该行的最后一个字元。
0 由游标所在位置至该行的第一个字元。
) 由游标所在位置至下一个句子的第一个字元。
( 由游标所在位置至该句子的第一个字元。
{ 由游标所在位置至该段落的最后一个字元。
} 由游标所在位置至该段落的第一个字元。

整行动作
dd 删除整行。
D 以行为单位,删除游标后之所有字元。
cc 修改整行的内容。
yy yank整行,使游标所在该行复制到记忆体缓冲区。

删除与修改
==========
x 删除游标所在该字元。
X 删除游标所在之前一字元。
dd 删除游标所在该行。
r 用接於此指令之后的字元取代(replace)游标所在字元。
如: ra 将游标所在字元以 a 取代之。
R 进入取代状态,直到《ESC》为止。
s 删除游标所在之字元,并进入输入模式直到《ESC》。
S 删除游标所在之该行资料,并进入输入模式直到《ESC》。

搬移与复制
==========
利用 delete 及 put 指令可完成资料搬移之目的。
利用 yank 及 put 指令可完成资料复制之目的。
yank 和 delete 可将指定的资料复制到记忆体缓冲区,而藉由 put 指令
可将缓冲区内的资料复制到萤幕上。
例:
搬移一行 .在该行执

TOP

学习了,楼主辛苦了!

TOP