`
藝之憾
  • 浏览: 9797 次
  • 性别: Icon_minigender_1
  • 来自: 广州
最近访客 更多访客>>
社区版块
存档分类
最新评论

Unix常用命令小结

阅读更多
大项目一般都是使用Unix,是因为它的稳定性,而C\C++不能在Unix运行,所以说Java的发展前景相对好。Unix是用C写的。

**对有特殊字符的文件名进行各种操作,需要用‘’把它括起。   如‘*.txt’

各个 shell 可互相切换
ksh:$    sh:$    csh:%     bash:bash-3.00$

常用命令:

一、特殊字符含义
    文件名以“.”开头的都是隐藏文件/目录,只需在文件/目录名前加“.”就可隐藏它。
    ~        表示主目录。   
    .        当前目录(一个点)。   
    ..       上一级目录(两个点)。
    ;        多个命令一起用。
    >  >>    输出重定向    追加输出重定向。        
    <  <<    输入重定向    追加输入重定向。
    *        匹配零个或者多个字符。
    ?        匹配一个字符。
    []       匹配中括号里的内容[a-z][A-Z][0-9]。
    !       事件。
    $        取环境变量的值。
    |        管道。把前一命令的输出作为后一命令的输入,把几个命令连接起来。
            |经常跟tee连用,tee 把内容保存到文档并显示出来。

二、目录管理命令
pwd   显示当前所在目录,打印当前目录的绝对路径。
cd    进入某目录,DOS内部命令 显示或改变当前目录。
      cd回车 /cd ~      都是回到自己的主目录。
      cd ..           回到上一级目录(空格再加两个点)。    cd ../..  向上两级。
    
ls    显示当前目录的所有目录和文件。
      用法  ls
      ls -l      (list)列表显示文件(默认按文件名排序),
                 显示文件的权限、硬链接数(即包含文件数,普通文件是1,目录1+)、用户、组名、大小、修改
                 日期、文件名。
      ls -a      显示所有文件,包括隐藏文件。
      ls -t      (time)按修改时间排序,显示目录和文件。
      ls -lt     是“-l”和“-t”的组合,按时间顺序显示列表。
      ls -F      显示文件类型,目录“/ ”结尾;可执行文件“*”结尾;文本文件(none),没有结尾。
      ls -R      递归显示目录结构。即该目录下的文件和各个副目录下的文件都一一显示。
      可累用 如:ls -a -l

    文件权限
        r    读权限。对普通文件来说,是读取该文件的权限;对目录来说,是获得该目录下的文件信息。
        w    写权限。对文件,是修改;对目录,是增删文件与子目录。
            (注 删除没有写权限的文件可以用 rm -f ,这是为了操作方便,是人性化的设计)。
        x    执行权限;对目录,是进入该目录
        -    表示没有权限
       形式 - rw- r-- r-- 
    其中 第一个是文件类型(-表普通文件,d表目录,l表软链接文件)
    第2~4个是属主,生成文件时登录的人,权限最高,用u表示
     第5~7个是属组,系统管理员分配的同组的一个或几个人,用g表示
     第8~10个是其他人,除属组外的人,用o表示
     所有人,包括属主、属组及其他人,用a表示

chmod  更改权限; chmod 777  file_name
    chmod u+rw  给用户加权限。同理,u-rw也可以减权限。
    chmod u=rw  给用户赋权限。与加权限不一样,赋权限有覆盖的效果。
    主要形式有如下几种
    chmod u+rw       chmod u=rw
    chmod u+r, u+w   chmod u+rw,g+w, o+r
    chmod 777( 用数字的方式设置权限是最常用的)
  
    另外,临时文件/目录的权限为rwt,可写却不可删,关机后自动删除;建临时目录:chmod 777 目录名,再chmod +t 目录名。

id 显示用户有效的uid(用户字)和gid(组名)
    用法 id [-ap] [user]
    id 显示自己的。
    id root 显示root的。
    id -a root 显示用户所在组的所有组名(如root用户,是所有组的组员)
   
df 查看文件系统,查看数据区
    df -k   以kbytes显示文件大小的查看文件系统方式

du 查看目录情况
    用法 du [-a] [-d] [-h|-k] [-r] [-o|-s] [-H|-L] [文件...]
    -s占用的数据块总数,-k按千字节排序 -a 显示指定目录中各文件及子孙目录中各文件占用的数据块数
   
    如 du -s . 当前目录的数据块数  du -a 当前目录及子孙目录占用的数据块 du -s * 所有目录


三、显示文件内容
more  分屏显示文件的内容。
      用法   more file_name
     分屏显示的中途操作
      空格<space>       继续打开下一屏;
      回车<return>      继续打开下一行;
      b                另外开上一屏;
      f                另外开下一屏;
      h                帮助;
      q或Ctrl+C        退出;
      /字符串           从上往下查找匹配的字符串;
      ?字符串          从下往上查找匹配的字符串;
      n                继续查找。
     
      在cygwim中没有more命令,是用less,可以在.bashrc文件中添加alias more='less' 即可用more
    
cat   显示文件内容,不分屏(一般用在小文件,大文件显示不下);合并文件,仅在屏幕上合并,并不改变原文件

head/tail  实时监控文件,一般用在日志文件,可以只看其中的几行。
      head -n file_name  显示指定文件的前N行     tail -n file_name 显示后N行  没选项则全显示
      sed -n ‘2,5p’ file_name  显示文件的2-5行  其中的 n p是固定格式
      head -5 hello  显示hello文件前5行     tail -5 hello  显示后5行
      head -2 hello test.java 分别显示两个文件前2行
     

四、文件/目录的增删
echo  显示一行内容。 如 echo $PATH

touch 如果文件/目录不存在,则创建新文件/目录;如果文件存在,那么就是更新该文件的最后访问时间,
     
mkdir 创建目录(必须有创建目录的权限)
      用法 mkdir [-m 模式] [-p] dirname ...
      mkdir dir1/dir2          在dir1下建dir2  dir1必须存在,否则要 -p
      mkdir dir13 dir4 dir5    连建多个
       mkdir ~/games            用户主目录下建(默认在当前目录下创建)
      mkdir -p dir6/dir7/dir8  强制创建dir8;若没有前面的目录,会自动创建dir6和dir7。
                               不用-p时,若没有dir6/dir7,则创建失败。

cp   复制文件/目录
     cp  源文件   目标文件/目录     复制文件;若已有文件则覆盖,若存在目录命,则复制到目录下
     cp -r 源目录 目标目录     复制目录;若已有目录则把源目录复制到目标目录下,
                             没有目标目录时,相当于完全复制源目录,只是文件名不同。
     cp beans apple dir2    把beans、apple文件复制到dir2目录下
     cp -i beans apple      增加是否覆盖的提示

mv 移动或重命名文件/目录
   
    mv 源文件名 目标文件名   若目标文件名还没有,则是源文件重命名为目标文件;若目标文件已存在,则源文件覆盖目标文件。
    mv 源文件名 目标目录     移动文件
    mv 源目录 目标目录      若目标目录不存在,则源目录重命名;若目标目录已存在,则源目录移动到目标目录下。

rm  删除文件/目录

    rm 文件名     删除文件。
    rm -r 目录名  删除目录。
    rm –f 文件   只要是该文件或者目录的拥有者,无论是否有权限删除,都可以用这个命令参数强行删除。
    rmdir 删除空目录。只可以删除空目录。

ln 创建硬链接或软链接,硬链接=同一文件的多个名字;软链接=快捷方式

    ln file1 file1.ln      创建硬链接。感觉是同一文件,删除一个,对另一个没有影响;须两个都删除才算
    删除。
    ln -s file1 file1.sln  创建软链接。可跨系统操作,冲破操作权限;也是快捷方式。


五、时间显示
date 显示时间,精确到秒
    用法   date [-u] mmddHHMM[[cc]yy][.SS]
    date [-u] [+format]
    date -a [-]sss[.fff]
cal 显示日历
    cal 9 2008  显示2008年9月的日历;    cal 显示当月的
    用法 cal [ [月] 年 ]

   
六、退出命令
exit    退出; DOS内部命令 用于退出当前的命令处理器(COMMAND.COM)     恢复前一个命令处理器。
Ctrl+d  跟exit一样效果,表中止本次操作。
logout  当登录shell可用来退出,其他shell不可用。

clear   清屏,清除(之前的内容并未删除,只是没看到,拉回上面可以看回)。

七、帮助
   man 帮助
   如 man date   按 q 退出

八、vi
   
vi 的使用方法

:(冒号)命令模式切换为低行模式
Esc键 从低行模式或者输入模式切换到命令模式

1、输入 (输入模式)
    o       光标往下换一行
    O       (大写字母o)在光标所在行上插入一空行
    i       在光标所在位置的前面插入字母
    a       在光标所在位置的后面插入一个新字母
    <Esc>   退出插入状态。

2、光标    h 左    j 下        k 上    l 右
    低行模式下 :set nu 显示行号(不显示 set nonu)   :5  光标到5行位置
   
    命令模式下:
    H               屏幕头
    M               屏幕中间
    L               屏幕底
    ^ (shift+6)     行首
    $ (shift+4)     行尾
    Ctrl+f          下翻
    Ctrl+b          上翻   

3、修改替换
    r        替换一个字符
    dd       删除行,剪切行   
             5,10d  删除 5 至 10 行(包括第 5行和第 10 行) (低行模式输入)
    x        删除一个字符
    dw       删除词,剪切词。 ( 3dw删除 3 单词)
    cw       替换一个单词。 (cw 和 dw 的区别 cw 删除某一个单词后直接进入编辑模式,而dw删除词后仍处于命令模式)
    cc       替换一行
    C        替换从光标到行尾
    yy       复制行 (用法同下的 Y ,见下行)
    Y        将光标移动到要复制行位置,按yy。当你想粘贴的时候,请将光标移动到你想复制的位置的前一个
    位置,然后按 p
    yw       复制词
    p        当前行下粘贴
    1,2co3   复制行1,2在行3之后
    4,5m6    移动行4,5在行6之后
    u        当你的前一个命令操作是一个误操作的时候,那么可以按一下 u键,即可复原。只能撤销一次
    r file2  在光标所在处插入另一个文件

    ~        将字母变成大写
    J        可以将当前行与下一行连接起来
    /字符串   从上往下找匹配的字符串
    ?字符串   从下往上找匹配的字符串
    n        继续查找
    底行模式中,:1,$s/旧串/新串/g        全文替换
                      (1表示从第一行开始)    没有g则只替换一次,加g替换所有

3、存盘和退出
     w            存盘
     w newfile    存成新文件
     wq           存盘再退出VI(或者ZZ或 X)
    q!           强行退出不存盘
    
    

查看用户
users      显示在线用户(仅显示用户名)。
who        显示在线用户,但比users更详细,包括用户名、终端号、登录时间、IP地址。
who am i  仅显示自己,(但包括用户名、端口、登录时间、IP地址;信息量=who)。
whoami    也仅显示自己,但只有用户名(仅显示自己的有效的用户名)。
w          显示比who更多内容,还包括闲置时间、占CPU、平均占用CPU、执行命令。
           用法 w [ -hlsuw ] [ 用户 ]

su         改变用户,需再输入密码。
           用法  su [-] [ username [ arg ... ] ]
su -      相当于退出再重新登录。

passwd:修改用户密码,要求6-8字符,只要有两个文字字符和一个数字或特殊字符,新设置的密码至少要与
原来密码有三处不同。

查找
find   查找文件
    用法 find  [-H | -L] 路径列表 谓词列表
    find / -name perl 从根目录开始查找名为perl的文件。
    find . -mtime 10 -print 从当前目录开始查找距离现在10天时修改的文件,显示在屏幕上。
           (注 “10”表示第10天的时候;如果是“+10”表示10天以外的范围;“-10”表示10天以内的范围。)
    find  . -name h?llo  查找hello/hollo 之类的文件  ?:匹配一个字符   
   
    find . –name ‘*.txt’ –exec rm {} \;  在当前目录查找并删除含‘*.txt’的文件        

grep 文件中查找字符
    用法  grep -hblcnsviw 模式 文件 . . .
    如 grep abc /etc/passwd  在passwd文件下找abc字符,打印其所在行所有内容
    ls -l | grep -v hello  显示除了包含有 hello 字符的所有文件  -v的作用,排除  -i 忽略大小写
   
wc 统计
    -l 统计行数;  -w 统计单词数;   -c 统计字符数
    如  grep wang /etc/passwd|wc -l    统计passwd文件含“wang”的行数

进程管理
ps 显示进程。
    用法 ps [ -aAdeflcjLPyZ ] [ -o 格式 ] [ -t 项列表 ]
    [ -u 用户列表 ] [ -U 用户列表 ] [ -G 组列表 ]
    [ -p 进程列表 ] [ -g 程序组列表 ] [ -s 标识符列表 ] [ -z 区域列表 ]
    ps 显示自己的进程。
     ps -e 显示每个进程,包括空闲进程。同 ps -a
    ps -f 显示详情。
     ps -ef 组合-e和-f,所有进程的详情。
     ps -U uidlist(用户列表) 具体查看某人的进程。 ps -p pidlist 如 ps -p 1020 3021

kill [-singal]  pid    -singal:可以省略,我们常用的信号代码是 -9 ,表示强制终止;
pkill  -- 和killall一样,多用于杀除多个进程
   [root@localhost beinan]# pgrep -l gaim
   2979 gaim 条
   [root@localhost beinan]# pkill gaim   全杀

sleep -- 使得shell暂停运行一段时间  如 sleep 10   暂停10秒 
         sleep  NUMBER[suffix]    suffix :s(秒) m(分) h(时)  d(天)

jobs
    用法  jobs [-l ]  显示当前shell下正在运行的后台作业
   
bg %  把前台作业移到后台 
fg %  把后台作业移到前台
stop %n 挂起(仅csh能用)


网络链接
ping
      ping host [timeout]

ipconfig   查看网路地址    finger user查看user用户的网路信息


环境变量
(1)env  打印系统的环境变量
(2)如果没设置好环境变量,要想执行命令,可用绝对路径来执行:
/user/student/……/命令
(3)查看变量 echo  $变量名
(4)在bash中,可以在 .bash_profile中修改环境变量
   在csh中,可以在 .cshrc中修改
(5)PATH=..:..:..:..   冒号
   PATH=$PATH:/user/opt/.. 在原有的基础上加上/user/opt/..这个路径
 
  CHINA=good     export CHINA    把变量设置为环境变量 
  export CHINA=good              bash特有的,可以直接设为环境变量
  unset CHINA   去掉环境变量

(6)在csh中
全局变量 setenv CHINA  good        unsetenv CHINA
局部变量 set CHINA=good            unset CHINA

write user 给user发信息   wall 发广播
mesg –n 拒收信息   mesg –y 接收信息
0
0
分享到:
评论

相关推荐

    shell编程和unix命令

    本书共分五部分,详细介绍了shell编程技巧,各种UNIX命令及语法,还涉及了UNIX下的文字处理以及少量的系统管理问题。本书内容全面、文字简洁流畅,适合Shell编程人员学习、参考。 目 录 译者序 前言 第一部分 ...

    Unix命令精选教程

    本篇文档主要介绍Unix系统的基本概念、常用命令及其用法,适合Unix系统的初学者学习。通过本文档的学习,可以帮助读者掌握Unix环境中基本的操作方法,包括登录、目录管理、文件查看等。 #### Unix系统简介 Unix...

    UNIX操作系统教程 张红光

    2.1.2用户的注册与注销11 2.1.3账户的管理12 2.1.4用户口令的管理12 ...UNIX常用命令介绍18 2.4.1UNIX命令使用方法18 2.4.2多命令行及多行命令19 2.4.3一般常用命令19 2.4.4用于目录操作的命令23 2.4.5用于文件操作...

    unix--shell的一些特殊参数小结

    在 Unix Shell 编程中,存在许多常用但容易被遗忘的重要概念与技巧。本文旨在总结这些知识点,帮助读者更好地理解和掌握 Unix Shell 的核心功能之一——特殊参数。通过本文的学习,你将能够更加熟练地运用这些参数来...

    AIX 常用命令汇总

    ### AIX 常用命令知识点汇总 #### 引言 AIX(Advanced Interactive Executive)是一种由IBM开发的UNIX操作系统,广泛应用于企业级服务器环境。本文档将介绍一系列AIX中的核心命令,帮助用户在遇到问题时能更快地...

    Linux操作系统操作MySQL常用命令小结

    本文将总结在Linux操作系统中操作MySQL数据库的常用命令。 首先,启动MySQL服务是使用MySQL数据库前必须进行的步骤,可以通过如下命令启动: ``` servicemysqld start; ``` 进入MySQL环境需要使用mysql命令,常见...

    华为unix的内部教程

    #### 第一篇小结 - 本篇涵盖了Unix操作系统的基础知识和常用操作,适合初学者学习。 #### 第二篇深入篇 - 进一步探讨了Unix系统的高级特性和管理技巧,包括启动过程、用户管理、存储设备使用、网络参数设置等。 ##...

    UNIX系统基础下载

    #### 二、常用命令详解 ##### 1. `ls` - 列出目录内容 `ls` 是用于列出目录中文件及子目录内容的命令。默认情况下,它会显示当前工作目录下的所有文件(不包括隐藏文件)。 - **基本语法**:`ls [选项] [路径]` -...

    UNIX操作系统教程

    252.4.6ccc有关状态和信息查询的命令 302.4.7ccc用于网络和通信的命令 332.5cccUNIX系统与其他系统关联 362.5.1cccUNIX与DOS文件格式的转换 362.5.2cccDOS分区在UNIX系统中的使用 362.6ccc本章小结 38习题 38第3章...

    LINUX与UNIX SHELL编程指南(很全)

    1.10 小结 13 第2章 使用find和xargs 14 2.1 find命令选项 14 2.1.1 使用name选项 15 2.1.2 使用perm选项 16 2.1.3 忽略某个目录 16 2.1.4 使用user和nouser选项 16 2.1.5 使用group和nogroup选项 16 2.1.6 按照更改...

    Linux与Unix Shell编程指南(PDF格式,共30章)

    本书共分五部分,详细介绍了shell编程技巧,各种UNIX命令及语法,还涉及了UNIX下的文字处理以及少量的系统管理问题。本书内容全面、文字简洁流畅,适合Shell编程人员学习、参考。 目 录 译者序 前言 第一部分 ...

    Linux与unix shell编程指南

    本书共分五部分,详细介绍了shell编程技巧,各种UNIX命令及语法,还涉及了UNIX下的文字处理以及少量的系统管理问题。本书内容全面、文字简洁流畅,适合Shell编程人员学习、参考。 目 录 译者序 前言 第一部分 shell ...

    常用shell编程命令

    shell编程命令详解 shell编程是 Linux 和 Unix ...六、小结 shell 编程命令是 Linux 和 Unix 操作系统中一种强大的编程语言,通过学习 shell 编程命令,可以编写脚本以自动执行各种任务,提高工作效率和自动化程度。

    LINUX与UNIX SHELL编程指南 高清PDF

    本书共分五部分,详细介绍了shell编程技巧,各种UNIX命令及语法,还涉及了UNIX下的文字处理以及少量的系统管理问题。本书内容全面、文字简洁流畅,适合Shell编程人员学习、参考。 目 录 译者序 前言 第一部分 shell...

    UNIX培训资料.pdf

    #### 七、小结 本课程不仅涵盖了UNIX的基础理论知识,还涉及了大量实际操作技巧。通过学习这些内容,学员将能够熟练地使用UNIX系统进行日常操作,并具备一定的系统管理和维护能力。此外,课程还强调了安全性、稳定...

    UNIX基础学习知识

    ### 小结 UNIX的学习是一个逐步深入的过程,从基本的命令行操作到高级的系统管理,都需要时间和实践去积累。理解并熟练掌握这些基础知识,将为后续的UNIX系统管理和编程打下坚实基础。 ### 习题 此处应包含一系列...

Global site tag (gtag.js) - Google Analytics