Offer

尚硅谷--Linux篇

学习链接:https://www.bilibili.com/video/BV1dW411M7xL?p=58&vd_source=510ec700814c4e5dc4c4fda8f06c10e8

csdn csdn csdn csdn csdn


🔥1. 基础篇

1.1.基本概念

1.1.1 名词解释

Linux 中,万物皆文件

1.1.2 目录结构
/bin(/usr/bin, /usr/local/bin): 系统基本命令,拷贝,删除;
/sbin: 系统管理员使用的系统命令;
/home: 创建用户的目录;
/lib: 共享动态链接库;
/etc: 系统配置文件,比如mysql的my.conf文件;
/usr: 用户应用程序的目录,类似于program file文件;
/opt: 主机安装额外软件的目录;
/usr/local: 安装软件所安装的目录;
/var: 日志文件之类

1.1.3 vi/vim
-- 复制
yy
-- 删除
dd
--撤销
u
--最首行,尾部
gg  G
1.1.4 关机&重启命令
-- 立即关机
shutdown -h now
-- 一分钟后关机
shutdown -h 1
--现在重启
shutdown -r now
--关机
halt
reboot
1.1.5 用户管理
--创建用户
useradd hyq
useradd -d /home/hyq hyq
--指定密码
passwd hyq
--删除用户
userdel hyq
--查看用户信息
id root
--切换用户
su - hyq
exit; --回到root用户

--组管理
groupadd group
groupdel group
useradd -g group hyq

1.2 基本指令

1.2.1文件指令
ls -a //显示隐藏所有文件目录
ls -l //以列表显示
ls -lh //h显示所占容量

touch //创建空文件
rm -rf //递归强制且强制删除整个文件夹

--查询并分页显示,按空格下一页
 cat test.java | more
--分页显示文件
 less XXX

--输出重定向,会覆盖内容
> 
--追加,在原始内容追加
>> 

--输出内容
echo 
head tail

--创建软连接
ln -s 源文件或目录 软连接名

--显示日期
date "+%Y-%m-%d %H:%M:%S"
--查看日历
cal
 
 
 --查找文件
 find . -name test.java
 find / -size -20M //-是小于20m,+是大于,不写就是等于
 grep "F" -n -i //-N显示行号 -i忽略大小写
 
 --打包和解压
 gzip
 gunzip
 zip
 unzip
 tar -zcvf a.tar.gz a.txt text.java   /a.txt, text.java/打包成a.tar.gz
 tar -zcvf a.tar.gz a/ 对目录打包
 
 -- 查看所有文件所有者
 ls -alh
 
 --改变用户所在组
 usermod -g root hyq
1.2.2 权限管理
1.2.2.1 基本概念

文件类型:

​ -:普通类型 d:目录 l:软连接 c:字符设备 b:块文件,硬盘

-- drwx 表示所有者权限r可读,w可写,x可执行。r=4,w=2,x=1
-- r-x 表示文件所在组用户的权限rx
-- r-x 表示文件其他组用户的权限rx
-- 3:如果是文件,表示硬链接数,是目录,表示该目录下子目录数
--root root,前一个root表示文件所有者,后一个root标识文件所在组

drwxr-xr-x 3 root       root       4096k Feb 22 15:22 ceshi
-- +增加权限 -减少权限 =赋予权限
-- u所在者 g所在组 o其他人 a所有人
chmod u=rwx, g=rx, o=x XXX
chmod o+w XXX
chmod 743 XXX

--文件所有者改为新所有者。组不发生变化
chown hyq a.txt
chown -R hyq ceshi/  //-R就是这边文件夹下所有文件所有者都修改
--修改文件所在组
chgrp root  hyq.txt
chgrp -R root mydockerfile

文件 --用户--组:可以看到其实都是可以互相变更的,

image-20220613112951424

1.2.2.2 权限实战
--创建组,用户,并设置密码
[root@VM-8-11-centos ~]# groupadd police
[root@VM-8-11-centos ~]# groupadd bandit
[root@VM-8-11-centos ~]# useradd -g police jack
[root@VM-8-11-centos ~]# useradd -g police jerry
[root@VM-8-11-centos ~]# useradd -g bandit xh
[root@VM-8-11-centos ~]# useradd -g bandit xq
[root@VM-8-11-centos ~]# passwd jack
Changing password for user jack.
New password: 
BAD PASSWORD: The password is shorter than 8 characters
Retype new password: 
passwd: all authentication tokens updated successfully.
[root@VM-8-11-centos ~]# passwd jerry
Changing password for user jerry.
New password: 
BAD PASSWORD: The password is shorter than 8 characters
Retype new password: 
passwd: all authentication tokens updated successfully.
[root@VM-8-11-centos ~]# passwd xh
Changing password for user xh.
New password: 
BAD PASSWORD: The password is shorter than 8 characters
Retype new password: 
passwd: all authentication tokens updated successfully.
[root@VM-8-11-centos ~]# passwd xq
Changing password for user xq.
New password: 
BAD PASSWORD: The password is shorter than 8 characters
Retype new password: 
passwd: all authentication tokens updated successfully.
[root@VM-8-11-centos ~]# 


