基础
系统简介
Linux 是一套免费使用和自由传播的类 Unix 操作系统,是一个基于 POSIX 和 UNIX 的多用户、多任务、支持多线程和多 CPU 的操作系统。
系统特点
一切即文件(包括硬件) 小型、目的单一的程序 把多个程序连接在一起来执行复杂任务的能力 避免令人困惑的用户界面 以文本格式保存配置数据
系统优势
公开源代码 系统稳定 性能突出 安全性强 跨平台 完全兼容UNIX 强大的网络服务
安装方式
本地安装:镜像安装 U盘安装 光盘安装 网络安装:kickstart+http+tftp+dhcp自动部署
KDUMP设置:
当系统崩溃时,kdump使用kexec启动到第二个内核。第二个内核通常叫做捕获内核,以很小内存启动以捕获转储镜像。第一个内核保留了内存的一部分给第二内核启动用。由于kdump利用kexec启动捕获内核,绕过了BIOS,所以第一个内核的内存得以保留。
主要目录说明
- bin目录:bin 是 Binaries (二进制文件) 的缩写, 这个目录存放着最经常使用的命令。
- boot目录:这里存放的是启动 Linux 时使用的一些核心文件。
- dev目录:dev 是 Device(设备) 的缩写, 该目录下存放的是 Linux 的外部设备。
- etc目录:etc 是 Etcetera(等等) 的缩写,这个目录用来存放所有的系统管理所需要的配置文件和子目录。
- home目录:用户的主目录,在 Linux 中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。
- root目录:该目录为系统管理员,也称作超级权限者的用户主目录。
- run目录:是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除。如果你的系统上有 /var/run 目录,应该让它指向 run。
- sbin目录:s 就是 Super User 的意思,是 Superuser Binaries (超级用户的二进制文件) 的缩写,这里存放的是系统管理员使用的系统管理程序。
- tmp目录:tmp 是 temporary(临时) 的缩写这个目录是用来存放一些临时文件的。
- usr目录:usr 是 unix shared resources(共享资源) 的缩写,这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于 windows 下的 program files 目录。
- var目录:var 是 variable(变量) 的缩写,这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。
- proc目录:proc 是 Processes(进程) 的缩写,/proc 是一种伪文件系统(也即虚拟文件系统),存储的是当前内核运行状态的一系列特殊文件,这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。
- opt目录:opt 是 optional(可选) 的缩写,这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。
- mnt目录:系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在 /mnt上,然后进入该目录就可以查看光驱里的内容了。
- /media:linux 系统会自动识别一些设备,例如U盘、光驱等等,当识别后,Linux 会把识别的设备挂载到这个目录下。
- /lib:存放基本代码库(比如c++库),其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库
日期设置
timedatectl: 可以显示当前系统时间和机器的物理时间及其详细信息。 查看、修改时区 timedatectl list-timezones #查看所有时区 timedatectl | grep "Time zone" #查看当前时区 timedatectl set-timezone "Asia/Shanghai" #root用户修改时区 hwclock -s 把物理时间同步到系统时间 hwclock -w 把系统时间同步到硬件时间
date: 显示当前系统时间、时区、日期等信息。加--utc参数显示当前时区时间 指定格式显示,可以使用“+”开头的字符串指定其格式, data +%H:%M:%S (%X代表%H:%M:%S) data +%d:%b:%Y (%D : 直接显示日期 mm/dd/yy) %U : 一年中的第几周 (00-53) (以 Sunday 为一周的第一天的情形) %a : 星期几 (Sun-Sat) %x : 直接显示日期 (YYYY年MM月dd日:2021年01月12日) %j : 一年中的第几天 (001-366) 设置时间 date -s "yyyy-mm-dd HH:MM:SS"
SELinux
内核级别的保安系统。 SELinux,Security Enhanced Linux 的缩写,也就是安全强化的 Linux,旨在增强传统 Linux 操作系统的安全性,解决传统 Linux 系统中自主访问控制(DAC)系统中的各种权限问题(如 root 权限过高等)。 所有进程和文件都有一个“语境” (context),来标记它的类型和目的。SELinux 策略 (Policy) 决定进程和文件应该如何根据语境而互相交流,策略规则无法被超越 由于 SELinux 策略明确列出了哪种进程/文件交流是被允许的,任何没有在 SELinux 系统测录中列出的交流都会被拒绝。这会导致不具备它自己的 SELinux 规则的服务几乎会立即崩溃。因此,中标麒麟企业版 Linux 默认使用“针对性”策略。针对性策略只应用于你的系统上的最常用的服务,它们的规则都被已创建。SELinux 对其它服务则如视无睹。随着对 SELinux 的采用变得越来越广泛,默认策略会默认包括越来越多的服务。目前为止,针对性策略包括 web、dns、dhcp、代理、数据库、日志记录以及其它服务。
getenforce #查看selinux的模式 setenforce 0|1 #临时关闭|开启 vim /etc/selinux/config #修改SELINUX=参数,永久生效 enforcing:selinux处于开启并且保护模式 permissive:selinux处于开启但是不保护模式 disabled:selinux处于关闭模式 #修改SELINUXTYPE=参数,selinux采取的保护方式 targeted策略:(上下文策略) Target 策略主要对系统中的服务进程进程访问控制,同时,它还可以限制其他进程和用户,服务进程都被放入沙盒,在此环境中,服务进程会被严格限制,以便使通过此类进程所引发的恶意攻击不会影响到其他服务或 Linux 系统。 通过使用此策略,可以更加安全地共享打印服务器、文件服务器、Web 服务器或其他服务,同时降低因访问这些服务而对系统中其他资源造成不利影响的风险 minimum策略:(最小策略) Minimum 策略的意思是“最小限制”,该策略最初是针对低内存计算机或者设备(比如智能手机)而创建的 mls策略:(禁止上读下写策略) MLS,是 Multi-Level Security 的缩写,该策略会对系统中的所有进程进行控制。
semanage命令可以对用户(user)、导入(import)、到处(export)、端口(port)、模块(module)等进行selinux配置 semanage port -a -t ssh_port_t -p tcp 24 #设定selinux对ssh服务对24号端口进行保护 -a:添加 -d:删除 -m:修改 -p:指定协议 24:端口号
命令
命令格式
- 单个字母参数 一般没有顺序 -- 长参数 不能组合 绝对路径:由根目录(/)开始写起的档名或目录名称,例如/etc/passwd 相对路径:相对于目前路径的档名写法
ls
ls -a 显示目录下所有的文件 ls -r 逆序显示目录下的文件名 ls -l 长格式显示 ls -R 递归显示 ls -h 以人类易于阅读的方式显示文件(一般与-l选项连用) ls -d 显示目录本身
touch
文件名最长为255个字符,当文件不存在时,使用该命令创建空文件 当文件(目录)存在,则修改文件的时间戳 时间戳:距离1970年1月1日有多长时间
stat
查看文件的时间 access:访问时间。使用命令查看文件内容时,该时间发生变化 modify:修改时间。修改文件中内容时,该时间发生变化。 change:改变时间。修改文件属性时,该时间发生变化。
mkdir
创建目录 -p 多级目录 -p 目录1/{目录2,目录3} 嵌套目录
rm
-f 强制删除文件或目录 -i 交互时删除文件,默认rm就是rm -i的别名
alias
alias #查看别名 alias 别名='命令' #创建临时别名 unalias 别名 #删除临时别名 有别名时先引用别名
cp
cp 源文件 目标文件 cp -p 源文件 目标文件 #保留属性复制,如创建时间等 cp -r 源文件 目标文件 #递归复制 cp -b 源文件 目标文件 #复制前备份文件,避免覆盖掉重名目标文件
mv
mv 源文件 目标文件 #移动(剪切)
查看命令
cat #查看文件内容 cat -n #带行号显示文件内容 more #分页查看文件内容 less #分页查看文件内容,可控制上下且不必预读整个文件,更快 head -N #从文件的首部开始,查看N行内容 tail -N #显示文件结尾的N行内容 命令 --help #查看命令帮助 man 命令 #查看命令帮助
vim(vi)文本编辑
1.常用模式 命令行模式 插入模式(编辑模式) 末行模式 可视模式 2.模式切换 1)命令行模式与插入模式之间的切换 命令行模式(输入A、I、O、a、i、o)----->插入模式 插入模式(按Esc键)----->命令行模式 2)命令行模式与末行模式之间的切换 命令行模式(输入冒号[:])---->末行模式 末行模式(按Esc键)----->命令行模式
查看主机信息
lscpu #查看cpu信息 lsblk #查看硬盘和分区情况 free #查看内存情况 ip a s 或者 ifconfig #查看网卡信息 hostname #查看主机名 hostname 主机名 #修改主机名 hostnamectl set-hostname 主机名 #永久修改主机名
压缩与解压缩
1.zip压缩工具 压缩格式:zip 压缩包名 文件1 文件2 ... 特点:既能压缩又能打包,压缩后的压缩包以.zip结尾,压缩后文件不消失 解压缩格式:unzip 压缩包名 2.gzip压缩工具 压缩格式:gzip 文件1 文件2 ... 特点:压缩后的压缩包以.gz结尾,压缩后文件消失 解压缩格式:gunzip 压缩包名 3.bzip2压缩工具 压缩格式:bzip2 文件1 文件2 ... 特点:压缩后的压缩包以.bz2结尾,压缩后文件消失 解压缩格式:bunzip2 压缩包名 4.xz压缩工具 压缩格式:xz 文件1 文件2 ... 特点:压缩后的压缩包以.xz结尾,压缩后文件消失 解压缩格式:unxz 压缩包名
tar 选项 包名 文件名 tar本身没有压缩功能,只有打包功能,但是tar可以调用压缩工具 -c 创建归档文件 -v 显示过程 -x 展开归档文件 -f 操作归档文件 -C 指定解压路径 -z 调用gizp压缩工具 -j 调用bzip2压缩工具 -J 调用xz压缩工具 -t 查看规定文件 -r 向归档文件中追加文件
文件的排序
1.文件的排序:把文件中的每一行的首个字母,按照ascii码表的顺序排序 sort [选项] 文件 -r 逆序排序 -u 去掉重复的行 -n 按照数值大小排序 -t 指定分隔符 -k 按照第几段顺序排序 2.文件的切割:把文件输出的内容进行切割,输出预想的结果 cut [选项] 文件 -d 指定分隔符 -f 指定输出的列 3.文件的去重:去掉文件中相邻的重复的行 uniq [选项] 文件名 -c 统计相邻的重复的行 sort 文件 | uniq -c 统计文件中有多少个重复的行 4.文件统计 wc [选项] 文件名 -l 统计文件中有多少行 -w 统计文件中的单词数 -c 统计文件的大小
文件的查找
find 查找路径 查找类型 值 动作 命令 {} \; 查找类型: -type 值: f:普通文件 d:目录 l:软连接 b:块设备 c:字符设备 s:套接字 p:管道设备 -perm 值: 644等 -user 值:用户名 -group 值:组名 -size 值:[+-]大小 -atime 值:[+-]时间 -name 值:文件名 动作 -exec 非交互执行动作 -ok 交互执行动作 {} 表示引用前面find命令找到的结果 \; 表示结束(若执行动作必须要有) https://www.cnblogs.com/xiaoleiel/p/8349495.html
文件的过滤
grep [选项] 字符串 文件 过滤文件中含有该字符串的行 -n 显示行号 -v 取反 -i 忽略大小写 -A 显示后N行 -B 显示钱N行 -C 显示前后N行 -c 统计匹配的行数 ^ 行首铆定 $ 行尾铆定