⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 unix系统常用命令.htm

📁 台大计中UNIX讲义
💻 HTM
📖 第 1 页 / 共 2 页
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0048)http://www.linuxforum.net/books/jy/M.924703948.A -->
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<META content="MSHTML 6.00.2800.1106" name=GENERATOR></HEAD>
<BODY><PRE>发信人: albin (阿乐斌), 信区: LINUX
标  题: LINUX选修课讲义:UNIX常用命令
发信站: 碧海青天 (Wed Apr 21 23:14:19 1999), 转信

版权声明:
    本文内容为大连理工大学LINUX选修课讲义,欢迎大家转载,但禁止使用本材料进行
    任何商业性或赢利性活动。转载时请保留本版权声明。

    作者:何斌武,hbwork@dlut.edu.cn,大连理工大学网络中心,April 1999.

    URL: ftp://ftp.dlut.edu.cn/pub/PEOPLE/albin/
------------------------------------------------------------------------------
四、UNIX系统常用命令
  UNIX系统常用命令格式:
  command [flags] [argument1] [argument2] ...
  其中flags以-开始,多个flags可用一个-连起来,如ls -l -a 与ls -la相同。

  根据命令的不同,参数分为可选的或必须的;所有的命令从标准输入接受输入,输出
  结果显示在标准输出,而错误信息则显示在标准错误输出设备。可使用重定向功能对
  这些设备进行重定向。

     命令在正常执行结果后返回一个0值,如果命令出错可未完全完成,则返回一个
  非零值(在shell中可用变量$?查看). 在shell script中可用此返回值作为控制逻辑
  的一部分。

  注:不同的UNIX版本的flags可能有所不同。

1、与用户相关的命令
1.1 login 
   (在LINUX Redhat下此命令功能与Solaris/BSD不同,执行login会退出当前任务).

   login:  
   Password:

   相关文件:
       在下面的这些文件中设定shell运行时必要的路径,终端类型,其他变量或特殊程序.

       $HOME/.profile   (Bourne shell, sh, bash)
       $HOME/.cshrc     (csh, tcsh)
       $HOME/.tcshrc    (tcsh)
       /etc/passwd文件中列出每个用户的shell
       /etc/csh.cshrc   
       /etc/csh.login
       /etc/profile (Bourne shell, bash)
       /etc/login   (Bourne shell, bash)

       csh: /etc/csh.cshrc和$HOME/.cshrc每次执行都会读取,
           而/etc/csh.login和$HOME/.login只有注册shell才执行
           修改相应文件后使用 source .cshrc使能相关修改,如果修改了path则
           还需使用rehash刷新可执行文件hash表。

       tcsh: $HOME/.tcshrc, 没有些文件读取.cshrc

       sh:  /etc/profile和$HOME/.profile注册shell
       bash: /etc/profile和$HOME/.bash_profile注册shell读取
             .bashrc交互式非注册shell才读取。

       在sh/bash下手工执行相关文件:
            . /etc/profile

       相关文件执行顺序
            sh:         /etc/profile -&gt; $HOME/.profile
            csh/tcsh:   /etc/csh.cshrc -&gt; /etc/csh.login -&gt; $HOME/.cshrc
                        -&gt; $HOME/.login
 
       变量的设置:
       sh/bash:    TERM=vt100; export TERM
                OR: export TERM=vt100  (bash)
       csh:     setenv TERM vt100

       常用变量:
        (1)Backspace    $HOME/.profile $HOME/.cshrc
                stty erase ^H
        (2)umask 新建文件或目录的保护属性
        (3)TERM
        (4)切忌PATH中加入 .

1.2. rlogin
   与telnet类似,连接到远程主机.

   rlogin remotehost [ -l loginname ]
   Or:
   rsh [-l loginname] remotehost [command ]

   相关文件:
       远程主机的 /etc/hosts.equiv 和 $HOME/.rhosts

   相关网络配置文件:
       /etc/inetd.conf文件中的r系统服务.Redhat下为shell, login, exec, 对应
      的网络守护进程(daemon)为in.rshd, in.rlogind, in.rexecd.

   建议: 从安全角度出发,关闭r系列服务.

1.3. telnet 
   telnet remotehost [port]

   相关文件:
   /etc/inetd.conf文件中的telnet服务.
   /etc/issue.net 
 
   TIPS:  strings /usr/sbin/in.telnetd |egrep issue

1.4. passwd 更改口令

1.5 exit 退出当前shell


2. 命令或文件的查找
   相关shell变量: 
        csh/tcsh:       $path
                .cshrc set path=(/usr/bin /usr/local/bin $path)
        sh/bash:        $PATH  
                .profile .bash_profile
                        PATH=/usr/local/bin:$PATH; export PATH

  2.1 which     
        Syntax: which command

        which为bash/tcsh内带命令
        [hbwork@toshiba]$ which which
        which: shell built-in command. 
  2.2 where(tcsh)       
        Syntax: where command
  2.3 locate (LINUX)
        Syntax: locate filename
 
        相关命令: updatedb更改locate文件名数据库

3. 查看命令的用法
   man  
   相关文件:
                /etc/man.config

4. 管理员常用命令

4.1 install     
   用于安装一个新的命令或daemon等. 一般情况下可以不用,但很多软件在其安装
shell script中使用install将目标文件复制到相应的目录并设置正确的属性等.
        

NAME
       install - copy files and set their attributes

SYNOPSIS
       install [options] [-s] [--strip] source dest
       install [options] [-s] [--strip] source... directory
       install [options] [-d,--directory] directory...
       Options:
       [-c]  [-g  group]  [-m  mode]  [-o  owner] [--group=group]
       [--mode=mode] [--owner=owner] [--help] [--version] 

