Linux的学习记录

开机会启动许多程序。

  • Windows叫做"服务"(service)。
  • 在Linux就叫做"守护进程"(daemon)。
sync # 将数据由内存同步到硬盘中。
shutdown # 关机指令

shutdown -r#重启
shutdown -h#延时关机

目录结构

[root@iZ2zebcqegh8n2n17381wpZ ~]# ls /
bin  		#bin是Binary的缩写, 这个目录存放着最经常使用的命令
dev  		#dev是Device(设备)的缩写, 存放的是Linux的外部设备
home  		#用户的主目录,在Linux中,每个用户都有一个自己的目录   
media  		#linux系统会自动识别一些设备,例如U盘、光驱等等
opt   		#这是给主机额外安装软件所摆放的目录
root  		#该目录为系统管理员,也称作超级权限者的用户主目录
sbin  		#系统管理员使用的系统管理程序
sys  		#这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统sysfs 
usr  		#用户的很多应用程序和文件都放在这个目录下
boot  		#这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件
etc   		#这个目录用来存放所有的系统管理所需要的配置文件和子目录
lib   		#这个目录里存放着系统最基本的动态连接共享库
lost+found  #这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件 
mnt    		#系统提供该目录是为了让用户临时挂载别的文件系统的
proc  		#这个目录是一个虚拟的目录,它是系统内存的映射
run   		#是一个临时文件系统,存储系统启动以来的信息。
srv   		#该目录存放一些服务启动之后需要提取的数据
tmp  		#这个目录是用来存放一些临时文件的。用完即丢的文件,可以放在这个目录下,安装包
var  		#这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志				文件。

常用的基本命令

1.目录管理

  • 绝对路径:从根目录开始到指定路径

  • 相对路径:从当前目录开始到指定路径

  1. ls 命令
ls		#列出当前路径的文件
ls -a	#所有文件,包括隐藏文件
ls -l	#显示文件属性,不包括隐藏文件
ls -al	#参数可组合使用
  1. cd 命令
cd /usr/bin/ 	#绝对路径跳转
cd bin/ 		#相对路径跳转
cd ..     		#返回上一层路径
  1. pwd 命令
pwd  #显示当前路径
  1. mkdir 创建目录
  2. rmdir 删除目录:只能删除空的目录,-p 参数递归删除
  3. cp 复制命令:cp 【文件】【目录路径】 —如果文件重复,就选则覆盖(y)或者放弃(n)
  4. rm 移除命令
