Linux基础入门(20135207 王国伊)

实验一  Linux系统简介node

1、实验心得linux

    首个实验是简单介绍了Linux系统的简介,了解Linux系统的历史和发展。使我受益不浅web

 

 

实验二  基本概念及操做shell

1、学习目标vim

一、实验楼环境介绍bash

二、经常使用 Shell 命令及快捷键服务器

三、Linux 使用小技巧网络

四、Linux 桌面环境介绍相对于如今的 Windows 系统,UNIX/Linux 自己是没有图形界面的,咱们一般在 Unix/Linux 发行版上看到的图形界面实际都只是运行在 Linux 系统之上的一套软件,相似 Windows95 以前的Windows 的图形界面实则也只是运行在 DOS 环境的一套软件。而 Linux 上的这套软件之前是XFree86,如今则是 xorg(X.Org),而这套软件又是经过 X 窗口系统(X Window System,也常被称为X11或X)实现的,X 自己只是工具包及架构协议,而 xorg 即是 X 架构规范的一个实现体,也就是说它是实现了 X 协议规范的一个提供图形用户界面服务的服务器,就像实现了 http 协议提供 web 服务的 Apache。若是只有服务器也是不能实现一个完整的桌面环境的,固然还须要一个客户端,咱们称为 X Client,像以下几个你们熟知也最流行的实现了客户端功能的桌面环境KDE,GNOME,XFCE,LXDE,其中就有你看到的,实验楼目前使用的 XFCE 桌面环境,部分老用户可能能够回想起,实验楼以前使用的环境是 LXDE。这也意味着在 Linux 上你能够本身选择安装不一样的桌面环境,甚至能够定制本身的专属桌面。架构

五、实验楼环境中全部的默认系统用户名均为 shiyanlou,密码为 shiyanlouless

2、学习任务

1.Terminal(终端)

一般在咱们使用 Linux 时,咱们并非直接与系统打交道,而是经过一个叫作 Shell 的中间程序来完成的,在图形界面下为了实现让咱们在一个窗口中完成接受用户输入和显示输出,Linux 系统还提供了一个叫作终端模拟器的程序(Terminal),下面几个比较常见的终端模拟器,例如 gnome-terminal,kconsole,xterm,rxvt,kvt,nxterm 和 eterm,目前咱们的实验中的终端程序是 xfce 桌面环境自带的 xfce-terminal。不过要注意的是这里所说的终端(Terminal)和控制台(Console)是有区别的。

2.Shell

一般在图形界面中对实际体验带来差别的不是上述的不一样发行版的各类终端模拟器,而大都是这个 Shell(壳),有壳就有核,这里的核就是指的 UNIX/Linux 内核,Shell 是指“提供给使用者使用界面”的软件(命令解析器),相似于 DOS 下的 command(命令行)和后来的 cmd.exe。普通意义上的 Shell 就是能够接受用户输入命令的程序。它之因此被称做 Shell 是由于它隐藏了操做系统底层的细节。一样的 Unix/Linux 下的图形用户界面 GNOME 和 KDE,有时也被叫作“虚拟 shell”或“图形 shell”。

Unix/Linux 操做系统下的 Shell 既是用户交互的界面,也是控制系统的脚本语言。固然在这点也有别于 Windows 下的命令行,虽然也提供了很简单的控制语句。在Windows 操做系统下,可能有些用户历来都不会直接的使用 Shell,然而在 UNIX 系列操做系统下,Shell 仍然是控制系统启动、X11 启动和不少其余实用工具的脚本解释程序。

在 UNIX/Linux 中比较流行的常见的 Shell 有 bash,zsh,ksh,csh 等等,Ubuntu 终端默认使用的是 bash,默认的桌面环境是 GNOME 或者 Unity(基于 GNOME),但咱们的环境中使用的分别是zsh 和 xfce。

3.命令行操做体验

