码迷,mamicode.com
首页 > 系统相关 > 详细

三个月学习总结,Linux基础知识

时间:2019-12-07 23:27:34      阅读:127      评论:0      收藏:0      [点我收藏+]

标签:``   服务器   lsa   问控制   登录   功能   ls命令   文件编辑   性能   

到目前为止,学习已经有了三个月了,这三个月主要学习的是红帽Linux系统的基础知识,总结一下我的学习情况。
Linux学习内容:
(1).安装Linux系统
(2).基础命令
Linux系统中的一切都是文件

初始化进程
Systemctl restart 服务名称 重启服务(PID值会变)
Systemctl reload 服务名称 重启服务(pid值不变)
Systemctl start 服务名称 启动服务
Systemctl stop 服务名称 停止服务
Systemctl enable 服务名称 加入到启动项
Systemctl status 服务名称 查看服务状态
Systemd 服务名称 systemctl 配置工具名称
命令后缀形式:-字母 例:-a -l -- 单词 例子:--all --list
单杠可以合并 -al

常用系统工作命令
echo命令
echo 命令用于在终端输出字符串或变量提取后的值,格式为”echo【字符串|$变量】
data命令
data命令用于显示及设置系统的时间或日期,格式为”data[选项][+指定的格式]”。
reboot命令
reboot命令用于重启系统,其格式为reboot。
poweroff命令
poweroff命令用于关闭系统,其格式为poweroff。
wget命令
wget命令用于在终端中下载网络文件,格式为”wget[参数]下载地址”。
ps命令
ps命令用于查看系统中的进程状态,格式为”ps[参数]”
pidof命令
pidof命令用于查询某个指定服务进程的PID值,格式为“pidof【参数】【服务名称】”。
kill命令
Kill 命令用于终止某个指定PID的服务进程,格式为”Kill【参数】【进程PID】”。
killall命令
killall命令用于终止某个指定名称的服务器所对应的全部进程,格式为:“killall [参数] [服务名称]”。
系统状态检测命令
Ifconfig
ifconfig命令用于获取网卡配置与网络状态等信息,格式为“ifconfig [网络设备] [参数]”。
uname命令
Uname 命令用于查看系统内核与系统版本等信息,格式为“uname [-a]”。
uptime命令
uptime用于查看系统的负载信息,格式为uptime。
free命令
free用于显示当前系统中内存的使用量信息,格式为“free [-h]”。
5.who命令
who用于查看当前登入主机的用户终端信息,格式为“who [参数]”。
6.last命令
last命令用于查看所有系统的登录记录,格式为“last [参数]”。
7.history命令
history命令用于显示历史执行过的命令,格式为“history [-c]”。
8.sosreport命令
sosreport命令用于收集系统配置及架构信息并输出诊断文档,格式为sosreport。
工作目录切换命令
1.pwd命令
pwd命令用于显示用户当前所处的工作目录,格式为”pwd[选项]”,
2.cd命令
cd命令用于切换工作路径,格式为”cd【目录名称】”。
3.ls命令
ls命令用于显示目录中的文件信息,格式为“ls [选项] [文件] ”。
四.文本文件编辑命令
1.cat命令
cat命令用于查看纯文本文件(内容较少的),格式为“cat [选项] [文件]”。
2.more命令
more命令用于查看纯文本文件(内容较多的),格式为“more [选项]文件”。
3.head命令
head命令用于查看纯文本文档的前N行,格式为“head [选项] [文件]”。
4.tail命令
tail命令用于查看纯文本文档的后N行或持续刷新内容,格式为“tail [选项] [文件]”。
5.tr命令
tr命令用于替换文本文件中的字符,格式为“tr [原始字符] [目标字符]”。
6.wc命令
wc命令用于统计指定文本的行数、字数、字节数,格式为“wc [参数] 文本”。
7.stat命令
stat命令用于查看文件的具体存储信息和时间等信息,格式为“stat 文件名称”。
8.cut命令
cut命令用于按“列”提取文本字符,格式为“cut [参数] 文本”。
9.diff命令
diff命令用于比较多个文本文件的差异,格式为“diff [参数] 文件”。
五.文件目录管理命令
1.touch命令
touch命令用于创建空白文件或设置文件的时间,格式为“touch [选项] [文件]”。
2.mkdir命令
mkdir命令用于创建空白的目录,格式为“mkdir [选项] 目录”。
3.cp命令
cp命令用于复制文件或目录,格式为“cp [选项] 源文件 目标文件”
mv命令
mv命令用于剪切文件或将文件重命名,格式为“mv [选项] 源文件 [目标路径|目标文件名]”。
6.rm命令
rm命令用于删除文件或目录,格式为“rm [选项] 文件”。
7.dd命令
dd命令用于按照指定大小和个数的数据块来复制文件或转换文件,格式为“dd [参数]”。
8.file命令
file命令用于查看文件的类型,格式为“file 文件名”。
六.打包压缩与搜索命令
1.tar命令
tar命令用于对文件进行打包压缩或解压,格式为“tar [选项] [文件]”。
2.grep命令
grep命令用于在文本中执行关键词搜索,并显示匹配的结果,格式为“grep [选项] [文件]”。
3.find命令
find命令用于按照指定条件来查找文件,格式为“find [查找路径] 寻找条件 操作”。