-- 新用户创建文件并设置权限
[jack@VM-8-11-centos ~]$ vim jack.txt
[jack@VM-8-11-centos ~]$ chmod 640 jack.txt 
--设置目录权限:x包含了进入目录权限
[jack@VM-8-11-centos home]$ chmod g=rx jack/
--改变用户组
[root@VM-8-11-centos home]# usermod -g police xh
1.2.3 任务调度
1.2.3.1 基本调度
crontab -e --写入任务
crontab -l --列出任务调用列表
crontab -r --终止任务调度
service crond restart --重启任务调度

image-20220614102156282

image-20220614122939199

1.2.4磁盘分区
1.2.4.1 分区目前流行方式

1、mbr分区

2、gtp分区(流行)

1.2.4.2 Linux分区

Linux都源于一个根目录,分区与目录挂载是分开的

--查看分区与挂载目录
lsblk 

--查询系统整体磁盘使用情况
df -h

--查询目录或其子目录下占用情况,不指定就查所有子目录
du -ach --max-depth=1 

--统计当前目录下文件个数
[root@VM-8-11-centos ~]# ls -l | grep "^-" | wc -l
--统计目录个数
[root@VM-8-11-centos ~]# ls -l | grep "^d" | wc -l
--统计当前目录及子目录下文件个数
[root@VM-8-11-centos ~]# ls -lR | grep "^-" | wc -l
--当前目录与子目录个数
[root@VM-8-11-centos ~]# ls -lR | grep "^d" | wc -l

1.2.5 网络配置
--固定内部IP
vim /etc/sysconfig/network-scripts/ifcfg-eth0
1.2.6 进程管理
1.2.6.1 基本概念

​ 每个进程对应一个父进程,该父进程名下可以有多个子进程

1.2.6.2 基本命令
--用户名    进程id 占用cpu,内存 虚拟内存,物理内存,终端 进程状态(s终止,r运行) 开始时间 占用cpu时间  命令
[root@VM-8-11-centos ~]# ps -aux
USER         PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root           1  0.0  0.3 249668  5876 ?        Ss   Mar09  11:00 /usr/lib

ps -ef可以查询ppid,该ppid就是父进程

--踢掉某个用户
[root@VM-8-11-centos ~]# ps -aux | grep jack
jack     1556705  0.0  0.3 156976  5608 ?        S    09:44   0:00 sshd: jack@pts/1
[root@VM-8-11-centos ~]# kill 进程PID

--强制关闭某个进程
kill -9 进程PID


--展示进程树
pstree -pu //p显示进程id,u显示所属用户

1.2.6.3 服务管理

​ 服务本身就是进程,叫守护进程,用于监听端口

--centos7.0之后用systemctl,之前用service

--windows用于监听某个端口,并且可以使用
telnet 161.189.222.204 22

--查看系统服务
ls -l /etc/init.d/
1.2.6.4 运行级别

Linux有7个运行级别

chkconfig设置运行级别

image-20220615123948678

1.2.6.5 监控服务
--top:和ps类似,不过可以实时查看更新的进程状态
--当前时间,运行多少天,当前用户数  负载均衡
--任务数
--内存容量
--按u,在输入root可以查看不同用户占用内存情况
--按k,杀死进程
--q退出

--默认3秒刷新,可以设置10秒
top -d 10

image-20220615124635058

--可查看本机端口被外部哪个地址链接了
 netstat -anp
 -- tcp        0      0 10.0.8.11:22            120.204.231.66:49898    ESTABLISHED 1554247/sshd: root  

1.2.6.6 包管理
rpm -qa

--yum 也是基于rpm上下载管理包的工具

🔥2.大数据篇(略)

(暂时用不到,先跳过)

2.1. Shell编程

posted @ 2022-07-01 15:51  Empirefree  阅读(104)  评论(0编辑  收藏  举报