Linux笔记(shell基础,历史命令,命令补全/别名,通配符,输出重定向)
一、shell 基础
shell是个命令解释器,提供用户和机器之间的交互
每个用户都可以拥有自己特定的shell
centos7默认Shell为bash(Bourne Agin shell)
除了bash,还有zsh.ksh等
二、命令历史
敲过的命令在/root/.bash_history里储存着,最多可以储存1000条。
可以用history命令查看
history -c 可以清除内存里,history里的命令历史,但是不能清除配置文件/root/.bash_history里的命令
echo $HISTSIZE 查看环境变量,查看最多可以储存多少命令。
/etc/profile 里面可以改变环境变量
source /etc/profile 刷新profile文件,使环境变量立即生效
HISTTIMEFORMAT="%Y%m%d %H:%M:%S" 使history临时显示历史命令的输入时间
若想一直生效,在/etc/profile中加入 HISTTIMEFORMAT="%Y%m%d %H:%M:%S"一行
source /etc/profile 刷新一个profile文件即可
永久保存/root/.bash_history 不想被别人破坏或删除
chattr + a /root/.bash_history 给这个用户加入a权限
如果不正常退出,用exit或者logout。则历史命令保存的不全
!! 执行最后一条命令
!n n表示数字。执行哪一条历史命令
!命令 执行最后一次输入的指定命令
三、命令补全即别名
tab键,如果只有一个开头,按一下自动补全。如果是两个以上,按两下则自动补全
yum install -y bash-completion 下载一个自动补齐参数的包(需要从新启动生效)
alisa别名
alisa 查看系统内所有的alisa命令
alisa+别名='命令' 创建alisa别名
unalisa+别名 取消自己创建的alisa别名
四、通配符
* 不分字符和个数
? 一个任意的字符
[] 里面可以写一个范围。例如0-3或者123,13只显示1和3.
{} 相当于方括号的13,但是中间要加 ,
五、输入输出重定向
> 把前面命令的输出直接出入到后面的文件中,覆盖后面文件原有的内容
cat 1.txt > 2.txt
>> 把前面命令的输出追加到后面的文件中
cat 1.txt >> 2.txt
2> 错误重定向
2>> 错误追加重定向
&> = > 和 2>
&>> = >> 和 2>>
写shell脚本时,可以把错误和正确的分开,以检查脚本
Linux笔记(shell基础,历史命令,命令补全/别名,通配符,输出重定向)的更多相关文章
- Linux之shell基础
Shell基础 一.shell概述 1) shell是一个命令行解释器,它为用户提供了一个向Linux内核发送请求以便运行程序的界面系统级程序,用户可以用shell来启动.挂起.停止甚至是编写一些程序 ...
- Linux 中 10 个有用的命令行补全例子
在 Linux 系统中,当你输入一个命令,再按两次 TAB 键,就会列出所有以你输入字符开头的可用命令.这并不新鲜,可能你已经知道了.这个功能被称作命令行补全bash completion.默认情况下 ...
- centos命令自动补全增强
CentOS默认没有像Ubuntu系统一样命令参数补全功能,例如yum install无法补全.通过安装bash-completion安装命令参数补全增强. CentOS6 默认情况下,CentOS6 ...
- kubectl命令自动补全
kubectl这个命令行工具非常重要,与之相关的命令也很多,我们也记不住那么多的命令,而且也会经常写错,所以命令自动补全是非常有必要的,kubectl命令行工具本身就支持complication,只需 ...
- kubernetes系列(小知识):kubectl命令自动补全
kubectl命令自动补全 linux系统 yum install -y bash-completion source /usr/share/bash-completion/completions/d ...
- kubectl 命令自动补全
kubectl 命令自动补全 在linux上 # yum install -y bash-completion # source /usr/share/bash-completion/bash_com ...
- 解决centos7命令无法补全
背景 偶然发现本地虚拟机centos 7.7配置firewalld-cmd命令行无法补全,手敲命令太多,着实麻烦 解决方案 安装linux命令行补全工具,还能够补全命令参数 yum install b ...
- Docker 命令自动补全?要的
前言 不知道这个小伙伴有多久没用过 Docker 了, 突然对我说 Docker 命令怎么发生变化了 docker run ... #变成了 docker container run ... 他说,本 ...
- 命令自动补全模块rlcomplete
rlcomplete定义了针对readline模块的命令自动补全函数. 当在unix平台下导入这个模块之后(前提是readline模块可用),一个Complete的实例会自动生成,并且 ...
- CentOS 6.5上安装python2.7、pip以及Python命令行补全和yum冲突解决
目前CentOS6.5上自带的python版本为2.6,升级到python2.7会碰到很多问题.本文将介绍如何安装python2.7.pip以及python命令行补全. 一.如何安装python2.7 ...
随机推荐
- ASP.NET Core中的Controller
ASP.NET CORE出现之前我们实现的Controller,MVC都继承自Controller基类,WebApi的话继承自ApiController.现在ASP.NET CORE把MVC跟WebA ...
- python调用js
安装 pip install PyExecJS 方法 eval() 输入参数:source(JS语句).cwd(路径) 返回值:result(语句执行结果) compile() 输入参数:source ...
- scala_spark实践1
/** * scala模型的main(args:Array[String])是业务执行入口 * org.apache.spark.{SparkConf, SparkContext} * val spa ...
- C与C++的函数声明中省略参数的不同意义
一直都以为C/C++中形如 int func(); 这样的函数声明其意义就是一个参数 void(没有参数)的函数.然而今天在看C++的时候突然看到这么一句: 对于带空参数表的函数,C和C++有很大的不 ...
- 多级菜单初写(dict使用)
#!/usr/bin/env python3# -*- coding:utf-8 -*-# name:zzyumap = { "中国":{ "北京":{ &qu ...
- 发布公开的pod
发布公开的pod 方便项目 通过cocoapods 使用,便于版本版本管理,下面是简单步奏: 0.首次操作先要注册Trunk: pod trunk register zhujin001xb@163.c ...
- 【Java】 语言基础习题汇总 [1] 基础概念到数组
1 JDK JRE JVM 三种之间的关系,以及JDK JRE 包含的主要结构有哪些? JDK = JRE + 开发工具 javac.exe java.exe javadoc.exe等等 JRE = ...
- for循环,for…in循环,forEach循环的区别
for循环,for…in循环,forEach循环的区别for循环通关for循环,生成所有的索引下标for(var i = 0 ; i <= arr.length-1 ; i++){ 程序内容 } ...
- 今天我们来谈谈绝对定位和相对定位的区别,和需要注意的问题;position:absolute|relative;
首先position:absolute|relative; 前者是绝对定位,后者是相对定位: position属性的四个值: static,relative,fixed,absolute; 重点重点重 ...
- secureCRT常用操作
直接在网上搜索下载 连接 选择协议 Telnet Telnet连接时,进入输入密码 串口 连接串口后,查看本机连接的串口号 新建的时候,选择相同的串口号 RTS需要勾选掉 外观字体 选项 => ...