Linux系统入门-2
上一篇是到了管道机制结束的,所以就直接往下写了
- 别名功能
命令: alias {别名 = ‘标准Shell命令行'}
以下为书本解释:
所谓别名就是按照Shell命令的标准格式所写的命令行的缩写,用来减少键盘的输入
换个说法就是,有的命令太长了你可以给他取个别的名字,比如 ls-l
这个命令输入多次的话太麻烦,你可以直接 ll
,Shell会知道别名,然后给你去执行 ls-l
在Linux命令行中,你可以通过输入 alias
来查看系统设置的别名命令
我们来看第三行
alias ll='ls -l --color=auto'
这里 ll就是别名,等号后面的 ls-l--color=auto
就是标准命令
ls是列出当前目录的文件的命令, -l
则是除文件名称外,亦将文件型态、权限、拥有者、文件大小等资讯详细列出
--color=auto
这条比较不常见
--color[=WHEN] colorize the output. WHEN defaults to
always' or can be
never' or `auto'. 在什么情况下(分为 总是,从不,自动三种情况)让ls的结果用彩色显示
所以就是,用ls 列出更加详细的信息,并且用彩色显示,但是这条命令太长,故而就可以使用别名 ll
来缩写
再换个说法就是 中国=中华人民共和国
一样
如果想要添加自己设置的别名,这样就好了
<命令> <别名>="<标准命令>"
alias e="ls -al --color=auto"
这样 ls-al--color=auto
这条命令就有了个新别名叫 e
- 特殊字符
命令:没有,一种写法
在Linux中,某些字符和字符串组合是具有特殊意义的,可以方便用户操作,可配合的符号有如下
- 通配符
* ?[] !
- 命令取代符
`(键盘左上角的按键)
- 命令分隔符
;
首先是通配符
Linux系统常用的通配符有 "*" "?" "[]"这三个,在进行字符串查找的时候,通配符可以代替任意一个字符
* 可以代表任意长度的任何字符(a-z A-Z等),但是不能作为文件名和扩展名间的"."
这里的r*就会匹配到rj45.txt这个文件
? 可以代表任何一个字符
和星号有区别的是,问号只能代表一个,但是能更准确的定位到某文件或文件夹(这种写法也可以过一些网站防火墙[WAF])
[] 表示指定得一个字符范围,[]中任意的一个字符都能用于匹配
写法:[起始字符-终止字符]
举个例子
他只会去匹配a到f的字符,a为起始字符,f为终止字符,当然不一定是a-f,这个视情况
下面是我对 Shell中的通配符 的一些见解
你在命令终端里面输入通配符的时候就交由shell来处理的蛾,当遇到了通配符的时候,他就会尽可能的搜索可能的匹配 如果符合匹配要求,那么就使用,如果存在多个,就把结果输出出来,在匹配到后,会将通配符处理,然后完成命令重组,这是直接通配使用的原理
命令取代符 `
由两个`所包围的命令是该命令行中首先被执行的命令,例如
echo `date`
首先是执行date,然后使用echo 来输出该date命令执行的结果
(PS: 这个在命令注入的使用或者绕过上也特别有用)
命令分隔符 ;
如果需要执行一连串的命令,而又不想一次一次的回车,那么可以一次性输入这些命令,然后在不同的命令中间使用";"来分隔命令,Shell会一次解释并执行这些命令
他会从左到右,先cd进入目录,接着cat查看elapse.txt中的内容
- 注释符
注释符"#"通常用在脚本程序或者应用程序的配置文件中,以"#"开头得注释行,shell在解释该脚本的时候不会执行
图中为http配置文件,#部分为不执行的注释
- 后台处理
符号: &
Linux是一个支持多任务的操作系统,它允许多个用户同时登陆系统,也允许多程序同时执行,但是由于Shell是交互式处理,所以如果想多程序、多命令同时执行时,可以使用后台处理
在后台任务执行期间,用户任可以继续和Shell交互,而该工作会在后台默默运行直到停止(当然故意的死循环不会停止,他会一直存在并且占用资源)
使用"&"符号即可
使用jobs可以查看后台工作
8说了,要睡午觉去了
- PHP数据结构(六) ——数组的相乘、广义表
- 游戏领域区块链探索
- 小程序中布局突然乱掉了,到底是怎么个情况?
- 小程序wx.canIUse和wx.getSystemInfo踏的坑
- 你真的了解小程序的自定义编译功能嘛?
- 小程序不同页面之间的传值方式
- PHP数据结构(六) ——树与二叉树之概念及存储结构
- 小程序中实现一键复制长段文本内容
- PHP数据结构(七) ——串与实现KMP算法
- PHP数据结构(八) ——赫夫曼树实现字符串编解码(实践1)
- 小程序开发注意点儿,新手入门基础
- ajax跨域有没有踩过坑,IE低版本浏览器如何支持?
- 你可能不知道的 Django Rest Framework 的两个新特性
- PHP数据结构(八) ——赫夫曼树实现字符串编解码(实践2)
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- springmvc之RequestMapping结合@PathVariable使用
- springmvc之CookieValue注解
- springmvc之处理模型数据ModelAndView
- springmvc之异常处理ResponseStatusExceptionResolver
- Java矩阵快速幂实现
- 走近STL -- 你好,List
- 我能看懂的MakeFile(自命名,多文件,多目标)
- Posix信号量与cond条件变量,到底该选谁?
- 信号量--System V信号量 与 Posix信号量
- 文件空间映射mmap()函数(是什么,为什么,怎么用)
- C++下shm共享内存模块
- 基于TypeScript封装Axios笔记(九)
- springmvc之SessionAttributes注解所引发的异常
- 【tensorflow2.0】处理文本数据-imdb数据
- springmvc之异常处理DefaultHandlerExceptionResolver