博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

unix心情记录

Posted on 2009-03-02 10:18  kalllx  阅读(372)  评论(0)    收藏  举报

08 03 20 Unix 笔记

============================
daemon :
 name   PID     PPID
 init   1
 B      1001    1
 
 僵死进程: 子进程结束,
     父进程未回收子进程的资源,子进程为僵死进程
 孤儿进程: 父进程结束,子进程还存在,则子进程为孤儿进程
 
 daemon (精灵进程): 网站,数据库,email大部分都是daemon
    1:必须是孤儿进程
    2:必须脱离终端setsid();
    3:必须chdir("/");
      将程序本身的运行目录挂到根目录,
       防止本文件系统不能被卸载
       
 
 
 telnet 192.168.1.200
 login : briup
 passwd: briup
 
 root
 
 bourne sh csh bash 区别在什么地方?
 单条命令都可以使用,无明显区别
 
 
两台服务器,任意选择一个
telnet 192.168.1.200
   login  :  zhangsan   (张三)
         zhangsf    (张三丰)
         zhangsf    (张山丰)
   passwd : 
       1: 6-8位
       2: 必须包含至少两个字母+
        (一个数字或者一个特殊符号)
        
    帐户:
    
    /etc/passwd   用户帐户信息
% cat /etc/passwd  查看/etc/passwd文件内容
lianglin:x:945:127::/u2/students/ajd0804/lianglin:/bin/csh
    /etc/shadow   用户密码信息
    
    id  用户的id信息
    
$cd /usr/local/bin
$pwd
/usr/local/bin
$cd http://www.cnblogs.com/bin
$pwd
/usr/bin
$cd ././../bin/./
$pwd
/usr/bin
$cd /      
$ls
Desktop      etc          oracle       temp.dat
Documents    export       platform     temp.txt
TT_DB        home         proc         tmp
abc          kernel       quotas       u
bin          lib          rmdisk       u1
boot         lost+found   sbin         u2
core         mnt          summit2.sql  usr
dev          net          system       var
devices      opt          temp         vol

ls  显示普通文件

ls -a 显示所有文件,
  包含隐藏文件(文件名以.开头的文件)

$ls
local.cshrc    local.login    local.profile
$ls -a
.              .profile       local.login
..             local.cshrc    local.profile
$
$ touch apple
$ ls -l apple
-rw-r--r--   1 chengx   other          0 Mar 20 15:41 apple
$ chmod o-r apple
$ ls -l apple
-rw-r-----   1 chengx   other          0 Mar 20 15:41 apple
$ chmod u-r,u+x,g-r,go+wx apple
$ ls -l apple
--wx-wx-wx   1 chengx   other          0 Mar 20 15:41 apple
$
$ chmod g-rx .
$ ls -la
total 12
drwx---r-x   2 chengx   other        512 Mar 20 15:41 .
drwxr-xr-x  10 root     root         512 Mar 20 14:55 ..
-rw-r--r--   1 chengx   other        144 Mar 20 09:49 .profile
--wx-wx-wx   1 chengx   other          0 Mar 20 15:41 apple
-rw-r--r--   1 chengx   other        136 Mar 20 09:49 local.cshrc
-rw-r--r--   1 chengx   other        157 Mar 20 09:49 local.login
-rw-r--r--   1 chengx   other        174 Mar 20 09:49 local.profile
$

briupserver4% chmod u-rwx .
briupserver4% ls
.: Permission denied
briupserver4% pwd
pwd: cannot determine current directory!
briupserver4% cd
cd: Can't change to home directory
briupserver4% cd /
briupserver4% chmod u+rwx ~
briupserver4% cd
briupserver4% ls
apple          local.login
local.cshrc    local.profile
briupserver4%

对方的home目录 ~zhangsan
自己的home目录 ~
cd =cd ~

briupserver4% chmod 700 ~
briupserver4% chmod 000 ~
briupserver4% cd /
briupserver4% chmod 755 ~
briupserver4% cd
briupserver4% pwd
/u1/chengx
briupserver4%

5     00000101
r     00000100
w     00000010
x     00000001 

&  相同留下,不同的取0

if(5&r==r) 具有r权限
if(5&w==w) 具有w权限
if(5&x==x) 具有x权限
5=r+x

