linux基础总结

linux11 复习

linux文件

1.创建
	touch [创建的文件路径]
    touch 1.txt
    #创建test1  test2  ....test100
    [root@localhost ~]# touch test{1..100}
    
2.删除
	rm [选项(非必须)] [要删除的文件路径]
    选项:
        -i : 删除前提示
        -r : 递归删除       可以删除文件夹
        -f : 忽略不存在的文件和参数,从不提示 强制删除 -i就没有作用了    忽略是否删除此文件夹
    #删除/root目录下以abc1--abc10的文件
	[root@localhost ~]# rm -f ./abc{?,10}
    	
    mv [选项(可加可不加)] [原来的文件路径] [现在的文件路径]
    	选项:
			-i : 覆盖前提示 这个在alias里面起了别名默认有提示
3.查看
	
	cat :读取文件
    	cat[读取的文件路径]绝对路径,相对路径都行
4.修改
	echo :输出一段字符
		echo[选项(非必须)] [输出内容][重定向字符(非必须)][重定向文件(非必须)]
            -n显示行数
            >   覆盖重定向,删除之前的,从新加内容
            >>	追加重定向,在之前内容的结尾 加内容,原有的不变
            重定向	: 把某个内容,通过某种方式输入到指定文件中,即为重定向

	vi/vim的三种模式
		#命令模式:
		
			i	: 进入编辑模式(在光标之前输入)闪烁的地方前面
			a	: 进入编辑模式(在光标之后输入)闪烁的地方后面
			o	: 进入编辑模式(在光标所在位置另起一行输入) 闪烁的行的下一行
			
			gg : 跳转到首行
			G  :跳转到末行
			
			dd : 删除当前行
			
			u  : 回撤(类似于windows中的crtl + z)
			ndd : 在光标所在位置向下删除n行
			yy : 复制光标所在行
			nyy : 在光标所在位置向下复制n行
			
			p(小写) : 粘贴到光标的下一行
			 
			P(大写) : 粘贴到光标的上一行
			
			/[搜索的内容]	: 在文本中搜索相关内容, 按n键,下一个, 按 shift + n 键,上一个
			
			ctrl + v : 可视化编辑模式
				
				shift + i : 进入可视化编辑模式
				
					1、按 shift + i 进入可视化编辑模式
					
					2、编辑一行
					
					3、按 ESC 退出编辑
					
					4、按下键(可按可不按)
			
				x : 删除选中内容
	#末行模式:
		
			w : 保存
			q : 退出编辑
			
			wq : 保存并退出
			x  : 保存并退出
			
			! : 强制退出(不保存退出,必须跟在指令后面) q! 或者wq!
		
			n  : 直接跳转到第n行   先输入:在输入n
		
			set nu : 显示行号
			set nonu : 取消行号
			
			作用开始的行号,作用结束的行号 s# [被修改的内容] # [修改的内容] #g
			1,% s#苹果#鸭梨#g
                
				% : 代表的是文本有多少行
			
			0,410 s#man#MAN#g
可视化编辑操作

	ctrl+v 进入可视化编辑    上下键选择要操作的内容
	shift+i 在某一行输入东西 
	esc 稍等 就刚才选择的内容都加上东西了
	也可以输入下(可以不输)

		

5.dd 创建文件
				if : 指定读取的文件路径
				of :  指定写入的文件名称
				bs :  定义一次写入多少内容
				count:定义写入多少次
        要求生成一个1000M的文件

        dd if=/dev/zero of=1.txt bs=10M count=100		: 结果是生成一个名为1.txt的文件,大小是1000M

文件夹

1.创建
	mkdir[选项(非必须)](被创建的目标路径)
    选项:
    	-p:递归创建文件夹
        循环创建:{}
			
        mkdir test{0..100}
2.查看文件夹内容
	ls[选项][指定的路径(不加默认查询所在路径)]
    选项:
        -l:查看文件详细信息 等同于ll
        -a:查看隐藏文件
        -h : 格式化显示文件大小(前提:必须跟-l参数一起使用)变成带k或者kb或者m的单位
        --color=auto : 显示颜色(注:不能够通过颜色判断文件属性)
    
3.切换文件夹
	cd (目标的路径)
