✨个人主页: Yohifo
🎉所属专栏: Linux学习之旅
🎊每篇一句: 图片来源
🎃操作环境: CentOS 7.6 阿里云远程服务器
You can’t use up creativity. The more you use, the more you have.
创造力是用之不竭的,你用的越多,拥有的就越多。
📘前言
对于Linux初学者来说,最头疼的莫过于各种各样的英文指令,比如什么 ls 、touch、pwd 等等,如果单纯的依靠文档学习,理解起来是比较困难的。于是我决定花费大量时间,总结多达40+条基础指令用法,配合动图演示,让大家能够轻松理解、掌握它们,指令很多,文章很长,有需要的同学可以通过文章目录跳转查看指定指令。
这是Linux中的一个小应用,安装好后,可以通过指令 sl 调出这个小火车
📘正文
📖whoami
首先我们先来学习Linux中的第一条指令:whoami
语法:whoami
功能:查看当前的操作用户
说明:在Linux中,用户分为普通用户和超级用户,超级用户只有一个,就是根 root;而普通用户可以通过指令创建很多个,为了防止进错用户空间,可以通过 whoami 查看当前的用户是谁
📖ls
语法:ls [命令选项] [目录或文件]
ls -a 查看当前目录下的所有文件,包括隐藏文件
ls -l 查看当前目录下文件的详细信息,包括大小和权限信息
ls -s 查看文件的大小,以块为单位
ls -d 指定目录后,只查看目录信息,而非其中的文件信息
ls -R 递归展示当前目录下的所有文件,如果是目录,会接着往下展
ls -1 查看文件时,一行只显示一个文件
功能:查看文件信息
说明:ls 只是单纯的查看当前目录下的文件信息,如果想要使用更多功能,需要配合各种各样的命令选项操作,其中命令选项可以配合使用,比如 ls -laR
注意:
下面将会以动图展示上面提到的所有命令,包括最后的 ls -laR,当然以上只是 ls 的部分命令选项,关于更多知识可以去官方文档中学习
ls -l 展示详细信息的命令可以简写为 ll
📃clear
语法:clear
功能:清理屏幕
说明:这是一个绝对高频使用的命令,总所周知,Linux的操作都是以命令行的方式完成的,但是电脑上的黑框框(运行框)显示范围有限,指令给多后,屏幕就被占满了,很不舒服,于是 clear 这个指令能快速帮我们清屏
📖cd
语法:cd [命令选项] [目录或路径]
cd .. 返回至上一级目录
cd 当前目录下的目录名 切换至当前目录下的指定目录中,前提是目录存在
cd 绝对路径 直接跳转至指定目录
cd ~ 可以直接切换到家目录下
cd - 可以在最近访问的某个路径和当前路径之间反复横跳
功能:在不同目录间切换,改变工作目录
说明:如果直接 cd 目录名 表示切换至当前目录下的指定目录中,目录不存在则切换失败;cd 绝对路径 时,绝对路径要给对,从根目录开始,逐级至目标目录,如 cd /home/Yohifo
📖pwd
语法:pwd
功能:显示当前所处路径,从根目录开始显示
说明:pwd 常常用来查看当前位置,对于 cd 跳转命令来说,知道自己当前在哪是很重要的,pwd 是一个高频使用的小命令
📃tab
语法:tab
功能:补全命令提示或者查询指定目录下的文件
说明:配合 cd 使用,当 cd 进入目录时,只需要输入目录部分信息,点按 tab 就可以补全所有信息,前提是这个目录存在;tab 还可以用来查看目录中的文件信息(不需要进入目录),语法为 目录/ tab ;tab 还可以用来显示指令信息,连按两次就行
📃tree
语法:tree [目录]
功能:将指定目录中的所有文件以树状结构展开,如果不加目录,默认展开当前所有目录
说明:tree 是一个扩展应用,如果指令失效,说明还没有安装这个应用,需要在 root 账户下输入 yum install -y tree 下载该应用
📃Ctrl+c
语法:Ctrl+c
功能:可以用来终止程序的运行,比如在使用Linux时,可能会触发莫名其妙的死循环,这时可以使用 Ctrl+c 使程序终止运作
说明:在 Linux 中,Ctrl+c 并不是复制,Ctrl+v 也不是粘贴,如果想要复制文本,需要使用 Ctrl+Insert ,而粘贴是 Shift+Insert
📖touch
语法:touch [选项] [文件]
touch -a 只更改存取时间
touch -m 只更改变动时间
touch -d 使用指定的时间而非现在的时间
功能:可更改文档或目录的日期时间,包括存取时间和更改时间;还可以创建指定文件
说明:touch 指令通常用来创建文件而非目录,
📃nano
语法:nano [文件]
功能:打开指定文件进行编辑,可以编写代码
说明:nano 是一个小型记事本,适合前期使用,如果指令失效的话,说明没有安装此应用,需要在 root 账户下输入 yum intall -y nano 进行下载
📃cat
语法:cat [文件]
功能:查看指定文件内容
说明:cat 其实叫输出重定向,包含内容比较多,这里只是简单提一下,记住 cat 文件 能够查看文件内容就行了
📃stat
语法:stat [文件]
功能:查看文件的详细信息
说明:任何一个文件都会有三种时间(ACM):
Access 访问,最后一次访问文件的时间
Modify 修改,最后一次修改文件或目录的时间
Change 更改,最后一次改变文件或目录(属性)的时间
当 Modify 时,Change 一定会跟着改变,而修改文件未必需要访问文件,因此 Access 可能与修改无关
📖mkdir
语法:mkdir [选项] dirname
mkdir -p dirname1/dirname2/... 递归创建目录
功能:在当前目录下,创建一个名为 dirname 的目录
说明:目录是通过 mkdir 创建的,目录下可创建其他文件或目录,而文件只能往其中填写内容
📃rmdir
语法:rmdir [选项] [目录]
rm -p dirname1/dirname2/... 当子目录被删除后,父目录变成空目录,会递归删除父目录
功能:删除空目录
说明:这是一个比较奇葩的指令,它只能删除空目录,如果是含有内容的目录,得通过 rm -r 删除
📖rm
语法:rm [选项] [文件或目录]
rm -i 删除前逐一询问确认
rm -r 递归删除目录
rm -f 强制删除文件,即使文件只读
功能:可以删除文件,或者递归删除目录
说明:在删除目录时,需要带上 -r 选项,意为递归删除,不论目录是否为空都可以删除
📖man
语法:man [选项] 命令
man -k 根据关键字进行联机搜索
man num 命令 在手册的第num章节查询命令信息
man -a 在所有章节中进行查询
功能:查看命令的详细信息
说明:man 手册共分为八章
普通命令
系统调用
库函数
特殊文件
文件格式
游戏
附件及一些变量
系统管理用的命令
📖cp
语法:cp [选项] 源文件或源目录 目标文件或目标目录
cp -i 涉及文件覆盖前发出询问
cp -r 递归拷贝目录及其中的文件
cp -f 强制覆盖,无视询问语句
功能:拷贝文件或目录,相当于 Ctrl+c 和 Ctrl+v 复制粘贴
说明:复制的文件或目录要存在,拷贝目录需要递归拷贝
📖mv
语法:mv [选项] 源文件或源目录 目标文件或目标目录
mv -i 如果目标文件已存在,会询问是否继续
mv -f 强制移动,无视询问语句
功能:可以对文件或目录做出移动操作,当目标文件不存在时,会自动创建,然后再覆盖,这样就完成了一次文件重命名;mv 指令默认自带递归属性
说明:mv 指令对文件重命名后,源文件会丢失,数据移入新文件中,相当于 Ctrl+x 剪切
📖cat
语法:cat [选项] [文件]
cat -n 查看内容时,输出对应行号(包括空白行)
cat -b 查看内容时,输出对应行号(不包括空白行)
cat -s 出现多行空格时,只显示一行
功能:查看目标文件的内容,输入重定向
说明:cat 默认从键盘读取数据,加上文件后从文件读取,形式为 cat < 文件 其中 < 可省略
📃echo
语法:echo [选项] 内容 > [文件]
echo -n 写入内容时,不自动换行
echo >> 追加文件,而不是直接覆盖
功能:向文件写入内容,输出重定向
说明:echo 内容 > [文件] 向文件写入内容时,> 不能省略;如果是追加内容,需要使用 >>
📃wc
语法:wc [文件]
wc -l 只查看行数
功能:查看文件信息,包括已换行数、词数、大小(字节)
说明:默认显示信息依次为 已换行数 字词数(以空白字符划分) 字节数
📖more
语法:more [选项] [文件]
q 在查看文档时,可通过 q 退出查看模式
功能:查看篇幅较长的文档
说明:more 功能较少,使用起来比较局限,只能往下翻查看文件,不能往上翻
📖less
语法:less [文件]
/字符串 向下搜索字符串
?字符串 向上搜索字符串
i 搜索时忽略大小写
功能:查看长文档,功能更齐全,也更好用
说明:less 是 Linux 中正统的文档查看工具,依靠方向键控制查看,可以向任意方向翻看文档
📖head
语法:head [参数] [文件]
head -50 查看前五十行
功能:可以查看文档的指定前n行,默认查看前10行
说明:无
📖tail
语法:tail [参数] [文件]
tail -50 查看后五十行
功能:可以查看文档的指定后n行,默认查看后10行
说明:无
📖|
语法:|
功能:借助管道临时存储数据
说明:计算机中最重要的资源就是数据,可以通过管道 |,先把数据暂时存放到管道中,再使用;也可以借助管道,通过多条指令组合,提取到指定数据
示例:借助管道,读取到文档的 500行 ~ 520行
📖date
语法:date [选项]
date +%Y-%m-%d_%H:%M:%S 将时间按照一定格式输出
date +%s 获取当前时间戳
date -d 时间戳 把时间戳转化成对应时间
功能:获取当前的时间,或按指定格式输出时间
说明:时间戳是指从1970年1月1日0时0分0秒到现在所经过的时间,是计算机中的一个重要概念
注意: 对于本地时间来说,时间戳0表示 1970-1-1 8:00,因为我们在东八区,多八个小时
📖cal
语法:cal [选项]
cal -3 查看最近三个月的日历
cal 2019 查看2019年的日历
功能:查看日历
说明:默认不加任何选项,查看本月的日历
📖sort
语法:sort [文件]
sort -r 降序
功能:对文件内容进行排序
说明:默认为升序,排序依据为ASCII码值大小
📖uniq
语法:uniq [文件]
功能:对文件内容进行去重
说明:相邻且重复的内容才会被处理,因此 uniq 通常借助 | 和 sort 进行去重
📖find
语法:find 路径 [选项]
find 路径 -name test 在指定路径下,查找名为test的文件
find 路径 -type 在指定路径下,查找指定类型文件
功能:在指定路径下查问文件
说明:Linux中共有7种文件类型,其中 d 是目录文件
📃which
语法:which [命令]
功能:查看命令在系统中的存储位置和相关信息
说明:无
📃whereis
语法:whereis [目标]
功能:搜索指定程序、文档的位置
说明:无
📃alias
语法:alias 目标指令='源指令'
功能:为比较长的指令起别名
说明:相当于重命名
📖grep
语法:grep [选项] [目标] [源文件]
greap -n dst src 在src文件中,过滤出 dst,并且输出对应行
grep -i 过滤时,忽略大小写
grep -v 反向过滤,显示除过滤值外的值
功能:行文本过滤工具
说明:过滤为整行过滤,假设文档为一段话,如果搜索到待过滤值,那么整行文本都会被显示,同理,反向过滤时整行文本都不会显示,因为它们是一个整体
📖top
语法:top
功能:查看当前系统运行情况
说明:相当于Windows中的任务管理器
📖zip
语法:zip [选项] 压缩文件.zip 目标文件或目录
zip -r 递归压缩,用于压缩目录
功能:压缩文件或目录
说明:zip 为一个应用程序,指令无效的需要自行下载
📃unzip
语法:unzip 压缩文件.zip
功能:对已压缩的文件进行解包
说明:无
📖tar
语法:tar [选项] 文件或目录
tar -czf 可以打包文件,后缀为 tgz
tar -xzf 解包文件
tar -ztvf 在不解包的情况下,查看压缩包内的文件
功能:集解压缩为一体
说明:tgz 也是 Linux 中常见的压缩包后缀;两种压缩方式 zip 与 tar ,默认都是解压到当前路劲下,但是可以通过 -d 与 -C 指定路径
📖bc
语法:bc
功能:计算器,可以很方便的进行浮点数运算
说明:可以通过管道 | 配合 echo 直接显示计算结果
📖uname
语法:uname [选项]
uname -a 查看详细信息
uname -r 查看关键信息,即软硬件信息
功能:查看系统信息
说明:cat /etc/redhat-release 可以查看当前系统的信息(CentOs)
📖热键
ctrl+d 退出
ctrl+r 可以在历史命令中进行智能搜索
history 查看历史命令
reboot 可以重启系统(需要root权限)
shutdown 可以关机(云服务器不需要关机)
📘总结
以上就是关于 Linux 基础命令介绍的全部内容了,大体可分为五类:创建、读取、修改、查找、解压,不同的类别中又包含了很多具体命令,而几乎每个命令都有不同的命令选项,全部一一介绍完不太可能,因此本文中只节选了部分命令选项进行讲解,有需要的同学可以去官网进行学习,最后希望你能在其中学到有用的知识!
如果你觉得本文写的还不错的话,期待留下一个小小的赞👍,你的支持是我分享的最大动力!
如果本文有不足或错误的地方,随时欢迎指出,我会在第一时间改正