初识学习Linux(笔记)

一、Linux文件与目录结构

1、Linux文件
Linux中一切皆文件
2、Linux目录结构
切换根目录: cd /
在这里插入图片描述
在这里插入图片描述/bin : 存放直接执行的常用命令
/sbin:存放超级管理员能够使用的系统管理工具
/lib: 当前的库目录,主要存放系统和应用程序所需要的共享库文件
/usr: 存放应用程序和用户相关的数据文件
/dev: 设备目录
/etc:系统管理的配置文件
/home: 普通用户的主目录
/opt: 存放第三方软件包
/media: 识别可移动媒体设备
/srv: 系统服务相关的东西
/sys: 系统硬件相关的文件
/tmp:临时目录
/var:经常修改的东西

二、VI/VIM编辑器

1 vi/vim是什么?
VI是Unix操作系统和类Unix操作系统中最通用的文本编辑器
VIM编辑器是从VI发展出来的一个性能更强大的文本编辑器。可以主动地以字体颜色辨别语法的正确性,方便程序设计。VIM与VI编辑器完全兼容
在这里插入图片描述

2.切换中英文打字
应用程序->系统工具->设置->region & language -> 点击加号->添加汉语->汉语(Intelligent Pinyin)
win + 空格
3.进入文件夹
vim/vi 文件夹名字
4.模式转换
在这里插入图片描述
5.一般模式:
u 回退操作
yy 复制光标当前一行
3yy 复制3行
p 粘贴一行
5p 粘贴五行
dd 删除当前行
3dd 删除三行
y$ 复制当前光标到当前行的末尾
y^ 复制当前光标到当前行的开头
yw 复制当前单词
dw 删除当前单词
Shift r 替换当前光标的字母
Shift 6 移动到行头
Shift 4 移动到行位
w 移动到下一个单词
e 移动到当前词尾
b 移动到当前词头
gg 移动到最顶端
shift h 移动当前页头
G/L 移动到页尾
数字 + G 跳转到第数字行
:set nu 显示每个行是第几行
:set nonu 取消行号
6.编辑模式:
i 、a、o进入编辑模式
:w 保存编辑后内容
i 当前光标前
a 当前光标后
o 当前光标行的下一行并且是新的空白格
I 光标所在行最前
A 光标所在行最后
O当前光标行的上一行
ESC 退出编辑模式
7.命令模式
:或者 / 进入命令模式
:w 保存
:q 退出
:wq 保存并退出
:q! 不保存强制退出
/要查找的词 n查找下一个,N往上查找
:s/old/new 替换当前行匹配到的第一个old为new
:s/old/g 替换当前行所有old为new
:%s/old/new 替换文档中每一行匹配到的第一个old为new
:%s/old/g 替换文档所有old为new

三、网络配置和系统管理操作

1.查看网络IP
查看ip ifconfig
2.VMware提供了三种网络连接模式
桥接模式:虚拟机直接连接外部物理网络的模式,上机起到了网桥的作用。这种模式下,虚拟机可以直接访问外部网络,并且对外部网络是可见的。
NAT模式:虚拟机和主机构建一个专用网络,并通过虚拟网络地址转换(NAT)设备对IP进行转换。虚拟机通过共享主机 IP可以访问外部网络,但外部网络无法访问虚拟机
仅主机模式:虚拟机只与主机共享一个专用网络,与外部网络无法通信。
3.修改静态IP
vim /etc/sysconfig/network-scripts/ifcfg-ens33
将 BOOTPROTO = “dhcp” 修改成 BOOTPROTO = “static”
最下面添加:
#IP网址
IPADDR=192.168.111.100
#网关
GATEWAY=192.168.111.2
#域名解析器
DNS1=192.168.111.2
重启网络
service network restart
在这里插入图片描述4.修改主机名称
hostname (功能描述:查看当前服务器的主机名称)
修改
第一种方法:
vim /etc/hostname
重启服务
第二种方法:
hostnamectl set-hostname (修改的名)
5.在hosts文件中添加对应的主机名和ip
vim /etc/hosts
192.168.111.100 主机名
修改windows下hosts
C:\Windows\System32\drivers\etc
192.168.111.100 主机名

四、远程登录

1.在Windows下打开命令提示符
输入
ssh root@主机名
2.使用XShell登录
在这里插入图片描述
在这里插入图片描述

五、系统管理

