我们今天继续来学习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就行编号

mv命令是move的缩写,可以⽤来移动⽂件或者将⽂件改名(move (rename) files,经常⽤来备份⽂件
或者⽬录
语法: mv [选项] 源⽂件或⽬录 ⽬标⽂件或⽬录
功能:
- 视mv命令中第⼆个参数类型的不同(是⽬标⽂件还是⽬标⽬录),mv命令将⽂件重命名或将其
移⾄⼀个新的⽬录中。
- 当第⼆个参数类型是⽂件时,mv命令完成⽂件重命名,此时,源⽂件只能有⼀个(也可以是源⽬
录名),它将所给的源⽂件或⽬录重命名为给定的⽬标⽂件名。
- 当第⼆个参数是已存在的⽬录名称时,源⽂件或⽬录参数可以有多个,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]
- 在显⽰⽅⾯,使⽤者可以设定欲显⽰的格式,格式设定为⼀个加号后接数个标记,其中常⽤的标记
列表如下 ?
• %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
- 在设定时间⽅⾯?
• 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″ //这样可以设置全部时间
- 时间戳
• 时间->时间戳: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
功能:⽤于在⽂件树中查找⽂件,并作出相应的处理(可能访问磁盘)
