马哥linux运维1~14讲笔记+自我知识储备补充

1~14主要是linux基础命令(略)、根文件系统、文件管理命令、用户及权限、用户管理命令

1.bash特性讲解

在这里插入图片描述
定义:在计算机科学中,Shell俗称壳(用来区别于核),是指“为使用者提供操作界面”的软件(命令解析器)。它类似于DOS下的command.com和后来的cmd.exe。它接收用户命令,然后调用相应的应用程序。

#1.1bash

//在shell中可以继续打开shell,称为子shell,用exit退出。父子shell间无继承关系,在父shell运行的在子无效,反之也无效。
在这里插入图片描述

1.2#Csh

//shell可嵌套可交互,比如在在csh里亦可执行ksh,本质上只是每层shell都觉得自己仅仅运行了命令。在这里插入图片描述Bash支持的项:
在这里插入图片描述

1.3shell的变量功能:

变量简单说就是让某一个特定字符串代表不固定的内容。
设置变量(变量名的规则:用“=”连接;等号两边不能有空格符;只能使用数字和字母,且不能用数字开头;):
myname=hibiscus
取消变量:unset 变量名称
优点:
命令与文件补全功能
命令别名设置功能
命令记忆功能
通配符等等

1.4shell中的通配符

bash中常用的通配符有”*“,”?“,”[]“
*表示匹配任意一个或多个字符
?表示匹配任意单一字符
[]匹配任何包含在方括号内的单字符

