Linux系列文章(3)指令和权限

指令

接着上一次结束的内容,接着讲解更多的Linux基础指令

date指令

date指令用于显示时间,可以跟的选项非常多,只讲用的多的几个

date +%Y-%m-%d可以显示年月日(注意Y要大写,其中的-分隔符可以自己定义)

date +%H:%M:%S可以显示小时 分钟 秒,中间的分隔符同样可以自己定义

以上两条指令均可以拼接在一起使用

date +%s(小写)可以用时间戳的形式显示时间

date -d @时间戳 可以将时间戳转换为年月日几小时几分钟几秒

cal指令

作用是查看日历(公历)

单独输入指令会显示这个月的日历

cal [年份]查看固定年份的日历

cal -3查看近三个月的日历

find,which,whereis指令

三个都是查找的命令,不过使用的场景不一样

find [从哪里开始找] [找什么]可以在我们的计算机里查找任意的文件,除非无法访问

他是递归进行搜索,直到将指定的目录中的所有内容找完为止

which 在/usr/bin目录下查找指定的指令,并找到关联的alias

whereis 用于寻找库中关联的内容,比如ls,比如stdio,比如printf

常用的热键

Tab键可以用于补全指令,如果输入一个字符串,与之匹配的指令就一个,点击Tab键就能够将命令补全,如果匹配的指令不止一个,按下两次Tab键会将所有关联的指令都输出

ctrl c可以中断命令,如果你想让正在循行的命令行指令停下来,可以使用

ctrl d是非阻塞式检查,之后会讲解,可以用它关闭窗口

ctrl r打印出历史指令,默认存储最新的1000条

grep命令

这个命令可以将它理解成是一种按行的文本过滤工具

grep [过滤出来的内容的特征][要过滤的文件]

这个操作可以和管道结合使用,例如

cat text.txt | grep 999
grep 999 text.txt

两种写法效果是一样的

grep -n可以标出过滤出的内容出现在源文件的第几行

grep -v可以将过滤剩下的内容打印出来,可以理解为reverse

grep -i可以忽略大小写进行过滤

grep -R可以递归式的将所有文件中包含关键字的打印出来

这个操作可以用来搜索项目文件的特定函数

uname指令

可以用来查询系统机构

uname -a可以查询操作系统的类型,版本很多信息

el7表示是centOS7

x86_64 = x64

使用uname -r是查询操作系统地体系结构

zip和unzip

我们都见过Windows里面的zip压缩包

这两条指令就是用来压缩和解压缩的

如果我们的机器中没有这个命令,使用sudo yum install zip unzip下载即可

但是讲解之前我们应该线了解一下打包和压缩的意义:

1.将多个文件合并成一个文件,不容易造成文件丢失,设想一下如果我们直接传输所有的文件,如果里面的一两个文件发生丢失,需要很长时间去排查,但是如果我们打包压缩成一个整体,要丢失就全部丢失,我们只需要重新传一遍就可以了。

2.减少传输的体积,增快传输的速度

好的这就是打包压缩的意义,接下来接着将使用方法

zip -r [压缩包名称.zip] [压缩的东西]递归式地压缩文件,如果我们要压缩地是一个有内容的文件夹,就需要加上该选项(一般都需要加),不然的话就只能压缩一个空目录,没什么作用

unzip [压缩包名称] [解压的路径]会将压缩包解压到固定的路径中去

tar命令

tar也是用于打包压缩的工具,不过它的使用会更加地灵活

tar czf []打包压缩(c表示create,z表示使用zip方式压缩,f表示文件)

tar tzf 预览压缩包

tar xzf 解压缩

压缩方式有很多种,如果以后遇到不会地压缩解压缩方式,直接上网搜索即可

bc命令

呼出计算器,和windows里面的计算没有区别,只不过一个是命令行,一个有图形化界面

可以使用管道和其他指令结合在一起使用,比如

echo "1+2+3" | bc

就可以直接显示结果

shutdown关机指令

-h 将系统的指令停掉后立刻关机

-t [秒数]设置关机时间

-r重启

权限

我们已经知道指令的本质就是可执行文件,我们输入指令就是在调用可执行文件,但是这个操作并不是在操作操作系统

在Linux中我们使用命令对电脑进行操作,命令被命令行解释器解释之后传给操作系统,这种命令行解释器叫做shell(命令行解释器可以将用户的指令解释给OS,也可以将OS运行的结果翻译给用户),那么为什么要这样设计呢

1.OS直接使用难度太高,所以我们需要命令行解释器这个媒介来进行操作,翻译我们的行为

2.命令行是对操作系统的保护,对于用户的非法操作可以直接中断

相关推荐
Trouvaille ~12 分钟前
【Linux】TCP Socket编程实战(一):API详解与单连接Echo Server
linux·运维·服务器·网络·c++·tcp/ip·socket
芷栀夏19 分钟前
深度解析 CANN 异构计算架构:基于 ACL API 的算子调用实战
运维·人工智能·开源·cann
全栈工程师修炼指南29 分钟前
Nginx | stream 四层反向代理:SSL、PREREAD 阶段模块指令浅析与实践
运维·网络·网络协议·nginx·ssl
旖旎夜光1 小时前
Linux(13)(中)
linux·网络
威迪斯特1 小时前
CentOS图形化操作界面:理论解析与实践指南
linux·运维·centos·组件·图形化·桌面·xserver
一方热衷.2 小时前
在线安装对应版本NVIDIA驱动
linux·运维·服务器
独自归家的兔2 小时前
ubuntu系统安装dbswitch教程 - 备份本地数据到远程服务器
linux·运维·ubuntu
m0_694845572 小时前
tinylisp 是什么?超轻量 Lisp 解释器编译与运行教程
服务器·开发语言·云计算·github·lisp
ONE_SIX_MIX2 小时前
ubuntu 24.04 用rdp连接,桌面黑屏问题,解决
linux·运维·ubuntu
龙飞052 小时前
Systemd -systemctl - journalctl 速查表:服务管理 + 日志排障
linux·运维·前端·chrome·systemctl·journalctl