当前位置: 首页 > news >正文

【Linux】基本指令 · 下

alias 指令

起别名

为什么 ls -l 指令等价于 ll 指令呢?

指令就是可执行程序和我们自己写的代码编译好的程序,没有本质区别
指令在系统的某一个位置存在!
执行指令前,现在系统中查找对应的指令

指令在根目录下 /usr/bin/

ll 指令没有在 /usr/bin/ 路径下


which 指令:查看对应指令的路径

ls  -l 指令等价于 ll 指令,是因为 ll 指令是 ls  -l 指令的别名

不想要了

如果关掉 Xshell

重命名目前是临时的
ll 这个重命名是写在配置文件里的,所以每次登录时都能用。(自己少重命名)

cat 指令

cat -n 文件名:对输出结果编号(空行也带编号)
cat -n 文件名:对输出结果编号(不给空行编号)
cat -s 文件名:如果连续多行空行,只显示1行空行


Linux 下一切皆文件

指令的本质就是可执行文件,直接安装到了系统的某种路径下

键盘、显示器等都是文件

显示器(向显示器打印:向显示器写入文件):提供写(fwirte())的方法,读(fread(){})的方法是空的
键盘(从键盘读取数据):提供读(fread())的方法,写(fwirte(){})的方法是空的
普通文件:有正常的读写方法



以前:echo指令把"Hello Linux"字符串打印到显示器上
现在:echo指令默认把"Hello Linux"字符串写到显示器文件中


现在:把本应写到显示器文件的内容,因为 > 符号的作用,写到了普通的磁盘文件中。这种行为叫重定向

cat  文件名:打印文件内容(把文件的内容数据写到显示器文件里)
ll  文件名:打印文件属性(把文件的属性数据写到显示器文件里)


echo 后面跟字符串,不是文件;或者 echo 认为自己后面跟的是字符串

输出重定向 > 有一个特点:
        向目标文件写入的时候,覆盖写入:1. 清空文件          2. 写入新内容

清空一个文件的简化写法:> 文件名

输出、追加重定向:如果写的目标文件不存在,默认会给你创建
所以想创建新文件,除了 touch 指令;也可以直接 > 新文件名

不想清空追加重定向 >>         append


cat 文件名:打印文件内容
cat 后面什么都没跟,我输什么就给我打印什么

cat 默认从输入设备读数据

本来应该从键盘文件读取数据,现在从指定的文件读取输入重定向 <

cat < out.txt 是另外一种打印文件内容的写法,与 cat out.txt 有区别,后面讲

more 指令

cat 只适合看小文本;more 只能向下翻,用的不多

cnt=1; while [ $cnt -le 10000 ]; do echo "hello Linux $cnt"; let cnt++; done > test.txt
test.txt 中现在有 10000 行数据

more  test.txt 只打印一屏,按 Enter 向下翻;q 退出
more  -n  test.txt 打印到第 n 行停下
/XXX:在more的场景下搜索

less 指令

less  test.txt 打印一屏,按 下/Enter 下翻;上 上翻;q退出
/XXX:文本查找

head 指令

提取一段文本的前 n 行,默认提取前10行

head test.txt
head -n test.txt

tail 指令

提取一段文本的后 n 行,默认提取后10行

tail test.txt
tail -n test.txt


有 head、tail、重定向,可以把文件任意片段截取出来

想看 1000-1020 行,并把文本截取出来

缺点:要创建临时文件,临时文件真真切切的在磁盘中

优化:管道

一种符号,后面会被“系统”解释为管道文件,这个管道文件不会在磁盘里存在,是内存级的文件

作用:把左侧程序的输出交给管道文件、让右侧的程序再从管道文件中把数据读到自己程序中

时间相关指令

date 指令查看 Linux 相关时间

1. 显示:date +标记


%F 相当于 %Y-%m-%d                 %X 相当于 %H:%M:%S

2. 设定

3. 时间戳:从1970.1.1 00:00 起经过的秒数

时间 -> 时间戳:date  +%s
时间戳 -> 时间:date  -d  @时间戳


这里显示8时是考虑时差


cal 指令:查看日历

find 指令

任意文件、任意路径的查找,选项很多,功能强大

这里只看 -name 选项

find  路径名  -name  文件名

普通用户只有在自己家目录下 find  /home/qtw/  -name  XXX 进行操作时,才能正常查。因为从这个目录往下,整个一颗多叉树都是自己的
如果前缀不是,会受权限约束,有时候不让查。


补充:
which:在系统指令路径下,搜索指令文件
whereis:在系统特定路径下查找 可执行程序、手册、安装包、压缩包……

grep 指令

行文本过滤工具,在文件中搜索字符串,将找到的行打印出来

grep  选项  要搜索的字符串  文件(可以跟多个)

选项:
-v:反向选择(reverse)         -n:输出行号         -i:忽略大小写的不同(ignore)

指令可以通过携带文件的方式,对内容进行查找;也可以合并到管道


查 main 函数位置

递归的,在指定目录下过滤:grep  -Rn  'int main()'  /home/qtw/

zip / unzip 指令

打包、压缩文件

原因:
1. 能被打包,定是多个文件合并成一个文件 ==> 不易造成文件缺失
2. 压缩后体积小,下载时间短

于是有了打包压缩的工具

压缩目录要带 -r 选项

打包压缩目录:

打包压缩目录+文件、并解压到指定目录:

tar 指令

czf:creat创建 执行打包压缩的动作、zip的方式压缩、指明新形成的文档名称

.tgz 是 .tar.gz 的缩写                 .tar:打包后缀                 .gz:压缩后缀


tzf:文件不解包不解压,只看里面有什么(预览)

xzf:解包解压
tar xzf code.tgz:直接解包解压到当前路径

解包解压到指定路径:-C 选项


纯 Linux 下流转用 tar .tgz
想让 Windows 下解包解压软件也能识别,用 zip

遇见没见过的后缀,在网上搜对应指令

bc 指令

Linux 下计算器。quit 退出

bc 指令很方便浮点数计算

uname 指令

uname  选项

-a 选项:详细输出所有信息,依次为内核名称,主机名,内核版本号,内核版本,硬件名,处理器类 型,硬件平台类型,操作系统名称

Linux VM-16-14-centos 3.10.0-1160.119.1.el7.x86_64 #1 SMP Tue Jun 4 14:43:51 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux

x86_64==x64         x86==32

查体系结构:-r 选项

3.10.0-1160.119.1.el7.x86_64
内核版本   CentOS的简写


Linux 下查内存:free  或  free  选项

-k 选项:以 kb 的方式
-m 选项:
-g 选项

lsmem 也可以查内存


查磁盘:df  -h


查 CPU:lscpu

热键

Tab:命令补齐

Ctrl C:

Ctrl R:历史命令搜索 ==> Linux 系统一定记录了历史命令!!

Ctrl D:退出终端登录、退出用户

确认历史命令:history

二. 指令的运行原理(简单理解)

[qtw@VM-16-14-centos ~]$

用户名      主机名       当前目录       命令行提示符

统称为 bash命令行

指令输入的过程,本质是输入字符串。
指令的本质:编译好的程序和脚本。一定会在系统的特定路径下存放

所有的指令,最终都要在OS内部运行,但是OS使用难度大,用户不能直接和OS打交道

Windows下有图形化界面;Linux下有命令行解释器:命令行、bash、sh、shell

命令行解释器的工作:将用户的命令翻译给内核处理,将内核的处理结果翻译给使用者
命令行解释器存在的意义:1. 进行命令解释         2. 保护OS,对于用户的非法请求,直接拦截

本篇的分享就到这里了,感谢观看,如果对你有帮助,别忘了点赞+收藏+关注
小编会以自己学习过程中遇到的问题为素材,持续为您推送文章


文章转载自:

http://jcnFmdrp.nggbf.cn
http://SpxCNP5I.nggbf.cn
http://p1hKdnAO.nggbf.cn
http://uCIE8l6T.nggbf.cn
http://EFoHjLEp.nggbf.cn
http://F29X5KyD.nggbf.cn
http://8jo34UUj.nggbf.cn
http://Vh9x72s4.nggbf.cn
http://9x9ciQkv.nggbf.cn
http://6TmD5vKG.nggbf.cn
http://ZoZ17ywF.nggbf.cn
http://MNaOdAzO.nggbf.cn
http://YiCG9gAH.nggbf.cn
http://kvH4iwXY.nggbf.cn
http://kqJ4OD2p.nggbf.cn
http://OAN2IsAm.nggbf.cn
http://GZG0duWh.nggbf.cn
http://eOzNujh2.nggbf.cn
http://ZJzeC1ge.nggbf.cn
http://JkTDGpxg.nggbf.cn
http://EZz4m9om.nggbf.cn
http://9AbLvULu.nggbf.cn
http://5Mmm5nGJ.nggbf.cn
http://WP6AUjBu.nggbf.cn
http://1tIWOO9W.nggbf.cn
http://VkbandgW.nggbf.cn
http://uN3VlkwI.nggbf.cn
http://Z68xZfeY.nggbf.cn
http://fKUvgUAu.nggbf.cn
http://GlaHz8qO.nggbf.cn
http://www.dtcms.com/a/380078.html

相关文章:

  • springboot+python+uniapp基于微信小程序的旅游服务系统景点信息展示 路线推荐 在线预约 评论互动系统
  • WebApp 的价值与实现:从浏览器架构到用户体验优化
  • 用户体验五大要点:从问题到解决方案的完整指南
  • 从ChatGPT家长控制功能看AI合规与技术应对策略
  • DeepSeek-VL 解析:混合视觉-语言模型如何超越传统计算机视觉方法
  • 从15kHz 到20MHz:为什么LTE带宽不能被子载波间隔整除?
  • Android SystemServer 系列专题【篇五:UserController用户状态控制】
  • Nature | 本周最新文献速递
  • Vuetify:构建优雅Vue应用的Material Design组件库
  • 6种A2A(智能体到智能体)的协议方案
  • 性能测试工具jmeter使用
  • [Windows] PDF 专业压缩工具 v3.0
  • kubectl常用命令
  • MinIO 分布式模式与纠删码
  • linux 宏 DEVICE_ATTR
  • 代码随想录刷题Day56
  • Ansible的 Playbook 模式详解
  • Qt 调用setLayout后,父对象自动设置
  • 现在中国香港服务器速度怎么样?
  • 用python的socket写一个局域网传输文件的程序
  • CentOS配置vsftpd服务器
  • 华为初级认证培训需要吗?HCIA考试考什么内容?自学还是报班?
  • 系统核心解析:深入操作系统内部机制——进程管理与控制指南(二)【进程状态】
  • KafKa02:Kafka配置文件server.properties介绍
  • 【LeetCode 每日一题】3459. 最长 V 形对角线段的长度
  • Linux系统之----信号中断(下)
  • 【C++】模板进阶:非类型参数、模板特化与分离编译
  • 使用OmniAvatar-14B模型实现照片和文字生成视频的完整指南
  • Redis缓存雪崩
  • 复习Git在IDEA中的关键操作