扁担学linux

扁担学习Linux

Linux的目录结构

/ : linux的根目录
/bin : 存放系统命令的目录,所有用户均可执行
/sbin : 保存和系统环境设置相关的命令,只有超级用户可以使用,普通用户可以查看
/opt : 空文件,第三方安装目录
/etc : 存放
/home : 用户缺省宿主目录 即 普通用户家目录
/root : 存放root用户的相关文件,root用户的家目录,宿主目录,烧鸡用户
/tmp : 存放临时文件
/lib : 存放系统程序运行所需的共享库
/usr : 系统软件共享资源目录 存放所有命令、库、手册页
/var : 动态数据保存位置 包含经常发生变动的文件、如邮件、日志文件、计划任务等
/sys : 虚拟文件系统,数据保存在内存中,主要保存与内存相关信息
/lost :数据备份目录
/srv : 服务数据目录
/mnt : 挂载目录 零食文件系统的安装点,默认挂载光驱和软驱的目录
/misc : 挂载目录 挂载NFS服务

常用的基本命令

cd
# 跳转文件
cd 文件路径
./ 当前文件
../ 当前文件的上级目录
- 上一次操作的目录
~ 家目录
/ 根目录
pwd
# 显示当前操作的文件的目录
pwd
ls
# 查看目录下的内容
ls -[] 文件或目录
-a 显示所有的文明,包括隐藏文件 特殊目录 ...   . 代表 当前目录 .. 代表上级目录
-l 显示目录或文件的详细信息 简写 ll
-R 递归显示 目录下的所有目录或文件
-r 逆序排序
-t 按修改时间降序排序
mkdir
# 创建文件夹  
mkdir [-p] 文件路径
-p 代表可以创建多级目录
mkdir 文件夹1 文件夹2 创建多个平级目录 文件目录名之间 用 空格 分开
touch
# 创建文件 或 更新已经存在的文件
touch 文件名1 (文件名2) 可同时创建多个文件
echo
# 写内容
echo 'hello' 打印在控制台上
echo 'hello' > 文件名 覆盖写
echo 'hello' >> 文件名 追加写

>>> 重定向 将左边命令的标准(错误)输出,重定向到右边的指定的文件
ln
# 创建链接命令
ln -s 源文件 目标地  --> 软连接
ln 源文件 目标地 --> 硬连接
源文件 需要写成绝对路径
# 软链接
	ln -s
	当源文件被删除时,软连接会报错
	当源文件修改时,软连接也会被修改
# 硬链接
	ln
	当源文件删除的时候,不会影响到硬链接
	当源文件修改时,硬链接也会被修改
rm
# 删除文件或文件夹
rm [-rf] 文件路径
-r 删除目录 同时删除该目录下的所有文件
-f 强制删除文件或目录 即使被删除属性设置为 只读 也会被删除 无需确认
cp
# copy 复制文件
cp [-rp] 源路径 目标路径
-r 递归处理
-p 保留文件属性
在cp 目标路径有重名的 会提示是否覆盖
	 可以在目标路径后更改文件名
mv
# move 移动 剪切文件或文件夹
mv 源文件路径 目标文件路径
可重命名
cat
# 查看文件全内容
cat [] 文件名
-A 显示所有内容 包括隐藏字符
-n 显示行号
more
# 分页显示文件内容
more 文件名
空格或f 显示下一页
enter 显示下一行
q或Q退出
# 缺陷 只能 向下翻页 不能 向上翻页
less
# 显示文件内容 less 在查看之前不会加载整个文件
less [] 文件
q 退出
[] :
	-N 显示行号 写在参数中
	d 后翻半页
	b 后翻一页
	u 向前翻半页
	y 向前滚动一行
	空格键 滚动一页
	回车键 滚动一行
	gg 文件首页
	G 文件尾
	/关键字 (n查找下一个)
	[pageup] 向上一页
	[pagedown] 向下一页
head
# 查看文件的前 n 行 默认10行
head -n (行数) 文件名
eg: head -12 文件名
	head -n 12 文件名
tail
# 查看文件的后几行 从文件末行开始计算
tail -n (行数) 文件名

eg:有一份 1000行的文件,只要 500~ 600 行的数据
tail -n 500 文件名 | head -n 100
find
# 根据文件名、路径、文件类型、修改时间等信息查找文件
# 若没有指定路径 则默认从当前目录下开始查找
find 搜索路径 匹配条件
# 匹配条件
	# -name 按照文件名查找
		eg: find /etc -name 'java'
		# 字符匹配
			* 匹配所有 0或多
			? 匹配单个字符
			模糊匹配的条件,建议使用单引号或双引号括起来。如果*被转义,可使用 单双引号括住查询条件
	# -size 按照文件大小查找
        以block为单位 一个block = 512b 1k = 2block
        +大于 -小于 不写等于
        eg: find /etc -size -2048
   # -type 按照文件类型查找
   		f二进制文件 l软连接文件 d目录 c字符文件
   		eg: find /etc -type f
   # find 查找原则 :占用最少的系统资源,即查询范围最小,查询条件最精准
grep
# 根据指定内容 到文件中匹配行 将所有满足要求的行数据全部取出
grep [] 'str' 文件名
-c 输出匹配的行的次数,不是出现的次数,是以行为单位
-i 忽略大小写
-n 显示匹配的行级行号
-v 显示不包含str的所有行
gzip
# 压缩或解压缩文件
gzip 文件 -d 将压缩文件解压

解压使用 gzip -d 或者 gunzip
tar
# 压缩换解压缩文件
tar -zcvf 压缩后的文件路径/文件名.tar/gz 源文件  # 压缩命令
tar -zxvf 压缩包 解压后的文件路径/文件名 # 解压缩命令

-z 以gzip命令压缩/解压缩
-c 建立一个压缩文件的参数指令(create) 后缀是.tar
-x 解开一个压缩文件的参数指令(extract)
-j 以bzip2命令压缩/解压缩
-f 指定文件名
chmod
# 修改文件的权限
chmod 777 文件名

文件的权限有 
r 可读 4
w 可写 2
x 可执行 1
# 权限可用 则为1 权限不可 用则为 0
    rwx
eg:111 可读可写可执行 777
vi编辑
对文本进行编辑
vi 文件路径/文件名
# 命令模式
	/ str 查找str 按n往下查找
	:%s/old/new/g   %s 全文查找 将old 替换为 new
	:n1,n2s/old/new/g 在 n1行到n2行之间查找 old 替换为 new
	yy 复制光标当前行
	dd 剪切光标当前行
	nyy 复制光表当前行+向下n-1 行
	ndd 剪切光标当前行+向下n-1 行
	p  在光标所在行的下一行粘贴
	:q! 强制退出
	:wq! 保存并强制退出
	:set nu 显示行号
	:set nonu 不显示行号
	n G 使光标跳转到 第n行
	G 使光标跳转到最后一行
	u 撤销操作
	gg 跳转到首行

# 进入编辑模式
	i 光标所在前插入
	I 行首插入
	a 光标的后面
	A 光标所在行末
	o 下一行
	O 上一行
pstree
# 查看进程树
pstree
-p 显示进程pid
-u 显示进程的所属用户
# 若不能使用 则
yum -y install psmisc
netstat
# 查看 tcp 进程
netstat -nltp | grep 端口号/进程名
查看所有的tcp进程 | 过滤出想要的 进程
kill
# 杀死进程
kill -9 进程号
-9 强制杀死
修改主机名
vi /etc/hostname

系统命令

systemctl start mysqld # 启动mysql服务 防火墙 firewalld 网络服务 network

systemctl restart mysqld # 重启mysql服务

systemctl enable mysqld # 设置mysql服务开机自启动

systemctl stop mysqld # 停止mysql服务

systemctl disable mysql # 终止mysql服务

定时任务命令

# crontab -e 
文件格式 
	minute     hour     day_of_month    month_of_year    day_of_week    commands
	分          时          天                月             周几           要执行的命令
	0-59       0-23         1-31             1-12           0-6         
	*           *           *                *                *
必须全部都写,不知道具体的需要用 * 表示
每个时间段都可以用多个值 ,多个值 不连续要用 ,  连续需要用 -连接
命令应该给出绝对路径
用户必须具备运行所对应的命令或程序的权限

crontab -e -r (移除定时任务)

进程类命令

ps
ps -
	a:显示所有用户进程
	u:显示用户名和启动时间
	x:显示没有终端控制的进程
	e:显示所有进程,包括没有终端控制的进程
	l:长格式显示
eg:
	ps aux # 查看系统中所有进程 unix
	ps -le # 查看系统中所有进程 linux标准命令格式
# nohup  sh back.sh 1>/dev/null 2>&1 &
nohup  表示不要挂起

1> /dve/null 2>&1 &

1> /dev/null 表示程序的标准输出重定向到 /dev/null 文件
2>&1  表示将程序的标准错误输出 重定向到 标准输出通道
& 表示将程序放在后台执行
jobs
jobs 查看当前挂在后台的程序

fg job_id  将指定的job 放回前台继续运行

远程操控命令

