Linux基础指令(入门必备2.0)
创作初心:在加深个人对知识系统理解的同时希望可以帮助到更多需要的同学
😄柯一梦的专栏系列
🚀柯一梦的Gitee主页
🛠️柯一梦主页详情
座右铭:心向深耕,不问阶序;汗沃其根,花自满枝
date指令
指定格式显示时间:date+%Y/%m/%d
用法:date [OPTION]......[+FORMAT],为什么指定格式内容之前要加+呢?其实+是为了区分选项和格式内容。
1.在格式内容的显示方面:
- %Y:完整的年份
- %m:月份
- %d:日
- %F:相当于%Y-%m-%d
- %H:小时
- %M:分钟
- %S:秒
- %s:按照时间戳的格式输出
左边(+
之前)的都是 命令选项(比如 -d
指定时间、-u
用 UTC 时区),负责告诉 date
“要处理哪个时间、用什么规则处理”;
右边(+
之后)的都是 格式内容(比如 %Y-%m-%d
、%H:%M:%S
),负责告诉 date
“最终要以什么样子输出时间”。
2.时间戳和时间之间的转化
date -d @1716000000 +"%Y-%m-%d %H:%M"
date -d "2024-05-17 10:13:20" +%s
举个之前的例子再印证下:
时间戳转化为可视化时间:
可视化时间转化为时间戳:
cal指令
cal指令用来显示公历(阳历)日历。公历是现在国家通用历法,又称为格列历,统称为阳历。
命令格式:cal 参数 [年份]
功能:用于查看日历等时间信息,如只有一个参数,则表示当前年份,如有两个参数,则表示月份和年份。
常用选项:
- -3 系统显示前一个月
- -j 显示在当年中的第几天(一年当中的日期按天算,从1月1号算起,默认显示当天在一年中的天数)
- -y 显示当前年份的日历
- 无参数:默认显示当前月份的日历(如
cal
显示当前月)。 - 1 个参数:参数为年份(如
cal 2025
),显示该年份的全年日历(1-12 月)。 - 2 个参数:第一个参数为月份(1-12),第二个参数为年份(如
cal 10 2025
),显示指定年份的指定月份日历。
举例:
无参数:
1个参数(表示年份):
2个参数(形式是月份 年份):
显示天数:
find指令
find命令会在指定的路径下面递归式的搜索所有文件,并且会把相关文件的路径缓存起来,所以当你重复使用的时候它会搜索的越来越快。
- Linux下find命令在目录结构中搜索文件,并且执行指定的操作
- Linux下的find命令提供了相当多的查找条件,功能非常强大。由于find具有强大的功能,所以它的选项很多,并且都值得我们花时间去了解一下
- 在运行一个非常耗费资源的find命令式时,人们倾向于把它放在后台去执行,因为遍历一个打的文件系统可能汇划费很长的时间
语法:find pathname(路径名称) -options(选项)
功能:用于在文件树中(递归)查找文件,并且做出相应的处理
常用选项
- -name 按照文件名查找文件
- 其他选项需要自己下去查,这个命令其实比较复杂
举例:
其实有一个小细节,*.exe代表什么呢,*是通配符可以代表任意内容,其实就是寻找后缀为.exe的文件。
我们在这里再补充一些理论知识:我们使用的大部分命令都是二进制的可执行文件
我们可以看到,我们之前使用的ls,居然是/usr/bin/ls路径下的一个可执行文件,所以我们不仅可以ls展开当前路径下的信息,还可以使用/usr/bin/ls去查看
既然我们使用的大部分命令都是二进制文件,那么我们可以自己写一个二进制文件当指令吗?当然可以,但是我们自己写的二进制文件想要运行,必须要加./文件名。为什么呢?要执行一个程序,首先要知道那个程序在哪里。那我们不妨大胆猜测一下,是不是我们的文件储存的位置不同,导致系统不能直接找到我们的文件呢?答案是是的,系统会现在/usr/bin这个路径下去寻找命令,并且直接执行,这样的话就不需要./文件名 这么挫的方法了。
所以 如果你自己写了一个可执行文件,并且把它移到/usr/bin目录下,那么就相当于你给你的系统装了一个自己写的指令。
其实我们在Windows系统下安装软件的本质就是拷贝可执行文件到某个目录下。
which指令
which的核心功能:查找并显示某个可执行命令在系统中的具体路径。
find也可以搜索,但是which更快,因为which是在指定的/usr/bin路径下面去搜索那个命令的
所以which = find /usr/bin -name (那个bin代表的就是二进制)
举例:
注意:我们通常不建议把自己写的指令拷贝到系统中,因为自己写的没有经过测试,可能会造成污染。所以我们自己使用时,通常都是./ 进行使用(这个操作就是为了找到二进制文件)
file指令
file指令通过分析文件的内容(而非文件名或扩展名),判断文件的实际类型(比如文本、二进制、图片、压缩包等)
举例:file /usr/bin/ls
whereis指令
主要功能:在系统预设的标准目录中,搜索与指定命令 / 程序相关的二进制文件(可执行文件)、源代码文件和手册页(man page)的位置。
了解即可
alias指令
我们在使用which ls的时候,第一行为什么会出现一个alias?
这个指令的作用就是给一些命令或者文件起别名,我们可以看到 ls 是 ls --color的别名,所以我们平时使用的 ls 并不只是 /usr/bin/ls 而是 ls --color
所以:执行命令时,会优先搜索别名。
值得注意的是,我们自己取的别名是内存级的,你退出系统员以后,它会自动删除。
最好不要给你的命令设置别名
grep指令(行文本过滤工具)
语法:grep [选项] 搜索字符串 文件
功能:在文件中搜索字符串,将找到的行列打印出来
常用选项:
- -i:忽略大小写的不同(所以grep默认是大小写敏感的)
- -n:顺便输出行号
- -v:反向选择,也就是显示没有“搜寻字符串”内容的那一行
举例:
显示行号:
反向搜索:
htop指令
功能:一款交互式系统资源监控与进程管理工具
格式:htop -d ** -n **
- -d:刷新的时间间隔
- -n刷新的次数
zip指令
产生背景:打包 压缩与解压 解包 都是在本地的计算机上完成的,他减少的是文件的传输效率,相当于用空间来换时间
语法:zip [选项] 压缩文件名.zip 要压缩的文件或目录...
常用选项:
- -r:递归处理,将指定目录下的所有文件和子目录一并处理
用法:以为内我们常常打包压缩多个文件,所以不妨把那些文件放在一个目录下,然后再对那个目录进行递归打包,这样就可以实现对多个文件的打包
举例:
unzip指令
在解包的时候我们通常会把那个压缩包转移到一个新建的目录下,这是为了防止解压出来的文件对系统里面本身的文件造成污染。所以解压一般是配合着mv使用,但是也可以指定目录下解包
语法:unzip 压缩包 ( [选项] 指定目录 )
常用选项:
- -d:指定路径下解包
用法:如果没有-d,也就是指定路径解包,默认是在当前目录下解包
举例:
手动在指定路径下解包
使用命令中的选项在指定路径下解包
rzsz指令
这个指令分为两个小指令,认rz(接收文件)和sz(发送文件),主要功能是实现Linux系统和Windows系统之间的文件互传
rz指令:
sz:
tar指令
语法:tar [选项] 文件与目录
选项:
- -c:建立一个压缩文件的参数指令
- -z:告诉tar这个文档是否使用gzip算法
- -f:告诉tar具体要操作的是哪个压缩包文件
- -v:压缩过程中显示文件压缩进程
- -x:告诉tar要解压一个文件
- -C:解压到指定目录
- -t:查看tarfile里面的文件
举例:
压缩文件(值得注意的是:使用 tar czf
压缩目录时,会自动递归处理目录内的所有内容(包括子目录、文件等),无需额外添加 -r
选项)
解压:
bc指令
bc
是 Linux 命令行中一款强大的任意精度计算器工具,支持整数、浮点数运算,以及数学函数、条件判断、循环等简单编程功能,常用来在终端中快速执行数学计算
使用方法很简单,直接在命令界面输入bc,然后就可以进行计算了
uname -r 指令
uname是Linux / 类 Unix 系统中用于显示系统内核及硬件相关信息的命令,常用于快速查询系统的基本属性(如内核版本、硬件架构等)
- -a:内核名称 主机名 内核版本 内核编译信息 硬件架构 处理器类型 操作系统
- lsb_release -a:查看操作系统版本
举例:
-a:
lsb_release-a: