LINUX基础学习

Linux基础入门与系统管理

一、系统启动过程

1、内核引导

当计算机通电后,首先进行BIOS自检,读取磁盘0扇区,执行MBR主引导代码,将控制权交给内核。当操作系统接管硬件后,会先读入/boot目录下的内核文件。

2、运行init

init是启动第一个用户进程,它是内核加载后的瞬间动作。init是系统初始化的执行者

3、系统初始化

系统初始化就是将内核变成可用系统的配置过程,init读取配置,执行脚本,启动服务,设置运行级别。在系统初始化后会产生可登录,有网络,带服务的操作系统环境。

所以init和系统初始化的关系就像是,init是一个执行者,而系统初始化是一个执行的过程。

4、用户登录

一般来说用户登录分为三种:命令行登录;ssh登录;图形界面登录。

二、Linux系统的目录结构

其中几个最重要的目录:

  • /etc :系统配置核心
  • /bin、/usr/bin :普通用户使用的基础指令区
  • /sbin、/usr/sbin:root使用的指令区
  • /var:系统运行时写入的数据均在这里

三、文件的权限

1、文件权限的概念

#显示文件权限的指令:

[root@iZ2vcgai63tgvyg5e57rohZ /]# ls -l
总用量 60
lrwxrwxrwx    1 root root     7 7月   3 2019 bin -> usr/bin
dr-xr-xr-x    5 root root  4096 11月 23 21:41 boot
drwxr-xr-x   19 root root  3000 12月  4 16:57 dev
drwxr-xr-x.  77 root root  4096 12月  5 10:18 etc

在linux中文件属性的第一个字符代表着不同含义:

  • d:目录
  • -:文件
  • l:链接文档
  • b:装置文件里面的可供存储的接口设备
  • c:装置文件里面的串行端口设备(键盘,鼠标等)

接下来的字符三个为一组分别代表文件的所有者拥有的权限;文件所有者同组用户的拥有权限;其他用户拥有权限。

2、更改文件属性

(1)更改文件属组