scp
scp -r 本地文件 要复制到那个机器/目录
ssh 主机名
# 切换 主机
ssh note01

配置网络

网络配置:
查看vmnet8 的net设置(管理员权限)
	虚拟机配置
		1.打开虚拟机网卡
            cd /etc/sysconfig/network-scripts
            vi ifcfg-ens33
		2.修改配置
            BOOTPROTO=dhcp  修改为 BOOTPROTO=static
            ONBOOT=NO 修改为 ONBOOT=yes
            再去在文件的下方另起一行  添加以下内容
            IPADDR=192.168.71.101
            NETMASK=255.255.255.0
            GATEWAY=192.168.71.2
            DNS1=192.168.71.2
            强制保存并退出
            :wq!
		3. 重启虚拟机
            reboot 或者
            systemctl restart network
		4. 测试是否可以连接外网
            ping www.baidu.com
		5.测试本机和虚拟机是否可以相互ping 通
查看虚拟交换机的net设置
配置本机的vmnet8的Ipv4

配置jdk

# opt 目录可以用来放第三方软件
1、创建 /opt/apps 用来存放安装的第三方软件
2、将 jdk 压缩包加载到 /opt/apps目录下
3、将 jdk 压缩包解压到当前文件夹下
	tar -zxvf jdk-8u212-linux-x64.tar.gz jdk1.8
4、配置jdk的环境变量
	4.1 vi /ect/profile
			添加如下内容:
				export JAVA_HOME=/opt/apps/jdk1.8
				export PATH=$PATH:$JAVA_HOME/bin
	4.2 :wq! 强制保存并退出
	4.3 重新加载 /etc/profile
		source /etc/profile
5、 测试jdk是否配置成功
	查看jdk版本(未安装成功则不会显示)
	java -version 

yum

# 更换 yum 的镜像源
	# 1.通过yum源安装wget工具包  wget类似于浏览器
	yum -y install wget
	# 备份原文件
	cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak
	# 下载新文件
	wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
	# 更新镜像源
	yum -y update
	
	# 如果下载不成功,执行以下命令
    yum clean all
    yum makecache
    yum -y update
    # 重启
    reboot
    
# 从镜像源中下载
	yum -y install  下载的名
国内的yum源

阿里yum源:http://mirrors.aliyun.com/repo/

网易yum源: http://mirrors.163.com/.help/

搜狐yum源:http://mirrors.sohu.com/
基本使用
# 查询所有可用软件包列表
	yum list
	yum search 关键字 
	yum info 关键字
# 安装
	yum -y install 包名
	#-y 自动回答yes

# 升级
	yum -y update yum
	# 不加包名,升级所有,包括内核 ,必须加包名升级单个 ,慎用所有

# 检查升级
	yum check-update
# 卸载
	yum -y remove 包名
# 帮助
	yum --helpman yum
# 清楚缓存和旧包
	yum clean all
# 查看当前可用的yum源
	yum  repolist           
# 列出一个包所有依赖的包
	yum deplist httpd      

安装mysql8.0

csdn 

设置免密登录

1. 在第一台机器上生成密钥对
	ssh-keygen # 三次回车
2. 将生成好的公钥注册给目标机器
	ssh-copy-id note01
	ssh-copy-id note02
	ssh-copy-id note03
3.在其他机器上重复执行以上操作

设置域名和主机映射

# 在本机上修改 hosts 文件
将虚拟机的 ip 和 机名 添加
eg:
	192.168.71.101 note01
	192.168.71.102 note02
	192.168.71.103 note03
# 在虚拟机上修改  /etc/hosts
添加集群中所有机器的(包括自己本身)
ip 机名
eg:
	192.168.71.101 note01
	192.168.71.102 note02
	192.168.71.103 note03
yum  repolist           

列出一个包所有依赖的包

yum deplist httpd      



### 安装mysql8.0

```shell
csdn 

设置免密登录

1. 在第一台机器上生成密钥对
	ssh-keygen # 三次回车
2. 将生成好的公钥注册给目标机器
	ssh-copy-id note01
	ssh-copy-id note02
	ssh-copy-id note03
3.在其他机器上重复执行以上操作

设置域名和主机映射

# 在本机上修改 hosts 文件
将虚拟机的 ip 和 机名 添加
eg:
	192.168.71.101 note01
	192.168.71.102 note02
	192.168.71.103 note03
# 在虚拟机上修改  /etc/hosts
添加集群中所有机器的(包括自己本身)
ip 机名
eg:
	192.168.71.101 note01
	192.168.71.102 note02
	192.168.71.103 note03
  • 9
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值