linux基础学习

LINUX

LINUX概述

是一个操作系统

基于Unix改造

linux的作用

多用户操作,权限

Linux发行版本

Centos

rpm,yum

性能优,消耗低,更适合开发

ubuntu

apt

页面漂亮,硬件兼容,性能较差

linux目录

  • /bin:二进制流文件

  • /boot:启动内核文件

  • /dev:存在在**系统设备文件**。如挂载光驱,cpu,硬盘

  • /etc:**系统配置**文件目录

  • /home:用户目录,每个用户的目录都在这个目录下

  • /lib:/usr/lib: /usr/local/lib:系统**函数库**目录,库目录

  • /lib64:就是存放64位的库目录

  • lost+fount:系统发生错误的记录遗失的目录

  • /mnt: /media:光盘的挂载点

  • /opt:系统按照软件目录

  • /proc:此目录的数据在内存中,如网络状态,系统核心,外部设备等等

  • /root:管理员的home目录

  • /sbin:放置管理员的可执行文件

  • /tmp:临时文件

  • /srv:服务启动后需要访问的数据目录

  • /usr:应用程序存放的目录 相关用户的目录,

    • /var:放置心痛执行过程中经常变的文件

文件的类型

文件颜色含义
蓝色目录
绿色可执行文件
红色压缩文件
浅蓝色链接文件
灰色其他文件

基本的命令

先查看命令怎么用

ls --help

vim编辑器

:q 退出

:w 保存

普通模式

yy,数字yy,p,数字p,dd,数字dd,u,x,yw,dw,shift + 6,shift + $,(数字)shift + g、

快捷键作用
(数字)yy,y + shift +4(6)复制
(数字)dd删除
u回滚上一步
p粘贴
yw复制一个单词
shift + 4
shift + 6
(数字)shift + g光标到最后一行

编辑模式

从普通模式进入编辑模式有i,shift + i(大写I),shift + a (大写A),o,大写O,r,大写O

快捷键功能
i,shift + ii在光标出进入,大写I光标进入行首
a,shift + aa在下一个字符,大写A光标在进入行末
r,shift + rr取代一个文字,R一直取代
o,shift + oo在下一行新开一行,O在上一行新开一行

命令行模式

:w[fileName],:q,:wq,:wq!,ZZ,:set nu ,:set nonu

linux网络

远程连接

SSH远程连接

windows和linux很多情况下都会使用SSH来进行远程连接

主机的虚拟网卡

VM1

VM8

现在我的Linux静态IP

IPADDR=结合自己的虚拟机IP

GATEWAY=网关

DNS1=域名解析器
在这里插入图片描述

静态IP

正常的LINUX网络配置,构建一个虚拟子网供虚拟机使用,

在这里插入图片描述

但是,虚拟机重新,有可能 虚拟子网的IP就会发生变动,不利于进行分布式管理,所以我们就要把虚拟机的网络IP设置为静态。

也可以直接把虚拟机指定静态IP,在终端修改

cd /etc/sysconfig/network-scripts

vim ./ifcfg-ens33

在第四行中,BOOTPROTO=“dhcp”,就是默认使用动态的IP。

修改为静态的IP,

#IP

IPADDR=自己的IP

#网关

GATEWAY=自己的网关

#域名解析器

DNS1=域名解析器

配置主机名

#查看主机名
hostname

#编辑主机名
vim /etc/hostname

#重启
hostnamectl

编辑主机名对应的IP关系

vim /etc/hosts

继续修改window下的hosts文件

远程登录SSH

cmd命令中

ssh root@hjh100

对于这些我们可以使用xshell来进行保存管理方便下一次进入

系统管理

进程与服务

常驻内存的进程就是服务

服务命令

service 服务名 start|stop| restart|status

新语法centos7

systemctl start|stop|restart|status 服务器名

查看服务名

cd ./usr/lib/systemd/system

.target – 一组服务的集合

.service

注意:

关于centos的网络服务,有两个:network,networkmanager

后者默认使用,推荐使用,两者不可同时开启

系统运行级别

进行系统服务自动开启管理

setup

有*****的为开启自启动

在这里插入图片描述

查看当前级别

systemctl get-default

查看服务在各个级别下的开启

#老版本的sysV
chkconfig --list

设置自启动

systemctl 服务名 enable|disable

查看全部是否自启动

systemctl list-unit-files

static为未配置

防火墙

firewalld

先看状态

开启开机自启动防火墙

关闭防火墙

systemctl status firewalld

#停	但是开机还是会自启动
systemctl stop firewalld

#关闭自启动
systemctl disable firewalld

关机重启

shutdown 不立刻关机

shutdown -c取消关机

shutdown 3 3分种后关

shutdown 15:28 在15点28分关机