浙江移动营业厅里有n种角色,做一个验证授权系统比较复杂。
0     1     2    3     4       5     6   7
开户 销户  换卡 换号  换品牌  转帐 授权 缴费
1    2      4    8      16    32   64   128

大堂副理 p= 1+2+32=35(权重,权值)
if(p&1==1) 可以开户
if(p&64==64) 可以授权

briupserver4% touch a b c
briupserver4% ls
a              c              local.profile
apple          local.cshrc
b              local.login
briupserver4%


briupserver4% touch apple
briupserver4% ls
apple
briupserver4% cp apple beans
briupserver4% ls
apple  beans
briupserver4% cp apple beans
briupserver4% ls
apple  beans
briupserver4% cp -i apple beans
cp: overwrite beans (yes/no)? y
briupserver4% mkdir abc
briupserver4% cp apple beans abc
briupserver4% ls abc
apple  beans
briupserver4%
briupserver4% ls abc
apple  beans
briupserver4% cp -r abc aaa
briupserver4% ls aaa
apple  beans
briupserver4%
briupserver4% ls
aaa    abc    apple  beans
briupserver4% mv aaa bbb
briupserver4% ls
abc    apple  bbb    beans
briupserver4% mv apple beans
briupserver4% ls
abc    bbb    beans
briupserver4% touch apple
briupserver4% mv -i apple beans
mv: overwrite beans (yes/no)? y
briupserver4%

 

briupserver4% ls
abc    bbb    beans
briupserver4% rm beans
briupserver4% mkdir aaa
briupserver4% rmdir aaa
briupserver4% rmdir abc
rmdir: directory "abc": Directory not empty
briupserver4% rm -r abc
briupserver4% ls
bbb
briupserver4% touch nuts
briupserver4% chmod 000 nuts
briupserver4% rm nuts
rm: nuts: override protection 0 (yes/no)? n
briupserver4% rm -f nuts
briupserver4%

如果用户对文件没有权限删除,
但是用户是文件的拥有者,这时rm 文件会提示,
如果文件比较多,则对每个文件都回答提示,比较麻烦
rm -f 强制删除,不提示
rm -rf 强制删除连目录带文件

$ mdkir dir3 dir4 dir5
mdkir: not found
$ mkdir dir3 dir4 dir5
$ cp -r dir3 dir4 dir5
$ cd dir5
$ ls
dir3  dir4

$ mkdir dir5
$ ls
dir3  dir4  dir5
$ mv dir3 dir4 dir5
$ ls
dir5
$
$ touch apple
$ chmod 000 apple
$ ls -l apple
----------   1 chengx   other          0 Mar 21 10:00 apple
$ rm apple
rm: apple: override protection 0 (yes/no)? n
$ rm -rf apple
$ ls
dir5
$

软硬连接
$ touch a
$ ls -l a
-rw-r--r--   1 chengx   other          0 Mar 21 10:10 a
$ ln -s a b
$ ls -l a b
-rw-r--r--   1 chengx   other          0 Mar 21 10:10 a
lrwxrwxrwx   1 chengx   other          1 Mar 21 10:11 b -> a
$ ln a c
$ ls -l
total 2
-rw-r--r--   2 chengx   other          0 Mar 21 10:10 a
lrwxrwxrwx   1 chengx   other          1 Mar 21 10:11 b -> a
-rw-r--r--   2 chengx   other          0 Mar 21 10:10 c
$


软硬连接的区别
1:软连接可以连接目录,硬连接不可以
2:软连接可以跨分区,硬连接不可以
3:软连接依赖原文件,硬连接不依赖
$ ln -s / root
$ ls
a     b     c     root
$ ls -l root
lrwxrwxrwx   1 chengx   other          1 Mar 21 10:23 root -> /
$ cd root
$ pwd
/

$ df -k  查看分区信息
Filesystem            kbytes    used   avail capacity  Mounted on
/dev/dsk/c1d0s0      30258542 4052949 25903008    14%    /
/devices                   0       0       0     0%    /devices
ctfs                       0       0       0     0%    /system/contract
proc                       0       0       0     0%    /proc
mnttab                     0       0       0     0%    /etc/mnttab
swap                 4497952     884 4497068     1%    /etc/svc/volatile
objfs                      0       0       0     0%    /system/object
/usr/lib/libc/libc_hwcap2.so.1
                     30258542 4052949 25903008    14%    /lib/libc.so.1
