一、环境安装
虚拟机采用VMware,并在虚拟机上安装了ubuntu,参考教程:Linux操作系统零基础入门学习
二、Linux 系统简介
(一)linux 为何物
Linux 就是一个操作系统,主要是系统调用和内核那两层。
(二) Linux 与 Windows 到底有哪些不同
1.可定制性:
Windows:这些年之前算是全封闭的,系统可定制性很差;
Linux:你想怎么做就怎么做,Windows 能做到得它都能,Windows 做不到的,它也能。
2.Windows 没有的:
稳定的系统
安全性和漏洞的快速修补
多用户
用户和用户组的规划
相对较少的系统资源占用
可定制裁剪,移植到嵌入式平台(如安卓设备)
可选择的多种图形用户界面(如 GNOME,KDE)
3.Linux 没有的:
特定的支持厂商
足够的游戏娱乐支持度
足够的专业软件支持度
(三) 如何学习 Linux:
三、基本概念及操作
(一)linux 终端
Linux 默认提供了 6 个纯命令行界面的 “terminal”(准确的说这里应该是 6 个 virtual consoles)来让用户登录。在物理机系统上你可以通过使用[Ctrl]+[Alt]+[F1]~[F6]进行切换。
(二)Shell
- 在图形界面中对实际体验带来差异的是这个 Shell(壳)。
- 核就是指 UNIX/Linux 内核。
- UNIX/Linux 操作系统下的 Shell 既是用户交互的界面,也是控制系统的脚本语言。
- 在 UNIX/Linux 中比较流行的常见的 Shell 有 bash、zsh、ksh、csh 等等,Ubuntu 终端默认使用的是 bash,默认的桌面环境是 GNOME 或者 Unity(基于 GNOME),但我们的环境中使用的分别是 zsh 和 xfce。
(三)命令行操作体验
1.输入和输出:
创建一个名为 file 的文件,touch是一个命令
touch file
进入一个目录,cd是一个命令
cd /etc/
查看当前所在目录
pwd
2.重要快捷键:
- Tab:使用Tab键来进行命令补全,当然不止补全命令,补全目录、补全命令参数都是没问题的。
- [Ctrl+c]:可以使用Ctrl+c键来强行终止当前程序(你可以放心它并不会使终端退出)。
- 上键↑:恢复你之前输入过的命令。
3.通配符:
通配符是一种特殊语句,主要有星号(*)和问号(?),用来对字符串进行模糊匹配(比如文件名、参数名)。
4.通配符的使用:
cd /home/shiyanlou
然后使用 touch 命令创建 2 个文件,后缀都为 txt:
touch asd.txt fgh.txt
可以给文件随意命名,假如过了很长时间,你已经忘了这两个文件的文件名,现在
你想在一大堆文件中找到这两个文件,就可以使用通配符:
ls *.txt
5.一次性创建多个文件:
touch love_{1..10}_shiyanlou.txt
6.Shell 常用通配符:
字符 | 含义 |
---|---|
* | 匹配 0 或多个字符 |
? | 匹配任意一个字符 |
[list] | 匹配 list 中的任意单一字符 |
[^list] | 匹配 除 list 中的任意单一字符以外的字符 |
[c1-c2] | 匹配 c1-c2 中的任意单一字符 如:[0-9][a-z] |
{string1,string2,…} | 匹配 string1 或 string2 (或更多)其一字符串 |
{c1…c2} | 匹配 c1-c2 中全部字符 如{1…10} |
7.学会在命令行中获取帮助:
在 Linux 环境中,如果你遇到困难,可以使用man命令,它是Manual pages的缩写。
你可以使用如下方式来获得某个命令的说明和使用方式的详细介绍:
man <command_name>
比如你想查看 man 命令本身的使用方式,你可以输入:
man man
8.输出图形字符的命令banner:
sudo apt-get update
sudo apt-get install sysvbanner//用以上命令安装
banner shiyanlou//输出shiyanlou字符
四、用户及文件权限管理
(一)查看用户
who am i
# 或者
who mom likes
(二)创建用户
1.
在 Linux 系统里, root 账户拥有整个系统至高无上的权限,比如新建和添加用户。
命令 | 操作 |
---|---|
su <user> | 可以切换到用户 user,执行时需要输入目标用户的密码 |
sudo <cmd> | 可以以特权级别运行 cmd 命令,需要当前用户属于 sudo 组,且需要输入当前用户的密码 |
su - <user> | 命令也是切换用户,但是同时用户的环境变量和工作目录也会跟着改变成目标用户所对应的 |
2.新建一个叫 lilei 的用户:
sudo adduser lilei
2.切换登录用户:
su -l lilei//切换用户
who am i
whoami
pwd //检验
退出当前用户跟退出终端一样,可以使用 exit 命令或者使用快捷键 Ctrl+D。
(三)用户组
1.在 Linux 里面如何知道自己属于哪些用户组:
- 使用 groups 命令:
groups shiyanlou
- 查看 /etc/group 文件:
cat /etc/group | sort
cat /etc/group | grep -E "shiyanlou"//过滤其他信息
/etc/group 的内容包括用户组(Group)、用户组口令、GID(组 ID) 及该用户组所包含的用户(User),每个用户组一条记录。格式如下:
group_name:password:GID:user_list
- 将其它用户加入 sudo 用户组
# 注意 Linux 上输入密码是不会显示的
su -l lilei
sudo ls
- 更改密码
sudo passwd shiyanlou
- 用 shiyanlou 用户执行 sudo 命令将 lilei 添加到 sudo 用户组
groups lilei
sudo usermod -G sudo lilei //命令
groups lilei
(四)删除用户和用户组
欢迎使用Markdown编辑器
sudo deluser lilei --remove-home
(五)Linux 文件权限
ls -l //使用较长格式列出文件
ls -a //显示除了 .(当前目录)和 ..(上一级目录)之外的所有文件,包括隐藏文件
ls -dl //查看某一个目录的完整属性,而不是显示目录里面的文件属性
ls -asSh //显示所有文件大小,并以普通人类能看懂的方式呈现
- 读权限:表示你可以使用
cat <file name>
之类的命令来读取某个文件的内容。 - 写权限:示你可以编辑和修改某个文件的内容。
- 执行权限:通常指可以运行的二进制程序文件或者脚本文件。
- 一个目录同时具有读权限和执行权限才可以打开并查看内部文件,而一个目录要有写权限才允许在其中创建其它文件
- 所有者权限、所有者权限。
(六)变更文件所有者
su - lilei
pwd
touch iphone11
ls -alh iphone11
# 需要切换到 shiyanlou 用户执行以下操作
cd /home/lilei
ls iphone11
sudo chown shiyanlou iphone11
(七)修改文件权限
1.文件的权限有两种表示方式:
- 方式一:二进制数字表示
- 方式二:加减赋值操作
chmod go-rw iphone11
g、o 还有 u 分别表示 group(用户组)、others(其他用户) 和 user(用户),+ 和 - 分别表示增加和去掉相应的权限。
(八)adduser 和 useradd 的区别
useradd 只创建用户,不会创建用户密码和工作目录,创建完了需要使用 passwd 去设置新用户的密码。adduser 在创建用户的同时,会创建工作目录和密码(提示你设置),做这一系列的操作。其实 useradd、userdel 这类操作更像是一种命令,执行完了就返回。而 adduser 更像是一种程序,需要你输入、确定等一系列操作。
(九)作业
添加一个用户 loutest,使用 sudo 创建文件 /opt/forloutest,设置成用户 loutest 可以读写。截图并把操作过程写入实验报告。
存在的问题:
1.不熟悉命令的名称、操作,以及相关的的使用方法。
2.会跟着实验楼的代码操作,但是现在还不能很熟练地掌握以及了解理解命令的作用。