如图,双击桌面上的Xface终端图标,打开终端,打开终端后会自动运行 Shell 程序,而后咱们就能够输入命令让系统来执行了:

1).重要快捷键:

真正学习命令行以前,你先要掌握几个十分有用,必需掌握的小技巧:[Tab]

使用Tab键来进行命令补全,Tab键通常键盘是在字母Q旁边,这个技巧给你带来的最大的好处就是当你忘记某个命令的全称时你能够只输入它的开头的一部分而后按下Tab键就能够获得提示或者帮助完成:

 

 

固然不止补全命令,补全目录,补全命令参数都是没问题的:

[Ctrl+c]

想一想你有没有遇到这种状况,当你在 Linux 命令行中无心输入了一个不知道的命令,或者错误的使用了一个命令,致使在终端里出现了你没法预料的状况,好比,只有光标在闪烁没法继续输入命令,或者不停地在输出一大堆你不想要的结果。你想要当即中止并恢复到你可控的状态,那该怎么办呢。这时候你就可使用Ctrl+c键来强行终止当前程序(你能够放心它并不会使终端退出)。

尝试输入如下命令:

 

 

其余一些经常使用快捷键

按键

做用

Ctrl+d

键盘输入结束或退出终端

Ctrl+s

暂定当前程序,暂停后按下任意键恢复运行

Ctrl+z

将当前程序放到后台运行,恢复到前台为命令fg

Ctrl+a

将光标移至输入行头,至关于Home键

Ctrl+e

将光标移至输入行末,至关于End键

Ctrl+k

删除从光标所在位置到行末

Alt+Backspace

向前删除一个单词

Shift+PgUp

将终端显示向上滚动

Shift+PgDn

将终端显示向下滚动

2).学会利用历史输入命令

使用键盘上的方向上键,恢复你以前输入过的命令

3).学会使用通配符

通配符是一种特殊语句,主要有星号(*)和问号(?),用来对对字符串进行模糊匹配(好比文件名,参数名)。当查找文件夹时,可使用它来代替一个或多个真正字符;当不知道真正字符或者懒得输入完整名字时,经常使用通配符代替一个或多个真正的字符。

终端里面输入的通配符是由 Shell 处理的,不是由所涉及到命令语句处理的,它只会出如今命令的“参数值”里(它不用在 命令名称里, 命令不记得,那就用Tab补全)。当 Shell 在“参数值”中遇到了通配符时,Shell 会将其看成路径或文件名去在磁盘上搜寻可能的匹配:若符合要求的匹配存在,则进行代换(路径扩展);不然就将该通配符做为一个普通字符传递给“命令”,而后再由命令进行处理。总之,通配符 实际上就是一种 Shell 实现的路径扩展功能。在 通配符被处理后, Shell 会先完成该命令的重组,而后再继续处理重组后的命令,直至执行该命令。

先使用 touch 命令建立 2 个文件,后缀都为 txt:

能够给文件随意命名,假如过了很长时间,你已经忘了这两个文件的文件名,如今你想在你大堆其余文件中找到这两个文本文件,就可使用通配符:

在建立文件的时候,若是须要一次性建立多个文件,好比:“love_1_linux.txtlove_2_linux.txt... love_10_linux.txt”。在 Linux 中十分方便:

 

Shell 经常使用通配符:

字符

含义

*

匹配 0 或多个字符

?

匹配任意一个字符

[list]

匹配 list 中的任意单一字符

[!list]

匹配 除list 中的任意单一字符之外的字符

[c1-c2]

匹配 c1-c2 中的任意单一字符 如:[0-9] [a-z]

{string1,string2,...}

匹配 sring1 或 string2 (或更多)其一字符串

{c2..c2}

匹配 c1-c2 中所有字符 如{1..10}

4).学会在命令行中获取帮助

在 Linux 环境中,若是你遇到困难,可使用man 命令,它是Manual page的缩写。