fd                         0       0       0     0%    /dev/fd
swap                 4497140      80 4497060     1%    /tmp
swap                 4497092      32 4497060     1%    /var/run
/dev/dsk/c1d0s3      50423874 2917244 47002392     6%    /u1
/dev/dsk/c1d0s4      222967160 47718597 173018892    22%    /u2

$ cd
$ ln /var/adm/wtmpx abc
ln: abc is on a different file system
$ ln -s /var/adm/wtmpx abc
$ ls
a     abc   b     c     root
$ ls -l abc
lrwxrwxrwx   1 chengx   other         14 Mar 21 10:31 abc -> /var/adm/wtmpx


$ mkdir test
$ cd test
$ touch a ab ac ad ba bc de tf ai nab cba wnab woss boss zz
$ ls   
a     ac    ai    bc    cba   nab   wnab  zz
ab    ad    ba    boss  de    tf    woss
$ ls a*
a   ab  ac  ad  ai
$ ls a?
ab  ac  ad  ai
$ ls [a-b]?
ab  ac  ad  ai  ba  bc
$ ls [ad]?
ab  ac  ad  ai  de
$ ls [c-z]*
cba   de    nab   tf    wnab  woss  zz
$

$ date
Fri Mar 21 10:57:10 CST 2008
$ cal
   March 2008
 S  M Tu  W Th  F  S
                   1
 2  3  4  5  6  7  8
 9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31
$ date;cal
Fri Mar 21 10:57:49 CST 2008
   March 2008
 S  M Tu  W Th  F  S
                   1
 2  3  4  5  6  7  8
 9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31
$

$ cal 1 1 > a.txt
$ cat a.txt
   January 1
 S  M Tu  W Th  F  S
                   1
 2  3  4  5  6  7  8
 9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31
$ date > a.txt
$ cat a.txt
Fri Mar 21 11:24:43 CST 2008
$ date >> a.txt
$ cat a.txt
Fri Mar 21 11:24:43 CST 2008
Fri Mar 21 11:24:52 CST 2008


cat /etc/passwd | awk -F: '{print $1 "\t" $6}' \
>  | sort > a.txt

awk -F:[按:分隔] '{表达式}'
        print $1  "\t"    $6 打印第一列第六列,中间按照"\t"分割
 sort 按首字母排序 > a.txt

编译步骤
% vi King.java (将下面的程序输入,保存,退出)
% javac King.java  (编译)
% java King     (执行)

public class King{
        public static void main(String args[]){
                for(int i=0;i<10;i++){
                        for(int j=10;j>i;j--){
                                System.out.print(" ");
                        }
                        for(int j=0;j<i*2+1;j++){
                                System.out.print("$");
                        }
                System.out.println();
                }
        }
}

 

=============================$
$ id
uid=107(chengx) gid=1(other)
$ id root
uid=0(root) gid=0(root)
$ id -a root
uid=0(root) gid=0(root) groups=1(other),2(bin),3(sys),4(adm),5(uucp),6(mail),7(tty),8(lp),9(nuucp),12(daemon)
$ id -a briup
uid=100(briup) gid=1(other) groups=1(other)
$

find /u1/students -type f -atime +1 

$ find . -type f | xargs rm
xargs 作用,将第一个命令的结果一条一条循环交给rm

$ ls
Exercises.txt  King.java
King.class     vi.txt
$ find . -type f | xargs rm
$ ls
$ touch a b c
$ find . -type f
./a
./b
./c
$ find . -type f |rm
usage: rm [-fiRr] file ...
$ find . -type f |xargs rm
$ ls
$


$ grep root /etc/passwd
root:x:0:0:Super-User:/:/sbin/sh
$ grep chengx /etc/passwd
chengx:x:107:1::/u1/chengx:/bin/sh
$ grep -i CHENGx /etc/passwd
chengx:x:107:1::/u1/chengx:/bin/sh
$ grep -v chengx /etc/passwd

 


$ who |grep wusong
wusong     pts/125      Mar 21 15:29    (192.168.4.147)
wusong     pts/39       Mar 21 16:07    (briupserver4)
$

$ grep wang /etc/passwd |wc -l
       9
$


=================================================
一个聊天室程序Server.java

1: vi Server.java (输入下列代码)
2: javac Server.java (编译)
3: java Server (运行聊天室)
4: telnet 192.168.1.250 10000 (邀请同桌输入名字开始聊天)


