记 Linux 学习知识总结 -- 寒江老师视频(七) - SHELL 讲解
shell
命令行解释器,是用户与系统沟通时的媒介
unix 系统中有各种shell,linux采用bash为其默认shell
系统可以使用的shell记录在 /etc/shells中
bash:Bourne Again Shell的缩写
支持命令行输入,操作历史查询,快捷键,使用变量等功能
预订系统变量
查看变量值 echo $+变量名 = echo ${变量名} 推荐使用第二种
unset + 变量名 删除变量
系统通过预定义环境变量来定义shell的环境
用户可以用set或env查询当前环境变量:env只查看环境变量,set系统和环境变量都可以
常用预定义环境变量:
home:当前用户主目录
path:当前用户可执行文件搜索路径
lang:程序应该使用的默认语言
ps1:行提示符
PS1参数的介绍
\u 当前用户账号
\h 仅列出主机名的第一个名字 \H列出全名
\W 显示当前目录的最后一个文件名称 \W 显示完整路径
\# 显示命令条数
\A 显示时间 点
界面提示符可以更改:PS1='[\u@\H \W \A \#]\$'
export 可以将自定义的环境转换为环境变量
history:在bash中输入history指令可以查询用户过往的操作
内存中记录的过往指令数根据环境变量中historysize而定
history表存储在内存中,在用户logout时会记录入用户主目录下的.bash_history文件中,在下次login时载入
.bash_history中的指令数根据环境变量中的histfilesize而定
使用!来调用过往指令:
!! :重复执行上一条命令
!a : 重复执行上一条以a为首的指令
!number: 重复执行上一条在history表中记录号码为number的指令
!-number: 重复执行前number条指令
!$:截取到上条指令的最后个参数
<ctrl+r> 用来在history表中查询某条过往指令
别名: alias 可以查看哪些命令使用了别名
设定别名 alias a='ls -al'
取消别名 unalias a
alias记录在shell中最先行
命令行表达式:
命令行输出 -- " "
将一串字符当成一个字符串来对待,如果字符串包含特殊含义的字符,则转义.
碰到$~\! 四个字符还是当做原先作用来用,不去转义它,不能转化为一般字符
echo "$PWD" = \root
命令行输出 -- ' ' 可以禁止所有特殊符号,包括$!~\
执行引用符 -- 会先执行引用符里面的命令
如ls -al 'pwd' = ls -al \root
数学运算 -- $[]
在中括号内会执行数学表达式的计算 如 echo $[1+4] = 5
逸脱符 -- \
用于取消命令行中字符的特殊含义
用于表示一行的结束
mkdir a b 建立了a ,b的两个目录
mkdir a\ b 建立a b一个目录
命令行结束符 -- ;
用于在一行内分隔两个独立命令,表示一行已结束,作用相当于回车键
ls;pwd 先执行ls然后执行pwd
子shell激活 -- ()
在小括号内的命令行表示激活一个子shell后在子shell中运行
shell命令行支持在同一行的两条命令中插入&&与||
&&:当前一条指令执行成功时再执行下一个指令
||:当前一条指令执行不成功时再执行下一个指令
默认情况下,在shell下改变变量,umask,alias,只在此次登录中有效.一旦logout后再login,则设定恢复初始值
一个通过登录而得到的shell,一般是用户初始shell
在登录shell下激活
bash 在用户登录时从四个文件中读取环境设定
全局设置文件:/etc/profile
/etc/bashrc
用户设置文件:
~/.bashrc
~/.bash_profile
系统先执行/etc/profile 然后执行~/.bash_profile 再然后~/.bashrc 最后/etc/bashrc
ctrl+d 输入已结束,在shell下相当于exit
ctrl+c 键盘中断请求
ctrl+s & ctrl+q 暂停/恢复屏幕输出
ctrl+l 清屏,相当于clear
tab 自动补完命令行与文件名
tab建双击可以列出所有可能匹配的选择
记 Linux 学习知识总结 -- 寒江老师视频(七) - SHELL 讲解相关推荐
- Linux学习总结(78)—— 常见开源协议讲解
不根据协议使用开源软件可能面临的风险 2003 年 Linksys 公司(同年 3 月被思科收购)推出 WRT-54G,这款路由器采用了基于 Linux 的固件,而 Linux 使用的是 GPL 开源 ...
- linux学习笔记:我的第一个shell脚本
新建一个文件test.sh vim test.sh 输入内容 #!/bin/bash echo "Hello world!" 然后运行test.sh 这里提供两种运行方法: 1.作 ...
- 卧槽!华为大佬整理的Linux学习笔记和资料不小心流落到了外网.……
资料汇总截图 一大牛整理了一套初学到进阶的Linux 学习资料,分享给大家 如何学习 如果是刚开始学习C语言的同学,我建议可以深入看下C语言里面的资料.当然了,如果你对自己的C语言比较自信,可以直接看 ...
- linux分区从1开始,Linux 学习笔记 1 使用最小的系统,从分区安装系统开始
我们常用的linux系统在安装过程中大多都省略了对系统进行分区的操作,以至于后期,不了解什么是分区以及分区当中最基本的一些概念, 我们不说最细的知识,只求了解这个过程,那直接步入正题,开始第一节的学习 ...
- linux最小系统 安装教程,Linux 学习笔记 1 使用最小的系统,从分区安装系统开始,...
Linux 学习笔记 1 使用最小的系统,从分区安装系统开始, 我们常用的linux系统在安装过程中大多都省略了对系统进行分区的操作,以至于后期,不了解什么是分区以及分区当中最基本的一些概念, 我们不 ...
- Day 01嵌入式学习之Linux基础知识和命令操作
学习嵌入式开发的随堂笔记 Day 01嵌入式学习之linux基础知识和命令操作 1.英文: read:读,r字母 write:写,w字母 execute:执行,运行,x字母 directory:目录, ...
- [论文阅读] (30)李沐老师视频学习——3.研究的艺术·讲好故事和论点
<娜璋带你读论文>系列主要是督促自己阅读优秀论文及听取学术讲座,并分享给大家,希望您喜欢.由于作者的英文水平和学术能力不高,需要不断提升,所以还请大家批评指正,非常欢迎大家给我留言评论,学 ...
- C/C++ Linux 后台服务器开发高级架构师学习知识路(架构师篇)
@[前言: 小编从事c方面10多年的工作经验.今天跟大家分享一下我总结出来的一系列 C/C Linux后台服务器开发的学习路线.从Linux开发工程师-Linux后台开发工程师-Linux高级互联网架 ...
- 大数据成长之路:谈谈那些必须学习的Linux基础知识
作者| Roy瑞士 责编| Carol 封图| CSDN│下载于视觉中国 这里主要介绍学习大数据过程中用到的Linux基础知识,现在主攻的方向是大数据开发,欢迎大家共同交流. 环境 推荐安装VMwar ...
最新文章
- PHP开发经常遇到的几个错误
- 一点一点看JDK源码(五)java.util.ArrayList 后篇之forEach
- 埃尔米特(Hermite)插值
- 【Web API系列教程】3.3 — 实战:处理数据(建立数据库)
- 自己写一个java.lang.reflect.Proxy代理的实现
- 2021-2025年中国专业灯具行业市场供需与战略研究报告
- 设计模式(二):难忘一次分享盛宴
- ubuntu面板的图标混乱
- 在SQL2008中,如何让id自动生成并自动递增?如何让时间默认生成?
- 提示wininet.dll文件找不到的解决
- 开心消消乐h5版游戏案例分享
- matlab深度学习基本操作,深度学习讲解,源代码分享,用一用改一改随便发篇EI
- vrep中视觉传感器(Vision sensor)
- angular Meterial错误 Did you add it to @NgModule.entryComponents
- 【Windows11系统更新后蓝牙没了】
- ubuntu安装 veloview_Pointnet+Frustum-Pointnet复现(Pytorch1.3+Ubuntu18.04)
- 【项目管理】如何成为合格的项目负责人
- 把图片转换成二进制--把二进制转换成图片
- 【数论】斐波那契数列求和公式
- Java将带小数点的String类型值转换成int值