【Linux系统编程】基础指令(三)

简介: 【Linux系统编程】基础指令(三)

💞💞 前言

hello hello~ ,这里是大耳朵土土垚~💖💖 ,欢迎大家点赞🥳🥳关注💥💥收藏🌹🌹🌹

Linux系统中,有许多基础指令可以用于文件管理、系统操作和网络通信等。下面是一些常见的Linux基础指令:

1.echo指令

  • 语法

echo [选项] [内容]

  • 功能

在Linux中,echo指令用于在终端上显示文本或变量的内容。它的常见用法是将文本输出到终端或将文本写入文件。

  • 例如

以下是一些常见的echo指令用法示例:

✨1. 显示文本:

echo 'Hello, World'

输出:Hello, World!

结果如下:

✨2. 显示环境变量:

echo $PATH

结果如下:

✨3. 输出到文件:

echo 'Hello, World!' > output.txt

将文本输出到output.txt文件中。

结果如下:

我们可以使用之前学过的指令cat来打印output.txt文件中的内容

✨4. 追加到文件:

echo 'Hello, Linux!' >> output.txt

将文本追加到output.txt文件末尾。

结果如下:


这些只是常见的用法示例,echo指令还有其他用法和选项,可以通过在终端上输入"man echo"来查看更多详细信息。

2.date指令

  • 用法

date [选项] [+格式]

  • 功能

date指令是在Linux和Unix系统中用于显示和设置系统日期和时间的命令。它可以显示当前的日期和时间,也可以用于设置系统的日期和时间。

  • 例如

以下是一些常见的date指令用法示例:

✨1. 显示当前日期和时间:

date

结果如下:

✨2. 显示特定格式的日期和时间:

date +<格式>


常用的日期和时间格式选项如下:


%Y:四位数的年份(例如:2022)

%m:两位数的月份(01-12)

%d:两位数的日期(01-31)

%H:24小时制的小时数(00-23)

%M:分钟数(00-59)

%S:秒数(00-59)

%Z:时区(例如:UTC)

%F : 相当于 %Y-%m-%d

例如打印当前年月日:

date +%Y:%m:%d


结果如下:

✨3. 设置系统日期和时间(需要root权限):

date -s "<日期和时间>"
  • date -s //设置当前时间,只有root权限才能设置,其他只能查看。
  • date -s 20080523 //设置成20080523,这样会把具体时间设置成空00:00:00
  • date -s 01:01:01 //设置具体时间,不会对日期做更改

date -s “01:01:01 2008-05-23″ //这样可以设置全部时间

date -s “01:01:01 20080523″ //这样可以设置全部时间

date -s “2008-05-23 01:01:01″ //这样可以设置全部时间

date -s “20080523 01:01:01″ //这样可以设置全部时

✨4. 时间戳

Unix时间戳(英文为Unix epoch, Unix time, POSIX time 或 Unix timestamp)是从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒。

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

例如:

上述图片中通过date +%s指令将时间转化为时间戳,再通过 date -d@1714271381将时间戳转化为对应的时间。

3.cal指令

  • 语法

cal [选项][月份][年份]

  • 功能

cal指令是在Linux和Unix操作系统中用于显示指定月份的日历的命令。它以日历的形式显示一个月的日期,并以星期几作为标题。

  • 常用选项

-3: 显示前一个月、当前月和下一个月的日历。

-y: 显示全年日历。

-j: 显示每个月的天数而不是日期。

-m: 以一行显示日历。

-w: 以周为单位显示。

使用示例

✨1. 显示当前月份的日历:

cal


结果如下:

✨2. 显示指定月份的日历:

cal 5 2022

结果如下:

✨3. 显示指定年份的全年日历:

cal -y 2022

结果如下:

✨4. 显示当前月份及其前一个月和下一个月的日历:

cal -3


结果如下:

4.zip/unzip指令✨

✨✨zip指令

  • 语法

zip [选项] [压缩文件名] [源文件]…

  • 功能

将目录或文件压缩成zip格式,它可以将多个文件或文件夹打包成一个压缩文件,方便传输和存储。

  • 常用选项

-r 递归处理,将指定目录下的所有文件和子目录一并处理

例如:

✨1. 压缩单个文件:

  • 可以看到这里有file1,file2,file3三个文件,我们可以使用zip指令先将这file1文件压缩为file1.zip文件
zip file1.zip file1

如果大家在压缩时出现了以下的内容:

可以输入指令yum install -y zip来下载zip:

出现complete就可以使用了🥳🎉🎉

结果如下:

✨2. 压缩多个文件:

  • 我们还可以使用zip指令将file1,file2,file3三个文件打包压缩为file.zip文件
zip file.zip file1 file2 file3

结果如下:

✨3. 压缩目录

  • 对于目录我们就可以使用选项-r来递归压缩目录及其子目录:

例如:


这里有dir1目录,我们可以使用-r选项将目录及其子目录压缩

zip -r dir1.zip dir1

结果如下:

✨✨unzip指令:

  • 语法

unzip [选项] [压缩文件名]

  • 功能

unzip是一个常用的命令行工具,用于解压缩压缩文件。它可以将压缩文件(如.zip文件)解压缩成原始文件和目录。

  • 常用选项

-l:列出压缩文件中的文件和目录。

-q:静默模式,不显示解压缩进度。

-o:覆盖已存在的文件。

