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

shell 命令,别名,通配符,重定向

时间:2018-01-10 23:54:37      阅读:398      评论:0      收藏:0      [点我收藏+]

标签:历史记录   unalias   nali   默认   机器   linu   验证   图片   解释器   

shell 是一个命令解释器,提供用户和机器之间交互
支持特定语法,逻辑判断、循环
每个用户都可以有自己特定的shell
centos7 默认shell为bash
还有zsh、ksh
yum list|grep zsh
yum list|grep ksh

命令历史

history命令
.bash_history
ls /用户家目录/.bash_history 查看历史记录,即历史记录存放位置

[root@aminglinux01 yum.repos.d]# echo $HISTSIZE #查看最大保存历史记录数
1000

[root@aminglinux01 yum.repos.d]# history -c #清楚历史记录
[root@aminglinux01 yum.repos.d]# history #再次验证,只有刚刚使用的一条
1 history

修改历史记录保存最大值

/etc/profile中修改

soure /etc/profile 使修改的数字生效

修改历史命令显示时间

[root@aminglinux01 ~]# HISTTIMEFORMAT="%Y/%m/%d %H:%M:%S"
[root@aminglinux01 ~]# echo $HISTTIMEFORMAT
%Y/%m/%d %H:%M:%S
临时生效
[root@aminglinux01 ~]# history
1 2018/01/11 05:47:08history
2 2018/01/11 05:47:58ls -l .bash_history
3 2018/01/11 05:48:01cd ..
4 2018/01/11 05:48:07cd .
5 2018/01/11 05:48:08pwd
6 2018/01/11 05:48:11cd /root/
7 2018/01/11 05:49:29cat /etc/profile
8 2018/01/11 05:49:44vim /etc/profile
9 2018/01/11 05:49:48vi /etc/profile
10 2018/01/11 05:54:50echo $HISTTIMEFORMAT="%y/%m/d% %H:%YM:%S "
11 2018/01/11 05:55:18HISTTIMEFORMAT="%Y/%m%d %H:%M:%S"
12 2018/01/11 05:55:29echo $HISTTIMEFORMAT
13 2018/01/11 05:55:44HISTTIMEFORMAT="%Y/%m/%d %H:%M:%S"
14 2018/01/11 05:55:45echo $HISTTIMEFORMAT
15 2018/01/11 05:56:25history

永久生效
vim /etc/profile
HISTSIZE=1000
添加:HISTTIMEFORMAT="%Y/%m/%d %H:%M:%S"

重新登录 history验证
330 2018/01/11 05:48:11cd /root/
331 2018/01/11 05:49:29cat /etc/profile
332 2018/01/11 05:49:44vim /etc/profile
333 2018/01/11 05:49:48vi /etc/profile
334 2018/01/11 05:54:50echo $HISTTIMEFORMAT="%y/%m/d% %H:%YM:%S "
335 2018/01/11 05:55:18HISTTIMEFORMAT="%Y/%m%d %H:%M:%S"
336 2018/01/11 05:55:29echo $HISTTIMEFORMAT
337 2018/01/11 05:55:44HISTTIMEFORMAT="%Y/%m/%d %H:%M:%S"
338 2018/01/11 05:55:45echo $HISTTIMEFORMAT
339 2018/01/11 05:56:25history
340 2018/01/11 05:56:56yum install vim
341 2018/01/11 06:00:06vim /etc/profile
342 2018/01/11 06:01:57source $HISTTIMEFORMAT
343 2018/01/11 06:02:56source $!
344 2018/01/11 06:03:51source /etc/profile
345 2018/01/11 06:04:12echo $HISTTIMEFORMAT
346 2018/01/11 06:04:17exit
347 2018/01/11 06:04:25history
348 2018/01/11 06:04:49vim /etc/profile
349 2018/01/11 06:05:31history

正常退出后都可永久保存
chattr +a ~/.bash_history

!! 上一条命令
!n 第n条命令
!echo 从下往上找最近一次 以echo开头的命令

命令补全及别名

tab键 一下补全命令 两下补全所有内容
centos7下参数补全 安装bash-comletion,按2下除了可以补充命令本身,还能补全参数

alias别名

定义别名
[root@aminglinux01 ~]# alias restartnet=‘systemctl restart network.service‘
[root@aminglinux01 ~]# restartnet
Job for network.service failed. See ‘systemctl status network.service‘ and ‘journalctl -xn‘ for details.
[root@aminglinux01 ~]# alias
alias cp=‘cp -i‘
alias egrep=‘egrep --color=auto‘
alias fgrep=‘fgrep --color=auto‘
alias grep=‘grep --color=auto‘
alias l.=‘ls -d .* --color=auto‘
alias ll=‘ls -l --color=auto‘
alias ls=‘ls --color=auto‘
alias mv=‘mv -i‘
alias restartnet=‘systemctl restart network.service‘
alias rm=‘rm -i‘
alias which=‘alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tild

alias 位置
1、用户家目录/.bashrc
2、/etc/profile.d/

[root@aminglinux01 ~]# cd /etc/profile.d/
[root@aminglinux01 profile.d]# ls
256term.csh colorgrep.csh colorls.sh less.csh vim.sh
256term.sh colorgrep.sh lang.csh less.sh which2.csh
bash_completion.sh colorls.csh lang.sh vim.csh which2.sh
[root@aminglinux01 profile.d]#

取消自定义的别名
unalias 别名

通配符

  • 满足条件的任一个

? 满足条件的某一个

【】范围 范围内满足条件的范围 [0-9a-zA-Z]

{,,,} 范围内满足条件的某一个

技术分享图片

重定向

输出重定向

正确输出到目标文件
cat 1.txt > 2.txt 把1.txt的内容输出到2.txt去,同时把2.txt原内容抹去

> 追加重定向
cat 2.txt >>2.txt 把1.txt的内容输出到2.txt去,同时把2.txt原内容保留

2> 错误重定向输出
输出重定向,错误输出重定向分开
[root@aminglinux01 ~]# ls [12].txt aaa.txt > 1.txt 2>a.txt
[root@aminglinux01 ~]# cat 1.txt
1.txt
2.txt
[root@aminglinux01 ~]# cat a.txt
ls: 无法访问aaa.txt: 没有那个文件或目录

&>错误重定向
[root@aminglinux01 ~]# ls [12].txt aaa.txt &> a.txt
[root@aminglinux01 ~]# cat a.txt
ls: 无法访问aaa.txt: 没有那个文件或目录
1.txt
2.txt

2>> 错误追加重定向
[root@aminglinux01 ~]# ls aaa.txt 2>>a.txt
[root@aminglinux01 ~]# cat a.txt
ls: 无法访问aaa.txt: 没有那个文件或目录
1.txt
2.txt
ls: 无法访问aaa.txt: 没有那个文件或目录

< 输入重定向
[root@aminglinux01 ~]# wc -l 1.txt
2 1.txt
[root@aminglinux01 ~]# wc -l < 1.txt
2
只能文件到命令,不能文件到文件

shell 命令,别名,通配符,重定向

标签:历史记录   unalias   nali   默认   机器   linu   验证   图片   解释器   

原文地址:http://blog.51cto.com/13528516/2059633

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