摘要
1.CentOS7的安装配置与初始化 2.学习机的常用配置 3.磁盘分区表示法
4.linux中文件系统类型 5.inode节点与块 6.Linux启动流程 7.运行级别
8.Linux启动运行的第一个进程 9.系统服务控制systemctl 10.shell
11.内部命令和外部命令 12.Linux命令格式 13.常用基本操作
14.常用快捷键 15. 命令帮助信息 16.绝对路径和相对路径 17.别名命令
18.管道符和重定向 19.小结
1.CentOS7安装配置与初始化
一. 安装CentOS Linux
- 检测光盘完整性
- 配置安装程序
- 初始化系统
2.学习机的常用配置
- 关闭防火墙
- 关闭selinux
- 关闭自动锁屏
systemctl stop firewalld
systemctl disable firewalld
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
Removed symlink /etc/systemd/system/basic.target.wants/firewalld.service.
#清除所有规则,暂停防火墙(危险命令小心使用!)
iptables -F
vi /etc/selinux/config
#将SELINUX改为disable,结果如下图:
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of three values:
# targeted - Targeted processes are protected,
# minimum - Modification of targeted policy. Only selected processes are protected.
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
#查看防火墙服务
[root@localhost ~]# systemctl status firewalld.service
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
Active: inactive (dead)
Docs: man:firewalld(1)
然后在设置中,手动关闭锁屏即可。
最后关机保存快照。(如果开机保存,会占很大的硬盘空间)
3.磁盘分区表示法
/dev/hda5
/dev表示硬盘文件所在的目录
hd表示IDE设备,sd表示SCSI设备
根据硬盘的顺序号,以字母a,b,c,d…等表示第几块硬盘
数字表示分区的顺序号,用1,2,3,4…等表示是第几块分区。
其中最多有4块主分区,从第5块之后表示逻辑分区,1-4中,最多可以有一块表示扩展分区。
在我们使用的Linux系统中:
第1个主分区/dev/sda1 | 第2个主分区/dev/swap | 第一个逻辑分区/dev/hda5 | 第2个逻辑分区/dev/hda6 | 扩展分区 |
---|
4.linux中文件系统类型
CentOS7默认 :XFS日志文件系统 SWAP交换文件系统
Linux支持的其他文件系统类型:EXT3,EXT4
FAT16,FAT32,NTFS,XFS,JFS
若要像下面的版本兼容,最好用EXT4。
5.inode节点与块
inode区域:存储元数据的区域,文件字节数,权限,归属,时间戳,连接,数据块位置;
inode bitmap:inode使用情况,比如空闲inode;
block bitmap:块的使用情况,比如空闲的inode与空闲的块等信息。
数据块是由多个扇区组成,常见4KB一块,存放文件数据和目录数据。
inode类比于酒店前台,记录那些空闲的房间,而块则类比于房间。
inode区:inode—>目录块位置
数据区:inode号—>文件名
查看/var/log/messages
文件从左到右逐层寻找,linux中文件夹就是目录,不是容器。文件夹其实是一个索引。好比去书店买书,按类寻找我们想要的图书。
寻找过程:从根自引用中,找到对应var目录的索引位置,也就是inode号。然后通过inode号,找到var的块,在块中寻找log的inode号,以此类推。
创建文件过程:
1先看inode图和block图,先看inode和block是否有空闲空间。如果inode被占满了,即使有再多的block块也无法写入文件。同理,我们删除文件是删除的文件inode号,让我们找不到inode进而无法访问,此时inode认为block为空,但是block中,原有内容还存在,如果我们不写入新内容,还能有恢复删除内容的可能。创建文件先找空闲inode号,然后找到inode所指向的block,最后写入内容。
6.Linux启动流程
Linux的引导过程:1引导过程总览 2系统初始化进程及文件
linux系统启动流程:
- 开机自检(BIOS)
- MBR引导
- GRUB菜单(选择运行需要内核)
- 加载内核(Kernel)
- init进程初始化
7.运行级别
运行级别SysVinit | Systemd的target | 说明 |
---|---|---|
0 | target | 关机状态 |
1 | rescue.target | 单用户模式 用于系统维护 登陆不需要密码 |
2 | multi-user.target | 与3相同 |
3 | multi-user.target | 字符界面的完整多用户模式 用在多数服务器主机 |
4 | multi-user.target | 与3相同 |
5 | graphical.target | 图形化界面 |
6 | reboot.target | 重启主机 |
查看运行级别的两种方式:
systenctl:
runlevel:
[root@localhost /]# runlevel
N 5
切换运行级别:
init + 数字
systemctl isolate multi-user.target
systemctl isolate graphical.target
8.Linux启动运行的第一个进程
**init进程:**由Linux内核加载运行/sbin/init程序,是系统中的第一个进程,PID号永远为1。
**systemd进程:**代替init进程,成为主流。程序位于/usr/lib/systemd/systemd。相比于init,systemd向下兼容,集中化命令管理,并且有更合适的命令结构。
9.系统服务控制systemctl
systemctl 【控制类型】【服务名称】
控制类型:start stop restart reload status
重启和重新加载不同,重新加载可以不用关闭现有服务,而更新服务数据。
- 查看默认启动级别
[root@localhost /]# systemctl get-default
graphical.target
#设置默认启动级别5
[root@localhost /]# systemctl set-default graphical.target
Removed symlink /etc/systemd/system/default.target.
Created symlink from /etc/systemd/system/default.target to /usr/lib/systemd/system/graphical.target.
#查看系统服务的启动状态
[root@localhost /]# systemctl is-enabled firewalld.service
disabled
#把防火墙服务改为开机自启
[root@localhost /]# systemctl enable firewalld.service
Created symlink from /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service to /usr/lib/systemd/system/firewalld.service.
Created symlink from /etc/systemd/system/multi-user.target.wants/firewalld.service to /usr/lib/systemd/system/firewalld.service.
#关闭开机自启防火墙服务
[root@localhost /]# systemctl disable firewalld.service
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
enable和disable 不同于start 和 stop ,前者是设置系统开机启动服务项。
控制服务除了systemctl,还有ntsysv软件工具(需要自己下载安装)
10.shell
shell是贯穿Linux的核心,是各种命令的集合,是一种运行在linux中的特殊程序,充当用户和内核的”翻译官“。用户登陆Linux时自动加载一个shell,Bash时Linux系统中默认使用的shell程序。
文件位于:/bin/bash
工作流程:接受用户输入的命令->解释命令->传递给系统内核执行
11.内部命令和外部命令
内部指令:
集成于shell解释器程序内部的一些特殊指令,也称为内建(Built-in)指令;
属于shell的一部分;
没有单独对应的系统文件;
自动载入内存可以直接使用。
外部指令:
Linux系统中能够完成特定功能的脚本文件或二进制程序;
属于shell解释器程序之外的命令;
外部命令对应系统中的一个文件;
必须知道对应文件位置,由shell加载后执行。
内部命令运行速度快,但是外部命令功能更强大。
Linux系统将存放外部命令,程序的目录,添加到搜索路径中。当使用这些目录中的外部命令时,用户不需要指定具体的位置。
12.Linux命令格式
命令字 【选项】 【参数】
命令字:即我们要使用的命令(唯一确定的一条命令)最关键的部分
参数:执行该命令的对象(吃 肉 肉—>参数)
选项:告诉shell如何执行命令(吃 炖烤 肉 炖 烤—>选项)
一个-代表后面是以字母形式存在,两个--代表是以单词形式存在。
13.常用基本操作
查看及切换目录
pwd
显示当前完整路径。
cd
[root@localhost /]# cd /
[root@localhost /]# cd ~
[root@localhost ~]# cd /alibaba/task/
ls
[root@localhost ~]# ls
anaconda-ks.cfg initial-setup-ks.cfg
ls -i 可以看到inode节点号
[root@localhost ~]# ls -l
#以长格式显示
总用量 8
-rw-------. 1 root root 1899 3月 1 19:21 anaconda-ks.cfg
-rw-r--r--. 1 root root 1947 3月 1 19:23 initial-setup-ks.cfg
[root@localhost ~]# ls -lh
#以易于人们阅读的方式显示
总用量 8.0K
-rw-------. 1 root root 1.9K 3月 1 19:21 anaconda-ks.cfg
-rw-r--r--. 1 root root 2.0K 3月 1 19:23 initial-setup-ks.cfg
[root@localhost ~]# ls -lh /
总用量 24K
lrwxrwxrwx. 1 root root 7 3月 1 19:07 bin -> usr/bin
dr-xr-xr-x. 5 root root 4.0K 3月 1 19:21 boot
drwxr-xr-x 19 root root 3.2K 3月 1 20:16 dev
drwxr-xr-x. 145 root root 8.0K 3月 1 19:22 etc
drwxr-xr-x. 3 root root 21 3月 1 19:21 home
lrwxrwxrwx. 1 root root 7 3月 1 19:07 lib -> usr/lib
lrwxrwxrwx. 1 root root 9 3月 1 19:07 lib64 -> usr/lib64
drwxr-xr-x. 2 root root 6 4月 11 2018 media
drwxr-xr-x. 2 root root 6 4月 11 2018 mnt
drwxr-xr-x. 3 root root 16 3月 1 19:15 opt
dr-xr-xr-x 215 root root 0 3月 1 20:16 proc
dr-xr-x---. 5 root root 225 3月 1 20:23 root
drwxr-xr-x 43 root root 1.3K 3月 1 20:20 run
lrwxrwxrwx. 1 root root 8 3月 1 19:07 sbin -> usr/sbin
drwxr-xr-x. 2 root root 6 4月 11 2018 srv
dr-xr-xr-x 13 root root 0 3月 1 20:16 sys
drwxrwxrwt. 19 root root 4.0K 3月 1 21:34 tmp
drwxr-xr-x. 13 root root 155 3月 1 19:07 usr
drwxr-xr-x. 21 root root 4.0K 3月 1 19:22 var
du
[root@localhost task]# du -sh /etc/
43M /etc/
[root@localhost task]# du -h /etc/
16K /etc/fonts/conf.d
20K /etc/fonts
72K /etc/grub.d
12K /etc/pki/rpm-gpg
0 /etc/pki/ca-trust/source/anchors
0 /etc/pki/ca-trust/source/blacklist
4.0K /etc/pki/ca-trust/source
160K /etc/pki/ca-trust/extracted/java
。。。。。。。。。。。。
还有很多
目录和文件基本操作
mkdir
mkdir -p 一次创建多层目录。-p递归创建。
[root@localhost ~]# mkdir -p /111/222/333/
[root@localhost ~]# cd /111/222/
[root@localhost 222]# cd 333/
[root@localhost 333]# mkdir a b c d
[root@localhost 333]# ls
a b c d
touch
创建一个新文件,如果文件存在,就更新文件的时间戳。
ln
ln [-s] 源路径 目标路径
软链接建立必须使用绝对路径!
ln -s /bin/bzip2 /bin/wx
软连接和硬链接
软连接类似快捷方式。硬链接类似复制文件。
类似复制但不同于复制,如果源文件修改,硬链接文件会同步发生变化。硬链接文件的inode节点号相同,可以用来备份重要文件。
复制删除移动目录和文件
cp
将需要复制的文件或目录(源)重建一份,并保存为新文件或目录,复制后可赋予新名称。
cp 【选项】 源文件或目录 目标文件或目录
cp -r 复制目录时需要加上,递归复制。
rm
rm -rf yyds!注意r递归,i表示挨个提问你是否要删除。
mv
mv 【选项】 源 目标
mv /1 /2 把1移动到2。
mv还能用来改名,mv 原名 新名。
查找目录和文件
which
which搜索范围由环境变量PATH决定(echo $PATH)
find
14.常用快捷键
快捷键 | 功能 |
---|---|
Tab | 补全(命令、文件名、路径) |
ctrl+u | 删除光标到行首 |
ctrl+k | 删除 光标到行尾 |
ctrl+l | 清屏 |
ctrl+c | 结束当前进程 |
\ | 强制换行 |
15. 命令帮助信息
help + 命令、-h、–help、man、info
命令 --help(-h) 直接输出命令行;摘要信息 简略
Man (info)+命令 (使用手册)以文档形式查看 阅读模式;详细信息
16.绝对路径和相对路径
绝对路径是必须从根开始写起的路径,但是相对路径就可以在任意位置写起。
17.别名命令
#添加别名
[root@localhost task]# alias lh='ls -lh'
[root@localhost /]# alias
alias cp='cp -i'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
alias l.='ls -d .* --color=auto'
alias lh='ls -lh'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias mv='mv -i'
alias rm='rm -i'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
#删除别名
[root@localhost task]# unalias lh
[root@localhost task]# alias
alias cp='cp -i'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias mv='mv -i'
alias rm='rm -i'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
18.管道符和重定向
重定向
>表示将输出内容写入文件中(创建新文件,若原来存在则覆盖)
[root@localhost /]# date > /root/date.txt
[root@localhost /]# cat /root/date.txt
2021年 03月 02日 星期二 03:32:37 CST
2>收集错误信息;
>>追加到已存在的文件中;
管道符
切 -丁 萝卜 | 吃 -炒 (萝卜丁)
[root@localhost /]# man ls | col -b > /root/lshelp.txt
19.小结
- 第二块SCSI硬盘的第三个逻辑分区:/dev/sdb7
- Centos7默认使用文件系统:XFS
- inode结点用光了会怎样?相当于硬盘被沾满,无法创建新文件。
- Systemd的PID号是:1
- sysremd的常见单元类型中,service和target分别代表什么?