Linux基础知识
2022-02-18 17:26:03 40 举报
AI智能生成
Linux是一种自由和开源的类Unix操作系统。它是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。Linux有上百种不同的发行版,如基于社区开发的debian、archlinux,和基于商业开发的Red Hat Enterprise Linux、SUSE、Oracle Linux等。
作者其他创作
大纲/内容
用于在终端输出字符串或变量提取后的值
echo 命令
date \"+%Y-%m-%d %H:%M:%S\"
date 命令中输入以“+”号开头的参数
date 命令用于显示及设置系统的时间或日期
date命令
默认只能使用 root 管理员来重启
reboot 命令用于重启系统
reboot 命令
poweroff 命令用于关闭系统
poweroff 命令
格式为“wget [参数] 下载地址”
wget http://www.linuxprobe.com/docs/LinuxProbe.pdf
wget 命令用于在终端中下载网络文件
wget 命令
ps 命令用于查看系统中的进程状态
ps命令
top 命令用于动态地监视进程活动与系统负载等信息
top 命令
格式为“pidof [参数] [服务名称]”
pidof sshd
pidof 命令用于查询某个指定服务进程的 PID 值
pidof 命令
格式为“kill [参数] [进程 PID]”
kill 命令用于终止某个指定 PID 的服务进程
格式为:“killall [参数] [进程名称]”
killall httpd
killall 命令用于终止某个指定名称的服务所对应的全部进程
kill命令
常用系统工作
ifconfig 命令用于获取网卡配置与网络状态等信息
ifconfig 命令
在使用 uname 命令时,一般会固定搭配上-a 参数来完整地查看当前系统的内核名称、主机名、内核发行版本、节点名、系统时间、硬件名称、硬件平台、处理器类型以及操作系统名称等信息。
uname -a
uname 命令用于查看系统内核与系统版本等信息
uname 命令
它可以显示当前系统时间、系统已运行时间、启用终端数量以及平均负载值等信息。平均负载值指的是系统在最近 1 分钟、5 分钟、15 分钟内的压力情况(下面加粗的信息部分);负载值越低越好,尽量不要长期超过 1,在生产环境中不要超过 5
uptime 用于查看系统的负载信息
uptime 命令
格式为“free [-h]”
free -h
free 用于显示当前系统中内存的使用量信息
free 命令
who 用于查看当前登入主机的用户终端信息
who 命令
last 命令用于查看所有系统的登录记录
last 命令
sosreport 命令用于收集系统配置及架构信息并输出诊断文档
sosreport 命令
系统状态检测
pwd 命令用于显示用户当前所处的工作目录
pwd 命令
格式为“cd [目录名称]”
cd - //切换到root根目录
cd 命令用于切换工作路径
cd 命令
格式为“ls [选项] [文件] ”
ls -ld /etc
ls 命令用于显示目录中的文件信息
ls 命令
工作目录切换
cat 命令用于查看纯文本文件(内容较少的)
cat 命令
用于查看纯文本文件(内容较多的
more 命令
格式为“head [选项] [文件]”
head -n 20 initial-setup-ks.cfg//查看文本中前 20 行的内容
head 命令用于查看纯文本文档的前 N 行
head 命令
tail -n 20 文件名
格式为“tail [选项] [文件]”。
tail -f /var/log/messages
实时查看最新日志文件时
tail 命令用于查看纯文本文档的后 N 行或持续刷新内容
tail 命令
diff --brief diff_A.txt diff_B.txt
diff 命令用于比较多个文本文件的差异
diff 命令
文本编辑
vim命令
文本文件编辑命令
touch linuxprobe 命令//创建出一个名为 linuxprobe 的空白文本文件
touch 命令用于创建空白文件或设置文件的时间
touch 命令
mkdir linuxprobe
mkdir -p a/b/c/d/e//-p 参数来递归创建出具有嵌套叠层关系的文件目录
mkdir 命令用于创建空白的目录
mkdir 命令
格式为“cp [选项] 源文件 目标文件”
cp install.log x.log
cp 命令用于复制文件或目录
cp 命令
格式为“mv [选项] 源文件 [目标路径|目标文件名
mv x.log linux.log
mv 命令用于剪切文件或将文件重命名
mv 命令
rm 命令用于删除文件或目录
rm 命令
用于查看文件的类型
file 命令
tar -czvf etc.tar.gz /etc
tar 命令用于对文件进行打包压缩或解压
tar 命令
grep 命令用于在文本中执行关键词搜索
grep 命令
find /etc -name \"host*\" -print
//获取到该目录中所有以 host 开头的文件列表
find 命令用于按照指定条件来查找文件
find 命令
文件目录管理
基础命令
输入重定向
将标准输出重定向到一个文件中(清空原有文件的数据)
命令 > 文件
将标准输出重定向到一个文件中(追加到原有内容的后面)
命令 >> 文件
将标准输出与错误输出共同写入到文件中(追加到原有内容的后面
命令 &>> 文件
输出重定向
输入输出重定向
把前一个命令原本要输出到屏幕的数据当作是后一个命令的标准输入
grep \"/sbin/nologin\" /etc/passwd | wc -l//被限制用户信息进行统计
其执行格式为“命令 A | 命令 B”
管道命令符
匹配零个或多个字符
星号(*)
代表匹配单个字符
问号(?)
匹配 0~9之间的单个数字的字符
中括号内加上数字[0-9]
匹配 a、b、c 三个字符中的任意一个字符
中括号内加上字母[abc]
命令行的通配符
PRICE=5echo \"Price is \\$$PRICE\"
“$”乖乖地作为美元符号,那么就需要使用反斜杠(\\)来进行转义
使反斜杠后面的一个变量变为单纯的字符串。
反斜杠(\\)
转义其中所有的变量为单纯的字符串
单引号('')
PRICE=5echo \"Price is $PRICE\"
输出以双引号括起来的字符串
保留其中的变量属性,不进行转义处理
双引号(\"\")
echo `uname -a`
将反引号与 uname -a 命令结合,输出本机的 Linux版本和内核信息:
把其中的命令执行后返回结果
反引号(``)
转义符
export LINUX
把名为 LINUX 的一般变量转换成全局变量
环境变量
管道符&重定向&环境变量
相当于口语的“如果……那么……”
由 if、then、fi 关键词组成
//if 目录不存在then创建目录fi
#!/bin/bash DIR=\"/media/cdrom\" if [ ! -e $DIR ] then mkdir -p $DIR fi
单分支结构
相当于口语的“如果……那么……或者……那么……”
由 if、then、else、fi 关键词组成
if ping通then提示服务器在线else提示服务器不在线fi
#!/bin/bash ping -c 3 -i 0.2 -W 3 $1 &> /dev/null if [ $? -eq 0 ] then echo \"Host $1 is On-line.\" else echo \"Host $1 is Off-line.\" fi
双分支结构
相当于口语的“如果……那么……如果……那么……”
由 if、then、else、elif、fi 关键词组成
if 分数为85-100分之间显示成绩优秀如果是70-84之间显示通过否则显示失败
#!/bin/bashread -p \"Enter your score(0-100):\" GRADE if [ $GRADE -ge 85 ] && [ $GRADE -le 100 ] ; then echo \"$GRADE is Excellent\" elif [ $GRADE -ge 70 ] && [ $GRADE -le 84 ] ; then echo \"$GRADE is Pass\" else echo \"$GRADE is Fail\" fi
多分支结构
if 条件测试语句
允许脚本一次性读取多个信息,然后逐一对信息进行操作处理,当要处理的数据有范围时
for 循环语句
是一种让脚本根据某些条件来重复执行命令的语句,它的循环结构往往在执行前并不确定最终执行的次数,完全不同于 for 循环语句中有目标、有范围的使用场景
while 条件循环语句
shell脚本命令
管理员 UID 为 0
系统用户 UID 为 1~999
普通用户 UID 从 1000 开始
用户分类
useradd 命令用于创建新的用户
groupadd 命令用于创建用户组
passwd 命令用于修改用户密码、过期时间、认证信息等
userdel 命令用于删除用户,格式为“userdel [选项] 用户名”。
常用命令
getfacl 命令用于显示文件上设置的 ACL 信息,格式为“getfacl 文件名称”
getfacl 命令
su 命令可以解决切换用户身份的需求
限制用户执行指定的命令:记录用户执行的每一条命令;配置文件(/etc/sudoers)提供集中的用户管理、权限与主机等参数; 验证密码的后 5 分钟内(默认值)无须再让用户再次验证密码
sudo 命令
文件权限归属
用户身份&文件权限
/dev 以文件形式存放任何设备与接口/etc 配置文件/home 用户家目录/root 系统管理员的家目录/tmp 任何人均可使用的“共享”临时目录/media 用于挂载设备文件的目录/opt 放置第三方的软件/var 主要存放经常变化的文件,如日志
目录文件
mount 命令用于挂载文件系统,格式为“mount 文件系统 挂载目录”
mount 命令
umount 命令用于撤销已经挂载的设备文件,格式为“umount [挂载点/设备文件]”
umount 命令
它提供了集添加、删除、转换分区等功能于一身的“一站式分区服务
fdisk 命令
用于查看文件数据占用量的 du 命令
du 命令
存储架构&磁盘划分
RAID 0 技术把多块物理硬盘设备(至少两块)通过硬件或软件的方式串联在一起,
它是把两块以上的硬盘设备进行绑定,在写入数据时,是将数据同时写入到多块硬盘设备上(可以将其视为数据的镜像或备份)。当其中某一块硬盘发生故障后,一般会立即自动以热交换的方式来恢复数据的正常使用
RAID 1
就是 RAID 5 技术实际上没有备份硬盘中的真实数据信息,而是当硬盘设备出现问题后通过奇偶校验信息来尝试重建损坏的数据。RAID 这样的技术特性“妥协”地兼顾了硬盘设备的读写速度、数据安全性与存储成本问题
RAID5 技术是把硬盘设备的数据奇偶校验信息保存到其他硬盘设备中。
RAID 5
RAID技术
LVM 技术是在硬盘分区和文件系统之间添加了一个逻辑层,它提供了一个抽象的卷组,可以把多块硬盘进行卷组合并。这样一来,用户不必关心物理硬盘设备的低层架构和布局,就可以实现对硬盘分区的动态调整。
卷组建立在物理卷之上,一个卷组可以包含多个物理卷,而且在卷组创建之后也可以继续向其中添加新的物理卷。逻辑卷是用卷组中空闲的资源建立的,并且逻辑卷在建立后可以动态地扩展或缩小空间。
LVM 的删除顺序是依次移除逻辑卷、卷组和物理卷。
LVM 磁盘阵列
RAID 与LVM 磁盘阵列
Linux基础知识
收藏
收藏
0 条评论
回复 删除
下一页