Manual pages 是在 UNIX 或类 UNIX 操做系统在线软件文档的一种广泛的形式。 内容包括计算机程序(包括库和系统调用),正式的标准和惯例,甚至是抽象的概念。用户能够经过执行 man 命令调用手册页。

你可使用以下方式来得到某个命令的说明和使用方式的详细介绍:

 

一般状况下,man 手册里面的内容都是英文的,这就要求你有必定的英文基础。man 手册的内容不少,涉及了 Linux 使用过程当中的方方面面,为了便于查找,是作了分册(分区段)处理的,在Research UNIX、BSD、OS X 和 Linux 中,手册一般被分为8个区段,安排以下:

区段

说明

1

通常命令

2

系统调用

3

库函数,涵盖了C标准函数库

4

特殊文件(一般是/dev中的设备)和驱动程序

5

文件格式和约定

6

游戏和屏保

7

杂项

8

系统管理命令和守护进程

要查看相应区段的内容,就在 man 后面加上相应区段的数字便可,如:

 

全部的手册页遵循一个常见的布局,其为经过简单的 ASCII 文本展现而优化,而这种状况下可能没有任何形式的高亮或字体控制。通常包括如下部份内容:

NAME(名称)

该命令或函数的名称,接着是一行简介。

SYNOPSIS(概要)

对于命令,正式的描述它如何运行,以及须要什么样的命令行参数。对于函数,介绍函数所需的参数,以及哪一个头文件包含该函数的定义。

DESCRIPTION(说明)

命令或函数功能的文本描述。

EXAMPLES(示例)

经常使用的一些示例。

SEE ALSO(参见)

相关命令或函数的列表。

也可能存在其余部份内容,但这些部分没有获得跨手册页的标准化。常见的例子包括:OPTIONS(选项),EXIT STATUS(退出状态),ENVIRONMENT(环境),BUGS(程序漏洞),FILES(文件),AUTHOR(做者),REPORTING BUGS(已知漏洞),HISTORY(历史)和COPYRIGHT(版权)。

一般 man 手册中的内容不少,你可能不太容易找到你想要的结果,不过幸运的是你能够在 man 中使用搜索,/<你要搜索的关键字>,查找到后你可使用n键切换到下一个关键字所在处,shift+n为上一个关键字所在处。使用Space(空格键)翻页,Enter(回车键)向下滚动一行,或者使用j,k(vim编辑器的移动键)进行向前向后滚动一行。按下h键为显示使用帮助(由于man使用less做为阅读器,实为less工具的帮助),按下q退出。

想要得到更详细的帮助,你还可使用info命令,不过一般使用man就足够了。若是你知道某个命令的做用,只是想快速查看一些它的某个具体参数的做用,那么你可使用--help参数,大部分命令都会带有这个参数,如:

 

3、做业

本课程会在每一节实验结束部分介绍一个有趣的 Linux 命令,这一节介绍一个能够输出图形字符的命令banner

你能够先使用以下命令安装:

 

而后:

 

或者直接使用已安装命令:

 

还有两个相似的命令toilet,figlet,做为做业安装试用。

 

 

 

 

实验三  用户及文件权限管理

1、学习目标

   一、Linux 中建立、删除用户,及用户组等操做。

二、Linux 中的文件权限设置。

2、学习任务

1、Linux 用户管理

经过第一节课程的学习,你应该已经知道,Linux 是一个能够实现多用户登录的操做系统,好比“李雷”和“韩梅梅”均可以同时登录同一台主机,他们共享一些主机的资源,但他们也分别有本身的用户空间,用于存放各自的文件。但实际上他们的文件都是放在同一个物理磁盘上的甚至同一个逻辑分区或者目录里,可是因为 Linux 的 用户管理 和 权限机制 ,不一样用户不能够轻易地查看、修改彼此的文件。

下面咱们就来学习一下 Linux 下的帐户管理的基础知识。

