Linux基础

第一章:Linux系统安装

查看Linux系统内核信息

   uname -a
Linux虚拟机安装,1G-2G内存,20G-30G硬盘存储
查看Linux系统版本信息
cat /etc/redhat-release
    /etc/CentOS-release
    /etc/SuSE-release

 查看Linux内存信息

free -m
cat /proc/meminfo

 

查看CPU信息

cat /proc/cpuin

 

查看硬盘设备信息

fdisk -l
df -Th
cat /proc/partitions

 VMware tools工具安装

	cd /media/cdrom(进入到虚拟光驱的文件夹里,cdrom的名称为VMware Tools)
	cd /run/media/username/cdrom(RHEL7)
	tar xf VMwareTools-10.1.5-5055693.tar.gz -C /tmp(将安装包解压到指定目录tmp)
	cd /tmp/vmware-tools-distrib(进入解压出来的文件夹里)
	./vmware-install.pl(执行安装文件)可使用‘-d’选项,表示所有的交互式问答都以默认作为回执

 关闭防火墙

systemctl stop firewalld(关闭运行中的防火墙)
systemctl disable firewalld(开机防火墙服务禁止自启动)
systemctl status firewalld(查看当前防火墙状态) 

关机

systemctl poweroff  7
poweroff/init 0/shutdown/halt   6

重启

systemctl reboot 7
reboot/init 6 

第二章:目录文件结构与管理

掌握常用目录的作用:

/bin:表示普通用户和系统用户,超级用户都可以调用的指令
/sbin:系统用户和超级用户可以调用的指令
/boot:系统启动引导相关的grub文件都在boot引导目录中
/home:普通用户账户家目录的存放目录
/root:超级用户的家目录
/dev:存放系统硬件设备
/etc:系统启动,用户权限,应用程序等配置文件的主目录
/lib:32位库文件存放目录
/lib64:64位库文件存放目录
/media:RHEL6及之前的操作系统,外接设备默认存放路径 /media/kingston
/run:RHEL7外接设备默认存放路径 /run/media/username/kingston
/mnt:建议将磁盘设备挂载到当前目录的子目录中使用
/proc:系统进程信息和系统设备信息存放目录(基于内存)
/tmp:临时文件存放目录,主要针对普通用户
/var/tmp:系统程序文件存放目录,主要针对系统用户
/usr:用户自定义配置目录
/var:业务数据存放目录
命令 选项 参数
ls   -l  /boot

根据文件颜色识别文件属性

蓝色 目录
黑色 普通文件
绿色 可执行文件
红色 压缩文件
紫色 图片或其他类型的文件
浅蓝色 符号链接文件
黑底黄字 设备文件

常用快捷键

 Tab键:自动补齐
 Ctrl+U:清空至行首
 Ctrl+K:清空至行尾
 Ctrl+L:清屏
 Ctrl+C:取消本次命令编辑
 Ctrl+A:光标移动到最前
 Ctrl+E:光标移动到最后
 反斜杠“\”:强制换行
 Ctrl+shift+t:在已经生成的终端中打开新的终端
 Ctrl+d:在终端没有字符的状态下,结束当前终端(exit)
 Ctrl+shift+“+”:增大字符显示
 Ctrl+“-”:缩小字符显示
 Ctrl+Page UP:多终端时,向前翻页
 Ctrl+Page DOWN:多终端时,向后翻页
 Alt+number:根据终端位置,快速切换到数字对应的终端
 Ctrl+shift+c:复制
 Ctrl+shift+v:粘贴

