第一次了解Linux

Linux

1、        首先了解Linux是什么。

        Linux是一种操作系统,同Windows,macOS一样,但是Linux系统是开源系统,不以盈利为目的,Linux的应用范围主要是服务器,嵌入式系统。

        Linux有很多发行版,我对发行版的理解是:类似于安卓系统,各手机厂商拿到原生安卓系统,再对安卓系统进行优化或者改造,最后形成自己的UI。例如EMUI,MIUI,相当于安卓的发行版本。但一个Linux发行版总要有自己最核心的东西,包括Linux内核,GNU程序库和工具,命令行shell等。常见的发行版有Redhat,ubunut等。

2、        Linux系统结构

        Linux目录有两个,一个是CD/DVD drive,一个就是系统文件了。Linux的目录结构:/:根目录,根目录下一般存放子目录,不存放文件。/bin:存放可执行的二进制文件,如命令ls等。/boot:存放Linux系统启动时需要的一些文件。/dev:存放Linux系统下的设备文件等。/etc:存放系统配置文件。/home:系统默认的用户目录(不过一般用root登录/root:)。

3、        Linux命令执行

        Linux图形化界面下右键打开open in terminal。或者在图形化界面下执行命令init 3进入黑白命令行(黑白命令行感觉就很高端的样子),黑白框执行命令init 5可以返回图形化界面。在执行命令时有几个热键用起来很方便,例如tab键补全名称,ctrl+c结束程序等。

4、        Linux的用户和用户组

        Linux是个多用户系统,允许多个用户同时使用该系统,就是和macOS一样,都是Linux。其中root用户的权限最高,像学习Linux的话一般应该都是进入root用户。Root用户的信息存放在/root下,其他用户的信息存放在/etc/passwd下。

5、        Linux的命令

        这段时间给我的感觉是Linux和Windows与macOS最大的区别是,Linux可以通过命令进行所有的操作,毕竟黑白框下点鼠标的用户体验会很差,而Windows用到命令的机会不多,Windows主要是图形界面了,点鼠标用户体验很好。macOS和Linux就很类似了,但我理解的是Mac是Linux发行版中做得最好的,也是一种Linux发行版。准备复试学习C语言的过程中,使用最多的是文件与目录类命令,例如ls显示目录,cd进入文件,cd ..返回上一级目录等,这里的命令真的好多,给我的感觉是类似于单片机的各个寄存器一样,如果学的话,也不想背命令,需要用的时候查找命令就好了,常用的命令敲得多了自然就记住了。

        关于命令我也在想,如果说Linux是这么令人推崇的操作系统,那么功能也不会比另外两个弱,那么问题就来了,Linux是通过命令来使用,那么从使用习惯上来说就一定会有很大的差别。对比一下很容易感受到差别,我直接想到的是安装软件,既然macOS基于Unix,那么就拿win和Linux比较,win系统下安装软件步骤基本是下载软件包到本地,打开软件包,选择安装路径,一些设置,等待安装完成即可。我以同样的方法在Linux图形化界面下尝试,就打开一个压缩文件,在win下就是有个解压软件就好了。但Linux就不是了。搜索资料,Linux下压缩文件一般是.tar,.tar.gz,.tgz,.gz,.bz2几种,不同的压缩文件有不同的命令解压,例如tar压缩文件打开方式就是tar xvf     .tar,tar.gz的文件打开命令是tar xvzf      .tar.gz。看完这些才有点理解Linux是如何实现win下的操作的了,就是命令。但总感觉不能全是命令吧,比如上网,浏览网页,就不是命令行了吧应该。

        Linux的命令有好多种类,磁盘管理类,查找类,进程管理类等等,真的好多,所以感觉Linux不像win或者macOS容易上手的原因就是因为这些命令吧,但现在还不理解Linux到底强在哪里,为什么这么复杂的操作方式还有这么多人推崇,我相信后面学的深入了就会理解了。

6、        Vim

        近期学习C语言就是在vim里学,首先init 3进入黑白框,然后ls,然后cd,然后vim 文件名,进入vim,敲i进入插入模式,改完程序后敲esc回到命令行模式,然后敲:进入底行模式,然后wq(write quit)退出,然后gcc,然后./a.out。vim给我的感觉是win下的txt文档,只不过是Linux下。

7、        Linux网络配置

        复试期间学习Linux是在win下的虚拟机,采用网络地址转换模式,连接网络也是各种神奇的命令,具体配置是跟着书上的步骤走,最后连上网络了,但感觉很机械。

8、        GCC(GNU C Compiler)

        这是一个编译器,编译出可执行程序,效率较高,GCC编译有四个阶段,.c预处理得到.i,.i编译得到.s,.s汇编得到.o,.o链接得到可执行程序。这里也是命令云集,可以用命令得到.i,.s,.o各个步骤的文件,生不生成警告信息等等。

 

阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页