4.2 shutdown
    不同的unix参数不尽相同,在linux下常用如下方式关机:
    shutdown -h now
    shutdown -r now (等同于reboot)

4.3 halt 
    poweroff
   关机,在多用户方式下(Runlevel 3)不建议使用, 

4.4 ulimit
    korn shell和bourne shell中可用此命令,在csh系列中相应的命令为limit.
    用于限制每个进程可使用的系统资源,通常分两种限制:
        . Hard limits 系统所定义的资源,只有root能更改
        . 软限制  对新建进程所使用的限制,可增加到系统的Hard Limit.

    Flags:
        -a      列出软限制
        -Ha     列出Hard Limit
        -c size 设置coredump size的块大小
        -t size cputime
        -f size file size 

4.5 umask  系统管理员用于设置用户默认的umask值.


5.与进程相关的命令

  进程基本概念: 进程与命令的执行相关,但并不是一一对应; 一条命令可能对应若干
        个进程(如shell script, pipe等).但最简单的命令与umask只有一个进程.

  进程分类:
        .交互式进程:可以前台或后台执行,前后台可切换
        .批处理进程:不通过终端提交,一般将它们放在任务队列中顺序执行. 如通过
                at 和 crontab提交的任务.
        .deamon:永不终止的进程,等待响应来自其他进程的服务请求.如sendmail,
                named(DNS), POP3及apache等.

  进程的相关属性:
        PID
        Real UID
        Effective UID (SUID)
        Real GID
        Effective GID (SGID)
        Priority(Nice Number)执行的优先级

5.1 ps 
    Process Status, 列出当前运行的进程状态,根据选项不同,可列出所有的或部分进程
    . 无选项时只列出从当前终端上启动的进程(SYSV)或当前用户($USER)的进程(BSD), 
      不同的UNIX版本之间有差别. linux使用BSD版本的ps
    . BSD版本ps命令使用方法:
        ps
        ps aux 列出系统中所有的进程的详细情况
        ps aux |egrep inetd

        输出信息内容:
        PID
        Terminal        如无相应终端则为-
        cpu time
        UserID  or Username
        进程启动时间或日期
        进程状态(Stat: S(leep) R(unnable) D(uninterrupt sleep) Z(ombie)
                W 进程没有驻留页面, N: 进程的nice值为负值
        
5.2 kill
    kill [-signal] PID

    kill -l 列出可用信号量
    常用信息量: 
        -HUP (1) 重启进程
                ps ax |egrep inetd
                kill -HUP pid_of_inetd
        -KILL (9) 强制中止

     PID取值含义:
        &gt;0      指特定进程(实际进程)
        =0      同组用户的所有process(PGID)
        =-1     Effective UID = 执行命令用户之uid
        &lt;0 &amp;&amp; !=1 取绝对值之进程

5.3 nice 
    用于改变一个或多个进程的优先级; 但只有root或提高进程的优先级, 普通用户只能
  降低进程的优先级.
     nice用负数表示提高优先级,而正数表明降低优先级,通常此值范围是-20~20.

     如未指定提高优先级,nice会降低或不改变进程的优先级. 当然如果没有权限的话
  进程的优先级不会有任何改变.

     一般情况下我们用nice来降低后台进程的优先级(默认优先级为10).

   nice find . -name "*.c" -print &amp;
   nice 16 find . -name "*.c" -print &amp;

5.4 wait
    wait PID

    等待作业结束,参数为pid,在shell script中有时用到.

5.5 nohup 
    nohup command &amp;

5.6 sleep 

    sleep seconds

进程前后台切换: Ctrl-Z, fg, bg


6. 通讯

6.1 ftp
6.2 mailx
6.3 minicom (串口终端,MODEM)

7. 文件比较
   cmp
   comm
   diff (用于比较文本文件)
   diff3 (比较3个文件)
   sdiff

8. 文件操作
   touch  创建文件,修改文件日期等
   chmod
   chwon
   chgrp
   rm   慎用 rm -rf
   mv   移动文件或改名
   cp   cp -r 复制目录
   cat
   rcp 远程复制
   ln  默认情况下为硬连接,每个文件具有相同的inode
       ln -s sourcefile targetfile

9. 目录操作
   mkdir [-p] [-m mode] directory
   rmdir [-p] directory

10. 文件信息命令
    ls
    find
        最基本的功能是查找一个文件名或目录,常用格式如下:
        find . -print   (类似于 ls -lR)
        
        find可使用如下属性进行查找:
        -name   查找文件名,含通配符*?的文件名用引号括起来
        -perm   00x000  八进制文件属性
        -atime n        n天之前访问过的文件
        -mtime n        n天之间修改过的文件
        -ctime n        文件的状态在n前之间修改过
        -exec command   如命令的返回代码为零(找到相应的文件)则真,command必须以
                        \; 结果,此外在命令的执行中 {} 为查找到的文件路径名
        -ok command     与exec相类似,但在执行每个命令之间要求用户确认
        -print          打印当前路径名
        -newer filename 如文件的最后修改日期较filename新则为真
        -type c         c=[b,c,d,l,p,f]文件类型
        -user username  如文件的属主为username则为真
        -nouser         文件属主在/etc/passwd文件中不存在
        -group grouname 文件组
        
        逻辑运算符:    -a -o !
        
        示列:
        find $HOME \( -name a.out -o -name "*.o" \) -atime +7 -exec rm {} \;
        find . -atime 0 -print
        find / .name .profile -print
        find . -perm 777 -a -mtime 7 -exec chmod 755 {} \;
        
        
    file
    more
    less
    tail  (tail -f filename)
    head
    wc    
    read  用于shell编程
    col   
    pg (SYSV)

11. 编辑器
    vi
    ed
    joe

12. 文件内容查找
   grep
   egrep 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -