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,对于用户的非法请求,直接拦截
本篇的分享就到这里了,感谢观看,如果对你有帮助,别忘了点赞+收藏+关注。
小编会以自己学习过程中遇到的问题为素材,持续为您推送文章