ls 列出目录内容

 	-l:以长格式形式查看文件或目录的详细信息(文件类型,权限,链接数,属主属组,文件大小,时间信息,文件名及路径)
 	-h:以人性化方式计算文件或目录的大小
 	-d:查看目录本身的属性,不加时查看的是目录中的子目录及子文件
 	-a:查看所有文件和目录(包含隐藏和非隐藏)
 	-R:递归式的查询目录中的子目录及子文件
    pwd 显示当前工作目录
    cd 切换工作目录
 	cd ..:回到上一级目录(当前路径的父目录)
 	cd -:回到上一次工作过的目录
 	cd directory:切换到指定目录
 		相对路径:只能在某个特定的环境或目录下才能执行的操作(不以“/”开始的路径)
 		绝对路径:在任意位置都可调用并执行的操作(以“/”开始的路径)
    touch:创建文件,更新文件时间标记
    mkdir:创建目录
	-p 递归式创建目录及子目录
	rm:删除文件
	-r:递归式删除文件或目录
	-f:强制删除
	shred /boot/grub2/grub.cfg
  	rmdir:删除空目录
	mv:移动(mv 源文件路径 目标路径),为文件或目录重命名
	cp:拷贝
	cp 源文件 目标路径
	cp时,如果目标路径没有指定,默认保存为源文件名称
		如果在目标路径指定名称,则可以为复制文件重命名
		同时复制多个文件时,重命名无效
		复制目录可以使用“-r”选项,将目录复制到指定路径下
	cat:查看文件内容
	ln :建立链接(默认建立为硬链接,-s选项表示创建软连接)
	    硬链接:源文件的副本,对于系统来说,文件始终是同一个文件
	每创建一次,文件的链接数都会加一,文件的节点数始终不变
	当用户对任意硬链接文件操作时,所有文件同时发生变化
	    软链接(符号连接):源文件的快捷方式,此时创建的是新文件
	软链接生成后,源文件链接数不会变化,文件将被分配一个新的节点数
		当用户对软连接文件操作时,被链接的文件及硬链接文件会同时发生变化
	硬链接有两点限制:
		1.硬链接创建不可以跨文件系统
		2.硬链接不可以为目录创建
“.”     当前目录
“..”    上一级目录

第三章:常用指令与vim使用

指令的分类:
内部命令和外部指令
内部指令:Shell自带的命令,比如cd、history,内部指令是不可删除的(系统默认解释器为bash)
外部命令:一些软件安装后添加的命令,比如ls、cp,外部指令可根据安装包或指令的路径删除
如何使用帮助:
常见的指令帮助使用有man和help
“man+指令”可以查看指令的帮助手册
help的使用根据内部和外部,格式有差异
内部指令:“help+内部指令”
外部指令:“外部指令 --help”	
shell:终端内的指令‘翻译器’
bash:shell解释器的版本,除此之外,还有csh,tcsh,zsh等
终端:在图形化Linux配置中,给用户提供指令输入的编辑器
more:分页查看文件内容
	空格向下翻页,直至文件结束,按q结束浏览
less:逐行查看文件内容
	空格翻页查看,‘/+关键词’可以搜索,‘n’向下查找关键词‘N’向上查找关键词,按q结束浏览
head:查看文件头10行(默认)
	head -n number file(head -number file)
tail:查看文件后10行(默认)
	tail -n number file(tail -number file)
grep	过滤文件内容
	-v  取反
	-n  显示关键词在文件中的行数
	-i  搜索时忽略被搜索词的大小写
	-AX X为数字,表示搜索时同时显示关键词后X行
	-BX X为数字,表示搜索时同时显示关键词前X行
du		统计目录内容大小
	-s  显示汇总信息
	-h  以人性化方式显示大小
wc		统计文件内容
	默认显示信息,依次为行数,关键词数,文件大小
	-l 统计行数
alias	命令别名建立,格式为:新指令=‘原指令 + 选项’
	建立时有三种方式
	1.在当前终端新建别名,只有当前终端生效,其他终端不生效,同时退出终端后失效
	2.在当前用户的家目录中,找到隐藏文件bashrc(~/.bashrc),在文件中添加alias,再次登陆生效,针对的是当前用户
	3.在/etc/bashrc文件中,添加alias,全局生效,所有登陆用户都可调用
	alias simple=‘ls -lh’
		unalias
find:实时查找
	根据文件名查找
		find /etc -name passwd
	根据文件大小查找
		find /etc -size -1k
	因为find对管道支持比较弱,所以可以借助exec扩展选项
		find /etc -size +1M -exec ls -lh {} \;
		注:‘-’表示小于,‘+’表示大于,-exec通常需要和‘空格\;’一起使用,格式不完整,则指令不可正确执行