import java.net.*;
import java.io.*;
import java.util.*;


public class Server {
 private static int port=10000;
 public static Vector users=new Vector();
 public static void main(String args[]){
  ServerSocket server=null;
  System.out.println("Server start on port "+port);
  try{
   server=new ServerSocket(port);
   while(true){
    Socket s=server.accept();
    MyThread mt=new MyThread(s); 
    mt.start();
    users.add(mt);
   }
  }catch(Exception e){
   e.printStackTrace();
  }
 }
}

class MyThread extends Thread{
 private Socket s=null;  
 public MyThread(Socket s){
  this.s=s;
 }
 public void run(){
  PrintWriter pw=null;
  BufferedReader reader=null;
  try{
   pw=new PrintWriter(new
    OutputStreamWriter(
    s.getOutputStream()));
   reader=new BufferedReader(
  new InputStreamReader(s.getInputStream()));
   pw.println("hello , welcome you , enter your name : ");
   pw.flush();
   String name=reader.readLine();  
   sendAll(name+" joined us ");
   String old_line="";
   while(true){
    String line=reader.readLine();
    if(line!=null||line.trim().length()!=0){
     if(line.equals("bye")){
      sendAll(name +" leave us" );
      Server.users.remove(this);
      break;
     }
     if(line.equals(old_line)){
   pw.println("flush denied ");
   pw.flush();
   sleep(2000);
   continue;
   }
   old_line=line;
     sendAll(name+" said :"+ line);
    }
   }
  }catch(Exception e){
   e.printStackTrace();
  }finally{
   if(s!=null)try{s.close();}catch(Exception e){}
  }
 }

 public synchronized  void sendMessage(String line){
  PrintWriter pw=null;
  BufferedReader reader=null;
  try{
   pw=new PrintWriter(new
    OutputStreamWriter(
    s.getOutputStream()));
   pw.println(line);
   pw.flush();
  }catch(Exception e){
  }
 }
 public static void sendAll(String line){
  Iterator it=Server.users.iterator(); 
  while(it.hasNext()){
   MyThread mt=(MyThread)it.next();
   mt.sendMessage(line);
  }
 }
}

=================结束======================


job

briupserver4% sleep 1000
^Z
Stopped (user)
briupserver4% jobs
[1]  + Stopped (user)       sleep 1000
briupserver4% sleep 2000 &
[2] 12358
briupserver4% jobs
[1]  - Stopped (user)       sleep 1000
[2]  + Running              sleep 2000
briupserver4% sleep 3000 &
[3] 12459
briupserver4% jobs
[1]    Stopped (user)       sleep 1000
[2]  - Running              sleep 2000
[3]  + Running              sleep 3000
briupserver4% bg %1
[1]  + sleep 1000 &
briupserver4%
briupserver4% jobs
[1]  + Running              sleep 1000
[2]    Running              sleep 2000
[3]  - Running              sleep 3000
briupserver4% fg %2
sleep 2000
^Z
Stopped (user)
briupserver4% bg
[2]  + sleep 2000 &
briupserver4% jobs
[1]  - Running              sleep 1000
[2]  + Running              sleep 2000
[3]    Running              sleep 3000
briupserver4%
briupserver4% jobs
[1]  - Running              sleep 1000
[2]  + Running              sleep 2000
[3]    Running              sleep 3000
briupserver4% stop %1
[1]  + Stopped (signal)     sleep 1000
briupserver4% jobs
[1]  + Stopped (signal)     sleep 1000
[2]  - Running              sleep 2000
[3]    Running              sleep 3000
briupserver4% kill %2
briupserver4%
[2]    Terminated           sleep 2000
briupserver4%
briupserver4% jobs
[1]  + Stopped (signal)     sleep 1000
[3]  - Running              sleep 3000
briupserver4%


briupserver4% /usr/sbin/ping 192.168.1.200
192.168.1.200 is alive
briupserver4% /usr/sbin/ping 192.168.1.22
no answer from 192.168.1.22
briupserver4%

briupserver4% /sbin/ifconfig -a
lo0: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1
        inet 127.0.0.1 netmask ff000000
nfo0: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2
        inet 192.168.1.250 netmask ffff0000 broadcast 192.168.255.255
briupserver4%


netstat -a 查看本系统所有的网络服务和连接

