shell初识
今天写blog才发现以前还有没写起的,我的天,我是睡着了么。。。
1,什么是shell?
shell是unix/Linux系统的一个用充当内核与用户之间的接口的软件,它读取用户的输入命令,发送给内核让其运行,运行结束后吧结果返回给用户。
2,shell的作用
分隔操作系统和用户,负责接口和通信。
3,如何退出远端登录shell
logout
exit
Ctrl+L
4,如何查看历史命令
history #查看该用户使用过的命令
!399 #运行history第399命令
history -c #清除历史命令的记录
5,内建命令和外部命令的区别
内建命令指的就是包含在bash工具集中的命令。这主要是考虑到执行效率的问题----内建命令将比外部命令执行的更快。另外的一部分原因是因为特定的内建命令需要直接存取shell内核部分,而外部命令通常需要fork()系统创建的一个子进程,然后在子进程中调用execve()执行一个可执行的程序。
6,如何自定义命令
alias cp='cp -i' #单引号防止解析
7,如何自定义操作命令符
echo $PS1 或者 PS2 #哎呦就是这个修改项目,不过改了会成为装逼犯,前面的每次敲命令的显示东东咯,你要是有兴趣自己搜索改了哈,我是懒得记了。
8,获取帮助信息
-1,help help #一个月了还没用到,我的天啊,估计也就是个咸鱼命令吧。
-2,man ls #当初纠结了好久怎么打出忙帮助文档,嘿嘿,不过解决了。
-3,info ls #至今还不知道这个和help是外部命令还是内建命令,不过man是内建,看来看man还不够啊,还是得懂源码和系统啊。
9,增加脚本执行权限
chmod u+x 用户可执行
g+x 用户组可执行
o+x 其他用户可执行
a+x 所有用户课执行 #后面那还用到来着,忘了-。-愿我不会忘掉我家还留着我自己偷偷藏起来的安全套,让妈妈找到可是又要雷罚了。
10,添加环境变量
-1,查看 #有什么变量啊? echo $PATH
-2,添加 export PATH=~/bin:${PATH} #我依稀记得这个~代表你的用户家目录,比如我的~就是/home/3dt ,还有:是分隔符,不写就会覆盖原来的,什么概念啊,哦gg,其他操作命令都没了,说不定export添加变量都没了,哈哈,要谨慎啊,毕竟改就是一种选择啊,要负责的哦。
-3,查看 echo $PATH #再看看是不是改对了呢?
11,3种运行脚本文件的方式
-1,source script 通过bash的内建命令source命令或点命令(一脸懵逼)来执行脚本文件
-2,bin/bash script 通过执行shell程序 /bin/bash来解释脚本文件
-3,./script 通过为脚本文件添加执行权限然后直接运行 #sh name.sh 这个很多吧,这是第一个方式还是第二个方式留着以后解决吧,我还是解决怎么学到服务器吧,我的二手笔记本已经饥渴难耐了。
12,在脚本添加注释
#略 :哈哈呵呵哈哈哈或呵呵哈哈哈或或或或或或或或或 如果这一行不要了前面加注释就行了
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?