延迟读写buffer

在关机前,会自动sync,就是把数据从内存同步到硬盘种

sync把数据从内存同步到硬盘种
halt停机,关闭系统,不断电
poweroff电源关掉了
shutdown-h 关机,-H 相当于halt,-r 重启
reboot重启

关机可以用poweroff,或者shutdown now

常见的基本命令

man帮助查询

太多了我们可以直接查看

#查看命令类型
type 命令

#查看命令使用
help 命令

在这里插入图片描述

文件目录

pwd–绝对路劲

显示当前工作目录的绝对路劲

pwd
ls–列出目录内容
ls
#两层目录 . 和 ..
ls -a
#两者一样,列出当前文件夹类型,用户名,创建时间,等等 
ls -l 
ll
#查看编号
ls -i 

注:以点开头的文件都是隐藏文件

ls列出当前目录
ls -a列出全部,包括子目录
ll或ls -l列出信息
cd–切到某个路劲

支持相对路劲

cd 路劲

cd 当前路劲/
cd ./
cd ../
cd /路劲
su–切换用户
mkdir–创建文件夹
#不自动创建父目录
mkdir 绝对路劲|相对路劲

#自动创建父目录
mkdir -p 绝对路劲|相对路劲
mkdir不自动创建父目录
mkdir -p自动创建父目录
rmdir–移除目录
#有子目录不哭也直接删除
rmdir

#有子目录可以删除 ,如果删除后目录为空,那把目录也删除
rmdir -p

文件

编辑文件vi或vim,emass
touch–创建空文件
touch 路劲
cp–复制文件夹或文件
cp 路劲文件 复制到那路劲|文件

#若要覆盖文件
\cp 路劲文件 复制到文件

#递归复制整个文件夹
cp -r 复制目录 复制到目录

若复制到文件就是覆盖,原来得文件就没有了

rm删除文件
rm
#递归删除目中得所有文件
rm -r
#强制删除
rm -f
#显示执行过程
rm -v
rm删除有提示
rm -r递归删除所有文件
rm -f删除无提示
rm -v详细执行过程
rm -rf结合2和3
mv移动文件于文件夹或重命名
mv 文件 移动到目录|文件

若移到得不是目录而是文件就是重命名覆盖

若在当前目录下得文件移动到当前目录新文件名就是重命名

cat查看文件
cat  文件
#加行号
cat -n 文件
more文件内容分屏查看

有点类似vi编辑器

空格翻页
b往前翻页
f往后翻页
=当前页
:f
q退出
less分屏显示

比more更加强大。分页动态加载,效率高

操作和more差不多

特别

#去到结尾
shift + g
#去开头
g
#下文搜索 n向下查找 N向上查找
/要搜索得内容 
#上文搜索 n向上查找 N向下查找
?搜索内容
echo

输出内容到控制台

echo hello,world
#支持转义 \n
ehco -e
>重定向,>>追加
>覆盖到某个文件
>>追加到某个文件
ll > info

比如现在当前目录无info文件,ll输出并写入到info文件,因为无info文件,所以会自动创建,若有则覆盖

head–显示头部信息
head 文件10行
head -n 5 文件5行
tail尾
tail10行
tail -n 5 文件5行
tail -f 文件实时追终更细

注意:这个tail要开启两个命令窗可以进行测试,

tail - f 文件进去会一直在里面,然后打开另一个终端,追加信息可看见。

多用于监控文件

使用vim不会更新

但是如果你使用vim修改文件得话,tail -f 内并不会更新,因为每个文件都会有一个默认得编号,使用ls -i 可以看到,当你是用vim的时候修改文件,那么文件得编号就会修改,而原来得检测还是使用得是修改前的,所以并不会检测到。

ln软链接

与windows的快捷方式相类似。

比如/bin目录就是软链接目录

ln -s 原文件|原目录 软链接名

删除的时候不要使用rm -rf 文件/

不然会删除真实文件,若真实目录被删除,但是软连接不会被删除,但是会变无效

硬链接

与软链接对比他使用的是同一个文件编号,但是软连接不同,他自己是一个独立的文件,有自己的数据块,存放的是原文件的地址,同时也自己的id编号,在使用使用一般使用软连接。

history查看历史指令
history全部
history 10最近10条
history -c删除历史

时间date

date
date + %Y
date + %m
date + %d
date "+%Y-%m-%d %H:%M:%S"
#时间戳 小写s
date +%s
#昨天
date - '1 day ago'
#明天
date - '-1 day ago'
#修改时间
date -s "要修改的时间"
#ntpdate获取服务器时间
ntpdate
#获取日历
cal
date时间
date + %Y
date + %m
date + %d
date “+%Y-%m-%d %H:%M:%S”时间格式显示时间
date +%s时间戳,小写s
date - ‘1 day ago’昨天,-1就是前天
date -s “要修改的时间”修改时间
cal日历

