Linux centOS8 学习笔记

Linux基础命令

  • **uname **查看操作系统信息
uname -a
  • **ls 相对/绝对 路径 **查看文件
ls /uesr/local/
ls /local/(在user目录下)

ls -l == ll
ls -a
ls -h
ls -a	ls -h == ls -ah
  • **pwd **显示当前路径

  • **cd **切换目录

cd ../ 上一级目录
cd ~ == cd 用户家目录
cd 路径
  • 重启关机
reboot

shutdown
shutdown -h 20
shutdown now

shutdown -r 60/now

halt == shutdown -h  0
  • **history **查看历史命令

  • **hostnamectl **主机名命名

  • **管理员root **

su root
“/”的使用
#加上 /:表示使用绝对路径,确保准确定位文件或目录。
#不加 /:如果你在当前工作目录下,并且命令或文件名没有重复,便可以直接使用相对路径。

Linux文件管理

文件命名规则

Linux严格区分大小写,命名尽量都使用小写,以“_”隔开

使用拓展名并无特殊含义,是为了便于区分文件

文件管理命令

目录的创建/删除
#mkdir 创建目录
mkdir /user/local/nginx
#mkdir不能隔级创建目录。必须要求创建的目录所在的目录存在

mkdir -p 【路径】
#可同时创建多个目录,可以隔级创建目录


#rmdir 删除目录
rmdir /user/local/nginx 
rmdir /user/local/nginx /user/local/a /user/local/b /user/local/c

rmdir -p /itheima/tomcat 
#此方法仅适用于CentOS 7
rmdir -r /itheima/tomcat
Y
文件创建/删除
#touch 创建文件
touch /[文件名] #在根目录创建
#也可在绝对路径在创建
touch [文件名] #在当前 目录下创建
touch [文件名] [文件名] [文件名] #在当前 同时创建[文件名]*3
touch {1..6}.log[后缀名] #创建1到6.log

#拓展
touch /user/local/a1.txt a2.txt b.txt c.txt
#此时a1的绝对路径为 /user/local/a1
#a2及b c为 /user/a2 b c	与local文件夹平级(此时在user层级下)
#也就是说执行上面命令时,分为了两条
	#touch /user/local/a1.txt
	#touch a1.txt 在当前目录下创建
	
	
#rm 删除文件
rm [文件] #删除当前路径下的该文件
rm -r [文件夹]/[文件夹] 
#删除当前文件夹之下的所有文件和文件夹
#每个文件都会询问
rm -rf [文件夹]/[文件夹]
#强制删除当前文件夹之下的所有文件和文件夹

复制与剪切
#cp 复制
#拷贝文件
cp [文件] [B路径]
#将该目录下的该文件,拷贝到B路径下
cp [A路径]/[文件] [B路径]
#将A路径下的文件 复制到B路径
cp [A路径]/[文件A] [B路径]/[B文件]
#将A路径下的A文件 复制到 B路径下并更名为B文件

#拷贝目录
cp -r [文件夹1]/[文件夹11] [文件夹2]/[文件夹22]
#将文件夹1中的11,拷贝到文件夹22中


#mv 剪切
mv [文件] [路径]/[路径]
mv [文件夹] /[路径]/[路径]

#重命名
mv [文件名1] [文件名2]
#将文件名1 更改成 文件名2

#cp与mv的区别
	#mv不管是针对文件还是文件夹都不需要加类似的 -r 的选项
	#默认在移动的过程中文档名称是不变的,变得是路径

tar打包压缩与解压缩

打包:文件和目录的总合,打包成一个文件,占用的空间为所有文件和目录的总合。

压缩:也是总合,但是占有的空间少于总合。

打包
tar	-c	#创建打包*
	-v	#显示打包文件过程*
	-f	#指定打包的文件名(必加项)*
	-u	#update,可追加新文件进入打包(了解)
	-t	#查看打包文件内容(了解)
tar -[命令] 文件名 [打包文件][打包文件]

tar -cvf abc.tar a.txt b.txt c.txt
tar -uf abc.tar d.txt
tar -tf abc.tar
打包并压缩*
tar -z	#压缩为.gz格式*
	-j	#压缩为.bz2格式
	-J	#压缩为.xz格式
	-x	#解压缩
	
