UNIX SHELL基础知识总结(二)

1. vim,vi及ex的关系vim

vim不须要安装,vi为ex的“Visual Mode”,Vim是vi的高级版本;bash

2. Unix Shell 快捷键spa

Ctrl+a/e将光标定位到 命令的头/尾操作系统

Ctrl+u/k剪切光标前/后的内容       Ctrl+y 粘贴Ctrl+u/k的内容命令行

3. Unix Shell中的时间提取调试

dt="`date +%F`"         //2017-09-27blog

yy="`date +%Y`"        //2017input

mm="`date +%m`"    //09it

dd="`date +%d`"       //27test

hh="`date +%H`"      //16

nn="`date +%M`"     //10

4. export设置或显示环境变量

A. 查看:export

B. 设置:export PATH="$PATH:xxx"

5. 关于命令行执行命令文件时必须加./或bash才能执行的缘由说明:

Unix按$PATH变量搜索用户的当前路径,而当前路径是不包括在此变量中的,因此要加"./"来代表。因此可使用命令export path=$PATH:./将当前路径加入$PATH 中,而在命令行直接输入文件名便可!

8. 定时执行Crontab

特殊符号说明:*:任什么时候刻;:分割; /n:每n个单位执行一次;

 例:0   2    *    *    * / test.sh   >    output.file   2  >& 1  &

 做用:将错误输出2重定向到标准输出1,而后将标准输出1存入文件output.file中;

 具体使用:打开以下文件并添加上述示例代码便可:

9. 输出重定向2>&1 &

bash中,0,1,2分别表明STDIN_FILENO,STDOUT_FILENO,STDERR_FILENO,也即标准输入,标准输出和标准错误;

对于 2>&1 &,指的是将标准错误2重定向到标准输出1。此时1前面的&就是为了让bash将1解释成标准输出而不是文件1。至于最后一个&,则是让bash在后台运行;

10. 查看磁盘使用状况的查看:

 du (Disk Usage) :逐个文件统计,能够跨区;

    df(Disk Free):直接读取分区的超级块信息;

11. 关于UNIX中的"~":

    对于root用户,"~"表明root用户;

    对于通常用户,"~"表明当前用户的目录,如/JoyeZhou

12. 问题:在Windows中建立的文件,为何在Unix下调用xc -l时,老是少算一行,why?

      Windows操做系统中,文件以'\n'做为结束符.因此最后一行若是没有\n就会统计丢失.而Unix会自动在文件的结尾加上\n,再加上文件结束符EOF,因此Windows文件在Unix下会存在兼容问题。

13. 关于ksh调用脚本文件执行命令

     在bash命令行中调用脚本文件时,须要使用ksh来进行调用,但调用脚本时当前脚本文件必须有可执行权限x;

14.  文件权限管理:

     chmod:改变文件或目录的访问权限(先设文件夹权限);

     用户组权限:r(read:4)   w(write:2)   x(execute:1)

     *此处共有10位,第一位表示文件类型,其他9位由三个三元组字符rwx组成。第一个三元组表示文件全部者的权限;第二组表示文件用户组的权限,第三组表示全部其余用户的权限;

     具体示例:chmod 777 FileName(777表示彻底开放权限);

     chown:改变文件或目录的全部者;

     chgrp:更改文件/目录的用户组;

15. 利用set -x 与 set +x 进行脚本调试:

      如:set -x

             echo "Hello World!"     => +echo 'Hello World!'

                                                      Hello World!

16. <<! 动态输入内容:

     如:Command Block  <<!

            inputA

            inputB

            !

    Ps:将参数依次传递给Command Block;

相关文章
相关标签/搜索