shell中的引用:在bash中有很多特殊字符,这些特殊字符就具有特殊含义。引用就是通知shell将这些特殊字符当作普通字符来处理。

    转义字符“\”:如果将\放到特殊字符前面,shell就忽略这些特殊字符的原有含义,把它们当作普通字符对待。
	单引号:如果将字符串放到一对单引号之间,那么字符串中所有字符的特殊含义被忽略。
	ll -d  1'*'
	双引号:双引号的引用与单引号基本相同,包含在双引号内的大部分特殊字符可以当作普通字符处理,但是仍然有一些特殊字符保留自己的特殊含义,比如”$“和“\”以及“ ` ”

2.命令行编辑:

2.1光标跳转:

Ctrl+a:跳到命令行首
Ctrl+d输入已结束。在shell下相当于exit
Ctrl+c键盘中断请求,终止当前的命令
Ctrl+e:跳到命令行尾
Ctrl+u:删除光标至命令行首的内容
Ctrl+k:删除光标至命令行尾的内容
Ctrl+左右箭头:图形界面下可跳到前一个单词前
Ctrl+l:clear,清屏
ctrl+s ctrl+q 暂停/恢复屏幕输出

在这里插入图片描述在这里插入图片描述Esc 松开 再. :和!$一个作用

Alt和.同时:和!$一个作用,不支持远程使用

2.2文本操作

文本编辑:vim
	命令模式:按esc回到命令模式
	yy 复制当前行
	2+yy 复制当前行和下一行
	p粘贴
	dd 删除当前行
	2dd删除当前行和下一行
	dw按单词删除
	u 撤销当前操作
	w,b 按单词移动光标
	gg 跳转到文档首部行首
	G 跳转到文档尾部行首
	/字符串 查找字符串
	插入模式:
	i 在光标前插入=I
	a 在光标后插入
	A 在光标所在行末尾插入
	s 删除光标所在位置字符并插入
	S 删除光标所在行并插入
	o 在光标所在行下一行插入
	O 在光标所在行上一行插入
	末行模式:
	:wq 保存退出
	:q!强制退出,不保存
	:wq!强制保存退出
	:set nu 显示行号
	:set nonu 取消显示行号
	:3,5 d 删除第3-5行
	:r 文件名 读出文件的内容到当前文件中
	:%s/字符串2/字符串3 用字符串3替换字符串2
	:%s/字符串2/字符串3/g 用字符串3替换字符串2,全局修改
	:w 文件名1 另存为文件名1
文本查看命令:
	cat连接并显示文件内容到标准输出
	cat -n 显示文件内容并显示行号
	
	逆序显示文件:tac
	
	从头开始逐行查看文件内容:more(在没有翻到最后一屏时支持向后翻)
	
	支持前后翻查看文件内容:less(man手册查看命令用法默认用less打开)
	默认查看文件前10行:head
	指定查看前n行:head -n 
	默认查看文件后10行:tail
	指定查看后n行:tail -n 
文本切割显示:
	cut -d 指定分隔符 -f 指定第几列(被切割文件
	指定分隔符的时候空格需要用引号‘’引起来)

文本排序显示:
	排序显示(默认根据字符在ASCII码中的升序排序):sort 文件名
	按照数字大小排序:sort -n 文件名
	排序并去掉重复的:sort -u 文件名
	逆序排序:sort -r 文件名
	按照用户uid数字大小排序显示:
	sort -t 指定分隔符 -k 指定第几列 -n /etc/passwd
   -f	排序时忽略字符大小写 
去掉重复的行,重复的行必须相邻:uniq 文件名
	-d	只显示重复的行
	-D	显示所有重复的行
	-c	显示重复行重复的次数
文本统计:wc——word count
	显示文件行数、单词数、字节数和文件名:wc 文件名
	###在UTF-8编码格式里面,显示时一个字符占一个字节,一个中文字占用3个字节
	只显示单词数:wc -w 文件名
	只显示字节数:wc -c 文件名
	只显示行数:wc -l 文件名
	只显示字符数:wc -m 文件名
	显示最长的一行的字符数:wc -L 文件名

管道符:管道符左边命令的输出作为管道符右边命令的输入。
tee命令:在输出到文件的同时输出到屏幕,既想把输出保存到文件中,又想在屏幕上看到输出内容。

文本过滤:grep可以根据指定的字符串,对文件的每一行进行搜索,如果找到了这个字符串,就输出该行的内容	

	查找文件里有字符h的字符串:grep h 文件名
	如果要明确搜索子目录:grep -r h ./*
	忽略子目录:grep -d skip h ./*
	匹配整个单词:grep -w 单词 文件名
	匹配以q开始的行:grep ^[q] 文件名
	匹配以q结束的行:grep q$ 文件名
	匹配以数字开头的行:grep ^[0-9] 文件名
    匹配以q或者f开头的行:grep ^[qf] 文件名

文件搜索:
	查找文件路径:
	find 路径 -name 文件名:find / -name passwd

3.Linux系统

-rw-------. 1 root root 1792 Aug 21 20:57 anaconda-ks.cfg

依次表示:
-文件类型 rw-所属用户的权限 —所属组的权限 —其他用户的权限 .acl 1硬链接次数 root所属者 root所属组 1792文件大小 文件的最后一次修改时间 文件

3.1 文件

3.1.1文件类型:

-普通文件
d 目录文件
c 字符设备文件
b 块设备文件
-p 管道文件,进程间的通信
s 套接字文件,用于网络上的通信。可以启动一个程序来监听客户端的要求,客户端可以通过套接字来进行数据通信
l 链接文件
硬链接

  • ln 原文件 新文件
    软链接
  • ln -s 原文件 链接文件

3.1.2文件操作

创建文件:
	文件命名规则:
	(1)不能使用/来当文件名,/是用来做根的,也是用来做路径分隔符
	(2)文件名不能超过255个字符
	(3)区分大小写
	
创建普通文件:touch 
		touch {文件1,文件2,文件3}   	创建多个文件
删除普通文件:rm
	-f 强制删除

创建目录:mkdir 
		mkdir -p  目录1/目录2/目录3  	 递归创建多个目录
		-v 显示创建目录的详细信息
删除目录:rm -r 
	-f 强制删除
	
复制文件:cp
	复制普通文件:
	cp 文件1 目录1 			将文件1复制到目录1
	cp 文件1 目录1/文件2 	将文件1复制到目录1并重命名
	复制目录文件:cp -r 

移动文件:mv
	mv 文件1 文件2 			将文件1重命名为文件2
	mv 文件1 目录1			将文件1移动到目录1下
	mv 文件1 目录1/文件2    将文件1移动到目录1并重命名
文件的压缩和解压:
	gzip 文件						压缩文件
	gzip -c 原文件 > 原文件.gz 		保留原文件并压缩
	gzip -d 文件.gz 				解压文件
	gzip -cd 文件.gz > 文件			保留原文件并解压
	gunzip 文件.gz					解压文件
	zcat 文件.gz 					查看压缩文件内容
	
	bzip2 文件						压缩文件
	bzip2 -c 原文件 > 原文件.bz2	保留原文件并压缩
	bzip2 -d 文件.bz2 				解压文件
	bzip2 -cd 文件.bz2 > 文件		保留原文件并解压
	bunzip2 文件.bz2					解压文件
	bzcat 文件.bz2 					查看压缩文件内容
	
tar:打包即归档文件,[主选项+辅选项]
	主选项:
		c create,创建一个归档文件
		x 从归档文件中提取文件出来
		t 列出归档文件中的文件
	辅选项:
		z,以gzip的格式压缩或解压
		j,以bzip2的格式压缩或解压
		v,显示打包过程的信息
		C,将文件解压到指定目录
		
	f 输出结果到文件,必须写该选项
	
	两种压缩方式:zcvf jcvf
	解压:xvf

3.2权限

用户:拥有哪些权限
用户组:权限的集合,方便指派权限
权限:可以进行什么操作:R,w,x:可读可写可执行

一般文件不设置执行权限,目录要有,没有x权限用户就无法进入该目录。
在这里插入图片描述
特殊权限:
强制位suid,set UID,使进程的属主属于程序文件本身u+s
强制位sgid,set gid,使进程的属组为程序文件本身;在目录下创建的文件的属组为该目录的属组g+s
冒险位:只有该用户可以删除自己在该目录下创建的文件,其他人无法删除(root除外)o+t

umask查看权限掩码:0022
4,suid;2,sgid;1,冒险位
普通文件本身的权限:666 rw-rw-rw-
目录文件本身的权限:777 rwxrwxrwx

在这里插入图片描述将二进制权限的有无转化为八进制。为什么用八进制,因为三位一读,便于快速赋权限。(便于记忆,可视r w x分别等值4 2 1)

u 所属者
g 所属组
o其他人

chmod u/g/o =/+/-    		修改文件的权限所属者,所属组和其他人的权限
chmod 000/777/755/644....
修改文件的权限所属者,所属组和其他人的权限

chown 所属者:所属组 		修改文件的所属用户和所属组
chown 所属者.所属组   		修改文件的所属用户和所属组
chgrp 所属组   				修改文件的所属组

在这里插入图片描述

用户

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

3.3 目录

/		根目录,通常不在这里存储文件
/bin	可执行文件,ls,cd
/sbin     可执行文件
/boot	开机启动的文件,包括linux内核以及开机菜单与开机所需配置文件等
/dev	设备文件,任何设备与接口设备都是以文件形式存在与这个目录的
/root	root用户的主目录
/home	普通用户的主目录
/mnt	挂载点目录
		光盘必须和/下的某个目录节点建立联系才能使用。
		把光盘和指定的挂载点目录建立联系的过程叫做挂载。
		mount /dev/sr0 /mnt
/media	媒体目录,也是挂载点目录
/opt	可选目录。存放第三方软件包和数据文件
/var	可变目录,用以存放经常变化的文件,如日志文件
/etc	配置文件
/lib        系统的函数库
/proc   该目录是一个虚拟文件系统,它放置的数据都在内存当中
/run       系统运行时所需文件
/usr      放置的数据为可分享的与不可变动的,unix操作系统软件资源所放置的目录,而不是用户数据
/srv          service的缩写,是一些网络服务启动之后,这些服务所需要取用的数据目录
/tmp       让一般用户或者是正在执行的程序暂时放置文件的地方
/sys          这个目录其实跟/proc非常类似,也是一个虚拟的文件系统,主要是记录与内核相关的信息

3.4acl

acl 访问控制列表
setfacl -m u/g:用户名/组名:rwx 文件名
getfacl 文件名
setfacl -b 文件名

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章