tar -zcvf abc.tar.gz a.txt b.txt c.txt
tar -Jcvf abc.tar.xz a.txt b.txt c.txt
解压
tar -x

tar -zxvf  abc.tar.gz

tar -xvf [文件名]	#通用解压
zip压缩与解压缩(了解)
zip压缩
unzip解压缩

Vim

Vim文件编辑器

VIM四种模式:

命令: esc

编辑(输入、插入):i

可视化:v

末行: : /

Vim使用
vim [文件名]	#打开文件

#VIM保存文件并退出
	#按两下esc回到命令模式,输入 :wq 回车
#VIM不保存文件并退出
	# :q!
Vim命令模式操作*
页面和文件的移动
`Ctrl + f/PgDn`:向下翻页
`Ctrl + b/PgUp`:向上翻页
`Ctrl + d`:向下滚动半页
`Ctrl + u`:向上滚动半页
`G`:跳转到文件的最后一行
`gg`:跳转到文件的第一行
`[n]G`:跳转到第 n 行,例如 `20G` 跳转到第 20 行*
复制/粘贴
复制:光标所在行	`yy`
​	数字`yy`行侠复制指定的行数
粘贴:需要粘贴的地方`p`
剪切/删除
剪切/删除光标所在行
  按键:`dd`(删除后下一行上移)
  注意:dd严格上说是剪切命令,若剪切后不粘贴就是删除效果
剪切/删除光标所在行为准,相加删除指定的行
  按键:`数字dd`(删除后下一行上移)
剪切后,但是删除之后的下一行不上移
  按键:`D`(删除后当前行会变成空白行)
撤销/恢复
撤销:	`u(undo)`
恢复:	`ctrl+r` 恢复(取消)之前的撤销操作【重做 redo】
Vim末行模式操作*
按下	`:`	或者`/`进入末行模式
保存(write)
  `:w`保存文件
退出(quit)
  `:q`