$ rlogin -l briup 192.168.1.200
Password:
No directory! Logging in with home=/
Last login: Mon Mar 24 11:35:17 from 192.168.3.58
$ ifconfig -a
lo0: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1
        inet 127.0.0.1 netmask ff000000
nge0: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2
        inet 192.168.1.200 netmask ffff0000 broadcast 192.168.255.255
$


cd 服务器目录
lcd 切换本地目录
dir 查看服务器文件
bye 退出
bin 传输二进制文件
asc 传输文本文件
get 下载
put 上传
mget 批量下载
mput 批量上传
hash 进度条
prompt 提示信息


从本地什么位置ftp连接的服务器,将下载到本地什么位置

  /home/briup  ftp 192.168.1.250 下载到/home/briup
 
  ftp> cd /u1/chengx
  ftp> bin
  ftp> hash
  ftp> prompt  是否提示
  ftp> mget a.mp3 sweetchild.wmv
   1. vi /tmp/a.txt
  #!/bin/sh   //声明本脚本采用的是哪种shell语法
  pwd
  cal
  date
 2. chmod +x /tmp/a.txt


briupserver4% set A=HELLO
briupserver4% echo $A
HELLO
briupserver4% echo A
A
briupserver4%


echo 屏显 回声


A=`echo hi` A是 hi
B='echo HI' B是echo hi

briupserver4% set A=`echo hi`
briupserver4% set B='echo hi'
briupserver4% echo $A
hi
briupserver4% echo $B
echo hi
briupserver4%
briupserver4% tr '[A-Z]' '[a-z]'
hello
hello
world
world
ABC
abc
^Cbriupserver4%
briupserver4% echo HELLO|tr '[A-Z]' '[a-z]'
hello

 

lcf.sh

briupserver4% chmod u+x lcf.sh
briupserver4% ls
lcf.sh
briupserver4% touch A B C
briupserver4% ls
A       B       C       lcf.sh
briupserver4% lcf.sh A B C
briupserver4% ls
a       b       c       lcf.sh
briupserver4% cat lcf.sh
#!/bin/sh

for oldname in $*
do
        if [ -f $oldname ]
        then
                newname=`echo $oldname|tr '[A-Z]' '[a-z]'`
                if [ $oldname != $newname ]
                then
                        mv $oldname $newname
                fi
        fi
done
briupserver4%


crontab –l 列出当前用户所有的计划任务
crontab –e   编辑当前用户的计划任务
 setenv EDITOR vi  //设置默认编辑器为vi
crontab –r   删除所有的计划任务


0  8  1  6  *  mail

tail -f 可以跟踪某个文件的增长


