Linux20180422五周第三次课(4月20日

8.1 shell介绍
8.2 命令历史
8.3 命令补全和别名
8.4 通配符
8.5 输入输出重定向

shell介绍

Shell脚本只是一个表现,所谓的shell是一个命令解释器,用户和机器的一个交互

Shell我们主要使用的是bash shell 另外还有zsh ksh等

yum list |grep zsh

yum list |grep ksh

history查看历史命令

-c 是清空内存的命令历史

其实所有的历史命令都存在一个文件里

/root/.bash_histroy这个文件里

默认的存放条数是1000,可以修改,如果只是修改环境变量的话 $HISTSIZE =10000,但是最终还是要到环境变量的文件中去进行修改

这个文件是 /etc/profile

这里面可以修改存储的个数,比如$HISTSIZE=10000改成10000条

也可以增加记录中使用命令的时间 比如$HISTTIMEFORMAT

$HISTTIMEFORMAT="%Y/%m/%d %H:%M:$s |"

这样就定义了显示的时间格式

但是修改完之后要么是退出当前用户,要么是需要source 这个文件才可以生效

可以使用echo $HISTSIZE $HISTTIMEFORMAT显示定义的值

如果不想丢失历史记录怎么办呢?

有办法。

现在已经定义了可以存放的历史命令的个数,如果超了就会覆盖,那我们直接可以追加模式 echo$?可以看到上一步运行的是否有错误

history显示历史命令之后

有一些命令可以快速使用之前的命令

!! 上一条命令

!数字 运行第X条命令

!word 倒着往上找第一个以word开头的命令

命令补全和别名

tab键 一个的话敲一下补全 两个以及以上就会显示出来

centos 支持命令参数补全 默认还是不支持的 需要安装一个包 bash-completion 后重启系统

alias别名 给命令重新起名字

如果有的命令比较长 可以把命令做别名

alias 别名=‘原来的命令’

直接alias可以看到系统里所有的别名,也包括自己的定义的

这些别名的定义在什么地方呢?

用户家目录下的.bashrc中

目录 etc/profile.d下的几个文件中

如何取消自定义的别名?

unalias 别名

通配符

*

[0-2] =[012] [0-3a-zA-Z] 中间不用加任何的标点符号

{1,2,3,} =[1-3]区别是有逗号

输入输出重定向

> 前面的输出作为后面的输入 覆盖 前面文件内容不会受影响

>> 前面的输出作为后面的输入 追加 前面的文件内容不会受到影响

2>是将前面命令的错误信息保存到后面的文件中 当然了2>>是追加

如果前面的是正确的会把后面的文件内容覆盖

>+2 == &> 覆盖  >>追加

还可以分开把正确的和错误的写入文件 >  2>

<叫做输入重定向 很少用到

是把右边内容重定向到左边命令

比如 wc word count -l line 查看行数

把1.txt的内容重定向查看行数

但是不能把右边文本内容输出到左边文件中,左边必须是命令

原文地址:http://blog.51cto.com/13691454/2106610

时间: 2024-11-02 15:27:01

Linux20180422五周第三次课(4月20日的相关文章

三周第三次课(12月27日) 3.7 su命令 3.8 sudo命令 3.9 限制root远程登录

三周第三次课(12月27日)3.7 su命令3.8 sudo命令3.9 限制root远程登录 su命令: 用户和工作组管理: su命令用于切换当前用户身份到其他用户身份, 变更时须输入所要变更的用户帐号与密码. 语法: su(选项)(参数) 选项: -c<指令>或--command=<指令>:执行完指定的指令后,即恢复原来的身份: -f或--fast:适用于csh与tsch,使shell不用去读取启动文件: -l或--login:改变身份时,也同时变更工作目录,以及HOME,SHE

Linu20180415三周第三次课(4月4日)

3.7 su命令3.8 sudo命令3.9 限制root远程登录 su就是切换用户的命令 su - username 切记要使用 - . 我经常使用的时候是不加上-的,这样的话切换的不彻底,尚在之前用户的家目录下 可以采用 whoami来查看当前用户 -c 选项可以用来不登入用户,但是使用该用户来执行命令 su - -c "touch /tmp/3.33333" hello如下图所示 是否还记得 useradd -M user 是建立用户但是不生成家目录? 这样虽然可以切换到这个用户但

Linux学习笔记第三周第三次课(2月7日)

3.7 su命令 root用户切换到普通用户命令,su: 完全彻底切换 - ,连环境变量,家目录也切换,命令为#su - aming: 查看当前登陆用户,命令为#whoami: 查看当前目录,命令为#pwd: 查看用户UID,GID,组,家目录,用户shell目录,命令为#id: 切换用户,环境变量和家目录没切换,命令为#su aming: 退出切换的用户,命令为#exit: 当前用户下,不切换到aming用户,使用aming账号,执行touch命令,#su - -c "touch /tmp/a

五周第三次课(1月10日) 8.1 shell介绍 8.2 命令历史 8.3 命令补全和别名 8.4 通配符 8.5 输入输出重定向

五周第三次课(1月10日)8.1 shell介绍8.2 命令历史8.3 命令补全和别名8.4 通配符8.5 输入输出重定向 history命令: 用于显示指定数目的指令命令,读取历史命令文件中的目录到历史命令缓冲区和将历史命令缓冲区中的目录写入命令文件. 该命令单独使用时,仅显示历史命令,在命令行中,可以使用符号!执行指定序号的历史命令.例如,要执行第2个历史命令,则输入!2. 历史命令是被保存在内存中的,当退出或者登录shell时,会自动保存或读取.在内存中,历史命令仅能够存储1000条历史命

linux五周第三次课(3月7日)笔记

五周第三次课(3月7日)8.1 shell介绍8.2 命令历史8.3 命令补全和别名8.4 通配符8.5 输入输出重定向 搜索看一下有没有这两个shell,不安装. 8.2 命令历史 用过的命令,在/root/.bash_history存着 用cat命令查看一下/root/.bash_history 可以用命令history查看一下之前使用过的命令 history -c 修改了/etc/profile 配置文件,运行source命令,使其生效. 指定什么时候运行. 变量变了. 历史命令. 想要生

五周第三次课(1月10日)

8.1 shell介绍 Shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口.它接收用户输入的命令并把它送入内核去执行.实际上Shell是一个命令解释器,它解释由用户输入的命令并且把它们送到内核. 8.2 命令历史 用户的命令历史配置文件 最大保存1000条,由系统内置环境变量配置,在/etc/profile中定义 修改之后要执行source /etc/profile history 查看命令历史 history -c 清空当前内存中保存的命令历史,并不清除配置文件 只有退出终端时

五周第三次课(3月7日)

8.1 shell介绍8.2 命令历史8.3 命令补全和别名8.4 通配符8.5 输入输出重定向 8.1 shell介绍 Linux Shell基础 介绍shell的特性,用法. shell是一个命令解释器,提供用户和机器之间的交互. 支持特定语法,比如逻辑判断.循环. 每个用户都可以有自己特定的shell CentOS7默认shell为bash(Bourne Agin Shell) Bourne是一个用户,他开发的shell是sh. 后来CentOS7默认使用的shell是bash,基于sh优

Linux学习笔记第五周第三次课(3月7日)

8.1 shell介绍 每个用户都有自己的shell: Bourne人名,为了纪念他: 搜索zsh命令,#yum list | grep zsh 搜索ksh命令,#yum list | grep ksh 逻辑判断if,for等等: 8.2 命令历史 输入过的命令,会记录下来,上下键进行查看: 历史命令存在.bash_history里面,最大1000条: 查看变量HISTSIZE条数,#echo $HISTSIZE 查看目前的历史命令内容,#history: 设置记录历史命令和所运行时间,#HIS

五周第三次课

命令历史 我们可以按向上的查看我们瞧过的历史命令 在 ls /root/.bash_hisrory里面存着 默认可以存1000条 如果觉得不够 可以 vi/etc/profile中修改(想要指令生效可以退出终端或者)rource /etc/profile(!!就是上一条命令!加数字可以指定号数的名字再执行一次 .!echo可以找离echo最近的echo命令)永久保存 chattr +a~/.bash_history命令补全和别名 tab 命令补全敲一下 他就显示这个命令几个有几个这个命令开头的