Linux组成:
(1)内核:包括存储管理,cpu和进程管理,文件系统,设备管理和驱动,网络通信,系统初始化和系统调用等部分。uname -r 可以查看内核版本。
(2)shell, 命令解释器,接收用户命令,发送到内核执行。
(3)文件系统,如ext4,ext2,ext4, xfs,msdos,vfat,iso9660等。
(4)应用程序,如vi,vim,编程语言,办公软件,数据库,等各种应用。
安装要求:
至少2GB内存,10GB硬盘。
交换分区:
物理内存不足时,系统会自动的吧不常用的内存数据写到硬盘的交换分区中,作为虚拟内存使用。原则是最近最常使用的保留在物理内存。内存管理采用分页存取的机制,不定期进行页面交换,避免用时再交换耗费的时间。
硬盘分区命名规则:
格式:/dev/xxyN
dev文件夹内包含所有设备。
xx是指硬盘类型,如:hd是IDE硬盘,sd是SCSI硬盘。
y是指硬盘编号,如:hda是说的第一块IDE硬盘,sdb是说的第二块SCSI硬盘。
N是分区编号,分区是1-4,逻辑驱动器是从5开始。
分区规则:
简单分区:swap为内存的1-2倍, /boot用于系统启动,至少200MB。 / 为剩下的空间。 所有数据都存在同一个分区,系统不安全,不容易备份。
合理分区:swap为内存的1-2倍,/boot为至少200MB. /usr 存应用程序至少8G, /var 存经常变化的数据和日志,至少1G. / 挂在其他分区,至少1G。/home存放普通用户数据,大小为剩余空间。
安装时,启用Kdump内存的作用:
当系统崩溃时,利用此内存运行一个内核来收集数据,把当时的运行状态和数据信息转存到dump core文件中,用于事后分析,内存设置太小,该选择为不可用。可以手动设置或自动预留。
redhat 7使用的防火墙是firewallD,可以动态的添加策略,较之前的iptables是静态防火墙,设置策略需要整体重启。默认firewalld连接的区域是public,只有指定的外部连接可以进入内部。
firewalld防火墙配置:
(1)应用程序-->杂项-->防火墙。或 firewall-config 命令
(2)需要在指定区域中设置策略,默认是public区域,在服务中可以设置可信服务,如ssh,tftp,dns.默认只有dhcp和ssh.
(3)还可以在端口选项中添加通信端口号和协议。这样其他主机可以用这个协议访问这个端口了。
(4)启用伪装区域,可以隐藏本地网络,把本地网络连接到互联网。就像路由器。
(5)设置端口转发,可以让连接到本机指定端口指定协议的通信,转发到指定主机的指定端口。
shutdown命令:
shutdown 选项 参数 通知字符串;
选项:
-r 重启
-h 关机
-k 仅警告
-c 取消运行的shutdown任务
参数:
+40 分钟数
now 现在
01:38 指定时间
通知字符串:
“”包裹的任意字符串。
halt命令:
halts也是关机命令,调用shutdown -h .
-w : 不关机,只记录到/var/log/wtmp文件中。
-d : 关机,不记录到/var/log/wtmp文件中。
-f : 不调用shutdown, 强制关机。
reboot命令:
reboot也是重启系统。调用shutdown -r .参数与halt相同。
-w : 不重启,只记录到/var/log/wtmp文件中。
-d : 重启,不记录到/var/log/wtmp文件中。
-f : 不调用shutdown, 强制重启。
systemctl命令:
-halt 关闭和停止系统。
-poweroff 关闭并切断电源系统。
-reboot 重启系统。
-suspend 暂停系统。
目标代替运行级别:
红帽7用target代替之前的7个运行级别。
poweroff.target ---0--关闭系统
rescue.target --1--救援模式
multi-user.target --2-4 --非图形界面多用户模式
graphical.target --5--图形多用户模式
reboot.target --6--重启系统。
systemctl isolate multi-user.target 命令可以设置当前的运行级别。
systemctl set-default multi-user.target 命令可以设置开机默认的运行级别
systemctl get-default 可以查看当前的开机默认的运行级别。
查看命令的帮助和手册:
命令 --help
man 选项 命令
whatis 命令 相当于man -f 命令
which 命令 可以查到命令的路径
bash的常用功能键:
bash是大多数linux默认的shell.
控制组合键:
ctrl + l 清屏。
ctrl + c 终止命令
ctrl + z 挂起命令
光标控制组合键:
ctrl + u 删除光标到行首的命令
ctrl + k 删除光标到行尾的命令
shell的特殊字符:
~ 用户主目录
` 用于命令替代
# 注释
$ 变量取值
& 后台运行
()子shell语句的开始和结束
\ 连接下一行命令
| 管道
< 输入重定向
> 输出重定向
‘ 不具有变量置换功能
“ 具有变量置换功能
/ 路径分隔符
; 命令分隔符
bash通配符
? 任意一个字符
* 任意的任意数量的字符
[sdlkfdsjlfk] 任意一个括号中的字符
[!sdlfkjdslkfj] 任意一个不在括号中的字符
连续执行多条命令:
使用;或&& 连接多条命令,可以连续执行多条命令。
区别是;连接的不考虑之前的命令是否执行也要执行后续命令。 用&&连接的多条命令有前后顺序,前边的命令不执行完或执行异常都不会执行后续命令。
命令的替换:
可以用命令1$(命令2)或命令1`命令2`来表示先执行的命令,用命令2结果作为命令1的参数,这种方式叫做命令的替换。
命令的别名:
给较长的经常使用的命令起别名可以减少输入的麻烦,方法是: alias 别名=命令。但是只对当前窗口生效,如果想要永久生效需要写到/etc/bashrc文件(全局生效)或者$HOME/.bashrc文件(当前用户生效)。
重定向:
1.输出重定向, 命令的结果作为数据输出到一个文件中:
命令>文件,这样是覆盖原文件
命令>>文件,这样是在原文件基础上追加
2.输入重定向,文件的内容作为命令的一部分:
命令<文件 文件的内容作为命令的一部分。
命令<<文件 分隔符 把分隔符之间的部分作为命令的一部分。
3.错误重定向,把命令的错误信息作为内容写入的一个文件中:
命令 2> 文件, 这个是覆盖。
命令 2>> 文件 , 这个是追加。
4.错误和输出重定向,把输出内容和命令的错误信息一起输入到一个文件中:
命令 &> 文件
文件类型:
linux中的文件分为普通文件,目录文件,设备文件,管道文件,链接文件。
- 普通文件
d 目录文件
b 块设备文件,可以随机读写的设备文件,如磁盘。
c 字符设备文件,打印机和终端是常见的字符设备文件,/dev/null是一个有用的字符设备文件,像个垃圾桶。任何指向到这个文件的输入字符流都没有任何结果,把某一用户的shell指向到这个文件可以阻止其登录。
p 管道文件(先入先出文件),一头流入,一头流出。
链接文件分为软链接文件和硬链接文件,软链接文件内部保存着源文件的路径名,所有作用在软链接文件的操作都是对源文件的操作,软链接文件删除后源文件不会被删除。硬链接文件是对源文件的备份,操作硬链接文件,源文件也会同步操作,但是删除源文件,硬链接文件不会删除,并且变成了一个普通文件。
linux的目录结构:
分层的树形结构
/home 用户主目录
/root root的主目录
/bin 常用命令
/sbin 系统管理员和root用户的命令
/dev 大部分的设备文件
/lib linux 的共享文件和内核模块文件
/lib64 64位linux的共享文件和内核模块文件
/tmp 临时文件
/mnt 设备挂载目录
/boot linux内核文件和引导装置程序文件(grub)
/opt 第三方应用程序安装文件
/media 系统自动挂载目录,光盘u盘
/var 存放经常变换的文件,log, 打印队列,DNS数据库等
/etc 大部分的配置文件
/usr 程序和数据
/srv 程序启动后的,待取资料目录
/run 临时文件系统,存储启动后的程序或服务的PID
/sys 用于热拔插功能,内部存储的是检测到的硬件设置,将被转换为dev下的设备文件。
/proc 内存中的虚拟文件系统,用于提供系统信息。
inode:
inode存储的是一个文件的元信息,如所有者,所有者组,长度,权限,时间戳,链接数,文件数据块的位置。一般大小是256B,一般1KB或2KB的硬盘就有一个inode,这样inode的大小占硬盘的%25。所以inode的数量是定的,硬盘能存储的文件数也是定的。如果inode用光了,硬盘即使没用完,也不能再创建新文件。linux系统通过文件名找inode, 通过inode找数据块。
通过df -i 可以查看各个分区的inode的使用情况。已经用了多少个,可以用多少个,已经使用的百分比。
通过 xfs_info /dev/sda3 | grep isize 可以查看xfs文件系统的inode大小。256b
通过 dumpe2fs -h /dev/sda6 | grep "Inode size" 可以查看ext4文件系统的inode大小,256b.
stat命令:
查看文件的信息
-t 文件 用简单的显示文件的信息
-f 文件 显示文件或目录所在的文件系统的情况
-c 格式 文件 指定格式或显示文件的指定内容,如 -c %F 文件 显示文件的类型, -c %i 文件 显示文件的inode编号, -c %c -f 文件 文件或目录的所在文件系统的节点数量。