Linux学习-菜鸟教程知识(一)

启动过程

一. 内核的引导
1 开机BIOS开机自检,按照BIOS设置中的启动设备(硬盘)启动
2 操作系统接管硬件,读取/boot下的内核文件

二.运行init
1 init是所有进程的起点
2 读取配置文件中的/etc/inittab
3 init进程开启开机启动的守护进程
4 不同场景开启不同进程,根据运行级别开启不同进程。有7个运行级别

三.系统初始化
1 在init配置文件中有,si::sysinit:/etc/rc.d/rc.sysinit
2 这是一个bash shell脚本
3 调用它完成的工作有:激活交换分区,检查磁盘,加载硬件模块以及其它一些需要优先执行任务

四.建立终端
1 开启6个终端

五.用户登录系统
1 三种方式:命令行,终端,ssh
2 关机命令shutdown,man一下,查看指令。
3 不关关机还是重启,都需要执行sync,将数据由内存写入磁盘。

系统目录

/bin:存放最经常使用的命令
/boot:核心文件,包括连接文件、镜像文件
/dev:Linux的外部设备
/etc:系统管理所需要的的配置文件和子目录
/home:用户主目录
/lib:动态连接共享库
/lost+found:系统非法关机会存文件
/media:把识别到的设备挂载到这里,如U盘
/mnt:临时挂载别的文件系统,可以查看里面的内容
/opt:给主机额外安装软件的目录
/proc:内核运行状态的一系列特殊文件,在内存中
/root:系统管理员
/sbin:系统管理员用的系统管理程序
/selinux:Redhat/CentOS特有,是一个安全机制,类似防火墙
/srv:存放服务启动之后需要提取的数据
/sys:新出现 sysfs文件系统,集成了三种文件系统信息,进程信息,设备信息,伪终端
/tmp:临时文件
/usr:unix shared resources共享资源的缩写,类似于program files
/usr/bin:系统用户应用程序
/usr/sbin:超级用户使用的管理程序和系统守护程序
/usr/src:内核源代码放置目录
/var:经常被修改的目录放在这里,包括各种日志文件
/run:临时文件系统,存放自启动以来的信息,重启后删除。

忘记密码解决办法

  1. 重启Linux系统
  2. 3秒内按回车
  3. 输入e
  4. 按向下箭头移动到第二行,按e进入编辑模式,在最后面+空格single,按回车
  5. 按b启动,就进入单用户模式了
  6. 输入命令passwd,再输入新密码,再一次新密码即可。

使用系统安装光盘的救援模式

  1. 按F5进入rescue模式
  2. 输入linux rescue回车
  3. 选择英语
  4. 选择us
  5. 选no
  6. 选择continue
  7. 回车,输入 chroot /mnt/sysimage/ 进入管理员环境
  8. 输入exit完成

Linux远程登录

通过ssh实现远程登录,默认端口为22
下载一个远程登录工具,如Putty

  1. 输入远程服务器IP
  2. 输入用户名密码

使用密钥认证机制远程登录linux

  1. 使用PUTTYGEN.EXE生成密钥对
  2. 选择默认SSH-2(RSA), 数值填2048
  3. 生成过程中鼠标要来回动
  4. 这里秘钥密码可以为空,save public key,save private key
  5. 去远程linux设置:
    mkdir /root/.ssh
    chmod 700 /root/.ssh
    vim /root/.ssh/authorized_keys
    复制public key中的从AAA到最后的内容粘贴入这里,要保证在一行
    按i,按shift+insert粘贴,然后在最前面输入ssh-rsa+空格,按ESC,输入:wq即可
  6. 再设置putty,点SSH->Auth,点击Browse…,选择私钥,点击open,输入用户名root即可。
  7. 如果之前设置了Key Passphrase,此时就会提示输入密码。

文件基本属性

Linux是多用户系统,不同用户拥有不同权限
chown (change ownerp):修改所属用户与组
chmod (change mode):修改用户的权限

[root@www /]ls -l  或者ll,显示文件属性
total 64
dr-xr-xr-x   2 root root 4096 Dec 14  2012 bin
dr-xr-xr-x   4 root root 4096 Apr 19  2012 boot
……