用户管理命令

用户

useradd 用户名
useradd -g 组名 用户名
#设置新密码
passwd 用户名
#id显示投个人的信息,验证用户是否存在
id 用户名
#查看创建了那些用户,其中有很多系统创建的用户
/etc/passwd
#切换用户
su 用户名 
#查看当前用户
whoami
#删除用户
userdel 用户名
useradd添加用户
id 用户名查看用户是否存在
/etc/passwd查看所有用户,里面包括很多系统用户
su 用户名切换用户
whoami查看当前用户
passwd 用户名修改用户的秘密
useradd -g 组名 用户名添加用户带组
userdel 用户名删除用户,若带-r把目录也删

sudo赋予临时权限

修改sudoers文件 ,在/etc/sudoers

sudo 命令

用户管理组

默认一人一组,但是一个用户可以默认加入多个组

#新建组
groupadd 组名
#修改一个用户的组
usermod -g 组名 用户名
#修改组
groupmod -n 修改后的名 修改前的名
#查看所有组
/etc/group
#删除用户组
groupdel 组名

注意:wheel组也是管理组,能够sudo临时授权

groupadd添加组
usermod -g 组名 用户名修改用户的组
groupmod -n 修改后名 修改前名修改组名
/etc/group查看所有组
groupdel 组名删除组

关于文件权限的管理

linux的文件属性,ll可以查看文件的属性数字(0-9)

第一个字母-是文件,d是文件夹,l是链接类

在这里插入图片描述

0文件类型,1-3本用户权限,4-6组权限,7-9其他用户权限

UGO,r(读)w(写)x(执行)

在这里插入图片描述

10位权限 硬链接数|子文件夹数 创建用户 创建用户组 文件大小 创建时间 文件名

修改文件的权限

#方式1
chmod [{ugoa}{+-=}{rwx}] 文件或目录

#方式2 r=4 w=2 x=1
chmod [mode=421] [文件或目录]
chmod 644
chmod 777
#用在目录上,同时递归修改他的子目录
chmod -R 数字
修改文件所有者
#修改人
chown 修改后的用户名 文件或目录

#修改组
chgrp 修改后的组 文件或目录

find查找文件

find指令将从指令目录向下递归遍历每个子目录

#查找root所有目录下的info
find /root -name info

#查找所有后缀是.cfg的文件
find -name "*.cfg"

#在home目录下查询所有tony的文件
find /home -user tony


find [限定路劲] -name按照名查
find -user按照所属用户查
find -size按照大小查
locate快速定位文件路劲

利用事先建立数据库,查询较块,查找时应该更新数据库

#更新数据库
updatedb

#所有包括了tmp的目录和文件
locate tmp
grep过滤查找

grep对内容进行查找

#显示匹配行及行号
grep -n 查找内容 要查找的文件
管道操作符 |
#在列出当前目录时进行过滤
ls | grep -n .cfg

#wc 统计行数,词数,字节数
wc info

#
grep -n boot /root | wc

压缩和压缩类

gizp/gunzip

gizp --》 *.gz 压缩命令

gunzip 文件.gz 解压缩命令

gzip压缩
gunzip解压缩
  • 只能压缩文件不能压缩目录

  • 不保留原来文件

  • 多个文件多个压缩包

zip和unzip
  • 可以进行目录压缩
  • 不影响原来文件
zip压缩
unzip [-d]解压缩。还可以压缩到那个文件
tar打包
tar [选项] xxx.tar.gz
tar -c打包文件
tar -v显示详细信息
tar -f指定压缩后的文件名
tar -z打包同时压缩结合gzip
tar -x解包.tar文件
tar -C解压打指定目录
#aaa.cfg info 公共/ 这些全部打包在temp.tar.gz这个压缩包里
tar -zcvf temp.tar.gz aaa.cfg info 公共/

#把temp.tar.gz 解压缩到/temp
tar -zxvf temp.tar.gz -C /temp

磁盘管理

tree
#树状列举
yum install tree
du查看所有

du会包括所有的子目录

du 目录
-h显示字节数
-a包括文件
-c显示总和
-s只显示总和
-max-depth=n显示子目录深度为第n层
du -sh 
查看当前文件夹的总大小
df查看磁盘空间大小
df -hc dxyhbm t
free查看内存
#查看内存字节数
free -h
lsblk列出设备挂载
lsblk
mount/umount挂载与卸载
#挂载
mount 实际位置 挂载点位置
mount /dev/cdrom /mnt

#卸载 实际位置和挂载点随便一个都行
umount /dev/cdrom
磁盘的分区fdisk
#查看分区情况
fdisk -l

