Linux的第二章 : 基础的指令(二)

我们今天继续来学习Linux的基础指令,今天这篇博客要讲的指令很多哦

这里先给一个汇总,方便你查找

echo

printf

cat

tac

mv

more

less

date

cal

which

whereis

find

head

tail

话不多说,我们开始!!

我们先来学一下输出字符

1.echo

echo 是 Linux 和 Unix 系统中一个非常常用的命令,主要用于在终端输出文本或变量的值。它功能简单但用途广泛,尤其在脚本编程和系统管理中。

echo [选项] [字符串]

-n # 禁止输出末尾的换行符

-e # 启用转义字符解释

-E # 禁用转义字符解释(默认)

这里我们只需要知道echo [字符串]这个就行了

  • 不需要解析(固定文本 / 特殊字符)→ 单引号 ' '
  • 需要解析(变量 / 命令)→ 双引号 ""
  • 极简纯文本 → 可不加引号(但不推荐,易踩坑)

总之,他的意思就是将echo后面输入的字符串输出or解析输出,而且底层会自动添加换行符哦

2.printf

是不是和c语言的printf一样。因为linux底层是汇编和c语言写的,但是这个只是长得一样,实际不一样哦

它也是输出,但是不会自动添加换行符,需要我们手动添加

3.cat

语法: cat [选项] [⽂件]

功能: 查看⽬标⽂件的内容

常⽤选项:

• -b 对⾮空输出⾏编号,空⾏不做编号

• -n 对输出的所有⾏编号

• -s 不输出多⾏空⾏

它会将后面的⽬标⽂件的内容输出

4.tac

顾名思义,就是cat反过来,也就是倒着输出,但要注意,这个无法使用-n就行编号

5.mv