保存并退出
  `:wq`
 强制(!`:q!`
搜索/查找
​	`/关键词`
​	在搜索结果中切换上/下结果:`N/n``取消高亮:noh`
替换
显示行号
  `:set nu`
  `:set nonu`
set paste与set nopaste
编辑模式

按下i进入

可视化模式
复制
按键 `ctrl+v或V或v`,用方向键选中
复制 `y`,粘贴 `p`
退出esc
多行注释
  1. ctrl+v进入视图 块模式
  2. 在行首上下键选择需要注释的行
  3. 按下 I 进入插入模式
  4. 输入 #
  5. 按两下 esc
删除多行注释

选中行首的#,按下 del

Vim的一些实用功能
代码着色

异常退出的解决办法

将交换文件(在编程过程中产生的临时文件)删除掉即可【在提示界面按下 D键,或者使用 rm指令删除交换文件】

Vim退出方式

:q或者 :wq

:x 在文件没有修改的情况下,表示直接退出()等价于:q,在文件修改的情况下表示保存并退出

区别

如果您在编辑文件并希望保存更改,使用 :x:wq 是合适的。

在一般情况下,使用 :x 是个不错的选择,因为它会根据文件是否有修改来决定是否保存。

如果您希望明确保存,可以考虑使用 :wq

文本处理命令

查看文件内容
cat查看及合并
cat [文件名]
#cat命令用于查看文件内容时,不论文件内容有多少,都会一次性显示。若文件非常大,那么文件开头的内容就看不到了。
#cat命令适合查看不太大的文件。

cat [文件1] [文件2] > [文件3]
#将文件1,2的内容合并后,输出到文件3
more/less分屏显示文件
more [文件名]
#流程:more在读取文件时,默认已经加在文件的全部内容

less [文件名]
#流程:不是加载整个文件,而是一点一点进行加载,相对而言,读取大文件时,效率比较高

#通用交互界面
	#回车	向下一行
	#d	向下半页
	#空格	向下一页
	
	#b	向上一页
	#/字符串	搜索指定字符串
	#:f	显示当前文件的文件名和行号
	#q或Q	退出more/lessmoshi 
cat、more、less对比
head显示文件开头
head [文件名]
head -n [文件名]
#查看一个文件的前n行,如果不指定n,则默认显示前10行
tail显示文件结尾
tail [文件名]	#默认显示最后10行
	 -n [文件名]	#显示最后n行的内容
	 -f [文件名]	#输出文件变化后新增加的数据
	 				#按下ctrl+c可退出查看状态
统计文件信息
wc -lwc [文件名]	#统计文件内容数量
#统计文件内容信息
#三个参数混在一起使用时,不影响输出结果。行数、单词数、字节数

du -s [文件名/目录]	#统计文件大小
   -h [文件名/目录]	#高可读性
   -sh [文件名/目录]	#
文本处理
find /var/ -name "*.log" -type f	#文件查找
#find 路径 选项1 选项1的值 	选项2 选项2的值

grep [查找到内容] [文件名/多个文件名]	#搜索文件内容

`命令`>`文件`	#进行覆盖输出
`命令`>>`文件`	#进行追加输出
#区别
	`>`#将命令所输出的内容,写入文件中。若文件中有其他内容,则先清空,再写入。
	`>>`#将命令输出的内容,追加写入到文件中。
	#文件路径中的文件可以是不存在的文件,执行明亮时会自行创建。

Linux用户管理

用户和用户组

为针对不同用户分配不同权限,不同权限访问到的系统资源不同。

主组:每个用户的主组只能有一个。

附加组:每个用户的附加组可以用多个。

管理工作
  • 用户组的管理
  • 用户帐号的增删改,密码管理

/etc/passwd 用户配置文件,存储用户的基本信息

/etc/group 存储用户组的信息

/etc/shadow 存储用户的密码信息

用户和用户组管理

用户组
用户组的增删改
groupadd [组名]	#添加组

groupmod [选项 选项值] 用户组名	#修改组
#选项
	-g :gid设置一个自定义的用户组ID数字
	-n :name设置新的用户组的名称
	
groupdel [组名]	#删除组
用户

用户的增删改

useradd [选项 选项值]  用户名	#添加用户
#选项
	-g :指定用户的用户主组,选项值口语为用户组ID,也可以是组名。
	-G :指定用户的用户附加组,同上。
	-u :uid,用户的id,系统会默认按顺序分配uid。可通过该选项自定义。
	-c :comment,添加注释
	-s :指定用户登录后所使用的shell解释器,默认/bin/bash【专门的接待员】,如果不想让其登录,则可设置为/sbin/nologin*
	-d :指定用户登入时的起始目录
	-n :取消建立以用户名称为名的群组
	
#若执行"useradd infosky"
	#不适用任何参数,创建用户,系统会默认执行以下操作
	#在/etc/passwd中创建infosky用户数据
	#在/etc/shadow中新增infosky密码数据
	#在/etc/group中创建一行与用户名相同的组
	#在/etc/gshadow中新增一行与新增群组相关的密码信息
	#自动创建用户的家目录,默认在/home下,与用户名同名
etc/passwd存储用户信息的文件
vim /etc/passwd
# infosky:x:1000:1000::/home/infosky:/bin/bash
# 用户名:密码:用户ID(-u):用户组ID(-g):注释(-c):家目录(-d):解释器shell(-s)
#密码位置显示x,表示密码的占位,真实密码存储在/etc/shadow
#若解释器是/bin/bash表示用户可以登录到系统,/sbin/nologin表示用户不能登录到系统
id查看用户信息
id	#默认显示当前执行该命令的用户基本信息
id [用户名] #查看用户的基本信usermod
usermod修改用户
usermod [选项 选项值]  用户名	#修改用户的各种属性
		-g 指定用户的用户主组,可以说用户组的ID,也可以是组名
		-G 指定附加组
		-U 解锁用户 unlock
		-L 锁定用户,锁定后用户无法登录系统 lock
		-c 修改用户帐号的备注文字
		-d 修改用户登录时的目录
		-s 修改用户登入后所使用的shell
passwd修改用户密码
passwd [用户名]	#如果不指定用户名则修改自己的密码
认识/etc/shadow文件
su切换用户
su 用户名
userdel删除用户
userdel 选项 用户名
		-r	#删除用户的同时,删除其目录/home下的对应文件夹
删进程
#查找占用的进程
ps -ef | grep [名称]
#选中进程后,kill
kill [进程]

管道

管道符

一种通信机制,常用于进程间的通信。表现出的形式将前面的每一个进程都输出(stdout)直接作为下一个进程的输入(stdin)

过滤功能
grep	#用于过滤
grep 选项 文件路径 
#ls / | grep "y" 以此为例
	#以管道作为分界线,前面的命令有个输出,右面束腰先输入(缺少查找范围),然后再过滤,最后再输出,通俗的讲就是管道前面的输出就是后面指令的输入。
	
grep [选项] "搜索关键词" 搜索范围

cat /etc/passwd | wc -l	#指令 路径 | 指令 指令
xargs命令拓展
  • xargs 可以将管道或标准输入(stdin)数据转换成命令行参数,也能够从输出中读取数据。
  • xargs可以将单行或多行文本输入转换为其他格式,如多行变单行,单变多。
  • xargs默认的命令是echo,意味着通过管道传递给xargs的输入将会包含换行和空白,不通过xargs的处理,换行和空白将被空格取代。
  • xargs能捕获一个命令的输出,然后传递给另外一个命令。

网络配置

ifconfig查看网络信息
ifconfig	#查看网络信息
ens192 :默认网卡
lo(loop,循环) :回环网卡
#(vmware中才有)virbr0 :虚拟网络接口
网卡配置文件位置及详解
cd /etc/sysconfig/network-scripts/
`ifcfg-ens192`

TYPE=Ethernet	#网络类型=以太网
BOOTPROTO=none	#启动协议,这里为静态IP。还可以选择DHCP自动获取
DEFROUTE=yes	#默认路由
NAME=ens192		#网络接口的名称
DEVICE=ens192	#网卡设备名称
ONBOOT=yes		#系统在启动时是否启用此网络接口
IPADDR=172.20.220.145	#指定静态IP地址,给这个网络接口分配的地址是172.20.220.145
PREFIX=24		#指定子网掩码的前缀长度,这里24是指子网掩码为255.255.255.0。意味着该网络可以容纳256个地址
GATEWAY=172.20.220.254	#指定默认网关的IP地址,数据包会通过这个地址转发到其他网络
DNS1=172.17.18.18		#指定首选DNS服务器的IP地址,用于域名解析
systemctl
#查看网卡状态
systemctl status network	#centOS7
systemctl status NetworkManager	#centOS8

#网卡的启动/重启/停止
systemctl start/stop/restart network

Linux的权限管理操作

普通权限管理

文件权限详解
三类身份
身份字母
属主u
属组g
其他用户o
Linux七种文件类型

-:普通文件

d:目录文件

l:软链接(类似于windows的快捷方式)

b:块设备文件(硬盘、光盘)

p:管道文件

c:字符设备文件

s:套接口文件/数据接口文件

文件权限对应关系
r	4	可读
w	2	可写
x	1	可执行

d rwx r-x r-x
1:文件类型
2-4:属主的权限情况
5-7:属组的权限
8-10:其他的权限
设置文件/文件夹权限
字母形式
chmod [选项] 权限模式 文档
#增加或减少当前文件所有者的权限(不能改变所有者,只能改变现有所有者的权限)
选项: `-R` 递归设置权限(当文档类型为文件夹时)

chmod -R 要增加的权限 文件名
#例如
	#chmod -R u+x quanxian.txt
	#chmod -R g+x,o+x quanxian.txt(同时改变多个对象的权限用`,`隔开)
	
chmod -R 要减少的权限 文件名
#例如
	#chmod -R o-x quanxian.txt
	
chmod -R 要赋予的权限 文件名
#例如
	#chmod -R u=rwx,g=rwx,o=rwx quanxian.txt
#给谁设置
	u
	g
	o
	ugo
	a
#怎么设置
	+
	-
	=
#增加减少或赋予什么权限
	r
	w
	x
#设置给多个身份权限时,使用`,`隔开
#chmod u=rwx,g=rwx	=	chmod ug=rwx
数字形式
权限数字
r4
x2
x1
chmod -R 数字形式权限 文件名
#例如
	#chmod -R 765 quanxian.txt
	#注意一般情况下,单独出现2、3的权限数字一般都是有问题的权限。因为文件在进行写或执行前,需要具备可读的权限。
	#一般Linux中,不允许出现777的权限
特别说明

在Linux中,若要删除一个文件。不是看文件有没有对应的权限,而是看文件所在 目录是否有写权限 ,如果有才可以删除(同时必须具备执行权限)

属主与属组设置

chown修改文件的属主
chown [-R] 新文档拥有者名称 文档路径
#更改文档的所属用户
#选项:-R 代表递归修改文件的属主

#例如
	#chown infosky readme.txt
	#chown infosky bjhr/
chgrp修改文件属组
chgrp [-R] 新文档组名称 文档的路径
#例如
	#chgrp itcast readme.txt
#-rw-r--r--. 1 infosky itcast 0 10月 16 10:38 readme.txt
chown同时修改属主与属组*
chown [-R] username:groupname 文档路径
#例如
	#chown root:root readme.txt
	#-rw-r--r--. 1 root root 0 10月 16 10:38 readme.txt

#chown指令只由root所使用,普通用户没有该权限。

ACL访问控制

基本命令
getfacl
setfacl

自有服务

systemctl管理服务命令

显示服务
systemctl [选项]
#选项
	list-units --type service --all	:列出所有服务(包含启动的和没启动的)
	list-units --type service	:列出所有启动服务
查看启动和停止服务
systemctl [选项] 服务名
#选项
	status:检查指定服务的运行状况
	start:启动制定服务
	stop
	restart:
	reload:重新加载配置文件(并非所有服务都支持reload,通常使用restart)
服务持久化
#选项
	enable:开机自启动
	disable:不自启动

常用自有服务(ntp,firewalld,crond)

服务名含义
ntp用于同步计算机的系统时间的服务
firewalld防火墙服务
crond计划任务服务
ntp时间同步服务
firewalld防火墙
查看,开启和停止firewalld服务
systemctl [选项] firewalld
管理firewall配置
firewall-cmd [选项]
#选项
	--get-default-zone	#查看默认使用的区域
	--get-zones	#查看所有可用区域
	--list-all	#列出当前使用区域配置
	--list-all-zones	#列出所有区域的配置
	--zone=public --add-port=1024/tcp	#在public区域,允许添加tcp协议的1024端口通过的规则
	--zone=public --add-service=ftp	#在public区域,添加允许ftp服务通过的规则
	--zone=public --remove-port=1024/tcp	#在public区域,去掉允许tcp协议的1024端口通过的规则
	
	--permanent --zone=public --add-port=1024/tcp	#在public区域,使用permanent参数,永久添加允许1024端口通过的规则
	--reload	#重新加载配置
计划任务crontab
查看计划任务

计划任务就是一个文件

crontab 选项
#选项
	-l:列出指定用户的计划任务列表
	-e:编辑指定用户的计划任务列表
	-u:指定的用户名,若不指定,则表示当前用户
	-r:删除指定当前用户的计划任务列表
编辑计划任务*
* * * * * [需要执行的命令]
分 时 日 月 周
符号意思
*取值范围中的每一个数字
-做连续区间表达式时,要想表示1~7,则可写成: 1-7
/表示每多少个,例如想每10分钟一次,则*/10
,表示多个取值,比如想在1点,2点,6点执行,则1,2,6

Linux软件包

命令
rpm [选项] | grep 软件名称
#查询软件安装情况
rpm -qa | grep 软件名称	
#选项
	-q:查询
	-a:全部

#卸载软件
rpm -e | grep 软件名称

#安装软件
rpm -ivh 软件包完整路径名称
#选项
	-i:install
	-v:显示进度条
	-h:表示以“#”的形式显示进度条
	
#更新某个软件
rpm -Uvh 软件包名称

#查看文件所属的包名
rpm -qf 需要查询的文件路径
	-f:查询文件所属包

YUM

yum命令
#查询
yum search 关键词

#安装
yum [-y] install 关键词

#卸载
yun [-y] remove 关键词

#更新
yum [-y] update [包的关键词]
#注意 包的关键词如果不写,则表示更新整个系统

LAMP

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值