1.Linux中的进程和服务
计算机中,一个正在执行的程序或命令,被叫做“进程(process)”
启动之后一直存在,常驻内存的进程,一般被称作“服务(service)”
2.管理服务基本语法
systemctl start|stop|restart|status 服务名
查看服务的方法
/usr/lib/systemd/system
3.查看network或者NetworkManager状态
systemctl status network/NetworkManager
关闭network
systemctl stop network
关闭network会断网,重启NetworkManager就可以了
重启NetworkManager
systemctl restart NetworkManager
(centOS7推荐保留NetworkManager)
4.系统的运行级别
linux运行级别(centOS6)
在这里插入图片描述
在这里插入图片描述
查看当前运行级别:
systemctl get-default
修改当前运行级别
systemctl set-default TARGET.target(TARGET取multi-user或者graphical)
5.防火墙
查看防火墙的状态
systemctl status firewalld
关闭防火墙
systemctl stop firewalld
开启防火墙
systemctl start firewalld
关闭防火墙并且开机不自启动
systemctl disable firewalld
开启防火墙开机自启动
systemctl enable firewalld
6.关机重启命令
一分钟后关机
shutdown
取消一分钟后关机
shutdown -c
几分钟后关机
shutdown 数字
马上关机
shutdown now
定时关机
shutdown 21:00(21点关机)
为什么shutdown会一分钟后关机,因为要执行sync
基本语法:
sync (将数据由内存存到硬盘中)
halt (停机,关闭系统,但不断电)
poweroff (关机,断电 等同于 shutdown -h now)
reboot (重启,等同于shutdown -r now)

六、常用基本命令

1.帮助命令
man [命令或者配置文件] (获得帮助信息)
比如 man ls
help获得shell内置命令的帮助信息
一部分基础功能的系统命令是直接内嵌在shell中的,系统加载启动之后会随着shell一起加载。常驻系统内存中,这部分命令被称为 内置命令,相应的其他命令被称为外部命令。
基本语法
help 命令 (获得shell内置命令的帮助信息)
比如 help cd
判断是否是内嵌命令
type 命令
停止进程
ctrl c
清屏 等同于命令clear 彻底清屏是reset
ctrl l
提示命令
Tab键
2.文件目录类
文件操作
显示当前工作目录的绝对路径
pwd
列出目录的内容
ls
ls -a 列出全部的文件,包括隐藏的文件
ls -l 或者ll 长数据串列出,包含文件的属性与权限等等数据
切换目录
cd 路径
返回之前的目录
cd -
删除空的目录
rmdir 要删除的目录
删除嵌套的目录
rmdir -p a/b/c(如果删完c之后b里面是空的,b也会删除)
创建新的文件目录
mkdir 文件目录
创建嵌套目录
mkdir -p a/b/c(创建三个文件)
创建空文件
touch 文件名称
复制文件或者目录
cp 源文件 目标文件
递归复制整个文件夹
cp -r
删除文件
rm 文件名
强制删除,不再提示
rm -f 文件名称
递归删除目录中所有内容
rm -r 目录或文件名称
显示指令的详细执行过程
rm -v 文件名称
强制删除并且不提示
rm -rf 目录
移动文件与目录或者重命名
重命名: mv oldName newName
移动文件: mv 需要移动的文件 移动到的目录
查看文件内容
cat 要查看的文件
显示所有的行号包括空行
cat -n 文件
文件内容分屏查看器
more 要查看的文件
space(空格) 向下翻一页
Enter 向下翻一行
q 立刻离开more,不在显示内容
ctrl F 向下滚动一屏
ctrl B 返回上一屏
输出当前行的行号 =
:f 输出当前的文件名称和行号
分屏显示文件内容(b、f也可以翻页)(访问特别大的文件)
less 文件名
空格 向下翻动一页
[PageDown] 向下翻动一页
[PageUp] 向上翻动一页
/字串 向下寻找【字串】的功能 n:向下查找 N:向上查找
?字串 向上寻找【字串】的功能 n:向下查找 N:向上查找
G 直接到最底层
g 直接到最上层
q 离开less
其他命令
输出内容到控制台
echo 内容
支持反斜线控制的字符转换
echo -e 内容
\ 输出\本身
\n 换行符
\t 制表符(Tab键)
列表的内容写入a.txt中(覆盖写)
ls -l >文件
列表的内容追加到文件末尾
ls -l >> 文件
将文件1的内容覆盖到文件2
cat 文件1 > 文件2
采用echo将hello单词追加到文件中
echo hello >> 文件
显示文件头部内容
head 文件(前十行)
查看文件头五行内容
head -n 5 文件
输出文件尾部内容
tail 文件(后十行)
查看文件尾部5行
tail -n 5 文件
实时追踪该文档的所有更新
tail -f 文件
ctrl s 暂停实时追踪
ctrl q 继续实时追踪
给原文件创建一个软链接
ln -s [原文件或目录][软连接名]
删除软连接名
rm -rf软连接名
删除掉原目录下的文件
rm -rf软连接名/
查看已经执行过得历史命令
history
3.时间日期类
获取当前的日期时间
date
显示当前年份
date +%Y
显示当前月份
date +%m
显示当前年份
date +%d
显示当前年月日时分秒
date +%Y-%m-%d %H:%M:%S
时间戳(1970年1月1日到现在的秒数)
date +%s
前一天
date -d “1 days ago”
后一天
date -d “-1 days ago”
设置系统时间
date -s “2022-1-1 10:10:10”
查看当天日历
cal
查看2020年日历
cal 2022
4.用户权限类
添加新用户
useradd 用户名
添加新用户到某个组
useradd -g 组名 用户名
设置用户密码
passwd 用户名
查看身份是否存在
id 用户名
查看创建了所有的用户
cat /etc/passwd
切换用户
su 用户名
设置普通用户用于root权限
sudo ls
前提修改一下文件
vim /etc/sudoers
在root下面添加
用户名 ALL=(ALL) ALL
用户名 ALL=(ALL) ALL NOPASSWD: ALL(不用输密码)
删除用户
userdel 用户名
新增组
groupadd 组名
修改用户的组名
usermod -g 组名 用户名
修改组名
groupmod -n 新组名 老组名
删除组
groupdel 组名
文件属性:

