美文网首页shellVim&Shellshell
shell常用命令&脚本编写

shell常用命令&脚本编写

作者: 蒲公英少年 | 来源:发表于2016-01-12 16:56 被阅读995次

常用命令

  1. 想看看你的Shell是哪一种,执行命令: echo $SHELL

    在Linux中,$符号代表一个shell变量。所有的shell都用这种方式使用变量。有一些shell变量在你的系统启动
    的时候就有了默认值。例如,$SHELL;$LOGNAME是你的登录名,而$PATH变量指明了你的shell命令的搜索范围。
    echo命令的作用就是打印出你的输入。如果你的输入具有shell的特殊意义,例如shell变量,他就输出变量的值。
        
    
  2. ls -la

    这行命令的意义是输出当前目录的所有文件的文件名,l代表“long”,a代表“all”,有了l选项,你会发现,输
    出的内容比较丰富,不只包括文件 名,还有文件的访问权限,所有者,所属组等。你会发现这个命令会在屏幕上
    输出大量的信息,如果当前目录的文件比较多的话。现在就是“pipe”出场的时候了。
    ls -la | more
    ls -l a*
    这个命令会列出在当前工作目录下所有的以小写a开头的文件,比如说abc.txt,alpha.jpg等等。
    ls a?cd
    这条命令会列出所有以小写a开头隔一个未知字符以小写cd结尾的所有文件。例如adcd,axcd,但是不会列出adfdcd,
    也不会列出axcd.txt。
    
    
  3. man:如果你想了解每一个命令代表什么含义以及他的用法,你就可以使用man(意义为manual)命令,例如:

    man ls ,man输出的内容是为系统管理员和开发者编写的,如果你想了解更多命令的用法,你可以去找网络上
    的Linux命令文档,有一个非常方便的就是丹尼尔·巴雷特的Linux的袖珍指南。
        
    
  1. su和sudo

     su命令的作用是切换用户,这也被称为超级用户,因为在有些系统中su命令可以使你以系统的所有权限用户
     root登录。除非你是系统管理员,否则我绝不推荐你使用su切换到root,因为这可能给你带来很多麻烦。
     一个相对安全的多的办法是使用sudo命令,这个命令可以上你以root权限运行一个命令。这两个命令都需要
     系统密码。在大多数Linux的桌面发行版中这两个是相同的,就是你系统的第一个用户设置的密码。
    
  2. grep:grep是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。

     例如:
     grep foo /etc/passwd
     返回在password文件中所有的含有foo的行
     grep -i “foo” /etc/passwd
     -i选项是忽略大小写,这就意味着若某一行含有FOO或FOo也会被搜索到。
     grep还支持递归搜索:
     grep -r “foo” /home/sjvn
     这条命令将会搜索/home/sjvn目录及其子目录下所有的包含“foo”的行
     grep也通常与其他命令串连起来使用,例如:
     ls -la | grep foo*
     列出当前目录下任何以foo开头的文件或目录。例如如下文件将被匹配:foo,foobar,foolish.txt等等。
    
  3. history : 显示出最近使用的全部命令

  4. ! : 返回上一次使用的命令

     如: ! ls 显示出上一次ls 命令的具体内容.选取哪一个命令后默认已经将该命令复制到剪切板,
     直接command+v就可以粘贴该命令了.
    
  5. cat + 文件名 : 列出该文件的内容

  6. mv +旧文件名 + 新文件名 : 更改文件名

  7. 切换文件目录

    cd : 根目录,即当前用户的目录
    cd . : 当前目录
    cd .. : 进入当前目录的上级目录
    
  8. ./可执行文件 : 执行当前文件

  9. ls : 列出当前用户的所有文件夹

  10. ls -F : 列出当前用户的文件夹,如是文件夹,文件名后面有/

  11. ls -lrt : 以文件修改的时间列出当前用户的文件夹

  12. tab : 补齐正在输入的文件名

  13. clear:如果你觉得你的屏幕上有太多的东西,看起来很讨厌,可以使用clear命令清空文件/目录命令

  14. cp:cp代表copy,就是复制,他可以复制一个或多个文件到指定的一个或多个目录下。

    一个通常的用法是:
    cp fred.txt ethel.txt
    把fred.txt中的内容复制到当前文件夹中名为ethel.txt中
    cp fred.txt /home/sjvn/docs/fred.txt
    把fred.txt复制到指定文件中。
    cp *.txt  /home/sjvn/docs/
    复制当前目录下所有以.txt结尾的文件到指定的目录下。
    cp -r /home/sjvn/docs/* /home/sjvn/backup
    递归的复制在/home/sjvn/docs/目录下的所有文件到指定的文件夹。
    
  15. hostname:显示你当前登录进去的计算机的名称。

  16. mv:mv(意义为move)顾名思义就是移动,可以移动指定文件到指定位置。当然这个命令有的时候还可以用来实现重命名。

    例如:
    mv fred.txt ethel.txt
    这条命令的作用你可以简单的认为是重命名fred.txt为ethel.txt。
    当然此命令还有其他用法,此处不再一一罗列,用法与cp类似,只是这条命令不再保留原文件。
    
  17. rm:rm代表remove,是删除的意思,所以我运行:

    rm fred.txt
    我将删除fred.txt。
    我强烈推荐你在执行rm命令的时候使用-i选项。这儿选项将在你执行命令的时候询问你是否要真的删除文件。就像这样:
    rm -i fred.txt
    

编写shell脚本

  1. 例如:find + <条件> 是执行命令,意思为查找文件

     $ find ./ -size +200M -exec du -h {} \;  
     //表示在当前目录下查找大于200M的文件
    
  2. 但是每一次输入这些命令,比较麻烦,如果有更多的命令需要一起执行,那将会更加麻烦,我们可以事先将我们需要执行的一系列命令放在一个文件中,这个文件就是一个脚本文件,以.sh结尾,然后编译脚本,最后执行脚本就可以得到我们想要执行一系列命令的结果,这对于我们经常用的一系列命令非常方便。

     vim findLarger200M.sh
     //创建一个脚本并打开
     find ./ -size +200M -exec du -h {} \;
     //在里面利用find写一个查找文件脚本
     chmod u+x findLarger200M.sh
     //编译脚本,生成可执行脚本文件
     ./findLarger200M.sh
     //执行,注意是 ./ + 脚本文件名
    

相关文章

  • shell常用命令&脚本编写

    常用命令 想看看你的Shell是哪一种,执行命令: echo $SHELL在Linux中,$符号代表一个shell...

  • Shell script + crontab实现Mysql定时备

    一、Shell 脚本 Shell 脚本(shell script),是一种为 shell 编写的脚本程序。 业界所...

  • 多命令处理

    编写shell脚本 执行脚本

  • shell脚本

    什么是shell脚本 Shell 脚本(shell script),是一种为 shell 编写的脚本程序。业界所说...

  • Shell脚本语法

    1. Shell脚本简介Shell 脚本(shell script),是一种为 shell 编写的脚本程序。业界所...

  • Shell脚本

    shell脚本学习笔记 shell命令的组合运用 常用命令组合

  • shell脚本基础

    编写脚本 编程基础 shell脚本 创建shell脚本 变量 运算 测试 配置用户的环境

  • 78.shell编程

    shell编程 Shell脚本,是一种为shell编写的脚本程序。 Shell编程跟JavaScript、Pyth...

  • Linux操作系统命令汇总

    SHELL脚本学习笔记 标签(空格分隔): linux shell脚本 1. 常用命令汇总 alias 设置别名u...

  • shell快速学习指南(二)

    Shell 脚本的编写 我们可以直接在shell提示符下编写shell脚本,比如函数、控制语句等都可以直接在she...

网友评论

本文标题:shell常用命令&脚本编写

本文链接:https://www.haomeiwen.com/subject/okkckttx.html