The First Day Of Linux - Go语言中文社区

The First Day Of Linux


第一章  操作系统

1.1  介绍

        操作系统这东西,就是安装在硬件之上 的一个“大型的软件”,软件之上,我们又可以安装各种小的应用程序。比如我们常用的安卓手机Android系统,苹果手机的iOS系统,笔记本电脑的Windows系统,我们都可以在上面安装各种自己心仪的软件。他们之间的关系可以用下面的图片来表示。

图1  硬件系统之上

操作系统的发展从二十世纪七十年代到2019年,虽然时间不长,但也经历了一个非常坎坷的过程,经历了多个兴衰交替,最终windows以直观的可视化界面与形象的用户交互赢得了广大的市场,但与其相对的,相对于Linux系统,Windows系统也有不可忽视的缺陷存在。Linux系统可视化虽然不强,但其安全性与运行速度确实也在吸引着不少用户,而且随着近些年Linux系统也出现了可视化界面的版本,更是为其吸引了一大批用户。比如基于Linux系统实现的ubantu,本文主要介绍ubantu中的各种命令以及操作。

1.2  应用

1.2.1  Linux在个人桌面领域的应用

此领域是传统linux应用最薄弱的环节,传统linux由于界面简单、操作复杂、应用软件少的缺点,一直被windows所压制,但近些年来随着ubuntu、fedora等优秀桌面环境的兴起,同时各大硬件厂商对其支持的加大,linux在个人桌面领域的占有率在逐渐的提高。

典型代表:ubuntu、fedora、suse linux

1.2.2  Linux在服务器领域

linux在服务器领域的应用是其重要分支

linux免费、稳定、高效等特点在这里得到了很好的体现,但早期因为维护、运行等原因同样受到了很大的限制,但近些年来linux服务器市场得到了飞速的提升,尤其在一些高端领域尤为广泛

典型代表:

·        Red Hat公司的AS系列

·        完全开源的debian系列

·        suse EnterPrise 11系列等

1.2.3  Linux在嵌入式领域

近些年来linux在嵌入式领域的应用得到了飞速的提高linux运行稳定、对网络的良好支持性、低成本,且可以根据需要进行软件裁剪,内核最小可以达到几百KB等特点,使其近些年来在嵌入式领域的应用得到非常大的提高。

主要应用:机顶盒、数字电视、网络电话、程控交换机、手机、PDA、等都是其应用领域,得到了摩托罗拉、三星、NEC、Google等公司的大力推广。

1.3  Windows和Linux文件系统区别

在 windows 平台下,打开“计算机”,我们看到的是一个个的驱动器盘符,每个驱动器都有自己的根目录结构,这样形成了多个树并列的情形。

但是在 Linux 下,我们是看不到这些驱动器盘符,我们看到的是文件夹(目录),ubuntu没有盘符这个概念,只有一个根目录/,所有文件都在它下面。

1.4  ubantu的安装

建议将ubantu放在虚拟机上运行,虚拟机推荐使用VMware Workstation,下载地址:https://my.vmware.com/cn/web/vmware/downloads,搜索即可下载。而ubantu为开源的系统,可以在官网上进行免费下载,但官网上提供的为最新版本,想要以往版本的还需去网上自行寻找,下载地址:https://www.ubuntu.com/index_kylin#download-content

第二章  基本命令

2.1  关于文件

文件的路径可以分为相对路径与绝对路径,从目录开始描述的路径为绝对路径,如:cd/home/t.txt。相对路径为从当前位置开始描述的路径,即目标路径相对于当前路径的位置,"."表示当前目录,".."表示上一级目录,即父目录。

文件权限就是文件的访问控制权限,即哪些用户和组群可以访问文件以及可以执行什么样的操作。Unix/Linux系统是一个典型的多用户系统,不同的用户处于不同的地位,对文件和目录有不同的访问权限。为了保护系统的安全性,Unix/Linux系统除了对用户权限作了严格的界定外,还在用户身份认证、访问控制、传输安全、文件读写权限等方面作了周密的控制。在 Unix/Linux中的每一个文件或目录都包含有访问权限,这些访问权限决定了谁能访问和如何访问这些文件和目录。

Ctrl+Alt+t   可以快捷调出ubantu的终端界面,输入cd回车进入家目录,ls -lh回车之后为下图:

图2  文件的权限

读权限(r) 对文件而言,具有读取文件内容的权限;对目录来说,具有浏览目录的权限。

写权限(w) 对文件而言,具有新增、修改文件内容的权限;对目录来说,具有删除、移动目录内文件的权限。

可执行权限(x) 对文件而言,具有执行文件的权限;对目录了来说该用户具有进入目录的权限。

通常,Unix/Linux系统只允许文件的属主(所有者)或超级用户改变文件的读写权限。

第1个字母代表文件的类型:“d” 代表文件夹、“-” 代表普通文件、“c” 代表硬件字符设备、“b” 代表硬件块设备、“s”表示管道文件、“l” 代表软链接文件。 后 9 个字母分别代表三组权限:文件所有者、用户者、其他用户拥有的权限。

每一个用户都有它自身的读、写和执行权限。

2.2  一些命令

1.  --help   用于Linux命令自带的帮助信息,可以查看Linux的用法以及参数。比如:ls --help  如下:

图3  ls --help命令

2.  Tab    非常实用的tab键,它可以帮助我们对命令实现自动补全,如果有两个或两个以上相似的命令,它会列出选项供我们选择,直到可以定位到唯一的命令。

3.  history   可以将历史的命令全部列出,上下键翻看。

4.  ls    查看文件信息,列出当前目录下的所有内容。如:

图4  ls命令

�在Unix/Linux系统中,也同样允许使用特殊字符来同时引用多个文件名,这些特殊字符被称为通配符。

图5  通配符及含义

5.  ls>t.txt   将ls的输出结果写入到t.txt文件中,如果文件不存在将自动创建,但是重复写入每次都会覆盖之前内容。

图6  ls>tt.txt运行结果

6.  ls>>t.txt   会追加内容进文件中,文件不存在也会创建。

7.  |     这是管道的直观表现形式。管道的作用是一个命令的输出可以通过管道作为另一个命令的输入。左塞(读)右取(写)。

8.  clear    清屏命令,将当前终端的命令以及结果清空。也可以用Ctrl+l来清屏。

9.  cd    即change directory,更改目录,后面跟上目录名称,不会显示目录下的文件以及文件夹,如cd vmhahaha:

图7  cd vmhahaha运行结果

        cd后面可跟绝对路径,也可以跟相对路径。如果省略目录,则默认切换到当前用户的主目录。

图7   cd的相关命令

10.  pwd    显示当前路径,如:

图8  pwd运行示意

11.  mkdir    创建一个新的目录,添加参数-p可以递归创建一个包含多个子目录的文件夹。但新目录名不可与当前已有的目录重名,且用户需对该目录具有写的权限。如:

图9  mkdir运行示意

12.  touch    创建一个文件,文件类型自定义。如:

图10  touch运行示意  

13.  cat     显示出文件中的所有内容。如:

图11  cat运行示意    

13.  rm    删除文件 ,可以加入参数。

图11  rm参数及含义

如:

图12  rm运行示意

14.  rmdir    删除一个目录,且必须离开目录,并且目录必须为空目录,不然提示删除失败。参数-p可实现递归删除。

图13  rmdir运行示意

15.  ln    建立链接文件,linux链接文件类似于Windows下的快捷方式。链接文件分为软链接和硬链接。软链接:软链接不占用磁盘空间,源文件删除则软链接失效,硬链接:硬链接只能链接普通文件,不能链接目录。

使用格式:

硬链接:  ln 源文件 链接文件                        软连接: ln-s  源文件 链接文件