gzip 与 bzip2	压缩文件
	压缩时,默认压缩比为6,压缩区间为1-9,9为最高压缩比
	解压缩时,对应指令为gunzip,bunzip2
file 查看文件类型
dd	复制
	dd if=/dev/zero of=testfile bs=1M count=100生成100M的文件
	dd if=/dev/sda of=/tmp/mbr.hex bs=512 count=1
tar		目录打包备份
	-c 创建打包压缩的文件
	-f 将指定的文件或目录打包为文件
	-v 显示压缩或解压缩的进度
	-j bzip2格式的文件压缩
	-z gzip格式的文件压缩
	-J xz格式的文件压缩
	-C 解压缩时指定解压路径,默认为当前目录
	-x 解压缩文件
VIM编辑器使用
	Vim编辑器的三种工作模式:
	命令模式(默认模式):复制,粘贴,剪切,切换到其他模式
	输入模式(编辑模式):a\i\o,针对每个字符进行编辑,删除
	末行模式(扩展模式):保存,退出,保存并退出,字符替换等
	光标方向移动
命令模式:
	向下翻页:Page Down或Ctrl+F
	向上翻页:Page Up或Ctrl+B
	行内快速跳转
	跳转至行首:Home键或者“^”、数字“0”
	跳转到行尾:End键或“$”键
	行间快速跳转
	跳转到文件首行:1G或者gg
	跳转到文件末行:G
		#G 其中#代表数字,#G表示跳转到文件中的第#行
	直接输入数字+回车
		表示从当前行开始计算,跳到文件位置的累加行
	操作类型
剪切(删除)
	删除当前光标处单个字符:x或者Del
	剪切当前行:dd
	剪切从光标处开始的#行内容:#dd #表数字
	删除当前光标前到行首所有内容:d^
	删除当前光标到行尾所有内容:d$
		复制
	复制当前行:yy
	复制从光标开始处的#行内容:#yy
		粘贴
	粘贴到当前行下:p
	粘贴到当前行上:P
		撤销
	取消最近一次操作:u
	反撤销:ctrl+r
		查找
	从上而下在文件中查找字符串“word”:/word
	从下而上在文件中查找字符串“word”:?word
	定位下一个匹配的被查找字符串:n
	定位上一个匹配的被查找字符串:N
保存
	保存并退出当前编辑:ZZ
	shift+‘;’   :set number
输入模式:
	a:在当前光标所在位置的后面输入字符
	i:在当前光标所在位置的前面输入字符
	o:在当前光标所在位置的下面重新开启一行输入字符
	A:跳转到当前光标所在行行尾输入字符
	I:跳转到当前光标所在行行首输入字符
	O:在当前光标所在位置的上面重新开启一行输入字符
末行模式
	显示行号
	:set nu
	取消显示行号
	:set nonu
	  		保存
		保存修改内容:‘:w’
	另存为:‘	:w /路径/文件’
	未修改退出:‘:q’
	放弃修改强制退出:‘:q!’
	保存并退出:‘:wq’
打开新文件编辑
	:e /路径/文件
	读入文件内容到当前编辑
	:r /路径/文件 
	将当前行中查找到的第一个字符“old” 替换为“new”
	:s/old/new 
	将当前行中查找到的所有字符串“old” 替换为“new”
	:s/old/new/g
	在行号“#,#”范围内替换所有的字符串“old”为“new”
	:#,#s/old/new/g
	在整个文件范围内替换所有的字符串“old”为“new”
	:%s/old/new/g 

第四章:Linux软件安装

常见的安装方式有三种:源码包安装,rpm指令安装,yum安装
源码包安装:
下载源代码安装包文件
步骤1:tar包解压缩
用途:解压并释放源代码包到指定的目录/usr/src/
步骤2:./configure 配置
用途:设置安装目录、安装模块等选项(/usr/src/httpd-2.4.6/)
步骤3:make 编译
用途:生成可执行的二进制文件Makefile
步骤4:make install 安装
用途:复制二进制文件到系统,配置应用环境并使用应用软件
	make uninstall/make clean
	进入安装目录后,找到bin目录(/usr/local/httpd/bin)