(3).管道符、重定向与环境变量

重定向符 【命令】 【文件】
清空: > 命令>文件 2命令>文件 :输出错误信息
输出重定向符:<
追加: >> 命令>>文件 ~~~ &命令>>文件 :全部信息都输出
出入重定向符: <

|:任意门 把前一个命令原本要输出到屏幕的标准正常数据当作是后一个命令的标准输入

&& 若前面成功,则执行后面
|| 若前面失败,则执行后面
! 取反

通配符:星号(*)代表匹配零个或多个字符,问号(?)代表匹配单个字符,中括号内加上数字[0-9]代表匹配0~9之间的单个数字的字符,而中括号内加上字母[abc]则是代表匹配a、b、c三个字符中的任意一个字符。

转义符:
反斜杠(\):使反斜杠后面的一个变量变为单纯的字符串。

单引号(‘‘):转义其中所有的变量为单纯的字符串。

双引号(""):保留其中的变量属性,不进行转义处理。

反引号(``):把其中的命令执行后返回结果。

(4).vim编辑器和shell命令脚本
模式:
命令模式:控制光标移动,可对文本进行复制、粘贴、删除和查找等工作。

输入模式:正常的文本录入。

末行模式:保存或退出文档,以及设置编辑环境。技术图片

vim常用命令
命令 作用
dd 删除(剪切)光标所在整行
5dd 删除(剪切)从光标处开始的5行
yy 复制光标所在整行
5yy 复制从光标处开始的5行
n 显示搜索命令定位到的下一个字符串
N 显示搜索命令定位到的上一个字符串
u 撤销上一步的操作
p 将之前删除(dd)或复制(yy)过的数据粘贴到光标后面

1.if条件测试语句
if条件测试语句可以让脚本根据实际情况自动执行相应的命令。从技术角度来讲,if语句分为单分支结构、双分支结构、多分支结构;其复杂度随着灵活度一起逐级上升。

if条件语句的单分支结构由if、then、fi关键词组成,而且只在条件成立后才执行预设的命令,相当于口语的“如果……那么……”。
技术图片
技术图片
技术图片
2.for条件循环语句
for循环语句允许脚本一次性读取多个信息,然后逐一对信息进行操作处理,当要处理的数据有范围时,使用for循环语句再适合不过了。
技术图片
3.while条件循环语句
技术图片
4.case条件测试语句
技术图片

(5).用户身份与文件权限
管理员UID为0:系统的管理员用户。

系统用户UID为1~999: Linux系统为了避免因某个服务程序出现漏洞而被***提权至整台服务器,默认服务程序会有独立的系统用户负责运行,进而有效控制被破坏范围。

