一、linux的内核和发行版本
内核的官网:www.kernel.org
红帽官网:www.redhat.com
CentOS官网:www.centos.org
Redhat: RHEL CentOS fedora
Debian: Ubuntu
二、linux操作系统和Windows的区别:
1.语言:
linux各种语言做为一个软件包,可以选择性安装。All-in-one.
windows各种语言的发行版本是独立的。
2.图形化界面:
在linux中图形化界面作为一个软件安装运行在内核之上。
windows的图形化界面是与生俱来的。
3.管理员
在linux中的超级管理员:root
在windows中的系统管理员:administrator
1.分区结构:
linux使用树形结构,最上层为“/”文件系统。当软件安装的时候分门别类的存放到二级文件夹中。
如:
/root: 管理员家目录
/home: 普通用户家目录
/bin : 可以执行的命令
/sbin : 超级用户执行的命令
/etc : 配置文件存放的路径
/boot:系统启动过程中需要使用到的文件,如内核文件和启动加载器文件
/lib: 系统的库文件
/tmp: 临时文件存放的路径
/var: 实体文件存放的路径,如 数据库文件、网站文件。
windows使用平行并列式的分区结构。
三、什么是SHELL?
用户和内核实时对话的翻译人员。
查看系统中可用的shell : # chsh -l
系统默认的shell:bash
1.Bash的优点:
1)键盘上《Tab》键,可以补齐命令。
2)使用history命令打印历史记录。
3)使用“!”执行上一次执行成功的命令。
4)使用键盘上的“上下”翻动之前执行的命令。
四、相对路径与绝对路径与简单命令
系统上的所有文件在进行编辑的时候,都需要指定他的路径。
1.相对路径:相对与当前文件夹所在的位置。 . 当前文件夹 .. 上一层文件夹
2.绝对路径:以“/”开头的的路径。
touch ls pwd rm [ -f ] cat > >> cd
mkdir
rm -rf
cp source dest
mv source dest
五、本地用户的管理
1.创建用户:
# useradd 用户名
# passwd 用户名 //需要输入两次密码
2.在创建用户的同时,操作系统做了哪些事?
1)在/home文件中创建了跟该用户同名的文件夹,作为该用户的家目录。(该用户在家目录当中,RWX)
2)在/var/spool/mail文件夹中创建了跟该用户同名的文件作为该用户的邮箱文件。
3)系统创建了跟该用户同名的组,作为该用户的私有组。
3.删除用户:
# userdel 用户名
# userdel -r 用户名 //删除用户的同时,请把邮箱文件和家目录一并删除。
4.更新新建用户密码:
# passwd 用户名 //需要输入两次,用户较多不适合写脚本
# echo 密码 | passwd --stdin 用户名
(*超级用户可以设置和更新所有用户的密码,普通用户这只能更新自己的密码!*)
5.练习批量创建user1-user100,100个用户并设置密码为redhat123.
# vim usercreate.sh
#!/bin/bash
for x in {1..100}
do
useradd user$x
echo "redhat123" | passwd --stdin user$x
done
# sh usercreate.sh
6.系统中用户账户和密码的重要文件:
/etc/passwd :当我们使用 useradd命令创建用户的时候,系统会把创建的用户信息写到这个文件中。一行表示一个文件。使用6个”:”分隔处7个字段:具体含义如下:
用户名:密码:UID:GID : 备注信息: 家目录: 登录系统后默认使用的shell
/etc/shadow : 用于记录用户密码的信息,也是一行一个用户。可以认为/etc/passwd和/etc/shadow 是同一个数据库中的两张表,使用”用户名”字段进行关联!
7.linux操作系统的密码机制
Md5单向hash算法+salt
8.更改用户的信息:
useradd -u UID -g GID -G 丛属组 -s 默认的shell -c 备注信息 用户名
usermod -u UID -g GID -G 丛属组 -s 默认的shell -c 备注信息 用户名
useradd --help
usermod --help
六、系统中的常用快捷方式
Ctrl + Shift + “+” 放大终端字体
Ctrl + “-” 缩小终端字体
Ctrl + “n” 新打开一个终端
Ctrl + “c” 中断当前的命令
七、组的管理
新建组: # groupadd 组名
删除组: # groupdel 组名
查看组是否存在: # cat /etc/group | grep 组名
修改组信息: groupmod -n 新的组名 原组名 //更改组的名字
1.组的分类:
1.私有组:使用useradd创建新的用户的时候,系统自动创建的跟该用户同名的组。
2.公有组: 使用groupadd命令后续祖籍创建的组。
2.组成员和组管理员:
向组中添加组成员: # gpasswd -a 用户名 组名 //用户和组必须是已经存在的
从组中删除用户: # gpasswd -d 用户名 组名
检查一个用户都在哪些组中: # id 用户名
1)查看一个组中都有哪些组成员:
由两个文件共同的记录这组的信息,每行一个组信息,使用3个“:”分隔出来4个字段
2)组管理员:
组管理员不一定是该组的成员,但可以使用gpasswd -a | -d 参数向该组中添加或删除普通用户。
每个组,只能有一个组管理员!
添加组管理员: # gpasswd -A 用户名 组名
删除组管理员: # gpasswd -A “” 组名
八、LINUX系统中的权限
1.文件的普通权限:
# chmod u=rwx,g=rw,o=r file1.txt
# chmod u=rw file1.txt
# chmod g+x file1.txt
# chmod o-w file1.txt
# chmod a=r file1.txt
r-------4 w--------2 x-------1
# chmod u=rwx,g=rw,o=r file1.txt = chmod 764 file1.txt
更改文件的属组:(. | : )
# chown 用户名.组名 file1.txt
# chown 用户名 file1.txt
# chown .组名 file1.txt