1.查看用户

请打开终端,输入命令:

 

输入的第一列表示打开当前伪终端的用户的用户名(要查看当前登陆用户的用户名,去掉空格直接使用 whoami 便可),第二列的 pts/0 中 pts 表示伪终端,所谓伪是相对于 /dev/tty 设备而言的,还记得上一节讲终端时的那七个使用 [Ctrl]+[Alt]+[F1][F7] 进行切换的 /dev/tty 设备么,这是“真终端”,伪终端就是当你在图形用户界面使用 /dev/tty7 时每打开一个终端就会产生一个伪终端, pts/0 后面那个数字就表示打开的伪终端序号,你能够尝试再打开一个终端,而后在里面输入 who am i ,看第二列是否是就变成 pts/1 了,第三列则表示当前伪终端的启动时间。

who 命令其它经常使用参数

参数

说明

-a

打印能打印的所有

-d

打印死掉的进程

-m

am i,mom likes

-q

打印当前登陆用户数及用户名

-u

打印当前登陆用户登陆信息

-r

打印运行等级

2.建立用户

在 Linux 系统里, root 帐户拥有整个系统至高无上的权利,好比 新建/添加 用户。

root 权限,系统权限的一种,与 SYSTEM 权限能够理解成一个概念,但高于 Administrator 权限,root 是 Linux 和 UNIX 系统中的超级管理员用户账户,该账户拥有整个系统至高无上的权力,全部对象他均可以操做,因此不少黑客在入侵系统的时候,都要把权限提高到 root 权限,用 Windows 的方法理解也就是将本身的非法账户添加到 Administrators 用户组。更好比安卓操做系统中(基于 Linux 内核)得到 root 权限以后就意味着已经得到了手机的最高权限,这时候你能够对手机中的任何文件(包括系统文件)执行全部增、删、改、查的操做。

咱们通常登陆系统时都是以普通帐户的身份登陆的,要建立用户须要 root 权限,这里就要用到 sudo 这个命令了。不过使用这个命令有两个大前提,一是你要知道当前登陆用户的密码,二是当前用户必须在 sudo 用户组。shiyanlou 用户的密码就是 “shiyanlou” ,它同时也属于 sudo 用户组(稍后会介绍如何查看和添加用户组)。如今咱们新建一个叫 lilei 的用户:

 

这个命令不但能够添加用户到系统,同时也会默认为新用户建立 home 目录:

 

如今你已经建立好一个用户,而且你可使用你建立的用户登陆了,使用以下命令切换登陆用户:

 

退出当前用户跟退出终端同样可使用 exit 命令或者使用快捷键Ctrl+d

 

3.用户组

在 Linux 里面每一个用户都有一个归属(用户组),用户组简单地理解就是一组用户的集合,它们共享一些资源和权限,同时拥有私有资源,就跟家的形式差很少,你的兄弟姐妹(不一样的用户)属于同一个家(用户组),大家能够共同拥有这个家(共享资源),爸妈对待大家都同样(共享权限),你偶尔写写日记,其余人未经容许不能查看(私有资源和权限)。固然一个用户是能够属于多个用户组的,正如你既属于家庭,又属于学校或公司。

在 Linux 里面如何知道本身属于哪些用户组呢?

方法一:使用groups命令

 

其中冒号以前表示用户,后面表示该用户所属的用户组。这里能够看到 shiyanlou 用户同时属于 shiyanlou 和 sudo 用户组,每次新建用户若是不指定用户组的话,默认会自动建立一个与用户名相同的用户组(差很少就至关于家长的意思,或者说是老总)。默认状况下在sudo用户组里的可使用sudo命令得到root权限。

方法二:查看/etc/group文件

 

这里 cat 命令用于读取指定文件的内容并打印到终端输出,后面会详细讲它的使用。 | sort 表示将读取的文本进行一个字典排序再输出,而后你将看到以下一堆输出,你能够在最下面看到 shiyanlou 的用户组信息:

 