4.复制
	cp [选项(非必须)] [原路径] [新路径]
	选项:
        -r : 递归复制目录-复制目录 自己调自己,把一个文件夹所有内容全部复制过去
        -i : 增加覆盖提示
        -p : 保留原有文件的属性   比如时间等
        -d : 当复制符号连接时,把目标文件或目录也建立为符号连接,并指向与源文件或目录连接的原始文件或目录; 原来的软连接一并复制过去
    stat : 查看文件创建时间的

路径

1.根路径
	顶级目录是根目录,也就是说一切的路径都是从根开始的
2.特殊路径
			~ :家目录
			. :当前目录
			.. :上层目录
			- :上一次待得目录
3.软连接和硬链接
    硬链接:ln[源来的路径] [新的路径]
        都指向了硬盘一块空间,相当于文件别名,ID号一致 新路径ln里面创建
        硬链接个数为0时,才会删除源文件
	软链接:ln -s[源来的路径] [新的路径]
		相当于一个文件的快捷方式

启动模式

0--6
0:关机
1:单用户模式
2:多用户模式没网络
3:多用户模式有网络
4:未使用
5:图形化界面
6:重启

文件系统

1.常用的目录作用
	/etc				: 系统配置目录
	/bin -> /usr/bin	: 保存常用命令的目录
	/root				: 超级管理员目录
	/home				: 普通管理员目录
	/usr				: 存放应用程序的目录
	/boot				: 存放系统启动文件
	/dev				: 存放硬件相关信息
	/proc				: 存放系统运行的信息
	/mnt				: 临时挂载目录
	/opt				: 相当于下载目录

	/usr/local			: 安装第三方软件的目录
	/tmp				: 临时文件
	/var				: 存放日志的目录
	/run				: 存放应用程序运行时产生的临时文件
2.磁盘分区
	2.1虚拟机加一块磁盘
    	在虚拟机直接加就好了
	2.2给磁盘分区
    	2.2.1 输入fdisk[要分区的磁盘的路径]   
        	[root@localhost ~]# fdisk /dev/sdb
        2.2.2 按n进入分区
        	Command (m for help): n
            Partition type:
               p   primary (1 primary, 0 extended, 3 free)
               e   extended	
        2.2.3 按p选择主分区
        	Select (default p): p
        2.2.4 输入分区的名字1-4
        	Partition number (1,2,4, default 1): 4
        2.2.5 选择开始的位置
        	由于我之前分过一次,不选择默认从剩下的空间开始,第一次分区要写2048 因为磁盘自己也占空间
        	First sector (209717248-314572799, default 209717248): 
        2.2.6 选择结束的位置
        	我写的是+10G
        	Last sector, +sectors or +size{K,M,G} (209717248-314572799, default 314572799): +10G
     	2.2.7 输入p查看分区列表
        	Command (m for help): p
             Device Boot      Start         End      Blocks   Id  System
            /dev/sdb3            2048   209717247   104857600   83  Linux
            /dev/sdb4       209717248   230688767    10485760   83  Linux
        2.2.8 w写入到磁盘并退出
            Command (m for help): w
			The partition table has been altered!
            
    2.3格式化磁盘
    	mkfs.xfs [文件系统分区的路径]
        mkfs.xfs /dev/sdb4
        
    2.4挂载磁盘 分两种 临时挂载和永久挂载
    	#一临时挂载
        	mount [选项(参数,非必须)] [磁盘分区的路径] [挂载的路径]
		
			mount /dev/sdb4 /mnt
        #二 永久挂载 又分为两种
        	#第一种方式:(做快照!!!)
			
				将挂载信息配置到/etc/fstab中。
/dev/mapper/centos-root     /  				xfs  			defaults     0 	0
分区的路径(sdb1,sdb2),挂载的目录的路径,挂载的分区文件系统的类型	权限	是否备份,是否检测
				
				/dev/sdb4 	/mnt   xfs  defaults 0 0
				
				注:当挂载信息出现问题时,linux主机将无法正常开机
				
				在添加完配置信息之后,一定要检测语法是否正确,记住检查
				
			
			#第二种方式:
			
				在开机自启动脚本中增加挂载命令
			
				1、添加挂载命令到:/etc/rc.local
					mount /dev/sdb4 /mnt

				2、添加可执行权限
					[root@python ~]$ chmod +x /etc/rc.d/rc.local 
					
				3、重启
					reboot

    2.5测试
    	lsblk查看信息 
        rf -h查看挂载信息
