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

Linux shell基础知识

时间:2017-12-29 18:59:43      阅读:180      评论:0      收藏:0      [点我收藏+]

标签:show   立即生效   bashrc   gre   必须   body   内存   rest   就是   

技术分享图片

 

1.shell(Bourne Agin shell)是一个命令解析器,提供用户和机器之间的交互,还有zsh、ksh

2.我们敲过的命令在什么地方存的呢?在家目录下的.bash_history文件中,最多可以保存1000条命令,可以用户history命令查看。

[root@bogon ~]# ls /root/.bash_history 
/root/.bash_history
[root@bogon ~]# 

3.1000条的个数是有环境变量$HISTSIZE 控制的

[root@bogon ~]# echo $HISTSIZE 
1000
[root@bogon ~]# 

4.清空当前的命令历史记录,不能清空配置文件中的命令

[root@bogon ~]# history -c
[root@bogon ~]# 

 

[root@bogon ~]# history
    1  history
[root@bogon ~]#

5.刚敲得命令不是直接保存到文件中,先保存到内存中,当我们退出终端才保存到文件中。

6.HISTSIZE环境变量控制命令保存条数配置文件在etc/profile中

技术分享图片

7.我们将这个值改成5000变量值并不会立即生效,必须source下才生效

[root@bogon ~]# echo $HISTSIZE 
1000
[root@bogon ~]# source /etc/profile
[root@bogon ~]# echo $HISTSIZE 
5000
[root@bogon ~]# 

8.想要查看命令是什么时间执行的可以在当前终端定义环境变量

[root@bogon ~]# HISTTIMEFORMAT="%Y%m/%d %H:%M:%S "
[root@bogon ~]# 

9.再执行history发现可以看到时间了

[root@bogon ~]# history 
    1  201712/29 16:15:32 history
    2  201712/29 16:19:51 vim /etc/profile
    3  201712/29 16:22:32 echo $HISTSIZE 
    4  201712/29 16:23:10 source /etc/profile
    5  201712/29 16:23:20 echo $HISTSIZE 
    6  201712/29 16:24:49 history 
    7  201712/29 16:28:56 HISTTIMEFORMAT="%Y%m/%d %H:%M:%S "
    8  201712/29 16:29:19 history 
[root@bogon ~]# 

10.如果想永久生效需要将环境变量添加到/etc/profile文件中,然后保存推出source一下/etc/profile文件

技术分享图片

11.永久生效了

[root@bogon ~]# echo $HISTTIMEFORMAT 
%Y%m/%d %H:%M:%S
[root@bogon ~]# 

 

12.永久保存命令文件,执行了命令以后用户运行的所有命令都会已追加的形式被保存下来(直接关闭终端不会记录刚敲的命令)

[root@bogon ~]# chattr +a ~/.bash_history 
[root@bogon ~]# 

13.!!就是上一条命令

14.!n 就是运行多少条命令,n指的是多少条

15.!word 是从下往上找以单词word开头的执行过的命令执行

 命令补全和别名

技术分享图片

1.默认不支持命令产生补全,需要安装bash-completion包,按完之后重启系统

[root@bogon ~]# yum install -y bash-completion

2.如果命令太长可以给命令起别名,然后直接执行restartnet就行了

[root@bogon ~]# alias restartnet=‘systemctl restart network.service‘
[root@bogon ~]# 

3.查看所有的alias别名命令

[root@bogon ~]# 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-tilde‘
[root@bogon ~]# 

4.用户家目录下的.bashrc文件中有系统配置的alias

[root@bogon ~]# vim .bashrc

技术分享图片

5.其他的alias配置在/etc/profile.d/下

[root@bogon profile.d]# cd /etc/profile.d/
[root@bogon profile.d]# ls
256term.csh                   colorls.csh  PackageKit.sh          vim.sh
256term.sh                    colorls.sh   qt.csh                 vte.sh
abrt-console-notification.sh  lang.csh     qt-graphicssystem.csh  which2.csh
bash_completion.sh            lang.sh      qt-graphicssystem.sh   which2.sh
colorgrep.csh                 less.csh     qt.sh
colorgrep.sh                  less.sh      vim.csh
[root@bogon profile.d]# 

6.取消自定义的别名

[root@bogon profile.d]# unalias restartnet
[root@bogon profile.d]# 

  

 

 

 

 

Linux shell基础知识

标签:show   立即生效   bashrc   gre   必须   body   内存   rest   就是   

原文地址:https://www.cnblogs.com/sunyujun/p/8145775.html

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