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

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

命令历史

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

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

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

修改历史记录保存最大值

/etc/profile中修改

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

修改历史命令显示时间

[[email protected] ~]# HISTTIMEFORMAT="%Y/%m/%d %H:%M:%S"
[[email protected] ~]# echo $HISTTIMEFORMAT
%Y/%m/%d %H:%M:%S
临时生效
[[email protected] ~]# 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别名

定义别名
[[email protected] ~]# alias restartnet=‘systemctl restart network.service‘
[[email protected] ~]# restartnet
Job for network.service failed. See ‘systemctl status network.service‘ and ‘journalctl -xn‘ for details.
[[email protected] ~]# 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/

[[email protected] ~]# cd /etc/profile.d/
[[email protected] 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
[[email protected] 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> 错误重定向输出
输出重定向,错误输出重定向分开
[[email protected] ~]# ls [12].txt aaa.txt > 1.txt 2>a.txt
[[email protected] ~]# cat 1.txt
1.txt
2.txt
[[email protected] ~]# cat a.txt
ls: 无法访问aaa.txt: 没有那个文件或目录

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

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

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

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

时间: 2024-11-07 21:30:02

shell 命令,别名,通配符,重定向的相关文章

26期20180628 shell 命令操作 通配符 输出输入重定向

6月28日任务 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_histro

linux学习记录-命令替换-通配符-重定向-管道

命令替换:$(command),`command` touch ./file-$(date +%F-%H-%M_%S).txt bash支持的引号有三种: ``:命令替换 "":弱引用,可以实现变量替换 '':强引用,不完成变量替换 文件名通配 globbing * 任意长度的任意字符 ? 任意长度单个 [] 匹配指定范围内的任意单个字符 [^] 匹配范围外的 > 覆盖 >> 追加输出 -C 禁止对已经存在文件使用覆盖重定向 强制覆盖输出,则使用>| +C 关闭

shell介绍 命令历史 命令补全和别名 输入输出重定向

shell介绍 shell是一个命令解释器,提供用户与机器之间的交互例如我们远程登录的工具,它其实就是一个shell centos默认的shell是bash(Bourne Agin Shell)· 命令历史 history命令命令历史存在用户家目录下的.bash_history,如root用户就是/root/.bash_history·history可以查看命令历史,.bash_history文件了里最多可以存1000条,它是由环境变量HISTSIZE决定的,不过history有时候也会查看到超

linux文件管理类命令,类型,用户的权限管理及bash shell的特性:命令别名,文件名通配

文件管理类命令 ls 查看 :cat tac more less head tail 复制:cp -r:递归 -i:提示,交互 -f:强制覆盖 -a :保留所有文件信息 -d:当源为链接文件时,复制链接本身,而非源文件 -p:保持原有属性 删除 : rm 删除非空目录 rm -rf 移动 : mv 创建 : touch 用来修改时间戳,创建空文件 -c:不创建新文件,只修改时间戳 -a:仅修改访问时间 -m:修改修改时间 -t:指定时间戳 先加-m再加-t后跟时间 元数据属性:stat 显示文件

[Shell]Shell基本功能:历史命令 &amp; 别名

-------------------------------------------------------------------------------------------------------- 一. 历史命令 history    #查看历史命令 history -c #清空历史命令 history -w #不等退出,直接把缓存中的历史命令写入历史命令保存文件-/.bash_history vim /etc/profile  #默认历史命令保存1000条,可修改HISTSIZE保

shell基础之脚本执行,命令别名以及快捷键等

脚本执行方式 比如我们在/root/下编写了一个脚本,名字为hello.sh.那么怎么调用执行它呢?有两种办法: (1)直接通过bash,如下: bash  hello.sh 注:采用bash执行脚本,不需要赋予执行权限.但是这不符合习惯,一般不推荐使用. (2)先赋予权限,然后直接调用: chmod   755   hello.sh /root/hello.sh 注:上面的第一句就是为脚本赋予权限,第二句就是执行命令.一般推荐这种执行方式. ==========================

网络配置及一些shell命令概览

一.临时配置网络(ip,网关,dns)+永久配置 1.临时配置网络IP地址命令为"ifconfig 网卡名 ip地址/24",例如: ifconfig eth0 192.168.16.253/24 2.临时修改网关 route add default gw 192.168.16.254 netmask 255.255.255.0 3.临时修改DNS nameserver 192.168.16.254 4.永久配置IP和网关.子网掩码 用vim /etc/sysconfig/networ

Shell 命令--文件创建、搜索命令--总结自《Linux Shell 脚本攻略》

(一)文件创建命令 1.touch命令 例如:touch abc命令在本地目录中创建了一个名为abc的空文件 2.cp命令 cp命令允许我们把一个文件的内容复制到同名或不同名的文件中,复制得到的文件可以在任何目录.使用cp命令的一个风险是它会在不提示用户的情况下很容易覆盖掉不同目录中的文件 -r选项支持递归复制.例如:cp -ar /usr/share/doc/. /doc/ 将复制源目录中所有子目录以及相关文件 3.mv命令 mv命令实质上市给文件贴上不同的标签,例如:mv file1 fil

Linux主要shell命令详解(下)

命令行编辑操作 功能 Ctrl+b或左箭头键 左移一个字符(移至前一个字符) Ctrl+f或右箭头键 右移一个字符(移至后一个字符) Ctrl+a 移至行首 Ctrl+e 移至行尾 Esc b 左移一个单词 Esc f 右移一个单词 Del 删除光标所在处的字符 Ctrl+d 删除光标所在处的字符 BACKSPACE或Ctrl+h 删除光标左边的字符 Ctrl+k 删除至行尾 命令历史 在Bash中,history命令能够保存最近所执行的命令.这些命令的历史记录号从1开始,只有有限个命令可以被保