第一个属性是d,表示是目录,-:文件,l:链接文件,b:装置文件可供存储的接口设备,c:装置文件中的串行端口设备
r:可读,w:可写,x:可执行,没有权限是-
Linux学习-菜鸟教程知识(一)_第1张图片

Linux学习-菜鸟教程知识(一)_第2张图片

Linux文件属主和属组

Linux系统按文件所有者、文件所有者同组用户和其他用户来规定了不同的文件访问权限。

更改文件属性

chgrp [-R] 属组名 文件名 #加-R,递归
chown 属组名:属主名 文件名 #既可以改属组又可以改属主
chmod 更改文件9个属性

两种设置方法:一种数字,一种符号
分别是 owner/group/others(拥有者/组/其他) 三种身份各有自己的 read/write/execute 权限。

r:4    w:2    x:1

如:-rwxrwx----
owner=rwx=4+2+1=7
group=rwx=4+2+1=7
others=—=0+0+0=0
chmod [-R] 770

符号方法:a代表all

chmod          u              +(加入)           r                 文件或目录
			   g	 		  -(除去)		    w
			   o              =(设定)	        x
			   a

chmod u=rwx,g=rx,o=r test1
chmod a-x test1

文件与目录管理

绝对路径:由根目录/写起
相对路径:不由根目录/写起,./表示当前目录,. ./表示父目录

处理目录常用命令

ls(list files):列出文件及目录

  • -a:全部文件,包含隐藏文件
  • -d:仅列出目录本身
  • -l:列出包含文件属性与权限
  • -al:a与l的组合

cd(change directory):切换目录

pwd(print work directory):显示当前目录

  • -P:显示出实际工作目录,而非链接档

mkdir(make directory):创建一个新目录

  • -p:直接创建多层目录如:mkdir -p test1/test2/test3
  • -m:mkdir -m 711 test2 可以设置权限

rmdir(remove directory):删除一个空目录

  • -p:连同上级空目录一起删除

cp(copy file):复制文件或目录

  • -i:目标文档存在,覆盖前会询问

rm(remove):移除文件或目录

  • -f:force,忽略不存在的文件
  • -i:互动模式
  • -r:递归删除

mv(move file):移动文件与目录,或修改文件与目录名称

  • -f:force,如果存在直接覆盖
  • -i:若目标存在会询问

文件内容查看

cat:从第一行开始显示内容

  • -b:列出行号
  • -E:结尾断行字节$显示出来

tac:cat的倒着

nl:显示会输出行号

  • -b a :表示不论是否为空行,也同样列出行号(类似 cat -n);
    -b t :如果有空行,空的那一行不要列出行号(默认值);

more:一页一页显示文件内容

  • 空格:下翻一页
  • Enter:下一行
  • /字符串:搜索
  • q:离开more

less:与more类似,但可以往前翻页

  • 空白键:向下翻一页
  • [pagedown]:向下翻动一夜
  • [pageup]:向上翻动一页
  • /字符串:向下搜索
  • ?字符串:向上搜索

head:看头几行

  • -n:代表显示几行

tail:只看尾巴几行

用户和用户组管理

Linux系统是多用户多任务分时操作系统

系统用户账号的管理

  1. 添加新账号
    在系统中创建新账号,俄日新账号分配用户号、用户组、主目录和登录shell等资源
useradd 选项 用户名
-c comment 注释性描述
-d 指定用户主目录 如:useradd -d /home/sam -m sam
-g 用户组
-G 指定用户附加组
-s shell文件,之ID那个用户的登录shell
实例:useradd -s /bin/sh -g group -G adm,root gem
用户gem,登录shell是bin/ssh,属于group用户主组,同时又属于adm和root。
  1. 删除账号
    删除用户账号,就是讲/etc/passwd等系统文件中的该用户记录删除,必要时删主目录
userdel 选项 用户名
userdel -r sam #删除sam在系统文件中(etc/passwd,/etc/shadow,/etc/group)的记录的同时,会删除用户主目录。
  1. 修改账号
    修改用户属性,如用户号,主目录,用户组,登录shell等