rm -f		#强制删除
rm -r		#递归删除目录
rm -i		#互动删除,询问是否删除
=================================
rm -rf /*	#删库跑路
=================================
  1. mv 移动命令或重命名文件
mv 文件 目录
mv 文件名 文件新名字
mv -f	#强制移动
mv -u	#替换更新

2. 基本属性

Linux系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限。为了保护系统的安全性,Linux系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定。

ls -l  或  ll
-   rwx   r-x   r-x 1 root root 964600 Aug 8 2019 bash
  1. 第一个字符表示文件类型

    • 【d】为目录
    • 【-】为文件
    • 【l】连接文档
    • 【b】装置文件里面的可供储存的接口设备
    • 【c】装置文件里面的串行端口设备
  2. 第二三四个字符为属主权限【文件所有者】

    • 【r】可读
    • 【w】可写
    • 【x】可执行
    • 【-】不可操作
  3. 第五六七个字符为属组权限【所有者的同组用户】

  4. 第八九十个字符为【其他用户】

chgrp [-R] 属组名 文件名			#更改文件的属组属性,-R为递归操作
=============================================================
chown [–R] 属主名 文件名			#更改文件属主属性
chown [-R] 属主名:属组名 文件名	  #同时更改
=============================================================
chmod #更改文件9个属性
r:4   w:2   x:1
rwx  7
rw-  6
-------------------------------
chmod 777 文件

3. 文件内容查看

  1. cat:第一行开始显示文件内容
  2. tac:最后一行开始显示
  3. nl:显示的时候,顺道输出行号
  4. more:一页一页的显示文件内容,带余下内容的【空格代表翻页,enter 代表向下看一行】
  5. less:一页一页的显示文件内容【空格下翻页,pageDown,pageUp键代表翻动页面!】【退出 q 命令】【查找字符串 /要查询的字符向下查询,向上查询使用?要查询的字符串,n 继续搜寻下一个,N 上寻找!】
  6. head:head 只看头几行 通过 -n 参数来控制显示几行
  7. tail:只看尾巴几行 -n 参数 要查看几行
  8. touch:创建文件
  9. echo:输入字符串,也可以输入到文件中
  10. ln:创建一个硬链接【文件修改,硬链接没有修改,相当于备份】
  11. ln -s:创建一个软链接【与文件一致,相当于快捷方式】

vim

  1. 命令模式:

    • 【i】切换到输入模式,以输入字符
    • 【x】删除当前光标所在处的字符
    • 【:】切换到底线命令模式
  2. 输入模式:

    • 【字符与SHIFT】输入字符
    • 【Enter】换行
    • 【Backsace】删除光标前一个字符
    • 【Delete】删除光标后一个字符
    • 【方向键】在文本中移动光标
    • 【Home/End】移动光标到行首/行尾
    • 【PageDown/Up】上/下翻页
    • 【Insert】切换光标为输入/替换模式,光标将变成竖线/下划线
    • 【Esc】退出输入模式,切换到命令模式
  3. 底线命令:

    • 【w】保存文件
    • 【q】退出程序
  4. 其他按键

    • 【+/-】光标移动到非空格符的下一行/上一行
    • 【数字 < space>】横向移动光标
    • 【数字< Enter>】向下移动光标
    • 【0/Home】移动到这一行的最前面字符处
    • 【$/End】移动到这一行的最后面字符处
    • 【G】移动到这个档案的最后一行
    • 【nG】n 为数字。移动到这个档案的第 n 行
    • 【gg】移动到这个档案的第一行,相当于 1G 啊

    • 【/word】向光标之下寻找一个名称为 word 的字符串
    • 【?word】向光标之上寻找一个字符串名称为 word 的字符串
    • 【n】这个 n 是英文按键。代表重复前一个搜寻的动作
    • 【N】这个 N 是英文按键。与 n 刚好相反,为『反向』进行前一个搜寻动作

    • 【u】复原前一个动作

    • 【set nu】显示行号,设定之后,会在每一行的前缀显示该行的行号
    • 【set nonu】与 set nu 相反,为取消行号

4. 账户管理

  1. 用户管理
1.useradd 参数  用户名
-m  # 自动创建这个用户的主目录 /home/wdd
-G  # 给用户分配组 		
2. userdel -r wdd #	删除用户的时候将他的目录页一并删掉!
3. usermod -d	  #修改用户
4. 【root----username】su sername  	  #切换用户
   【username--- root】sudo su
5.【root】 passwd username:#修改密码
		  new password:
		  re password:
  【username】passwd
			(current) UNIX password: 
			new password: # 密码不能太过于简单!
			re password:
6. 	passwd -l wdd # 锁定之后这个用户就不能登录了!
	passwd -d wdd # 没有密码也不能登录!
  1. 用户组管理
1. groupadd wdd -g 345		#创建组wdd,id为345,没指定自加一
2. groupdel wdd 			#删除组
3. groupmod -g 666 -n wer wdd#修改wdd组的名字和id
4. 	# 登录当前用户 
	$ newgrp root 	#切换用户组
5. /etc/passwd
	#用户名:口令(登录密码,我们不可见):用户标识号:组标识号:注释性描述:主目录:登录Shell=
	#这个文件中的每一行都代表这一个用户,我们可以从这里看出这个用户的主目录在那里,可以看到属于哪一个组!
6. /etc/shadow #真正的加密后的用户口令字
7. /etc/group #	用户组的所有信息

5. 磁盘管理

1. df -h		#列出文件系统整体的磁盘使用量
2. du -a	
   du -sm /*	#检查磁盘空间使用量
3. mount /dev/wdd /mnt/wdd		#外部设备/dev的wdd挂载到/mnt的wdd
4. umount -f [挂载位置] 		  #强制卸载

6. 进程管理

Linux中一切皆文件

  • 文件:读写执行------------查看,创建,删除,移动,复制,编辑
  • 权限---------------用户、用户组
  • 系统--------------磁盘,进程
  1. 每一个程序都是有自己的一个进程,每一个进程都有一个id号
  2. 每一个进程都有一个父进程
  3. 进程有两种存在方式:前台运行和后台运行
  4. 服务都是后台运行的,基本的程序都是前台运行的
1. ps -aux|grep mysql #查看所有的进程
	#【-a】 显示当前终端运行的所有的进程信息(当前的进程一个)
	#【-u】 以用户的信息显示进程
	#【-x】 显示后台运行进程的参数!
	#【|】 管道符
	#【grep】查找文件中符合条件的字符串
2. ps -ef|grep mysql #查看父进程
3. pstree -pu	#显示进程树
	#【-p】父id
	#【-u】用户组
4. kill -9 进程的id  #结束进程 
5. nohup  #后台执行程序

安装环境

  • rpm
  • 解压缩
  • yum在线安装

1. JDK

#检测当前系统是否存在java环境
java -version
-------------------------------
#检测JDK版本信息
rpm -qa|grep jdk 
-------------------------------
#卸载JDK
rpm -e --nodeps jdk_
-------------------------------
#安装jdk
rpm -ivh rpm包
-------------------------------
#配置环境变量
vim /etc/profile
JAVA_HOME=/usr/java/jdk1.8.0_221-amd64
CLASSPATH=%JAVA_HOME%/lib;%JAVA_HOME%/jre/lib
PATH=$PATH:$JAVA_HOME
export PATH CLASSPATH JAVA_HOME
-------------------------------
#让这个配置文件生效
source /etc/profile
# 开启防火墙端口
firewall-cmd --zone=public --add-port=8080/tcp --permanent
#重启防火墙
systemctl restart firewalld.service
#查看端口开启
firewall-cmd --list-ports

2. Tomcat

#解压文件
tar -zxvf apache-tomcat-9.0.22.tar.gz
#运行测试
./startup.sh
./shotdown.sh
# 查看firewall服务状态
systemctl status firewalld
# 开启
service firewalld start
# 重启
service firewalld restart
# 关闭
service firewalld stop
# 查看防火墙规则
firewall-cmd --list-all   # 查看全部信息
firewall-cmd --list-ports  # 只看端口信息
# 开启端口
firewall-cmd --zone=public --add-port=8080/tcp --permanent
	#【--zone】作用域
	#【--add-port=80/tcp】添加端口,格式为:端口/通讯协议
	#【--permanent】永久生效,没有此参数重启后失效
# 重启
systemctl restart firewalld.service

3. Docker

#检测ContOS版本
cat /etc/redhat-release
#安装环境
yum -y install gcc 
yum -y install gcc-c++ 
	#【-y】所有的提示都为 y
#安装Docker
yum -y docker

4. Rides

1. sudo yum install redis#安装Redis
2. cp /etc/redis.conf /usr/bin/myconf #将配置文件复制到自己配置文件地方
3. vim redis.conf 	#编辑配置文件
	bind 0.0.0.0	#允许远程连接
	daemonize yes	#默认后台运行
4. redis-server myconf/redis.conf#以自己的配置文件启动
5.	redis-cli 	#redis 客户端
	shutdown	#关闭redis进程
	exit	#退出cli
6. ps -ef|grep redis	#查看关于redis的进程
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值