执行./httpd,开启httpd程序
监听指令为netstat
netstat是网络信息监听指令
	-l listening,获取正在监听的状态
	-n 显示端口信息
	-t TCP
	-u UDP
	-p program/PID
netstat -lntup | grep :80
打开firefox或本地用curl指令访问127.0.0.1,即可看到站点信息
需要修改主机页面,可以编辑/usr/local/httpd/htdocs/index.html
刷新firefox即可
rpm指令管理
针对已安装软件
rpm -qa:查询所有已安装软件的rpm包信息,列出包的版本
rpm -qi 软件名:列出已安装软件的详细信息
根据指令搜索包的名称
which vim(which搜索指令在系统中的路径)
rpm -qf 文件/目录/指令 查看该文件是由哪个rpm包所提供
针对未安装软件
rpm -qpl 包.rpm  选项p表示package,后面需要写包的完整路径信息
	qpl表示列出这个包在安装之后生成哪些文件和目录
rpm -qpi 包.rpm  查询未安装包的详细信息
安装与卸载
rpm -ivh 包.rpm
	i表示安装,v表示显示安装过程,h表示以‘#’作为进度,显示安装进度
rpm -e 包的名称
	移除指定的rpm包
yum软件管理
首先,仓库源需要满足两点要求
1.仓库文件必须存放在/etc/yum.repos.d/目录中
2.仓库源文件的后缀必须以‘.repo’结尾
repo文件格式:
[base]
	中括号的名称为仓库源名称,通常为字母和数字
name=my new repo cdrom
	name表示对yum源的描述,方便管理当前yum
baseurl=file:///mnt/cdrom
	baseurl=http://10.0.0.1/packages
	baseurl表示声明yum可以管理并使用的rpm包路径,可以基于本地,也可以基于网络
enabled=1
	enabled表示当前仓库是否开启,1为开启,0为关闭,此项不写默认为开启
gpgcheck=0
	gpgcheck表示安装rpm包时,是否基于公私钥对匹配包的安全信息,1表示开启,0表示关闭,此项不写默认为验证
yum clean all	     清空缓存信息
yum list [包的名称]   列出所有[指定]包的信息
yum info 包的名称     显示包的详细信息
yum install 包的名称  安装指定的rpm包
yum remove 包的名称	 移除指定的rpm包
yum search 关键词     根据关键词,在已发现的repo源中搜索包含关键词的rpm包
yum provides 命令     根据命令,在已发现的repo源中搜索安装指令的rpm包
yum history	list/info/undo/redo number
		history可以列出,查看,重装,反安装对应的包,但是是以yum指令的操作顺序为依据的,所以需要加指定的数字执行

第五章:账号与权限管理

用户与组管理
useradd指令:
	1.新建用户时,系统会将/etc/skel中的目录及文件拷贝到新建用户的家目录中
	2.在/var/spool/mail中,新建用户名的邮箱
	3.在passwd和shadow文件中,增加用户信息
userdel [-r] username
	不加-r选项,只删除passwd和shadow文件中的用户信息
	加-r选项,删除passwd和shadow文件中的用户信息,同时删除用户的家目录和邮箱

 usermod
	对已存在的账户做属性修改
	-s 修改用户的登陆shell
	-L 账户锁定
	-U 解锁账户

passwd密码修改
	root:
	1.不需要知道当前的密码
	2.设置新密码时,不需要遵循密码要求(1.不能少于8个字符,2.满足复杂度要求)
	普通用户:
	1.需要知道当前密码
	2.设置新密码时,必须遵循密码要求

groupadd
	增加新组,组创建时可以指定组的GID等属性
groupmod
	修改组的属性,比如名称,GID等
groupdel
	删除组,但是只能针对附加组,主组无法删除

用户创建时,默认的属性(比如UID,GID,是否创建家目录,创建邮箱等)都是通过/etc/login.defs文件控制的,修改此文件的属性,会影响以后创建的所有用户
如果需要对现存账户的属性做修改,可以借助chage指令,修改用户的密码策略,也可通过编辑/etc/shadow
文件修改(不推荐)
比如:chage -l username,查看用户的密码策略
	chage -M 90 username,将用户的密码有效期修改为90天

