首页 > 代码库 > shell复习第一章节

shell复习第一章节

今天写blog才发现以前还有没写起的,我的天,我是睡着了么。。。  

1,什么是shell?

shell是unix/Linux系统的一个用充当内核与用户之间的接口的软件,它读取用户的输入命令,发送给内核让其运行,运行结束后吧结果返回给用户。

  2,shell的作用

分隔操作系统和用户,负责接口和通信。

  3,如何退出远端登录shell

logout

exit

Ctrl+L

  4,如何查看历史命令

history  #查看该用户使用过的命令

!399     #运行history第399命令

history -c   #清除历史命令的记录

  5,内建命令和外部命令的区别

内建命令指的就是包含在bash工具集中的命令。这主要是考虑到执行效率的问题----内建命令将比外部命令执行的更快。另外的一部分原因是因为特定的内建命令需要直接存取shell内核部分,而外部命令通常需要fork()系统创建的一个子进程,然后在子进程中调用execve()执行一个可执行的程序。

  6,如何自定义命令

alias cp=‘cp -i‘  #单引号防止解析

  7,如何自定义操作命令符

echo $PS1   或者  PS2  #哎呦就是这个修改项目,不过改了会成为装逼犯,前面的每次敲命令的显示东东咯,你要是有兴趣自己搜索改了哈,我是懒得记了。

  8,获取帮助信息

      -1,help help #一个月了还没用到,我的天啊,估计也就是个咸鱼命令吧。

    -2,man ls   #当初纠结了好久怎么打出忙帮助文档,嘿嘿,不过解决了。

    -3,info ls  #至今还不知道这个和help是外部命令还是内建命令,不过man是内建,看来看man还不够啊,还是得懂源码和系统啊。

  9,增加脚本执行权限

    chmod u+x  用户可执行

        g+x  用户组可执行

       o+x  其他用户可执行

       a+x  所有用户课执行 #后面那还用到来着,忘了-。-愿我不会忘掉我家还留着我自己偷偷藏起来的安全套,让妈妈找到可是又要雷罚了。

  10,添加环境变量

    -1,查看 #有什么变量啊?   echo $PATH

    -2,添加               export PATH=~/bin:${PATH}  #我依稀记得这个~代表你的用户家目录,比如我的~就是/home/3dt   ,还有:是分隔符,不写就会覆盖原来的,什么概念啊,哦gg,其他操作命令都没了,说不定export添加变量都没了,哈哈,要谨慎啊,毕竟改就是一种选择啊,要负责的哦。

    -3,查看         echo $PATH   #再看看是不是改对了呢?

  11,3种运行脚本文件的方式

    -1,source script  通过bash的内建命令source命令或点命令(一脸懵逼)来执行脚本文件

    -2,bin/bash script   通过执行shell程序 /bin/bash来解释脚本文件

    -3,./script    通过为脚本文件添加执行权限然后直接运行  #sh name.sh  这个很多吧,这是第一个方式还是第二个方式留着以后解决吧,我还是解决怎么学到服务器吧,我的二手笔记本已经饥渴难耐了。

  12,在脚本添加注释

    #略       :哈哈呵呵哈哈哈或呵呵哈哈哈或或或或或或或或或   如果这一行不要了前面加注释就行了

 

shell复习第一章节