etc/group 文件格式说明

/etc/group 的内容包括用户组(Group)、用户组口令、GID 及该用户组所包含的用户(User),每一个用户组一条记录。格式以下:

group_name:password:GID:user_list

你看到上面的 password 字段为一个 'x' 并非说密码就是它,只是表示密码不可见而已。

将其它用户加入 sudo 用户组

默认状况下新建立的用户是不具备 root 权限的,也不在 sudo 用户组,可让其加入sudo用户组从而获取 root 权限

 

而后你再切换会 lilei 用户,如今就可使用 sudo 获取 root 权限了。

4.删除用户

删除用户是很简单的事:

 

2、Linux 文件权限

1.查看文件权限

咱们以前已经不少次用到 ls 命令了,如你所见,咱们用它来列出并显示当前目录下的文件,固然这是在不带任何参数的状况下,它能作的固然不止这么多,如今咱们就要用它来查看文件权限。

使用较长格式列出文件:

 

文件类型

关于文件类型,这里有一点你必需时刻牢记Linux 里面一切皆文件,正由于这一点才有了设备文件( /dev 目录下有各类设备文件,大都跟具体的硬件设备相关)这一说,还有 socket(网络套接字,具体是什么,感兴趣的用户能够本身去了解或期待实验楼的后续相关课程),和 pipe (管道,这个东西很重要,咱们之后将会讨论到,这里你先知道有它的存在便可)。软连接文件,连接文件是分为两种的,另外一种固然是“硬连接”(硬连接不经常使用,具体内容不做为本课程讨论重点,而软连接等同于 Windows 上的快捷方式,你记住这一点就够了)

文件权限

读权限,表示你可使用 cat <file name> 之类的命令来读取某个文件的内容;写权限,表示你能够编辑和修改某个文件; 执行权限,一般指能够运行的二进制程序文件或者脚本文件,如同 Windows 上的 'exe' 后缀的文件,不过 Linux 上不是经过文件后缀名来区分文件的类型。你须要注意的一点是,一个目录要同时具备读权限和执行权限才能够打开,而一个目录要有写权限才容许在其中建立其它文件,这是由于目录文件实际保存着该目录里面的文件的列表等信息

全部者权限,这一点相信你应该明白了,至于所属用户组权限,是指你所在的用户组中的全部其它用户对于该文件的权限,好比,你有一个艾派德,那么这个用户组权限就决定了你的兄弟姐妹有没有权限使用它破坏它和占有它。

连接数

连接到该文件所在的 inode 结点的文件名数目(关于这个概念涉及到 Linux 文件系统的相关概念知识,不在本课程的讨论范围,感兴趣的用户能够本身去了解)。

文件大小

以 inode 结点大小为单位来表示的文件大小,你能够给 ls 加上-lh 参数来更直观的查看文件的大小。

明白了文件权限的一些概念,咱们顺带补充一下关于 ls 命令的一些其它经常使用的用法:

 

其中小 s 为显示文件大小,大 S 为按文件大小排序,若须要知道如何按其它方式排序,请使用“man”命令查询。

 

2.变动文件全部者

假设目前是 lilei 用户登陆,新建一个文件,命名为 “iphone6”

如今,使用如下命令变动文件全部者为 shiyanlou

如今查看,发现 文件全部者成功修改成 shiyanlou

 

若是你有一个本身的文件不想被其余用户读、写、执行,那么就须要对文件的权限作修改,这里有两种方式:

一、            二进制数字表示

每一个文件的三组权限(拥有者,所属用户组,其余用户,记住这个顺序是必定的)就对应这一个 "rwx",也就是一个 '7' ,因此若是我要将文件“iphone6”的权限改成只有我本身能够用那么就这样:

二、            加减赋值操做

 

3、做业

相关文章
相关标签/搜索