普通用户UID从1000开始:是由管理员创建的用于日常工作的用户。
UID是不能冲突的,而且管理员创建的普通用户的UID默认是从1000开始的(即使前面有闲置的号码)
命令:
1.useradd命令
useradd命令用于创建新的用户,格式为“useradd [选项] 用户名”。

  1. groupadd命令
    groupadd命令用于创建用户组,格式为“groupadd [选项] 群组名”。
  2. usermod命令
    usermod命令用于修改用户的属性,格式为“usermod [选项] 用户名”。
  3. passwd命令
    passwd命令用于修改用户密码、过期时间、认证信息等,格式为“passwd [选项] [用户名]”。
  4. userdel命令
    userdel命令用于删除用户,格式为“userdel [选项] 用户名”。

文件权限与归属:
文件类型:
-:普通文件。

d:目录文件。

l:链接文件。

b:块设备文件。

c:字符设备文件。

p:管道文件。

文件权限的字符与数字表示

技术图片

文件的特殊权限

  1. SUID

SUID是一种对二进制程序进行设置的特殊权限,可以让二进制程序的执行者临时拥有属主的权限(仅对拥有执行权限的二进制程序有效)。

  1. SGID

SGID主要实现如下两种功能:

让执行者临时拥有属组的权限(对拥有执行权限的二进制程序进行设置);

在某个目录中创建的文件自动继承该目录的用户组(只可以对目录进行设置)。

  1. SBIT
    SBIT特殊权限位可确保用户只能删除自己的文件,而不能删除其他用户的文件。

    文件的隐藏属性

    1. chattr命令

chattr命令用于设置文件的隐藏权限,格式为“chattr [参数] 文件”。

  1. lsattr命令

lsattr命令用于显示文件的隐藏权限,格式为“lsattr [参数] 文件”。

文件访问控制列表

  1. setfacl命令

setfacl命令用于管理文件的ACL规则,格式为“setfacl [参数] 文件名称”。

  1. getfacl命令

getfacl命令用于显示文件上设置的ACL信息,格式为“getfacl 文件名称”。

(6).存储结构以及磁盘划分
Linux系统中的一切文件都是从“根(/)”目录开始的,并按照文件系统层次化标准(FHS)采用树形结构来存放文件,以及定义了常见目录的用途。
技术图片

常见的硬件设备及其文件名称

硬件设备 文件名称
IDE设备 /dev/hd[a-d]
SCSI/SATA/U盘 /dev/sd[a-p]
软驱 /dev/fd[0-1]
打印机 /dev/lp[0-15]
光驱 /dev/cdrom
鼠标 /dev/mouse
磁带机 /dev/st0或/dev/ht0

主分区或扩展分区的编号从1开始,到4结束;

逻辑分区从编号5开始。
技术图片
所谓扩展分区,严格地讲它不是一个实际意义的分区,它仅仅是一个指向下一个分区的指针,这种指针结构将形成一个单向链表。
技术图片

文件系统与数据资料
Ext3:是一款日志文件系统,能够在系统异常宕机时避免文件系统资料丢失,并能自动修复数据的不一致与错误。然而,当硬盘容量较大时,所需的修复时间也会很长,而且也不能百分之百地保证资料不会丢失。它会把整个磁盘的每个写入动作的细节都预先记录下来,以便在发生异常宕机后能回溯追踪到被中断的部分,然后尝试进行修复。

Ext4:Ext3的改进版本,作为RHEL 6系统中的默认文件管理系统,它支持的存储容量高达1EB(1EB=1,073,741,824GB),且能够有无限多的子目录。另外,Ext4文件系统能够批量分配block块,从而极大地提高了读写效率。

XFS:是一种高性能的日志文件系统,而且是RHEL 7中默认的文件管理系统,它的优势在发生意外宕机后尤其明显,即可以快速地恢复可能被破坏的文件,而且强大的日志功能只用花费极低的计算和存储性能。并且它最大可支持的存储容量为18EB,这几乎满足了所有需求。

第一次写博客,不熟练。。。
本文根据刘遄老师的《Linux就该这么学》整理出来;

三个月学习总结,Linux基础知识

标签:``   服务器   lsa   问控制   登录   功能   ls命令   文件编辑   性能   

原文地址:https://blog.51cto.com/14634821/2456902

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!