Linux系统入门-1
Linux构成
按顺序来说,先来说说什么玩意是Linux
Linux由内核、外壳程序、实用程序、应用程序构成,而Shell就是作为Linux操作系统的外壳,为用户使用操作系统提供结构
就好比,A为内核,B为Shell,C为用户,C通过B来调用A执行一些操作,这也是为了保证内核安全,所以会给B一个接口,其他乱七八糟的知道了也没什么意思,常用的就是 BASH
Shell的语法
貌似这么称呼好像也没什么不对的,就是Shell执行命令的一种语法而已
<命令> <参数> <内容>
不知道是不是这么说(误)
参数分 -
和 --
两个,举个例子
-a
中的a是一个缩写,也就是那个程序规定了的缩写
而 --all
则代表全称
在使用的时候,你可以-a,也可以--all,Linux中就是用这种方法来区分的
在举个例子,如果你想看某个命令的帮助信息时,你可以通过<命令> -h的方式来查看(当然不是全部的都可以)
同时参数也可以连在一起的, -asdfg
这个就代表5个参数,分别为 -a-s-d-f-g
而--就不能这么解读了,使用--多参数的话,两者之间得有一个空格
比如 --help--all
这里的--help就不是 -h-e-l-p
这样看了
Shell的使用
- 查阅历史记录
命令: history | history <数字>
在Linux系统中,用户所输入的命令在执行后,这个命令都会被记录在命令记录表中,当用户需要再次执行,或者想查阅自己输入什么命令的时候,可以直接调用、查看,默认情况下Shell使用的记录表文件为用户主目录下的 .bash_history
Bash(Shell)默认最多保存1000个Shell命令历史纪录
通过 history4
就可以看到历史记录中的最后4条记录是啥
- 输入/输出重定向
命令: 没有,这是一种写法
下面为书上解释
执行一个Shell命令时可能存在这样的问题,用户输入的数据只能用一次,当下一次还想使用这些数据时,还得重新输入,同时输出到屏幕上的信息只能看不能改,无法对输入做更多处理。为了解决上述问题,Linux系统为输入、输出的传送引入了输入重定向
换个说法就是用户可能想将屏幕上出现的玩意保存到文件中,所以LInux给了重定向这个玩意
输入重定向没啥好说的
输出重定向就是命令执行结果不在屏幕上显示,而是直接保存到你指定的文件中,Shell通过符号">"来实现输出重定向
ls执行出来的内容为 elapse.txt
,然后下面执行了输出重定向,将内容直接保存到elapse.txt中,而屏幕中没有显示,我们cat一下发现原本是空的内容现在多出了个elapse.txt
附加输出重定向的功能和输出重定向基本相同,只不过附加输出他会将内容写入原本文件内容的后面而不覆盖。Shell通过符号">>"来实现
- 命令补全功能
命令: 没有,这是按键 <Tab>
在Shell中, 可以只输入命令的前几个字母,然后按键,系统将自动补全,若不止一个,则显示出所有和输出字母相匹配的命令,比如
- 管道机制
写法: <命令1> | <命令2>
Linux提供管道机制可将多个命令集成到一起,形成一个管道流,使一个命令的结果作为另一条命令输入,用来执行复杂的任务
例子:
他首先会去cat /etc/passwd的内容,其次,将输出的信息,交给grep 来处理,而grep "root"的意思是匹配root这个字符串,所以到最后只会输出这两条包含root字符串的内容
- 使用OAuth打造webapi认证服务供自己的客户端使用
- 洛谷P3381 【模板】最小费用最大流(dijstra费用流)
- 使用OAuth打造webapi认证服务供自己的客户端使用(二)
- JavaScript基础1
- JavaScript实例-----反选
- 1303: [CQOI2009]中位数图
- 1050: [HAOI2006]旅行comf
- 某厂2016实习招聘安全技术试题答案及解析
- 3732: Network
- 洛谷P3388 【模板】割点(割顶)(tarjan求割点)
- 每天学一点Docker(3)(制作你的第一个容器)
- 1635: [Usaco2007 Jan]Tallest Cow 最高的牛
- 1653: [Usaco2006 Feb]Backward Digit Sums
- 1619: [Usaco2008 Nov]Guarding the Farm 保卫牧场
- 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 数组属性和方法
- ES 面试题
- Flink 面试题
- 【入坑JAVA安全】序列化与反序列化
- Redis 常见面试题
- 老公,JNDI注入是什么呀?
- XXE漏洞:DocumentBuilder使用之殇
- IDEA怎么远程调试应用?
- Tidyverse| XX_join :多个数据表(文件)之间的各种连接
- tidyverse|数据分析常规操作-分组汇总(sumamrise+group_by)
- R|生存分析 - KM曲线 ,必须拥有姓名和颜值
- 每日一题 | 不确定参与人数的抽奖问题
- PT-OSC在线DDL变更工具使用攻略
- mysql-8.0.12-winx64 解压版安装
- Java8InAction
- 文本挖掘|不得不知的jiebaR包,切词分词?