0.前言
您好,这里是limou3434的一篇关于Linux基础操作的博文。感兴趣的话,可以看看我的其他博文系列。本次我给您带来的是Linux下的几个基础命令,学会这些命令您就可以开始在Linux管理和操作一些文件了。
注意:本次演示环境是在VW虚拟机下的Centos7操作系统。
1.操作系统的体系结构(简易版本)
用户->操作系统->各种硬件对应的驱动程序->硬件。
这只是为了增强一些您对操作系统的认知,稍微记一下就可以。
2.Linux的基础操作
首先,您一定要舍弃Xwindow(Centos中的界面,就是Centos中的一款软件,进程的形式启动,就像windows打开QQ是一样,windows图形没有启动出来就算没有启动,都是Linux不一样。而Xwindow是Linux的图形化界面的简称)
只有多多使用存指令,才能更好走未来的道路。
3.命令行bush的基础操作
bush实际上就是个类似Windows下“命令提示符”的软件,用来和操作系统进行交互。
类似于Windows下的命令提示符(win+R后键入cmd回车即可打开)
3.1.ls指令
显示当前路径下的目录名和文件名,“ls”实际上有很多的选项可选。实际上目录也可以理解为一种文件(Linux底下一切皆文件)
- “-a”列出当前目录下的所有文件,包括以“.”开头的隐藏文件
- “-l”则列出文件的详细信息(属性),可以简略“ls -l”为“ll”指令
- “-i”则可以查看文件的inode编号,后面会接着补充这个inode编号的作用
- “-t”以时间顺序排序文件
- “-r”将文件反向排序
- “-R”列出所有子目录的文件
- “-F”在每个文件名后附上一个字符以说明文件的类型(“*”表示可执行的普通文件、“/”表示目录、“@”表示符号链接、“|”表示FIFOs、“=”表示套接字sockets)
在查找文件的时候,可以使用通配符“*”来查找文件。
注意“文件 = 内容数据 + 属性数据”,哪怕是空文件也需要在磁盘上占用空间,而Linux隐藏文件/目录的方式是“名字以.开头”。
3.2.pwd指令
显示用户当前所处的路径/位置,注意Linux的路径风格符和Windows不同,是“/”,一串文件的绝对路径的最开头的“/”也被经常叫做“根目录”
3.3.mkdir指令
在当前路径下创建一个“目录”,或者叫“文件夹”。
mkdir指令也有其他的选项:
“-p”,mkdir不能连续创建连续的一串目录,但是加上这个选项就可以
3.4.touch指令
在当前路径下创建一个“普通文件”。另外touch指令还有一个作用就是“更新文件最近修改时间”,对于已经存在的文件,再次touch就会发现其最近修改时间属性发生了变化(包括目录也可以生效)。
3.5.cd指令
进入到一个路径里,在Linux中磁盘上的文件采用目录树的方式存储文件。度不为0的节点为目录、度为0的叶子节点为文件,这样的设计能使得文件拥有唯一标识的路径。
其中“.”表示当前目录,“…”表示上一级目录。
从根目录开始的路径称为“绝对路径”,使用“.”和“…”为参考点表示的路径称为“相对路径”。
cd指令还有一些快捷的用法:
- “cd ~”能快速到达当前普通用户的“用户文件夹/工作目录/家目录”,对于root而言,root的家目录是“/root”
- “cd -”能快速恢复到上一次所处的路径
3.6.whoami指令
查看当前所使用的用户,显示出用户名。
3.7.su指令
使用“su -”后输入密码,能够切换成root用户。
3.8.stat指令
stat指令是用来显示文件或目录的详细属性信息的。
- Size是文件大小
- Device和Inode标识文件所在的设备和节点号
- Access、Modify、Change分别表示:最后访问时间、内容最后修改时间、属性最后修改时间
- Uid、Gid分别表示:文件的所有者、文件的所属组
3.9.tree指令
tree指令可以以多叉树的形式显示出目录下的子目录和文件。
一般情况下,该指令可能没有安装,可以使用yum安装(yum是一个软件包管理,类似于Windows下的微软商店),安装过程为:先使用“su -”指令转化root,再使用指令“yum install -y tree”(如果没有成功,以后再来尝试把,等您知道了权限和安装包管理后,这一块的安装是很简单的……)
3.10.rmdir指令
使用rmdir可以删除空目录,如果想要删除非空目录,则会报错。
3.11.rm指令
使用rm指令同样也可以执行删除的命令,可以删除文件,默认情况下无法删除非空目录。
- “-r”选项表示递归,这个选项会递归删除非空目录,在使用这个选项删除非空目录时,有时会出现删除提示来确认是否删除(例如:在删除别人文件的情况下)
- “-f”加上这个选项可以屏蔽删除提醒,一般会把“-r”和“-f”结合起来使用,即:使用“-rf”
- “-i”选项可以让rm指令在删除每个文件或目录前询问用户是否确认删除,从而避免误删重要文件。当使用-i选项时,rm会依次列出要删除的每个文件或目录,并提示用户选择是否删除,用户需要输入y或n来做出选择。
可以结合通配符“*”来批量删除文件。
由于Linux没有回收站,尽管能恢复数据,但是还是不要随便使用rm指令,rm指令很强大,在root身份下,甚至可以把整个根目录删除。也就是所谓的“删库”。(学到后面的时候,我会带您使用shell脚本来制作一个回收站脚本)
3.12.man指令
man指令的作用是查阅在线手册,使用man可以学习一些指令的细节和使用方法。
有的时候man指令里的提示文档可能不全,这个时候可以使用yum来更新man文档,其指令为“yum install -y man-pages”,其中“man-pages”表示的就是man手册。
3.13.printf指令
和C语言的printf不同,这个printf是一个shell命令,其作用是在终端打印出字符。
3.14.cp指令
cp指令可以复制文件,注意拷贝也是需要权限的,有时候会出现拷贝失败的情况。
如果指定拷贝目的文件不存在,则会创建对应的目的文件(下面这个例子原本是没有txt_4.c这个文件的)
cp指令的选项也比较多:
- “-r”拷贝默认不能直接拷贝非空目录,需要加上递归选项才可以进行整体拷贝
- “-f”或者“-force”强行复制文件,不论目的文件是否存在
- “-i”或“-interactive”可以在覆盖文件之前询问用户
3.15.mv指令
mv指令可以移动一个文件,实现类似“剪切”的功能,还可以利用这个指令给文件改名。
接下来让我们尝试着改掉“file”这个目录的名字
3.16.cat指令
cat指令可以来快速输出一个文件的内容来查看,而tac则会逆向输出文件内容来查看。
cat指令也有一些比较有趣的选项:
- “-n”会显示每行的行号
- “-E”在每行末尾显示一个美元符号“$”表示该行结束
3.17.echo指令
echo指令用于在终端或脚本中输出文本或变量的内容。它通常用于打印消息、显示变量值、生成输出等。
直接使用默认将字符串输出到终端里。
可以利用输出重定向符“>”,快速书写字符串内容到某个文件
3.18.more指令
有的时候输出的文本量太多了,直接使用cat指令还需要自己滑到上面查看文件最开始的内容。
因此使用more指令可以实现分页的功能,使得文本不必全部输出,只输出一部分内容,使用回车可以进行翻页,点击“q”按键可以退出分页模式。
4.编辑器Nano/Vim的基础操作
Vim和Nano实际上就是类似与Windows下的记事本,只不过功能会更加强大一些。在本系列专栏里面,前期可能用一点点Nano来编辑文本或代码,后面大部分都是使用Vim编辑文本或代码。
- Nano的操作比较简单,看下面的指令指引即可。
- Vim的操作会比较复杂,这个就需要慢慢学,后面我会出一个专门的vim博文供您参考,类似的文章和图解有很多。
5.编译器gcc的基础操作
gcc是一款著名的编译器,用来编译代码,可以生成可执行程序来运行代码。后面有我也会出相关的博文,详细讲解gcc的操作。
6.总结
本次博文我带您了解了Linux的一些基础命令,最后有关于Nano和Vim以及gcc的操作我有意一笔带过,因为要详细就讲解这些工具的操作涉及篇幅会很长,因此我会在以后的博文系列中专门讲解,还希望您能谅解。
最后,与君共勉。