briupserver4% cp /etc/skel/* ~  
briupserver4% ls
local.cshrc    local.login    local.profile
briupserver4% mv local.cshrc .cshrc
briupserver4% mv local.login .login
briupserver4% mv local.profile .profile
briupserver4% ls -a
.              .bash_history  .login
..             .cshrc         .profile


设置环境变量

briupserver4% setenv A hello 推荐使用的方式
briupserver4% echo $A
hello
briupserver4% set B=hello
briupserver4% echo $B
hello
briupserver4%
 
briupserver4% echo $PATH   打印系统环境变量PATH
/bin:/usr/bin:/usr/ucb:/etc:.
briupserver4%


双引号代表引号引住的部分是一个整体

briupserver4% touch "a b"
briupserver4% ls
a b
briupserver4% rm a
a: No such file or directory
briupserver4% rm b
b: No such file or directory
briupserver4% rm "a b"
briupserver4% ls
briupserver4%

briupserver4% setenv WTO `uname -n`
briupserver4% echo $WTO
briupserver4
briupserver4% echo "$WTO"
briupserver4
briupserver4% echo '$WTO'
$WTO
briupserver4% echo \$WTO
$WTO
briupserver4%

briupserver4% setenv H "banner hello"
briupserver4% $H

 #    #  ######  #       #        ####
 #    #  #       #       #       #    #
 ######  #####   #       #       #    #
 #    #  #       #       #       #    #
 #    #  #       #       #       #    #
 #    #  ######  ######  ######   ####

briupserver4%

briupserver4% ping
ping: Command not found
briupserver4% set path=($path /usr/sbin )
briupserver4% ping
usage: ping host [timeout]
usage: ping -s [-l | U] [adLnRrv] [-A addr_family] [-c traffic_class]
        [-g gateway [-g gateway ...]] [-F flow_label] [-I interval]
        [-i interface] [-P tos] [-p port] [-t ttl] host [data_size] [npackets]
briupserver4%

briupserver4% chmod u+x ls
briupserver4% echo $path
/bin /usr/bin /usr/ucb /etc . /usr/sbin /usr/local/bin
briupserver4% ls
ls
briupserver4% ./ls

 #        ####
 #       #
 #        ####
 #            #
 #       #    #
 ######   ####

briupserver4% set path=(. $path)
briupserver4% echo $path
. /bin /usr/bin /usr/ucb /etc . /usr/sbin /usr/local/bin
briupserver4% ls

 #        ####
 #       #
 #        ####
 #            #
 #       #    #
 ######   ####

briupserver4%


which ls 显示当前用的哪个ls
 which命令先执行.cshrc&.login
 根据用户配置的环境变量path来查找
whereis 显示所有man手册的系统命令


briupserver4% echo $path
/bin /usr/bin /usr/ucb /etc .
briupserver4% which ls

 #    #  ######  #        ####    ####   #    #  ######
 #    #  #       #       #    #  #    #  ##  ##  #
 #    #  #####   #       #       #    #  # ## #  #####
 # ## #  #       #       #       #    #  #    #  #
 ##  ##  #       #       #    #  #    #  #    #  #
 #    #  ######  ######   ####    ####   #    #  ######

/bin/ls
briupserver4% set path=(. $path)
briupserver4% which ls

 #    #  ######  #        ####    ####   #    #  ######
 #    #  #       #       #    #  #    #  ##  ##  #
 #    #  #####   #       #       #    #  # ## #  #####
 # ## #  #       #       #       #    #  #    #  #
 ##  ##  #       #       #    #  #    #  #    #  #
 #    #  ######  ######   ####    ####   #    #  ######

./ls

 

briupserver4% set history=1000
briupserver4% date  
Mon Mar 24 16:18:18 CST 2008
briupserver4% banner hi

 #    #     #
 #    #     #
 ######     #
 #    #     #
 #    #     #
 #    #     #

briupserver4% pwd
/u1/chengx
briupserver4% history
     1  clear
     2  echo $path
     3  which ls
     4  set path= ( . $path )
     5  which ls
     6  clear
     7  whereis ls
     8  clear
     9  set history=1000
    10  date
    11  banner hi
    12  pwd
    13  history
   
briupserver4% !10
date
Mon Mar 24 16:19:31 CST 2008
briupserver4%
briupserver4% !l
ls

 #        ####
 #       #
 #        ####
 #            #
 #       #    #
 ######   ####

briupserver4%
briupserver4% alias
h       banner hi;date;pwd;cal
briupserver4% alias java "banner java"
briupserver4% alias
h       banner hi;date;pwd;cal
java    banner java
briupserver4% unalias java
briupserver4% alias
h       banner hi;date;pwd;cal
briupserver4%

briupserver4% set prompt="^_^ : "
^_^ :
^_^ : set prompt="briup%"
briup%
briup%
briup%set prompt="chengx > "
chengx >
chengx >
chengx > set prompt="java $$ "
java 6333
java 6333


set 和setenv的区别

如果设置环境变量,请使用setenv

setenv EDITOR vi
setenv ORACLE_HOME $ORACLE_BASE/oracle10g
setenv ABC "echo ABC"

如果设置csh特有的命令参数,请使用set

set path=(..)
set prompt=...
set history=....

umask  掩码  默认为022
权限     777
umask    011
文件夹   766
文件     666  去掉执行权限


hp面试题目: umask 033 问touch abc 权限多少?
     644
.cshrc 例子

#ident  "@(#)local.cshrc        1.2     00/05/01 SMI"
umask 022
set path=(/bin /usr/sbin /usr/local/bin /usr/ccs/bin  /usr/
bin /usr/ucb /etc .)
set history=100
banner welcome

如果你不小心改错了.cshrc文件,导致你什么命令都不好用
briupserver4% set path=(/usr/bin .)
briupserver4% rm ~/.cshrc   重新登陆,重新设置


让刚刚修改的.cshrc文件立刻生效
briupserver4%source .cshrc
briupserver4%env 查看所有环境变量