在这里插入图片描述
文件类型:
d 目录文件
c 字符设备文件
b 块设备文件
l 链接
— 普通文件
在这里插入图片描述在这里插入图片描述改变权限
在这里插入图片描述例如:
chmod u+r 文件名或目录
表示在u的属主权限增加一个r (读取权限)
u:所有主
g:所有组
o:其他人
a:所有人(u,g,o总和)
r = 4 w = 2 x =1
rwx = 4+2+1 = 7
例如:
chomd 777 文件名或目录
表示将文件权限全部放开
如果是目录增减权限,让子目录也有权限
chomd -R 777 目录名
改变文件或者目录所有者
chown (-R) 用户名 文件名或者目录
改变文件或者目录所属组
chgrp (-R) 组名 文件名或者目录
5.搜索查找类
find指令将从指定目录向下递归地遍历其各个子目录,将满足条件的文件显示在终端
find查找文件或目录
find 查找范围 选项
选项:
-name 按照指定的文件名查找文件(a文件)
find /root -name a
find /root -name “*.txt”
-user 查找所属固定用户名的所有文件
find /home -user zhangsan
-size 按照指定的文件大小来查找(
find /root -size +10M(大于10兆)
单位为:b—块(512字节),
c——字节
w——字(2字节)
k——千字节
M——兆字节
G——吉字节

locate快速定位文件路径
由于locate指令基于数据库进行查询,所以第一次运行前要执行updatedb指令船检locate数据库
updatedb
locate 搜索文件
grep过滤查找及"|"管道符
| 管道符表示将前一个命令的处理结果输出传递给后面的命令处理
grep 选项 查找内容 文件
-n 显示匹配行及行号
grep -n zhangsan a.txt
cat a.txt | grep hello(过滤出a.txt这个文件中包含hello字符串的行,然后打印到屏幕上)
6.压缩解压类
压缩
gzip 文件(压缩文件,只能将文件压缩为 *.gz文件)
解压
gunzip 文件.gz(解压文件)
1.只能压缩文件不能压缩目录
2.不保留原来的文件
3.同时多个文件会产生多个压缩包
压缩
zip [选项] (新名称).zip 压缩的内容
选项:-r (压缩目录)
解压
unzip [选项] *.zip
选项:-d<目录> 指定解压后文件存放的目录
打包
tar [选项]XXX.tar.gz 被打包的内容
选项:-c 产生.tar打包文件
-v 显示详细信息
-f 制定压缩后的文件名
-z 打包同时压缩
-x 解包.tar文件
-C 解压到指定目录
例: tar -zcvf a.tar.gz b.txt c.txt(将b,c打包成a.tar.gz)
tar -zxvf a.tar.gz -C /root (解压到root目录下)
7.磁盘管理类
安装tree工具,以一个树形展现目录
yum install tree
查看目录下每个子目录磁盘使用情况
du 目录
-h 显示Gbytes,Mbytes 等格式显示
-a 不仅查看子目录大小,还产看文件
-c 显示所有的文件和子目录大小后,显示总和
-s 只显示总和
–max-depth=n 指定子目录的深度为第n层
查看磁盘空间使用情况
df 选项
选项: -h 显示Gbytes,Mbytes 等格式显示
查看内存
free -h
查看设备挂载情况
lsblk
选项:
-f 查看详细的设备挂载情况,显示文件系统信息
mount/umount 挂载/卸载
linux中每个分区都是用来组成整个文件系统的一部分,它在用一种叫做“挂载”的处理方法,它整个文件系统中包含了一整套的文件和目录。并将一个分区,和一个目录联系起来,要载入的那个分区将使用它的存储空间在这个目录下获得。
挂载前准备
1)必须要有光盘或者已经连接的的镜像文件
点击右键设置
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
将图形化页面关掉
mkdir /mnt/cdrom
mount /dev/cdrom /mnt/cdrom
fdisk 分区(root用户)
查看磁盘分区详情
fdisk -l
对新增硬盘进行分区操作
fdisk 硬盘设备名
8.进程管理类
查看当前系统的所有进程状态
ps aux | grep xxx
可以查看子父进程之间的关系
ps -ef | grep xxx
选项
a 列出所有带有终端的用户进程
x 列出当前用户的所有进程,包括没有终端的进程
u 面向用户友好的显示风格
-e 列出所有进程
-u 列出某个用户关联的所有进程
-f 显示完整格式的进程列表
ps aux 信息显示说明:
在这里插入图片描述
终止进程
kill 【选项】进程号
killall 进程名称
选项:
-9 表示强迫进程立即终止
查看进程树(安装 yum install pstree)
pstree 选项
选项:
-p 显示进程的pid
-u显示进程的所有用户
实时监控系统进程状态
top 【选项】
选项:
-d 秒数 指定top命令每隔几秒更新,默认是3秒在top命令的交互模式当中可以执行的命令
-i 使top不显示任何闲置或者将死进程
-p 通过指定监控进程ID来仅仅监控某个进程的状态
显示网络状态和端口占用信息
查看该进程网络信息
netstat -anp | grep 进程号
查看网络端口号占用情况
netstat -nlp | grep 端口号
选项:
-a 显示所有正在监听和未接听的套接字
-n 拒绝显示别名,能显示数字的全部显示数字
-l 仅列出在监听的服务状态
-p表示显示哪个进程在调用

