Linux常见指令:从基础到理论-CSDN博客
阿里云国内75折 回扣 微信号:monov8 |
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6 |
前言
目录
Linux常见指令是使用Linux系统时必不可少的一部分。通过掌握这些指令用户可以更加高效地管理文件、目录和系统本期主要介绍find、grep、zip、unzip、tar、unname、关机、常用热键、rz、shell命令及运行原理。
1. find指令
语法 find +【path】+ -name+【filename】
功能 用于在文件树中查找文件并作出相应的处理可能访问磁盘
常用选项
- -name 按照文件名查找文件。
find /usr/include -name stdio.h
find /usr/bin -name ls
find指令的功能非常强大
- 在目录结构中搜索文件并执行指定的操作
- Linux下find命令提供了相当多的查找条件它的选项也很多其中大部分选项都值得我们花时间去了解
- 系统中含有网络文件系统( NFS)find命令在该文件系统中同样有效只要你具有相应的权限
- 在运行一个非常消耗资源的find命令时更倾向于把它放在后台执行一个大的文件系统可能会花费很长的时间(这里是指30G字节以上的文件系统)
它的功能和which相似但也有所不同
which命令不需要指定查找路径一般有默认的路径usr/bin等常用于查找指令位置
拓展
除此之外还有一个可以查找的指令——whereis指令
语法whereis+【filename】
功能 常用于查找历史安装文档的位置
2. grep指令
语法 grep +【选项】+【 搜寻字符串 】+【文件】
功能 在文件中搜索字符串将找到的行打印出来
常用选项
- -i 忽略大小写的不同所以大小写视为相同
- -n 顺便输出行号
- -v 反向选择亦即显示出没有 '搜寻字符串' 内容的那一行
test.txt内容为我提前写入的内容
这里的查找是大小写敏感的通过结果我们也不难看出。grep指令的文本过滤功能也是非常常用它可以搭配其他指令进行使用。
拓展
sort指令
语法sort+【选项】+【filename】
功能 对文本内容进行排序按ASCII先后顺序进行排序
常用选项
- -r 文件内容逆序排序
uniq指令
语法uniq+【选项】+【filename】
功能 对连续相同的文本进行压缩
常用选项
- -u仅显示不重复的行即只显示出现一次的行。
- -d仅显示重复的行即只显示出现多次的行。
- -c去重的同时显示行重复次数
与sort配合使用
‘ | ’为管道将左边的指令输出作为右边指令的输入sort test.txt | uniq
先对test.txt进行排序然后将排序结果作为uniq输入进行执行操作。对数据进行排序+查重
wc指令
wc常用指令较为简单通常用来统计字符
-l按行统计
3. zip/unzip指令
语法 zip 【压缩文件.zip】+【 目录/文件】
功能 将目录或文件压缩成zip格式
常用选项
- -r 递 归处理将指定目录下的所有文件和子目录一并处理
压缩有什么好处
- 更节省空间
- 将多个文件打包成一个文件防止文件丢失
- 方便网络传输更节省时间
压缩
zip +指令+【压缩文件.zip】+【 目录/文件】
注意在压缩文件夹时需要加上 -r指令直接压缩文件夹无法将文件夹内容压缩
解压
unzip +【filename.zip]
这里我将压缩文件放入新的文件夹进行解压避免文件名冲突
我们也一步到位将解压的文件放入到一个新的文件夹中
4. tar指令
语法 tar +【指令】+【压缩后文件名】+【文件】
功能打包压缩 / 解压文件
常用选项
- -c 建立一个压缩文件的参数指令(create 的意思)
- -x 解开一个压缩文件的参数指令
- -t 查看 tarfile 里面的文件
- -z 是否同时具有 gzip 的属性亦即是否需要用 gzip 压缩
- -j 是否同时具有 bzip2 的属性亦即是否需要用 bzip2 压缩
- -v 压缩的过程中显示文件这个常用但不建议用在背景执行过程
- -f 使用档名请留意在 f 之后要立即接档名喔不要再加参数
- -C 解压到指定目录
tar -czf dst.tgz src
如果只打包压缩文件只需记住这个简单指令-czf / -cvzf 解压-xzf/-xvzf加‘v’指令显示压缩/解压的过程可加可不加
tar -xzf dst.tgz
指定解压位置
tar -xzf dst.tgz -C dst
5. uname指令
语法uname 【选项】
功能 uname用来获取电脑和操作系统的相关信息。
补充说明uname可显示linux主机所用的操作系统的版本、硬件的名称等基本信息。
常用选项
- -a或–all 详细输出所有信息依次为内核名称主机名内核版本号内核版本硬件名处理器类型硬件平台类型操作系统名称
在面试时可能会被问到你的计算机架构是什么
uname -r
-r指令就可以查看操作系统软硬件体系结构
拓展
查看操作系统内核版本
cat /etc/redhat-release
查看操作系统中cpu信息
cat /proc/cpuinfo
6. Linux常用热键
- [Tab]按键---【命令补全】和【档案补齐】的功能
在输入指令时使用tab键可以快速的填充指令
在日常使用指令时如果忘记指令只记得指令开头字母使用tab键也可有快速查到
如上输入一个a双击tab键就可以展示出a开头的所以指令可能出现tab键无效的情况这是因为操作系统的原因可以不使用这个功能
- [Ctrl]+c 按键---停止当前进程
我提前写好一个无限死循环的程序编译并执行在Linux终端中在不停的输出hello,linux
使用【Ctrl+c】就可以强行停止当前进程在日常使用中遇到异常进程都可以使用Ctrl+c停止进程
- [Ctrl]-d按键---结束退出
『键盘输入结束(End Of File, EOF 戒 End OfInput)』的意思它也可以用来取代exit。
退出连接服务器后在XShell终端继续Ctrl+d就会退出并关闭Xshell
7. 关机
语法shutdown 【选项】
常见选项
- -h 将系统的服务停掉后立即关机。
- -r 在将系统的服务停掉之后就重新启动
- -t sec -t 后面加秒数表示『过几秒后关机』的意思
❗️❗️❗️注意
如果使用的是云服务器就不要尝试执行了云服务器没有特殊情况是永不关机的。
8. rz指令
我们的虚拟机/云服务器其实是可以数据共享的相互传输数据也就是rz指令
在使用rz指令之前需要安装lrzsz
yum install -y lrzsz
执行上边的指令安装lrzsz安装成功后在XShell终端输入rz指令并执行就可以打开一个窗口
当然我们也可以直接在Windows下拖拽文件到终端传输
rz指令仅限于从本地计算机上传文件到远程计算机
拓展
scp指令
那如何从将自己Linux中的文件传输到远程服务器呢
这里就要使用scp指令
scp 文件 用户@ip地址目录
执行之后它会询问你是否需要连接
确认之后就会要求你输入远程机器用户的密码输入完之后就会进行传输这里涉及ip隐私就不再进行详细演示。
9. shell命令以及运行原理
Linux严格意义上说的是一个操作系统我们称之为“核心kernel“ 但我们一般用户不 能直接使用kernel。而是通过kernel的“外壳”程序也就是所谓的shell
从技术角度Shell的最简单定义命令行解释器
我们所使用的XShell就是一个shell外壳目前我们所使用的Xshell它的命令行解释器叫bash它其实就是一个可执行程序。
我们在命令行输入的命令叫shell命令 负责接收我们命令指令的就是shell外壳程序
如上图我们所使用的Linux本质使用的是Linux的操作系统内核在系统内核外都有一层软件层shell外壳我们输入的指令、编写的代码都是基于shell外壳之上。
广义层面内核+外壳使用的命令行被称为操作系统
狭义层面内核 只有内核才是真正的操作系统
为什么要有shell外壳
从操作系统本身出发考虑到操作系统本身的易用程度和安全问题是不允许用户直接进行访问的。没有shell外壳的存在可以访问操作系统的也只有懂操作系统的人可以如果其他用户想要使用操作起来非常困难还要学习学习操作系统的原理这就好比于一个人学开车需要先了解一下发动机原理。
shell外壳是什么
shell外壳就是与操作系统内核进行交互的命令行解释器。
它主要干两件事
- 将使用者的命令翻译给核心kernel处理。
- 将核心的处理结果翻译给使用者。
此外shell外壳对操作系统内核也具有一定的保护功能shell外壳会判断用户的指令是否安全判断是否反馈给操作系统内核预防有害操作的执行这样也间接的保护了操作系统。
shell外壳是怎么工作的
shell本质是一个执行起来的程序进程shell外壳在执行指令时如果这些指令有风险或者 用户自定义的指令这些操作都具有一定的风险shell不会自己去执行因为一旦挂了操作系统也就崩溃无法运行所以shell通过创建子进程的方式让子进程去执行有风险的指令。
在现实使用时shell又是如何工作的呢
Linux操作系统可以多用户登录但是多个用户并不是同时使用一个shell每次我们使用XShell登陆时操作系统都要给当前正在登录的用户新启动一个shell、bash每个用户之间的进程与操作都是相互独立的。
好了以上便是本期的全部内容希望对你有所帮助最后感谢阅读