3.proc文件系统
	proc/cpuinfo 和 lscpu  相同   查看cpu信息
    cat /proc/meminfo  和free -h依赖于/proc/meminfo   查看当前系统运行状态
    /proc/loadavg    保存当前系统负载情况   单位时间内 系统进程占用cpu的相对时间
	[root@localhost ~]# w                       后面这块也是负载
    15:53:32 up 6:06,  2 user,  load average: 0.05, 0.03, 0.05
    USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
    root     pts/1    192.168.15.1     13:21    4.00s  0.17s  0.01s w
    ---------------------------------------------------------------
	15:53:32--当前系统时间  
	up--状态(up启动,down关闭) 
	6:06--启动时间
	2 user 有几个一个窗口(虚拟机的也算一个)
	load average:0.05, 		0.03, 		0.05--负载
				一分钟  	 十分钟       	十五分钟
				5%            3%           5%


4.dev文件系统
	存放硬件设备的地方  比如字体,磁盘

yum仓库搭建

下载软件主要需要有epel.repo源和Centos.base.repo源,如果没有可以通过wget去华为镜像源下载wget -O /etc/yum.repos.d/CentOS-Base.repo https://repo.huaweicloud.com/repository/conf/CentOS-8-reg.repo
如果wget也没用 可以用curl -o /etc/yum.repos.d/CentOS-Base.repo https://repo.huaweicloud.com/repository/conf/CentOS-8-reg.repo
    上面是下载CentOS-Base.repo  还有一个epel.repo
        [root@python yum.repos.d]$ vim epel.repo 打开这个文件
        下面是添加的
        [epel]
        name="epel源"
        baseurl=https://repo.huaweicloud.com/epel/7/x86_64/
        gpgcheck=0
-----------------------------------------------------------------------------------
1.创建目录,充当仓库 #房子
	mkdir /myyum
2.在仓库创建Packages目录,用来存放软件 #家具
	mkdir /myyum/Packages
3.下载测试软件到Packages #装家具
	w
基础为前三步
4.下载访问软件Nginx #装电话

5.下载仓库初始化软件,yum-utils 和createrepo #电话卡,依赖关系
	
6.createrepo 仓库名称  初始化仓库
  会在仓库目录中自动创建 repodata目录,主要存放yum依赖关系的软件
7.修改nginx配置文件,使其代理yum仓库
    #修改 /etc/nginx/nginx.conf 里面的
    root 改成自己仓库路径;
    #实现目录索引 加到server里
    autoindex on;
    autoindex_exact_size off;
    autoindex_localtime on;
    #systemctl restart nginx 重启nginx
8.编辑yum源
    留一个新建的源 其他.repo移动到里面新文件夹
    新建的源编写
    [local]        不是local也行
    name=德玛西亚		源的简介
    baseurl=			指定的地址
    gpgcheck=0			默认不检测
	还可以
    	[root@localhost ~]# yum-config-manager --add-repo http://192.168.15.222/
9.更新源
    yum clean all
    yum makecache
10.测试
    yum.remove zip
    yum.install zip

安装软件的三种方式

rpm
		
    rpm ivh : 安装
    rpm -e  : 卸载
    rpm -Uvh: 更新
    rpm -qa : 查看当前系统安装过的安装包
    rpm -qc : 查看指定软件的配置文件
		
yum
	安装
				
     	yum install [软件包]
			
	卸载
			
		yum remove [软件包]
			
	更新
			
		yum update [软件包]
		
		
	-y : 免交互,不让他提示
		
二进制编译
	先进入他这个解压后的文件里面
1、设置系统参数
			
    [root@localhost ~]# yum install pcre pcre-devel zlib zlib-devel -y
    [root@localhost nginx-1.20.1]# ./configure 

			
2、编译
			
    [root@localhost nginx-1.20.1]# make 

			
3、安装
			
    [root@localhost nginx-1.20.1]# make install 

下载软件

wget : 下载软件
		
    -O : 指定下载路径
		
curl :读取内容
			
    -o : 指定保存路径
	

rz   sz	: 通过命令行的方式进行上传与下载(必须依赖于xshell),yum install lrzsz 
lrzsz一次只能传输一个文件,传输大文件的时候,容易掉线
		
    rz : 上传到linux系统里面 传到当前所在文件夹
			
    sz :下载到windows电脑里,需要指定文件比如  sz 1.txt