mv命令是move的缩写,可以⽤来移动⽂件或者将⽂件改名(move (rename) files,经常⽤来备份⽂件

或者⽬录

语法: mv [选项] 源⽂件或⽬录 ⽬标⽂件或⽬录

功能:

  1. 视mv命令中第⼆个参数类型的不同(是⽬标⽂件还是⽬标⽬录),mv命令将⽂件重命名或将其

移⾄⼀个新的⽬录中。

  1. 当第⼆个参数类型是⽂件时,mv命令完成⽂件重命名,此时,源⽂件只能有⼀个(也可以是源⽬

录名),它将所给的源⽂件或⽬录重命名为给定的⽬标⽂件名。

  1. 当第⼆个参数是已存在的⽬录名称时,源⽂件或⽬录参数可以有多个,mv命令将各参数指定的源

⽂件均移⾄⽬标⽬录中。

常⽤选项:

• -f :force 强制的意思,如果⽬标⽂件已经存在,不会询问⽽直接覆盖

• -i :若⽬标⽂件 (destination) 已经存在时,就会询问是否覆盖!

我们只需要学习最基本的用法就行 mv 源⽂件或⽬录 ⽬标⽂件或⽬录

现在我们知道了增删改,那查呢,那在实际工程里面,我们要时时查看工作日志,那我们该如何查看日志呢

6.more

语法: more [选项]

功能:more命令,功能类似 cat

常⽤选项:

• -n 指定输出⾏数

• q 退出more

但是这个已经out了,我们现在更多的是使用less

7.less

• less ⼯具也是对⽂件或其它输出进⾏分⻚显⽰的⼯具,应该说是linux正统查看⽂件内容的⼯具,

功能极其强⼤

• less 的⽤法⽐起 more 更加的有弹性,在 more 的时候,我们并没有办法向前⾯翻, 只能往后⾯

• 但若使⽤了 less 时,就可以使⽤ [pageup] [pagedown] 等按键的功能来往前往后翻看⽂件,更

容易⽤来查看⼀个⽂件的内容

• 除此之外,在 less ⾥头可以拥有更多的搜索功能,不⽌可以向下搜,也可以向上搜。

语法: less [参数] ⽂件

功能:less与more类似,但使⽤less可以随意浏览⽂件,⽽more仅能向前移动,却不能向后移动,⽽

且less在查看之前不会加载整个⽂件。

可是这一次将文件打开这么多,我只希望看最近的或者最开始的,那岂不是很麻烦,还要翻来翻去

于是就有了head和tail

8.head与tail

head 与 tail 就像它的名字⼀样的浅显易懂,它是⽤来显⽰开头或结尾某个数量的⽂字区块,head ⽤

来显⽰档案的开头⾄标准输出中,⽽ tail 想当然尔就是看档案的结尾。

语法:

head [参数]... [⽂件]...

功能:

head ⽤来显⽰档案的开头⾄标准输出中,默认head命令打印其相应⽂件的开头10⾏。

选项:

• -n<⾏数> 显⽰的⾏数

那我们怎么查看中间的日志呢,比如510行到520行

那么就需要利用管道(|)了

日志是查好了,可是光有日志有什么用,我们还必须知道时间,现在我们就来看看关于时间的指令

9.date

指定格式显⽰时间: date +%Y:%m:%d

⽤法: date [OPTION]... [+FORMAT]

  1. 在显⽰⽅⾯,使⽤者可以设定欲显⽰的格式,格式设定为⼀个加号后接数个标记,其中常⽤的标记

列表如下 ?

• %H : ⼩时(00..23)

• %M : 分钟(00..59)

• %S : 秒(00..61)

• %X : 相当于 %H:%M:%S

• %d : ⽇ (01..31)

• %m : ⽉份 (01..12)

• %Y : 完整年份 (0000..9999)

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

  1. 在设定时间⽅⾯?

• 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″ //这样可以设置全部时间

  1. 时间戳

• 时间->时间戳:date +%s

• 时间戳->时间:date -d@1508749502

• Unix时间戳(英⽂为Unix epoch, Unix time, POSIX time 或 Unix timestamp)是从1970年1⽉1

⽇(UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒

这个在使用的时候查就行,不需要记忆

10.cal

cal命令可以⽤来显⽰公历(阳历)⽇历。公历是现在国际通⽤的历法,⼜称格列历,通称阳历。"阳

历"⼜名"太阳历",系以地球绕⾏太阳⼀周为⼀年,为西⽅各国所通⽤,故⼜名"西历"。

命令格式: cal 参数 [年份]

功能:⽤于查看⽇历等时间信息,如只有⼀个参数,则表⽰年份(1-9999),如有两个参数,则表⽰⽉份

和年份

常⽤选项:

• -3 显⽰系统前⼀个⽉,当前⽉,下⼀个⽉的⽉历

• -j 显⽰在当年中的第⼏天(⼀年⽇期按天算,从1⽉1号算起,默认显⽰当前⽉在⼀年中的天数)

• -y 显⽰当前年份的⽇历

现在时间也知道啦,可是当我想知道这些指令在Linux底层的路径是什么的时候,怎么找到呢

这个时候我们就要使用最后三个指令,which,whereis,find了

11.which

功能:搜索系统指定的命令

12.whereis

功能:⽤于找到程序的源、⼆进制⽂件或⼿册

13.find

Linux下find命令在⽬录结构中搜索⽂件,并执⾏指定的操作。

• Linux下find命令提供了相当多的查找条件,功能很强⼤。由于find具有强⼤的功能,所以它的选

项也很多,其中⼤部分选项都值得我们花时间来了解⼀下。

• 即使系统中含有⽹络⽂件系统( NFS),find命令在该⽂件系统中同样有效,只你具有相应的权

限。

• 在运⾏⼀个⾮常消耗资源的find命令时,很多⼈都倾向于把它放在后台执⾏,因为遍历⼀个⼤的

⽂件系统可能会花费很⻓的时间(这⾥是指30G字节以上的⽂件系统)。

语法: find pathname -options

功能:⽤于在⽂件树中查找⽂件,并作出相应的处理(可能访问磁盘)

好啦,今天就先学这么多啦,还有很多指令,我们明天继续

希望这篇博客读你有帮助>.<

相关推荐
安审若无2 小时前
linux怎么检查磁盘是否有坏道
linux·运维·服务器
大梦南柯2 小时前
linux创建网站
linux·运维·服务器
刘永鑫Adam2 小时前
代码管理及Linux模拟工具Git for Windows安装使用教程
linux·运维·服务器·git
孙同学_2 小时前
【Linux篇】信号从哪来?到哪去?—— Linux信号的产生方式与保存机制
linux·运维·服务器
唐古乌梁海2 小时前
【linux】crontab 命令详解,linux定时任务
linux·运维·服务器
aitav02 小时前
⚡ Linux awk 命令全面详解(包括记录、字段、命令空间)
linux·运维·服务器·bash·shell·awk
egoist20232 小时前
[linux仓库]线程同步与生产者消费者模型[线程·陆]
linux·c语言·开发语言·线程同步·阻塞队列·生产者消费者模型
qq_401700412 小时前
Linux 理解 nohup cmd & 后台运行机制
linux·运维·服务器
此生只爱蛋2 小时前
【Linux】TCP
linux·tcp/ip