第二章:Linux操作系统
1.1 Linux概述
01.Linux介绍
Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于 POSIX 和 UNIX 的多用户、多任务、支持多线程和多 CPU 的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了 Unix 以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统
Linux操作系统诞生于1991 年10 月5 日(这是第一次正式向外公布时间)。Linux存在着许多不同的Linux版本,但它们都使用了 Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机
严格来讲,Linux这个词本身只表示 Linux内核,但实际上人们已经习惯了用Linux来形容整个基于Linux内核,并且使用 GNU 工程各种工具和数据库的操作系统
02.Linux发展史
1.1965 年,Bell 实验室、MIT、GE(通用电气公司)准备开发 Multics 系统,为了同时支持 300 个终端访问主机,但是 1969 年失败了;
(刚开始并没有鼠标、键盘,输入设备只有卡片机,因此如果要测试某个程序,则需要将读卡纸插入卡片机,如果有错误,还需要重新来过; Multics:Multiplexed Information and Computing Service)
2. 1969 年,Ken Thompson(B语言之父)利用汇编语言开发了 FIle Server System(Unics,即 UNIX 的原型)
(因为汇编语言对于硬件的依赖性,因此只能针对特定硬件; 只是为了移植一款“太空旅游”的游戏;)
3. 1973 年,Dennis Ritchie 和 Ken Thompson 发明了 C 语言,而后写出了 UNIX 的内核
(将 B 语言改成 C 语言,由此产生了 C 语言之父; 90% 的代码是 C 语言写的,10% 的代码用汇编写的,因此移植时只要修改那 10% 的代码即可;)
4. 1977 年,Berkeley 大学的 Bill Joy 针对他的机器修改 UNIX 源码,称为BSD(Berkeley Software Distribution)
5. 1979 年,UNIX 发布 System V,用于个人计算机;
1984 年,因为 UNIX 规定:“不能对学生提供源码”,Tanenbaum 老师自己编写兼容于 UNIX 的Minix,用于教学;
6. 1984 年,Stallman 开始 GNU(GNU's Not Unix)项目,创办 FSF(Free Software Foundation)基金会;
(产品:GCC、Emacs、Bash Shell、GLIBC; 倡导“自由软件”; GNU 的软件缺乏一个开放的平台运行,只能在 UNIX 上运行; 自由软件指用户可以对软件做任何修改,甚至再发行,但是始终要挂着 GPL 的版权; 自由软件是可以卖的,但是不能只卖软件,而是卖服务、手册等;)
7. 1985 年,为了避免 GNU 开发的自由软件被其他人用作专利软件,因此创建 GPL(General Public License)版权声明;
1988 年,MIT 为了开发 GUI,成立了 XFree86 的组织;
1991 年,芬兰赫尔辛基大学的研究生 Linus Torvalds 基于 gcc、bash 开发了针对 386 机器的 Linux 内核;
8. 1994 年,Torvalds 发布 Linux-v1.0;
1996 年,Torvalds 发布 Linux-v2.0,确定了 Linux 的吉祥物:企鹅;
2.1:初识终端
打开终端(乌班图系统):Ctrl+Alt+T
打开终端(Windows系统):Win+R
关闭终端:exit命令;Ctrl+D
2.2:认识shell
username @ hostname :direction Sheli 提示符
username 用户名
hostname 主机名
direction 方向/路径
"~"表示在用户主目录下
"/"表示在根目录下
Shell提示符:普通用户为"s"符号
超级用户/管理员用户/root为“#”
2.3 Linux 操作系统
01.创建文件夹
mkdir xxx 创建文件夹XXX
mkdira1 a2 a3 批量创建文件夹 a1、文件夹 a2、文件夹 a3
mkdir-p b1/b2/b3 连续创建文件夹 b1、文件夹 b2、文件夹 b3
02.目录切换
cd 切换目录
cd .. 切换上一级目录
cd ~ 切换到用户主目录
cd / 切换到根目录
./ 表示当前所在目录
../ 表示上一级目录
../../ 表示上上级目录
pwd 查看用户当前工作目录的绝对路径
03.文件显示查询
ls [选项] [文件]
ls -1 表示一行输出一个文件
ls -a 列出目录中所有的文件(包括.开头的隐藏文件)
ls -l 列出文件的具体信息
04.文件的复制、剪切、删除
命令cp用来实现将自录或文件复制到另一个自录或文件中
cp 源文件 / 目录目标文件 / 目录 [ -rf ]
命令mv用来实现将自录或文件移动(剪切)到另一个自录或文件中
命令rm用来除文件或自录
05.压缩打包相关命令
1.命令 gzip
// gzip可以用来实现对文件的压缩或者解压缩
// gzip只能压缩或解压缩单个文件,不能压缩目录
gzip [选项] 文件
-d 选项可以对压缩文件进行解压缩
zcat 命令可以在不解压的情况下查看这个文件中的内容
gunzip 命令对文件解压缩
gunzip [选项] .gz文件
2.命令 tar
2.4 用户与系统相关命令
01.切换用户命令 su
sudo superuser do
passwd 设置/更改密码
sudo passwdd root 我要以超级管理员的身份为root用户新建密码第一次密码:用户密码(123456)
第二次密码:要设置的root用户密码(12345678)su root switchuser su为动换用户部令
exit 退出超级管理员身份
sudo 命令 以普通用户的身份执行超级用户的权限
02.系统相关命令
exit命令
当用户为普通用户时,其功能为关闭终端
当用户为超级用户时,其功能为切换到普通用户
shutdown 实现系统关机/重启
shutdown -r 一分钟后重启
shutdown -c 取消一分钟后的重启/关机
shutdown -h 一分钟后关机
03.文件搜索
grep 如果匹配到相关信息就会打即符合条件的所有行
grep需要匹配的字符文件名
-i 不区分大小写
-c 统计包含匹配的行数
-n 输出行数
-v 反向匹配find 在指定的目录中搜索文件
find 路径文件名
name 按照名字查找
iname 模糊大小写搜索find / -name Videos(会遍历根目录下的所有文件,并显示搜索结果)
04.链接
Ln(Link)的缩写
链接分为软链接和硬链接
无论是修改活文件还是接文件,另一个文件中的数据都会发生改变
in【选项]源文件或目录自标文件或自录
硬链接
无论是删隐了源文件还是硬链接文件,只要有一个文件存在,文件都可以被访问
硬链接不能链接自录
软链接
的除软链接文件,源文件不受影响:而删除源文件,软链接文件会失效。
Ln -s 源文件或目录目标文件或目录ln-s demo3 link
05.文件所属用户
Linux操作系统是一个多用户的操作系统
系统对用户的管理采用分组分形式,即多个用户分为一组
命令chown用于修改文件所属用户
命令chgrp用于修改文件所属用户组
chown/chgrp[选项][所属用户/组][文件]
06.文件权限
r 表示可读权限 W 表示可写权限 x 表示可执行权限 - 表示不具备该权限
第一组:文件所属用户对文件的访问权限
第二组:与所属用户同组的其他用户对文件的访问权限
第三组:非同组的其他用户对文件的访问权限
+代表增加权限-代表减少权限三号代表直接赋子
不同的用户级别表示为
u(文件所属用户)g(同组其他用户)o(系统其他用户)a(所有用户)
chmod [选项]权限符号文件
07.八进制更改权限
八进制数法
//将拥有该权限设置为1,不具有该权限设置为0//"rwx r-x -w-",可以替换成二进制 "111 101 010"
//chmod[选项] 八进制数 文件
//0 000 无权限
//1 001 可执行
//2 010 可写
//3 011 可写可执行
//4 100 可读
//5 101 可读可执行
//6 110 可读可写
//7 111 可读可写可执行
08.echo指令
ehco “内容”>文件名
echo "123" > test.txt
(覆盖内容)
echo "123" >> test.txt
(追加内容)
-e (激活转义字符,达到换行的效果)
09,查看文件
cat 文件名 可以起到查看文件内容的效果
第三章:linux用户管理
1.用户的基本概念
01:用户的属性
a :用户名
b :口令
口令是登陆账号的密码
c :用户标识号
用户标识号(uid)是账号的提示符
一般情况下,与用户名是一一对应的
uid为0的帐号属于系统管理员uid为1-499的账号是系统保留账号,不可登录
uid为500-65526为可登录账号,一般用户使用
d :用户主目录
用户主目录即用户的起始工作目录,默认为“home/用户名”
//从用户主目录切换进入到home目录,
$ cd ..
//查看hone目录下的文件夹
$ls(会有一个用户文件夹)查看用户的主目录的绝对路径
$ pwd
2.用户管理命令
01:用户管理
1:添加用户
$ usaradd [参数] 用户名
// -m 指定新建用户的用户名文件夹在home目录中
sudo useradd -m 用户名
cd ..
ls (home文件夹多出了一个ton文件夹)
2:用户口令
passwd [选项] 用户名
3:删除用户
userdel [选项] 用户名
eg:
$ sudo userdel -r tom(当前进程在运行,无法删除tom账户)
//退出tom用户进程
$ sudo kill -SIGKILL 进程号
02:用户与组
a:一对一:某一用户是某个组的唯一成员
b:多对一:多个用户是某唯一组的成员,成员不归属其他用户组
c:一对多:某个用户可以是多个用户组的成。
d:多对多:多个用户对应多个用户组
03.与用户相关的配置支件
// 记录了用户的基本属性
$ cat /etc/passwd
$ tail /etc/passwd// WJK:x:1007:999: :/home/WJK:/bin/sh
// 登录名:密码 (x) 占位符x:加密口令:UID:GID:个人信息:主自录:登录Shell
$ cat /etc/gruop
// tfboys:x:1004:
// 组名:口令(加密后):组标识号(GID):组内用户列表
04.用户组管理
1: groupadd 用户组的添加
$ groupadd [选项] 用户组
// -g 指定新用户组标识号( GID)
// -o 与-g同时使用, 表示新指定的GID可以与系统中已存在的GID相同
$ su root
$ groupadd tfboys
(用户组的所有信息都存放在"etc/grop"文件夹中)
// 查看组
$ cat etc/group
// 查看文件最后10行内容$ tail /etc/group
2: gpasswd 用户组成员的添加与删除
$ gpasswd [选项] 用户名 组名
// -a 把用户添加到组
// -d 把用户从组中删除
3: groupmod 用户组的修改
$ groupmod [选项] 用户组// -n 将用户组的名字改为新的名字 (更改后 更改前)
// -g 指定新的组标号 (GID)
// -o 与-g同时使用, 表示新指定的GID可以与系统中已存在的GID相同
4: groupdel 用户组的删除
$ groupdel 用户组