码迷,mamicode.com
首页 > 系统相关 > 详细

Shell基础

时间:2018-11-15 20:15:41      阅读:181      评论:0      收藏:0      [点我收藏+]

标签:alias   包含   箭头   std   用户登录   shell基础   echo   amp   ali   

一、历史命令history
  • history命令
history -c 清空历史命令

history -w 把缓存(当前会话)中的历史命令写入到历史命令保存文件中
~/.bash_history

常见的用于保存用的环境信息文件:

~/.bashrc
该文件包含专用于某个用户的bash shell的bash信息,当该用户登录时以及每次打开新的shell时,该文件被读取.

/etc/profile
设定的变量(全局)的可以作用于任何用户

二、命令别名

  • 1.命令别名与快捷键
 * 查看别名 alias

* 设定别名
  alias 别名=‘原命令’
  alias ls=‘ls --color=auto‘;

* 设置永久生效的别名
    vim ~/.bashrc #用于保存当前用户的环境信息
    alias vi=‘vim‘
    source  ~/.bashrc #保存的环境信息立即生效

    *删除别名
    unalias 别名
查看环境变量位置
echo $PATH

三、输入输出重定向

键盘 设备文件名 /dev/stdin 文件描述符0 标准输入
显示器 设备文件名 /dev/stdout 文件描述符1 标准输出
显示器 设备文件名 /dev/stdeoor 文件描述符2 标准错误输出

  • 输出重定向

输出到屏幕改为输出到文件中,称之为输出重定向。

类型

标准输出重定向 命令>文件(覆盖)
命令>>文件(追加)

标准错误输出重定向 错误命令 2>文件(覆盖)
错误命令 2>>文件(追加)

#注意,2为标准错误输出,错误输出方向箭头后面没有空格

  • 1.正确和错误同时输出保存到同一个文件
ifconfig >> test 2.log   2>&1
注释:正确写到test2.log,错误写到正确里面,故正确错误同时写到test2.log

另外一种写法
ifconfig &>test2.log
  • 2.正确和错误分开保存
命令>>正确文件  2>>错误文件
  • 3.不想输出到设备,也不想写入到文件
ls  &>/dev/null
注意:特殊设备 /dev/null  系统黑洞
  • 输入重定向
    wc [选项][文件名]
    option:
    -c 统计字节数
    -w 统计单词数
    -l 统计字节数
wc 
asd
asd
asd
ctrl+d

wc < ./error.log
wc ./error.log

wc <<EOF
asd
asd
dfg
EOF

四、多命令顺序执行

  • ; 顺序执行(无论中间有没有出错,不影响后续命令执行)
ls;date;pwd
  • && 逻辑与
命令1&&命令2
命令1正确执行,命令2才会执行
命令1执行出错,命令2不会执行
  • || 逻辑或
命令1 || 命令2
命令1正确执行,命令2不会执行
命令1执行出错,命令2才会执行

检查命令是否会正确执行
ls && echo yes || echo no

六、管道符

命令1 | 命令2
命令1的结果作为命令2的操作对象

ls /etc | more
cat ./error.log | wc

netstat -tlun | grep ESTABLISHED | wc -l
查看链接到本机人数

Shell基础

标签:alias   包含   箭头   std   用户登录   shell基础   echo   amp   ali   

原文地址:http://blog.51cto.com/phpme/2317576

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!