Linux读书笔记

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 文件 文件或目录的所在文件系统的节点数量。

 

 

  

posted @ 2019-03-13 14:02  人到中年,逆流而上  阅读(616)  评论(0编辑  收藏  举报