文件和目录的权限为rwx

	针对文件:
	r表示可以读取文件
	w表示可以对文件内容做修改
	x表示文件可执行
	针对目录:
	r表示可以列出目录内容
	w表示可以在目录中增删改查
	x表示可以进入目录,同时可以查看目录中文件的详细信息
rwx对应的数字为421,所以文件或目录的最大权限为777
	修改文件权限的指令为chmod
	u表示user,属主权限位
	g表示group,属组权限位
	o表示other,其他用户权限位
	a表示所有,等于ugo
	所以设置权限时,可以使用chmod ugo(a) +/- rwx
		比如:chmod u-r file/chmod a+x file等
		也可使用数字代表权限,对应的三个数字即为属主、属组、其他用户
		比如:chmod 640 file

文件属性

    文件属性分为10个字段
	第一字段为文件属性
	第二至四字段为属主权限
	第五至七字段为属组权限
	第八至十字段为其他用户权限
	文件属性中,‘-’表示文件,‘d’表示目录,‘l’表示符号链接,‘b’表示块设备,‘c’表示特殊 字符设备
	修改文件的属主属组,可以使用chown和chgrp指令
	chown即可单独修改属主,也可单独修改属组,也能同时修改属主属组
	chgrp只能修改属组
	chown 属主:属组 file/directory
	chown 属主.属组 file/directory
	chgrp 属组 file/directory
		扩展权限控制
	因为默认的属主属组只能控制一个用户和一个组,无法针对每个用户做权限控制
	所以借助acl属性,完善权限控制
	设置:setfacl(-m设置acl,针对用户,关键词为‘u’,针对组,关键词为‘g’,设置时,权限不能为空)
	获取:getfacl
		setfacl -m u:tom:rw- /file
		setfacl -m u:jerry:- /file
		setfacl -m g:IT:rw- /file
		getfacl /file 
	移除权限(-x移除acl,移除权限时,无需指定权限,针对用户或组即可)
		setfacl -x u:jerry /file

第六章:进程管理与计划任务

进程管理
ps:查看静态进程信息
	a选项表示查看所有进程信息
	u选项表示显示进程所属的用户信息
	x选项表示显示默认信息以外的信息
	STAT:
	S:当前状态为睡眠状态
	s:当前进程有多个子进程
	l:当前进程可能会开启多个子进程
	R:当前进程正在运行中
	+:表示这个进程在前台运行
	Z:表示僵尸进程
	<:表示当前进程优先级高
top:动态查看进程信息(默认每3秒刷新一次,可以按q退出)
	M:按M表示按照内存使用量从大到小排序
	P:按P表示按照CPU使用量从大到小排序
		-d
		nice
		renice
pgrep:表示查看指定服务的PID(进程ID值)
	-u表示查看指定程序用户的进程信息
	比如:pgrep -u named named
	第一个named为named用户,在passwd文件中,第二个进程名称named,可以通过
	ps aux | grep named获取
pstree:以树状结构显示进程的关联信息
Ctrl+z	前台进程调入后台
Ctrl+c	结束进程
jobs	查看后台进程
fg #	将后台第#个进程在前台运行(不加数字时,jobs程序上为‘+’的程序优先被调回)
bg #	将后台第#个进程在后台运行(不加数字时,jobs程序上为‘+’的程序优先被调回)
&		直接将进程放在后台运行
kill、killall	结束进程
	kill后面直接写数字时,表示是ps过滤出来的进程信息
	kill后面加%加数字时,表示结束jobs后台进程中的对应进程
	如果默认进程结束不掉,可以使用kill -9 PID强制结束进程
	killall表示同时结束多个相同程序发起的进程
		killall -9 xeyes
    at 一次性定制任务
	设置格式
	at [HH:MM] [yyyy-mm-dd]
	at>ctrl+d 结束编辑
	查询与删减
	atq(at -l)
	atrm
	at –c # 查看指定计划任务内容
crontab 任务计划,可以在指定时间重复执行
	查看指令写入格式,可以通过cat /etc/crontab获取(分/时/日/月/周)
	用户定义的配置文件位于 /var/spool/cron/用户名
	crontab -e [-u 用户名]	编辑计划任务
	crontab -l [-u 用户名]	查看计划任务
	crontab -r [-u 用户名]	删除计划任务
		crontab -u
date 获取或修改时间
	date 月日时分年
	date -d '+90days'
 hwclock 获取或修改BIOS时间
	-r 表示读取BIOS时间
	-w 表示将当前时间写入BIOS

第七章:网络配置与日志分析

查看网络接口信息
	查看所有活动网络接口信息
		ifconfig(ip address)
	查看指定网络接口信息
		ifconfig 网络接口名(ifconfig eth0)
hostname	查看主机名
	直接cat在后面加新的主机名表示临时设置主机名
route		查看路由表
	route -n 将默认路由条目的网段信息以地址形式显示
netstat		查看接口统计信息等
	-lntup 
ping		测试网络连通性,后接主机名或IP
	-c 持续ping的次数,默认为持续ping
	-s ping时发送的数据包数量
traceroute	测试主机到主机之间经过的网络节点
nslookup	测试DNS域名解析
	可以直接加主机名或IP,也可回车后分别解析
以上指令都为临时设置,永久设置需要修改配置文件,或借助指令写入配置文件
网卡配置文件的路径为/etc/sysconfig/network-scripts中
网卡配置文件中的重要内容
	DEVICE=eth0    				设备名称
	ONBOOT=yes|no   			开机是否启用网卡
	BOOTPROTO=static|none|dhcp	网卡运行模式(前两种为手动配置固定IP,DHCP为动态获取)
	IPADDR=						IP地址
	NETMASK=  或者prefix=掩码位   子网掩码
	GATEWAY=					网关
路由条目文件的路径与网卡一致,只是路由条目针对不同的网卡,名称要以route开始
	比如route-eth0
	10.0.0.0/8 via 192.168.1.1
	需要注意的是后面要转发的IP本机必须能通讯,否则重启网卡服务会失败

RHEL7网卡信息查看

	查看网卡链接
	nmcli con show "static-eth0"
	查看网卡物理状态
	nmcli dev status
		ethtool eth0
	查看网卡信息
	nmcli dev show eth0
		ifconfig(ip addr)
	网卡配置生效
	systemctl restart network.service
		service network restart
	nmcli con reload

网卡配置

	为网卡增加新的链接
	nmcli con add con-name "Simple" ifname eth0 type ethernet ip4 172.25.0.1/24 gw4 172.25.0.254
	为网卡设置DNS
	nmcli con modify " Simple" ipv4.dns 172.25.254.254
	如果需要启用新的链接,需要禁用之前的链接
	nmcli con modify " Simple" connection.autoconnect yes
	nmcli con modify "System eth0" connection.autoconnect no
	修改IP地址		
	nmcli con modify " Simple" ipv4.addresses 172.25.0.100/24
	增加网卡的从IP
	nmcli con modify "System eth0" +ipv4.addresses 10.0.0.1/24
	以上配置修改后,需重启网卡服务

修改网卡名称

	1.vim /etc/default/grub
	找到GRUB_CMDLINE_LINUX行,直接到最后添加,net.ifnames=0 biosdevname=0
	2.grub2-mkconfig -o /boot/grub2/grub.cfg
	更新配置文件
	3.cd /etc/sysconfig/network-scripts/
	将网卡名称修改为ifcfg-eth0
	mv ifcfg-eno16777736 ifcfg-eth0
	vim ifcfg-eth0     NAME=eth0
	4.reboot
	重启,使网卡名称恢复为eth命名

常用网络配置

   主机名修改的三种方式:
	3.nmtui
	DNS服务器地址保存位置
	/etc/resolv.conf			hostname abc.example.com
	1.vim /etc/hostname	主机名称配置文件
	2.hostnamectl set-hostname 主机名
nameserver 8.8.8.8
	主机与IP地址映射记录
	/etc/hosts
	ip地址	主机名

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值