8.系统定时任务
重新启动crond服务
systemctl restart crond
crontab 【选项】
选项:
-e 编辑crontab定时任务
-l 查询crontab任务
-r 删除当前用户所有的crontab任务
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

七、软件包管理

1. RPM 概述
RPM(RedHat Package Manager),RedHat软件包管理工具,类似windows里面的setup.exet是Linux这系列操作系统里面的打包安装工具,它虽然是RedHat的标志,但理念是通用的。
RPM包的名称格式
Apache-1.3.23-11.i386.rpme
“apache”软件名称
“1.3.23-11”软件的版本号,主版本和此版本
“i386”是软件所运行的硬件平台,Intel 32位处理器的统称e
“rpm”文件扩展名,代表RPM包

2.命令
查询所有已经安装过得rpm软件包
rpm -qa
由于软件包过多,大多数会使用rpm -qa | grep rpm软件包
卸载命令
rpm -e 软件包
卸载命令,不检查是否有依赖关系,直接卸载
rpm -e --nodeps
安装命令
rpm -ivh RPM软件包
-i 安装
-v 显示详细信息
-h 进度条
–nodeps 不检查依赖
3.YUM仓库配置
YUM概述:
YUM(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及 CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。
YUM常用命令:
yum [选项][参数] 软件名
选项:
-y 对所有提问都回答yes
参数:
install 安装rpm软件包
update 更新rpm软件包
check-update 检查是否有可用的更新rpm软件包
remove 删除指定的软件包
list 显示软件包的信息
clean 清理yum过期的缓存
deplist 显示yum软件包的所有依赖关系
4.修改网络的YUM源
默认的系统YUM源,需要连接国外apache网站,网速比较慢,可以修改关联的网络YUM源为国内镜像的网站。
4.1
安装wget,wget用来从指定的URL下载文件
yum install wget
4.2
在/etc/yum.repos.d/目录下,备份默认的repos文件
cp CentOS-Base.repo CentOS-Base.repo.backup
4.3下载网易163或者是aliyun的repos文件,
阿里云: wget http://mirrors.aliyun.com/repo/Centos-7.repo
网易:wget http://mirrors.163.com/.help/Centos-7.repo

八、克隆虚拟机

1.克隆
在这里插入图片描述
右键点击我的计算机(vm100) -》 管理 -》克隆

九、Shell概述(大数据)

1.Shell是一个命令解释器,它接收应用程序/用户命令,然后调用操作系统内核。
Shell还是一个功能非常强大的变成语言,易编写,易调试,灵活性强。
2.脚本格式
脚本以 #!/bin/bash开头
vim hello.sh
输出Hello world
echo “Hello,world”
3.脚本的常用执行方式
3.1:bash或者sh + 脚本的相对路径或者绝对路径
bash/sh ./hello.sh
3.2:直接输入脚本的相对路径或者绝对路径(必须有可执行权限x)
3.3: .或者source + 相对路径或者绝对路径
4.变量
4.1常用系统变量
$HOME $PWD $SHELL $USER等
4.2实例
查看系统变量的值
echo $HOME
显示当前Shell中所有变量
set
5.自定义变量
5.1基本语法:
定义变量:变量名=变量值。注意:=前后不能有空格
撤销变量:unset 变量名
声明静态变量:readonly 变量
5.2变量定义规则
变量名称可以由字母、数字和下划线组成,但是不能以数字揩油。环境变量名建议大写
等号两侧不能有空格
在bash中,变量默认类型都是字符串类型,无法直接进行数值运算
变量的值如果有空格,需要使用双引号或者单引号括起来
6.特殊变量
$n
n为数字 $0代表该脚本名称 $1-$9代表第一道第九个参数,十以上的参数需要用大括号
${10}
在这里插入图片描述

在这里插入图片描述
$#
获取所有参数输入个数
在这里插入图片描述
在这里插入图片描述
$*
这个变量代表命令行中所有的变量,把所有的参数看做一个整体(abc def)
$@
这个变量代表命令行中所有的变量,把每个参数区别对待([abc def])

在这里插入图片描述
在这里插入图片描述
$?
最后一次执行命令的返回状态。如果这个变量的值为0,证明上个执行命令正确,否则相反。
7.运算符
"()()"
8.条件判断
8.1基本语法
test condition
简写:
[ condition ] (condition前后要有空格)
8.2常用的判断条件
-eq 等于
-ne 不等于
-lt 小于
-le 小于等于
-gt 大于
-ge 大于等于
按照文件权限进行判断
-r 有读的权限
-w 有写的权限
-x 有执行的权限
按照文件类型进行判断
-e 文件存在
-f 文件存在并且是一个常规的文件
-d 文件存在并且是一个目录
多条件判断
&&表示前一条命令成功时,才执行后一条命令
|| 表示上一条命令失败后,才执行后一条命令
9、流程控制
9.1、if判断
在这里插入图片描述9.2case 语句
在这里插入图片描述9.3、for循环
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述9.4、while循环
在这里插入图片描述
可以用let代替
在这里插入图片描述
10、read读取控制台输入
在这里插入图片描述
11、函数
11.1系统函数
在这里插入图片描述2)
dirname 文件绝对路径 (功能描述:从给定的包含绝对路径的文件名中去除文件名(非目录的部分),然后返回剩下的路径)
11.2自定义函数
【function】 funname[()]
{
Action,
[return int;]
}
必须在调用函数地方之前,先声明函数,shell脚本是逐行运行,不会先编译
函数返回值,只能通过 $?系统变量获得,可以显示加: return 返回,如果不加,将以最后一条命令运行结果,作为返回值。return后跟数值n(0-255)
12正则表达式
12.1常规匹配
一串不包含特殊字符的正则表达式匹配它自己
12.2常用特殊字符
1) ^ :匹配一行的开头
cat /etc/passwd | grep ^a (匹配一行的开头)
2) $:匹配一行的结束
3). :匹配任意一个字符
4)* :不单独使用,他和上一个字符连用,表示匹配上一个字符0次或多次
5)[] :表示匹配某个范围内的一个字符
6)\:表示转义
13文本处理工具
13.1 cut
cut就是剪,负责剪数据
cut [选项] filename
选项:
-f 列号,提取第几列
-d 分隔符,按照指定分隔符割列,默认是制表符 \t
-c 按字符进行切割,后加加n表示取第几列
13.2 awk
一个强大的文本分析工具,把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分在进行分析处理
awk [选项] ‘/pattern1/{action} /pattern2/{action2}’ filename
pattern 表示awk在数据中查找的内容,就是匹配模式
action 在找到匹配内容时所执行的一系列命令
选项:
-F 指定输入文件分隔符
-v 赋值一个用户定义变量

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值