实验一:Linux 系统简介
Linux 系统
Linux 就是一个操作系统,Linux 主要是系统调用和内核那两层。我们使用的操作系统还包含一些在其上运行的应用程序,比如文本编辑器、浏览器、电子邮件等。
Linux 历史简介
1.操作系统始于二十世纪五十年代,当时的操作系统能运行批处理程序。
2.二十世纪六十年代初,交互式操作系统开始流行,这样的操作系统被称作分时操作系统。
3.贝尔实验室开发了他们自己的一个操作系统—— UNIX 。
4.1991 年 10 月,Linus Torvalds(Linux 之父)第一次发行最初的 Linux。
学习Linux的路径
实验二:Linux基本概念及操作
Linux 桌面环境介绍
- 相对于现在的 Windows 系统,UNIX/Linux 本身是没有图形界面的,我们通常在 UNIX/Linux 发行版上看到的图形界面实际都只是运行在 Linux 系统之上的一套软件。
- Linux 上的这套软件以前是 XFree86,现在则是 xorg(X.Org)
- 如果只有服务器也是不能实现一个完整的桌面环境的,当然还需要一个客户端,我们称为 X Client,像如下几个大家熟知也最流行的实现了客户端功能的桌面环境 KDE,GNOME,XFCE,LXDE 。
终端
- 通常我们在使用 Linux 时,并不是直接与系统打交道,而是通过一个叫做 Shell 的中间程序来完成的。
- Linux 默认提供了 6 个纯命令行界面的 “terminal”(来让用户登录。在物理机系统上你可以通过使用
[Ctr
l]
+[Alt]
+[F1]~[F6]
进行切换,不过在我们的在线实验环境中可能无法切换,因为特殊功能按键会被你的主机系统劫持。当你切换到其中一个终端后想要切换回图形界面,你可以按下[Ctrl]
+[Alt]
+[F7]
来完成。
Shell
Shell 是指“提供给使用者使用界面”的软件(命令解析器),类似于 DOS 下的 command(命令行)和后来的 cmd.exe 。普通意义上的 Shell 就是可以接受用户输入命令的程序。
命令行操作
- [Tab] 使用Tab键进行命令补全。当你忘记某个命令的全称时可以只输入它的开头的一部分,然后按下Tab键就可以得到提示或者帮助完成:
- 一些常用快捷键
- 命令行常用操作指令
1)touch file:创建一个名为 file 的文件,touch是一个命令;
2)cd /etc/:进入一个目录,cd是一个命令;
3)pwd:查看当前所在目录;
4)按方向上键↑,恢复你之前输入过的命令;
5)星号(*)和问号(?),用来对字符串进行模糊匹配;
6)想要获得更详细的帮助,可以使用info
命令,不过通常使用man
就足够了。
- 常用通配符
作业
输出图形字符的命令banner:
- 先使用如下命令安装:
sudo apt-get update
sudo apt-get install sysvbanner
-
使用banner生成字符:
banner shiyanlou
生成效果图:
printerbanner -w 50 A
toilet gengqian(使用toilet前要先将其安装)
figlet gengqian(使用figlet前要先将其安装)
遇到的问题以及解决方案
在使用toilet,figlet时,如果之前没有安装,是不能正常使用的,所以需要sudo apt-get install toilet将其安装。
实验三:用户及文件权限管理
Linux 用户管理
由于 Linux 的 用户管理和权限机制,不同用户不可以轻易地查看、修改彼此的文件。
查看用户
- who am i、who mom likes可以查看打开当前伪终端的用户的用户名。
- whoami查看当前登录用户的用户名。
who
命令其它常用参数
创建用户
root
账户拥有整个系统至高无上的权限,比如新建和添加用户。root 是 Linux 和 UNIX 系统中的超级管理员用户帐户,该帐户拥有整个系统至高无上的权力,所有对象他都可以操作。大部分 Linux 系统在安装时都会建议用户新建一个用户而不是直接使用 root 用户进行登录。
- 新建一个叫
lilei
的用户:sudo adduser lilei,注意Linux 下密码输入是不显示任何内容的。 - 这个命令不但可以添加用户到系统,同时也会默认为新用户在 /home 目录下创建一个工作目录。
- 新建后,可以使用你创建的用户登录了,使用如下命令切换登录用户:su -l lilei
用户组
- 如何知道自己属于哪些用户组
方法一:使用group命令 groups shiyanlou
方法二:查看 /etc/group
文件 cat /etc/group | sort (这里 cat
命令用于读取指定文件的内容并打印到终端输出)
-
将其它用户加入 sudo 用户组
默认情况下新创建的用户是不具有 root 权限的,也不在 sudo 用户组,可以让其加入 sudo 用户组从而获取 root 权限。
使用 usermod 命令可以为用户添加用户组,同样使用该命令你必需有 root 权限
- 删除用户和用户组
使用 --remove-home
参数在删除用户时候会一并将该用户的工作目录一并删除。
删除用户组可以使用 groupdel
命令。
Linux 文件权限
- 查看文件权限
使用较长格式列出文件,会出来以下格式:
具体含义如下:
(1)关于文件类型,这里有一点你必需时刻牢记 Linux 里面一切皆文件。
(2)读权限,表示你可以使用 cat <file name>
之类的命令来读取某个文件的内容;写权限,表示你可以编辑和修改某个文件的内容
(3)一个目录同时具有读权限和执行权限才可以打开并查看内部文件,而一个目录要有写权限才允许在其中创建其它文件。
- 关于
ls
命令的一些其它常用的用法:
(1)显示除了 .
(当前目录)和 ..
(上一级目录)之外的所有文件,包括隐藏文件(Linux 下以 .
开头的文件为隐藏文件):ls -a
(2)查看某一个目录的完整属性,而不是显示目录里面的文件属性:ls -dl <目录名>
(3)显示所有文件大小,并以普通人类能看懂的方式呈现:ls -asSh
- 变更文件所有者:
使用 chown 命令变更文件所有者:sudo chown shiyanlou iphone11 #修改文件iphone11的所有者为shiyanlou
- 修改文件权限
如果你有一个自己的文件不想被其他用户读、写、执行,那么就需要对文件的权限做修改。文件的权限有两种表示方式:
(1)方式一:二进制数字表示
每个文件有三组固定的权限,分别对应拥有者,所属用户组,其他用户,记住这个顺序是固定的。文件的读写执行对应字母 rwx
,以二进制表示就是 111
,用十进制表示就是 。
(2)加减赋值操作
g
、o
还有 u
分别表示 group(用户组)、others(其他用户) 和 user(用户),+
和 -
分别表示增加和去掉相应的权限。
adduser
和 useradd
的区别是什么
useradd
只创建用户,不会创建用户密码和工作目录,创建完了需要使用 passwd <username>
去设置新用户的密码。adduser
在创建用户的同时,会创建工作目录和密码(提示你设置),做这一系列的操作。其实 useradd
、userdel
这类操作更像是一种命令,执行完了就返回。而 adduser
更像是一种程序,需要你输入、确定等一系列操作。
作业
添加一个用户 loutest,使用 sudo 创建文件 /opt/forloutest,设置成用户 loutest 可以读写
以下为实现截图:
遇到的问题以及解决方案
以用户loutest登录后,直接输入指令ls -alh,里面并没有forloutest文件,需要使用cd指令跳转到opt目录下,再使用指令ls -alh才可以看到。
关于ls -alh指令:
-l
: (list)以列表形式显示-a
: (all)显示全部文件, 包括隐藏文件-h
: (human readable)人性化形式显示文件大小
小结
Linux的命令需要多记多练才能记牢,通过第一周的Linux学习,我收益匪浅。