-d 目标目录:指定解压缩文件的目标目录。

例如:

  1. 基本解压:

如下图所示:

我们可以将file1.zip文件解压:

unzip file1.zip

结果如下:

  1. 解压至指定目录:

我们可以将上图中的file1.zip解压至dir1目录中:

unzip file1.zip -d dir1

结果如下:

5.tar指令✨

  • 语法

tar [选项] [归档文件] [文件/目录]

  • 功能

用于对文件和文件夹进行压缩和解压缩操作。

  • 选项

c:创建一个新的归档文件

x:从归档文件中提取文件

t:显示归档文件中的文件列表

f:指定归档文件的名称

v:在命令行界面显示详细操作信息

z:使用gzip压缩或解压缩归档文件

j:使用bzip2压缩或解压缩归档文件

r:向归档文件中添加新文件或目录

u:仅向归档文件中添加新的或更新的文件

p:保留文件的权限和属性

例如:

✨1. 创建一个压缩文件:

如下图所示:

当前目录下有file文件,我们可以使用tar指令将其压缩:

tar -czvf archive.tar file

结果如下:

✨2. 解压缩一个压缩文件:

如下图所示:

当前目录下有一个压缩文件,我们使用tar命令对它解压:

tar -xzvf archive.tar.gz

结果如下:

✨3.创建一个包含多个文件和目录的压缩文件:

tar -czvf archive1.tar file file1 dir1

4.查看压缩文件中的文件列表(不用解压直接查看):

tar -tzvf archive.tar

结果如下:

可以看到,该压缩文件中包含file文件;

6.结语

这些只是一部分常见的Linux基础指令,加上之前的Linux基础指令一Linux基础指令二,常见的Linux基础指令更新就到这里啦~以上就是今天的所有内容啦 ~ 完结撒花 ~ 🥳🎉🎉

相关文章
|
3月前
|
Ubuntu Linux Anolis
Linux系统禁用swap
本文介绍了在新版本Linux系统(如Ubuntu 20.04+、CentOS Stream、openEuler等)中禁用swap的两种方法。传统通过注释/etc/fstab中swap行的方式已失效,现需使用systemd管理swap.target服务或在/etc/fstab中添加noauto参数实现禁用。方法1通过屏蔽swap.target适用于新版系统,方法2通过修改fstab挂载选项更通用,兼容所有系统。
281 3
Linux系统禁用swap
|
3月前
|
Linux
Linux系统修改网卡名为eth0、eth1
在Linux系统中,可通过修改GRUB配置和创建Udev规则或使用systemd链接文件,将网卡名改为`eth0`、`eth1`等传统命名方式,适用于多种发行版并支持多网卡配置。
426 3
|
Ubuntu Linux 网络安全
Linux系统初始化脚本
一款支持Rocky、CentOS、Ubuntu、Debian、openEuler等主流Linux发行版的系统初始化Shell脚本,涵盖网络配置、主机名设置、镜像源更换、安全加固等多项功能,适配单/双网卡环境,支持UEFI引导,提供多版本下载与持续更新。
382 0
Linux系统初始化脚本
|
4月前
|
运维 Linux 开发者
Linux系统中使用Python的ping3库进行网络连通性测试
以上步骤展示了如何利用 Python 的 `ping3` 库来检测网络连通性,并且提供了基本错误处理方法以确保程序能够优雅地处理各种意外情形。通过简洁明快、易读易懂、实操性强等特点使得该方法非常适合开发者或系统管理员快速集成至自动化工具链之内进行日常运维任务之需求满足。
280 18
|
3月前
|
安全 Linux Shell
Linux系统提权方式全面总结:从基础到高级攻防技术
本文全面总结Linux系统提权技术,涵盖权限体系、配置错误、漏洞利用、密码攻击等方法,帮助安全研究人员掌握攻防技术,提升系统防护能力。
331 1
|
3月前
|
监控 安全 Linux
Linux系统提权之计划任务(Cron Jobs)提权
在Linux系统中,计划任务(Cron Jobs)常用于定时执行脚本或命令。若配置不当,攻击者可利用其提权至root权限。常见漏洞包括可写的Cron脚本、目录、通配符注入及PATH变量劫持。攻击者通过修改脚本、创建恶意任务或注入命令实现提权。系统管理员应遵循最小权限原则、使用绝对路径、避免通配符、设置安全PATH并定期审计,以防范此类攻击。
1055 1
|
4月前
|
缓存 监控 Linux
Linux系统清理缓存(buff/cache)的有效方法。
总结而言,在大多数情形下你不必担心Linux中buffer与cache占用过多内存在影响到其他程序运行;因为当程序请求更多内存在没有足够可用资源时,Linux会自行调整其占有量。只有当你明确知道当前环境与需求并希望立即回收这部分资源给即将运行重负载任务之前才考虑上述方法去主动干预。
1644 10
|
NoSQL Unix Linux
Linux下的系统编程——守护进程、线程(十二)
Linux下的系统编程——守护进程、线程(十二)
191 0
Linux下的系统编程——守护进程、线程(十二)
|
存储 Linux Shell
Linux系统编程(守护进程)
Linux系统编程(守护进程)
174 0
|
NoSQL Ubuntu Unix
linux系统编程(十)守护进程、线程(上)
linux系统编程(十)守护进程、线程
415 0
linux系统编程(十)守护进程、线程(上)