usermod 选项 用户名
常用选项有:-c,-d,-m,-g,-G,-s,-u,-o等
如:usermod -s /bin/ksh -d /home/z -g developer sam
  1. 用户口令的管理
    用户账号刚创建没有口令,被系统锁定,需要制定口令
    指定修改用户口令是passwd,超级用户为自己和其他用户指定口令,普通用户只修改自己的
passwd 选项 用户名
-l:锁定口令,即禁用账号
-u:口令解锁
-d:使账号无口令
-f:强迫用户下次登录修改口令
例如:passwd -d sam 删除口令,不允许登录
passwd -l sam 锁定,使其不能登录

普通用户修改口令,需要知道原口令,超级用户则不需要

用户组的管理

用户组的管理涉及用户组的添加、删除和修改。组的增加、删除和修改实际上就是对/etc/group文件的更新。

  1. 增加
groupadd 选项 用户组
-g:GID指定新用户组的组标识号
-o:与-g选项同时使用,表示新用户组的GID与系统已有用户组的GID相同。
groupadd -g 101 group2
  1. 删除
groupdel 用户组
  1. 修改用户组属性
groupmod 选项 用户组
-g:GID为用户组指定新的组标识号
-o:与-g选项同时使用
-n:将用户组名字改为新名字
groupmod -g 10000 -n group3 group #将group2改为10000,组名改为group3
  1. 一个用户同时属于多个组,可以在组之间切换
newgrp root

与用户账号有关的系统文件

  1. /etc/passwd文件
    Linux中每个用户在这个文件中都有对应行
# cat /etc/passwd

root:x:0:0:Superuser:/:
daemon:x:1:1:System daemons:/etc:
bin:x:2:2:Owner of system commands:/bin:
sys:x:3:3:Owner of system files:/usr/sys:

用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录shell

用户名:用户账号的字符串
口令:存放加密后的用户口令字
用户标识号:一个整数,标识用户
组标识号:用户所属组,对应/etc/group文件中的记录
注释性描述:用户个人情况
主目录:用户工作的起始目录
shell:用户登录后,启动一个进程,将用户操作传给内核,这个进程就是shell
伪用户:不能登录,但是有记录

拥有账户文件

1.还有许多标准伪用户,如:audit,cron,mail,usenet等
2./etc/passwd所有用户可读,密码可能泄露,所以将密码放入另一个/etc/shadow文件中

登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志

登录名:用户账号
口令:13字符
最后一次修改时间:从某时刻到最后一次修改的天数
最小时间间隔:两次修改口令所需的时间天数
最大时间间隔:口令保持有效的最大时间天数
警告时间:从系统警告开始到用户密码失效时间
不活动时间:用户没有登录但账号能有效的最大天数
失效时间:绝对天数,有生存期,满后不能来登录了。

# cat /etc/shadow

root:Dnakfw28zf38w:8764:0:168:7:::
daemon:*::0:0::::
  1. 用户组信息放到/etc/group中
组名:口令:组标识号:组内用户列表

组名:用户组的名称
口令:用户加密后的口令字
组标识号:标识组,整数
组内用户列表:属于这个组内的所有用户的列表

root::0:root
bin::2:root,bin
sys::3:root,uucp

添加批量用户

  1. 先编辑一个文本用户文件
user001::600:100:user:/home/user001:/bin/bash
user002::601:100:user:/home/user002:/bin/bash
  1. 以root身份执行命令/usr/sbin/newusers,并导入刚才数据
newusers < user.txt

执行命令:vi /ect/passwd检查

  1. 执行命令/usr/sbin/pwunconv
    将/etc/shadow产生的密码解码,写入/etc/passwd,并将/etc/shadow的密码栏删掉
  2. 编辑每个用户的密码对照文件
用户名:密码
  1. 以root身份执行命令/usr/sbin/chpasswd
chpasswd < passwd.txt

chpasswd会将编译过的密码写入/etc/passwd的密码栏

  1. 确定密码写入密码栏后
    执行命令/usr/sbin/pwconv将密码编码为shadow password,将结果写入/etc/shadow
pwconv

你可能感兴趣的:(Linux,linux,shell)