用户和用户组

1.涉及的四个文件
#/etc/passwd         保存用户信息
	root	:x:			 0:		  0:       root:     /root:		/bin/bash
	用户名   密码占位符	   用户uid   用户组id  用户简介   用户家目录  该用户登录默认解析器
								  随便改
#/etc/shadow        保存用户的密码
    test004:  !!:  		18893:0:99999:7:::
    用户名     密码占位符
			  !!没有密码
#/etc/group         保存用户组文件
	test:   x:   		995:
	用户名	 密码占位符 	  组id

#/etc/gshadow      保存组密码文件
	test001:	!::
	用户名		  密码占位符(!空密码)

2.手动创建一个用户
	2.1首先修改gshadow 组密码
		test666:!::
	2.2修改group 增加一个用户组, 组文件
		test666:x:123:
	2.3修改passwd 用户文件  
		test666:x:124:123:手动创建用户:/home/test666:/bin/bash
	2.4修改shadow 密码文件-			   	
test666:$6$8cg6F/NW$sDTlotFbwR3QuSIsDl/ydTwZ5VC9zzn79gsNzploJg9WgtO0pZh3UycRzgFd4RsfD9dXsryOxPSByGKcoOvRk.:18888:0:99999:7:::
	2.5在home下创建目录
		mkdir test666
	2.6把etc/skel的隐藏文件都拿过来
		mv /etc/skel/.* test666/
	2.7修改用户即用户组chown test666.test666 test666
		修改用户和用户组chown test666.test666 test666
	2.8.修改权限chmod 700 test666
		 chmod 700 test666
	2.9.test下所有文件权限设置为chown test666.test666 ./.*
		chown test666.test666 ./.*
	2.10.测试ssh test666@192.168.15.222
		ssh test666@192.168.15.222
		Connecting to 192.168.15.222:22...
        Connection established.
        To escape to local shell, press 'Ctrl+Alt+]'.
	
3.权限(chmod)等问题
	
			数字权限
			
				可读	r	4
				可写	w	2
				可执行	x 	1
			
			字母权限
				可读	r
				可写	w
				可执行	x
				
				
			权限的归属
			
				属主	:u
				属组	:g
				其他人	:o
			
			权限的加减法,需要配合字母权限
				
				+ :增加权限
				
				- :去掉权限
				
			
			chmod的参数
			
				-R  : 递归
4.设置用户及用户组
	chown [选项][用户][用户组] 路径
        选项:
        -R : 递归,这个路径下的都设置这个用户 和用户组
        
	chown test6.test6 test6
    在test6这个路径下,所有文件都设置用户为test6,用户组为test6

系统安全优化

selinux
	路径:/etc/selinux/config
		
	永久禁用:
		sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config 
		也可以进路径下修改SELINUX=dissabled
	临时禁用:
		setenforce 0
				
		0 : 临时禁用
		1 :临时启用
	 查看selinux状态:
    	 [root@localhost ~]# getenforce 
一般永久禁用和临时一起用,因为,如果永久禁用了,
那是禁止启动,重启才可以,目前可能已经启用,所以先临时禁用一下
filewalld 防火墙
systemctl disable --now firewalld
			
		disable : 禁止开启
		--now   : 立即执行
				
	systemctl enable --now firewalld
			
		enable : 开机自启动
	
        systemctl start firewalld     # 开启
        systemctl stop firewalld      # 关闭
        systemctl status firewalld    # 查看防火墙状态

防止系统乱码优化

		en_US.UTF-8	:
			en :英文
			US :美式
			UTF-8 : 指定的编码
		
		zh_CN.UTF-8
			zh : 中文
			CN :简体中文
			
		1.LANG=zh_CN.UTF-8 临时修改
		
		2.持久化保存字符编码:/etc/locale.conf
		
		3.通过命令的方式修改字符集编码,需要重启或者断开连接重新连接
		[root@localhost ~]# localectl set-locale LANG=en_US.utf8
					

查看当前登录用户

whoami 查看当前登录用户

设置密码

	passwd test

	交互模式echo 123456 | passwd --stdin test
posted @ 2021-09-27 19:28  迪迦张  阅读(31)  评论(0编辑  收藏  举报