chgrp -R 属组名 文件名  (-R的含义是:该文件夹下所有文件的属组都会跟着变

修改前:

[chris@iZ2vcgai63tgvyg5e57rohZ ~]$ ls -l
drwxrwxr-x 2 chris chris 4096 12月  3 16:57 mysql
drwxrwxr-x 2 chris chris 4096 12月  5 17:18 test

[chris@iZ2vcgai63tgvyg5e57rohZ ~]$ sudo chgrp -R root test

修改后:
[chris@iZ2vcgai63tgvyg5e57rohZ ~]$ ls -l
drwxrwxr-x 2 chris chris 4096 12月  3 16:57 mysql
drwxrwxr-x 2 chris root  4096 12月  5 17:18 test

(2)更改文件所有者

chown -R 所有者 文件名        

chown -R 所有者:属组名 文件名(所有者和属组名一起变)

修改前:

[chris@iZ2vcgai63tgvyg5e57rohZ ~]$ ls -l
drwxrwxr-x 2 chris chris 4096 12月  3 16:57 mysql
drwxrwxr-x 2 chris root  4096 12月  5 17:18 test

[chris@iZ2vcgai63tgvyg5e57rohZ ~]$ sudo chown root test

修改后:

[chris@iZ2vcgai63tgvyg5e57rohZ ~]$ ls -l
总用量 8
drwxrwxr-x 2 chris chris 4096 12月  3 16:57 mysql
drwxrwxr-x 2 root  root  4096 12月  5 17:18 test

(3)更改文件的权限

方法一:chomd -R xyz 文件或目录(其中xyz代表三组rwx数值,其数值分别为2的次方)

如果将权限变为-rwxr-xr--  那么xyz的值为:754

方法二:chomd u=rwx,g=rx,o=r 文件或目录

三、文件与目录管理

1、目录操作常用指令

ls     (列出目录)

参数:

-a:全部文件包括隐藏文件

-d:仅列出目录本身

[chris@iZ2vcgai63tgvyg5e57rohZ ~]$ ls -d
.

-l:包含文件属性与权限等数据

cd   (切换目录)

cd ~                回到家目录

cd ..                去上一级目录

pwd    (显示目前所在的目录)

参数:

-P:显示出真实的路径而不是链接路径

mkdir -mp 目录名称   (创建目录/文件夹)

-m:后面可以直接配置文件的权限

mkdir -m 711 test2

-p:可以创建多个目录(平级)

mkdir -p test1/test2/test3/test4

rmdir -p 目录名称     (删除空的目录)

-p:删除多个空目录

cp  参数  原文档  目标文档    (复制文档)

参数:

-a:相当于参数pdr合伙的作用

-d:若原文档为链接属性,则复制链接文档属性而非本身

-f:强制性

-i:目标文档已存在,则覆盖

-l:进行硬式链接而非复制文档本身

-p:连同文件属性一起复制

-r:用于目录复制

-s:复制成为符号链接

rm 参数 文件或目录    (移除文件或目录)

参数:

-f:强制

-i:删除前会询问

-r:递归删除

mv 参数 文件 目录    (移动文件)

参数:

-f:强制

-i:若文件已存在则询问

注意:

使用mv移动文件时需要配合cp指令;如果mv后面的对象是目录则代表修改目录名称

2、文件查看的常用指令

cat 参数  文件名  (由第一行开始显示文件内容)

参数:

-A:相当于-vET,可列出一些特殊字符而不是空白

-b:列出行号(非空白不标行号)

-E:将结尾的断行字节¥显示出来

-n:列出所有行行号(包括空白)

-T:将tab键以^I显示出来

-v:列出一些看不出来的特殊字符

tac 文件名   (文件内容从最后一行开始显示)

nl -bnw 文件名    (显示行号)

参数:

-b:-b位置有两种参数可选,表示行号的指定方式:

        ba  无论是否为空白行均列出

        bt   空白行不列出行号

-n:-n位置有三种参数可选,表示列出行号的方法

        nln 行号在行号位置的最左边

        nrn 行号在行号位置的最右边不加0

        nrz 行号在行号位置的最右边且加0

more 文件名 (一页一页翻)

在浏览文件时可以配合一些按键:

  • 空白键:向下翻一页
  • enter键:向下翻一行
  • /字符串:在显示的内容中向下搜索字符串
  • :f:立刻显示文档名及目前显示的行数
  • q: 立刻离开more
  • b或者ctrl b:表示往回翻页,只对文件有用

less 文件名 (一页一页翻,可上下翻动,是more的增强版)

在浏览文件时可以配合一些按键:

  • 空白键:向下翻一页
  • [pagedown]:向下翻一页
  • [pageup]:向上翻一页
  • /字符串:向下搜索
  • ?字符串:向上搜索
  • n:重复前一个搜索
  • N:反向的重复前一个搜索
  • q:离开

head -n number 文件名  (取出文件前面几行)(number表示取几行的数字)

tail -n number 文件名  (取出文件后面几行)(number表示取几行的数字)

四、用户与用户组的管理

1、用户账号的管理

(1)添加账号

useradd 参数 用户名

参数:

  • -c comment:指定一段注释性描述
  • -d 目录:指定用户主目录,若目录不存在可用-m创建主目录
  • -g 用户组:指定用户所属用户组
  • -G 用户组: 用户组指定用户所属的附加组
  • -s shell文件:指定用户的登录shell
  • -u 用户号:指定用户的用户号

(增加用户账号就是在/etc/passwd文件中为新用户增加一条记录,同时更新其他的系统文件,并且创建家目录,设置权限所有权,复制骨架文件:从/etc/skel/复制.bashrc等配置文件,自动分配唯一的id)

(2)删除账号

userdel  选项  用户名

参数:

-r:把用户的主目录一起删除

(3)修改账号

usermod 选项 用户名

参数:

  • -c:注释/描述信息   例:sudo usermod -c "李四 - 运维工程师" lisi
  • -s:默认shell
  • -d:新家目录路径   例:-d /home/newhome
  • -m:移动家目录内容   例:usermod -d /home/zhangsan_new -m zhangsan(将                    home/zhangsan移动到home/zhangsan_new)
  • -g:修改主组
  • -G:修改附加组(会覆盖原有的附加组,一般使用-aG用来追加附加组)
  • -L:锁定账户
  • -U:解锁账户
  • -e:设置账户过期日期  例:sudo usermod -e 2024-12-31 zhangsan(到期后无法登             录,但文件和进程还存在)
  • -u:修改uid
  • -l:修改登录名(仅仅是重命名,家目录uid均不会变)

(4)用户口令(也就是密码设置)

passwd 选项 用户名

选项:

  • -l:锁定口令,禁用账号
  • -u:口令解锁
  • -d:使账号无口令
  • -f:强迫用户下次登陆时修改口令

2、用户组管理

(1)增加用户组

groupadd 选项 用户组名

选项:

  • -g GID:指定新用户组的组标识号
  • -o:一般与-g共同使用(一般情况下GID是唯一的,但-o参数表示可重复使用GID)

(3)删除用户组

groupdel 用户组名

(4)修改用户组

groupmod 选项 用户组

选项:

  • -g GID:修改GID值
  • -o:与-g同时使用
  • -n 新用户组:将用户组重命名

(5)切换用户组

newgrp 用户组名(一个用户属于多个用户组,切换的前提是该用户属于这个组)

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

  • /etc/passwd  :系统为每个用户都在该文件里创建一个对应的记录行,记录用户的一些基本信                           息。

  • /etc/shadow  :记录行与passwd文件一一对应只用超级用户才有权限(由于linux系统为了提高安全性,所以将加密口令分离出来,放在shadow文件中)

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

最小时间间隔:两次修改口令所需的最小天数

最大时间间隔:口令保持的最大天数

警告时间:系统开始警告用户到密码正是失效之间的天数

  • /etc/group:用户组的所有信息均在这里

4、批量添加用户

  • 先编辑一个文本用户文件

  • 执行 newusers < user.txt   创建用户(成功后去passwd文件查看是否创建成功)

  • 执行 pwunconv  取消shadow password功能
  • 编辑密码对照本

  • 执行chapasswd < passwd.txt 将密码批量写入passwd文件
  • 执行 pwconv 将密码写入shadow中

注意txt文件中不要有空白行,否则会报错

五、磁盘管理

1、三个常用指令

(1)df(disk free):列出文件系统的整个磁盘使用量

df 参数 文件名

参数:

  • -h:可读的方式显示输出结果
  • -T:显示文件系统的类型
  • -t 文件系统类型:只显示指定类型的文件系统
  • -i:显示inode使用情况
  • -H:显示会以1000字节作为基本单位而不是1024字节
  • -k:会以KB作为单位显示
  • -a:显示所有的文件系统(包括虚拟文件系统)

拓:Linux常见的文件系统

由于linux秉持一切皆文件的理念,所以有着多种文件系统:

  • 磁盘文件系统

  • 特殊/虚拟文件系统

  • 网络文件系统

挂载点:其实就是一个目录,它像是一个对接接口(一个指示牌,本身不工作),通过它才能访问存储设备上的文件系统。(例:程序需要临时文件-->选择保存到某个目录-->若该目录为tmpfs的挂载点-->文件实际存在内存中-->程序用文件API操作-->看起来是文件,实际上是内存)

(2)du(disk used):检查磁盘空间使用量

du 参数 文件/目录

参数:

  • -a:列出所有文件与目录的容量
  • -h:以G/M形式显示
  • -s:仅显示指定目录或文件总大小(不包括子目录)
  • -S:在-s的基础上并显示子目录
  • -k:以KBytes形式显示
  • -m:以MBytes形式显示

注意:直接输入du会显示当前所在目录里的子目录所占的硬盘空间

(3)fdisk:linux磁盘分区表操作工具

2、磁盘格式化

mkfs -t 文件系统格式 装置文件名

-t:表示可以接文件系统格式(例ext等)

(例:mkfs -t ext3 /dev/hdc6  --------->表示将/dev/hdc6格式化为ext3)

3、磁盘检验

fsck [-t 文件系统] [参数] 装置名称        (用来检查和维护不一致的文件系统)

参数:

  • -s:依序一个个执行fsck指令来检查
  • -A:对/etc/fstab中所列出的分区进行检查
  • -C:显示完整的检查进度
  • -d:打印出e2fsck的调试结果
  • -p:同时有-A条件时,同时有多个fsck检查一起执行
  • -R:同时有-A条件时,省略/不检查
  • -V:详细显示模式
  • -a:检查出错误自动修复
  • -r:检查出错误询问后修复
  • -f:强制检查,会一项项显示过程

4、磁盘挂载与卸除

磁盘挂载:

mount [-t 文件系统] [-L label名] [-o 额外选项] [-n] 装置文件名 挂载点

例:将新创建的/dev/hdc6挂在到/mbt/hdc6上面:mount /dev/hdc6 /mnt/hdc6

磁盘卸载:

umount [-fn] 装置文件名/挂载点

参数:

-f:强制卸除(可用于类似网络文件系统无法读取的情况下)

-n:不升级/etc/mtab情况下卸载

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值