#对新增硬盘进行分区操作
fdisk 硬盘设备名

进程管理

前台进程和后台进程,一般后面又个d都是守护进程

d.service就是守护系统进程的服务,比如sshd.service。

查看进程

systemctl start|stop|restart|status 服务名

#查看进程 很有限,只显示用户调用的线程
ps
#查看所有进程 使用less	
ps aux | less
#基本使用
ps aux | grep xxx	查看系统中的所用进程
ps -ef | grep xxx 	查看子夫进程之前的关系
a列出带有终端的所有用户的进程
x列出当前用户的所有进程
u面向用户友好的显示风格
-e列出所有进程
-u列出某个用户关联的所有进程
-f显示完整格式的进程列表
USER用户名
PID用户ID
%CPUCPU占用
%MEM占用内存空间
VSZ占用虚拟内存
CMMAND调用命令
START开始时间
STAT状态:R运行,S睡眠
RSS占用实际内存

STAT:S睡眠,R运行,Z僵尸,T暂停,s有子进程,l多进程,<优先级高,N优先级低

注:如果查看CPU和内存使用-aux,如果看父进程使用-ef

结束进程

kill 进程号|进程名称
kill -9 强迫进程结束
kill all 进程名

查看进程树

理清楚父子关系

pstree
#有pid
pstree -p 

top实时监控线程

top
#按cpu排序
shift p
#监测某个进程
top -p 线程号
#不显示僵尸进程和闲置进程
top -i
#踢掉线程
k

网络连接和Ip信息

Ping
netstat

显示网络状态和端口占用信息

基本语法

#查看该进程网络信息
netstat -anp|grep 端口号

#查看网络端口号占用情况
netstat -nlp|grep 端口号
-a显示所有正在监听和为监听套接字
-a拒绝监视别名,能显示数字的全部转化成数字
-l列出在监听的服务状态
-p标识显示哪个进程在调用

crontab定时任务

其守护进程为crond,为自启动

crontab -e -l -r
-e编辑crontab定时任务
-l查询crontab任务
-r删除当前用户所有的crontab任务

在这里插入图片描述

软件的安装

rpm

#查看已经按照的文件
rpm -qa
#查看火狐
rpm -qa | grep firefox
#带详细信息
rpm -qi firefox

#卸载
rpm -e rpm软件包
#不考虑依赖直接卸载
rpm -e --nodeps 软件包

#按照
rpm -i 
rpm --nodeps 
rpm -qa查看全部
rpm -qi查看详细信息
rpm -e --nodes强制卸载
rpm -i --nodes强制按照
rpm -ivh rpm包显示进度条按照

yum直接下载全部依赖

就是一键化按照

yum -y install|update|remove|check-update|list|clean|delist
  • -y是全部回答为yes
install安装
update更新
check-update检查可以更新
remove删除
list列出信息
delist显示依赖关系
clean清楚过期缓存

可以去修改国外镜像,因为国外下载比较慢

/etc/yum.repos.d/CentOS-base.repo

shell脚本

开头格式

一帮对于shell脚本都是以**#!/bin/bash**开始

sh执行脚本

sh 路劲文件

#也可以把文件改为可以执行,要使用相对路劲
./路劲文件

#source
source 路劲文件

#.
. 路劲文件

`
crontab -e -l -r


| -e   | 编辑crontab定时任务           |
| ---- | ----------------------------- |
| -l   | 查询crontab任务               |
| -r   | 删除当前用户所有的crontab任务 |

[外链图片转存中...(img-8zE4AXxL-1660996285396)]





## 软件的安装

### rpm

```cmd
#查看已经按照的文件
rpm -qa
#查看火狐
rpm -qa | grep firefox
#带详细信息
rpm -qi firefox

#卸载
rpm -e rpm软件包
#不考虑依赖直接卸载
rpm -e --nodeps 软件包

#按照
rpm -i 
rpm --nodeps 
rpm -qa查看全部
rpm -qi查看详细信息
rpm -e --nodes强制卸载
rpm -i --nodes强制按照
rpm -ivh rpm包显示进度条按照

yum直接下载全部依赖

就是一键化按照

yum -y install|update|remove|check-update|list|clean|delist
  • -y是全部回答为yes
install安装
update更新
check-update检查可以更新
remove删除
list列出信息
delist显示依赖关系
clean清楚过期缓存

可以去修改国外镜像,因为国外下载比较慢

/etc/yum.repos.d/CentOS-base.repo

shell脚本

开头格式

一帮对于shell脚本都是以**#!/bin/bash**开始

sh执行脚本

sh 路劲文件

#也可以把文件改为可以执行,要使用相对路劲
./路劲文件

#source
source 路劲文件

#.
. 路劲文件
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值