如果没有-s选项代表建立一个硬链接文件,两个文件占用相同大小的硬盘空间,即使删除了源文件,链接文件还是存在,所以-s选项是更常见的形式。注意:如果软链接文件和源文件不在同一个目录,源文件要使用绝对路径,不能使用相对路径。

16.  grep   文本搜索 ,Linux系统中grep命令是一种强大的文本搜索工具,grep允许对文本文件进行模式查找。如果找到匹配模式,grep打印包含模式的所有行。

grep一般格式为:grep [-选项] ‘搜索内容串’文件名

图14  grep可选项    

grep搜索内容串可以是正则表达式。正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。

grep常用正则表达式:

图15  grep通配符    
 图16  grep运行示意  

17.   find     查找文件,find命令功能非常强大,通常用来在特定的目录下搜索符合条件的文件,也可以用来搜索特定用户属主的文件。

常用用法:

图17  find常用命令及含义

如:

图18  find运行示意

18.   cp     拷贝文件,cp命令的功能是将给出的文件或目录复制到另一个文件或目录中,相当于DOS下的copy命令。

使用格式:

cp [options] source dest

或:

cp [options] 文件... 目标目录

常用选项说明:

图19  cp选项及含义

如:

图20  cp应用

19.   mv    移动文件,用户可以使用mv命令来移动文件或目录,也可以给文件或目录重命名,

用法格式:

        mv [选项] 源文件或目录 目标文件或目录

常用选项说明:

图21  mv选项以及含义

如:

图22  mv应用

20.    tar    归档管理,tar是Unix/Linux中最常用的备份工具,此命令可以把一系列文件归档到一个大文件中,也可以把档案文件解开以恢复数据。

tar使用格式:tar [参数] 打包文件名 文件

tar命令很特殊,其参数前面可以使用“-”,也可以不使用。

常用参数:

图23  tar常用参数以及含义

如:

图24  tar应用

21.    gzip     文件压缩解压,tar与gzip命令结合使用实现文件打包、压缩。 tar只负责打包文件,但不压缩,用gzip压缩tar打包后的文件,其扩展名一般用xxxx.tar.gz。

gzip使用格式如下:

gzip  [选项]  被压缩文件

常用选项:

图25  gzip常用选项以及含义  

如:

图26  gzip应用

tar这个命令并没有压缩的功能,它只是一个打包的命令,但是在tar命令中增加一个选项(-z)可以调用gzip实现了一个压缩的功能,实行一个先打包后压缩的过程。

压缩用法:tar -cvzf 压缩包包名 文件1 文件2 ...

         -z :指定压缩包的格式为:file.tar.gz

如:

图27  tar -cvzf应用

解压用法: tarzxvf 压缩包包名

        -z:指定压缩包的格式为:file.tar.gz

解压到指定目录:-C(大写字母“C”)

如:

图28  tar -cvz解压f应用

22.    bzip2     文件压缩解压,tar与bzip2命令结合使用实现文件打包、压缩(用法和gzip一样),tar只负责打包文件,但不压缩,用bzip2压缩tar打包后的文件,其扩展名一般用xxxx.tar.gz2。在tar命令中增加一个选项(-j)可以调用bzip2实现了一个压缩的功能,实行一个先打包后压缩的过程。

压缩用法:tar -jcvf 压缩包包名 文件...(tar jcvf bk.tar.bz2 *.c)

解压用法:tar -jxvf 压缩包包名 (tar jxvf bk.tar.bz2)

23.   zip、unzip     文件压缩解压,通过zip压缩文件的目标文件不需要指定扩展名,默认扩展名为zip。

压缩文件:zip [-r] 目标文件(没有扩展名) 源文件

解压文件:unzip -d 解压后目录文件 压缩文件

24.    which     查看命令位置

图    which使用样式
版权声明:本文来源简书,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://www.jianshu.com/p/75bdee6b870e
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2020-01-12 13:18:13
  • 阅读 ( 1232 )
  • 分类:Linux

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