Linux note1

本文介绍了Linux操作系统的基础知识,包括常见的Linux发行版,如CentOS和Ubuntu,以及Linux命令的使用,如cd、ls、mkdir等。还提到了文件系统的管理,如文件和目录的操作,以及网络配置和IP地址的查看。此外,文章还涵盖了进程管理、文件查找、数据传输和数据库操作的相关内容。
摘要由CSDN通过智能技术生成

常见操作系统:

  • Windows 不开源免费 过于界面化和图像化 内存损耗比较大 无法做服务器,因为开机时间过长会变得卡顿
  • MACOS
  • Linux
    开源 免费 安全
    用来放数据和文件 (一切皆文件) 无界面化
  • Unix
  • DOS
    Windows的前身 就是cmd那个窗口

项目上的服务器基本上是Linux系统,稳定
服务器是长时间的不关机
Linux用命令操作

Linux:CentOS, Ubantu, red hat(not free)
以上是对Linux的二次开发

私网IP
公网IP
弹性公网IP
带宽 限制传输数据的速度
环境镜像 将环境安装好,copy给用户

传输文件 FTP
家目录/根目录
挂载盘

Linux命令:

  1. cd

切换目录 change directory + 绝对路径/相对路径(看路径是不是带有根目录)
绝对路径:从根目录开始一直到我希望到的那个文件或者文件夹
根目录自身就是绝对路径
cd ~家目录
cd / 根目录
在这里插入图片描述

  1. pwd print work directory

显示当前所在路径 (不用也可以,因为命令前本来就会显示当前路径)

  1. “cd …” (两个点,不知道为啥展示出来就是三个点)

返回上一级

  1. cd -

返回上一个路径(上一次) 中间有一个空格
. 代表当前路径
…代表上一级路径 父目录 (同样是两个点)

  1. ls

列出当前路径下的所有文件名
文件有不同的颜色 颜色的含义?
白色:代表普通文件,可以编辑,不能运行,不能cd
天蓝色:代表目录(文件夹) 可以cd 进去看一下 比如后面的home这些
蓝绿色:软链接 每个文件都有硬链接 而不一定有软链接,类似Windows的快捷方式,软链接里面存放的就是其指向的硬链接的名字,比如下图中bin ->usr/bin,bin中存放的就是“usr/bin”的路径,bin占了七个字节,恰好是指向的路径的名字的长度。
绿色:可执行文件 具有可执行的权限 ,那么就是可执行文件
红色:压缩文件
tmp:临时文件
在这里插入图片描述

在这里插入图片描述

  1. ls -l

查看文件的详细信息 也可以简写成 ll (两个l)
yum install tree(下载tree命令) 下载内容的方式
最好不要在根目录下面使用tree,如果用了之后,可以使用以下命令进行终止。
Ctrl +C
Ctrl +Z

每行代表的含义:
在这里插入图片描述
每个文件的第一位代表文件的属性
“-”代表普通文件
l 代表软链接
d 代表目录

后面代表权限


执行
在这里插入图片描述
用户组可能包括多个用户

文件大小 默认是byte 字节
一个目录默认是4096B,预存一些空间
创建时间 修改时间
文件名

数据导出
原因:跨库处理

  1. ls -a

显示所有文件 包括隐藏文件
所有的隐藏文件必须以.开头

  1. mkdir

创建目录

mkdir sr

mkdir后面可以跟多个目录

9.递归创建目录

mkdir -p aa/bb/cc

不是必要的时候不要带双引号
只能删除空目录

  1. rmdir

删除目录

  1. rmdir -p

递归删除

rmdir -p aa/bb/cc

删除顺序,首先删掉cc(cc是空的时候才可以),然后bb就为空的目录,删掉bb,然后aa为空的目录,删掉aa,如果这些目录里面有文件,则不能删除

Linux下操作注意路径

Windows下配置环境变量
设置>系统>关于>高级系统设置>环境变量

  1. touch

创建普通文件 一种比较笨的方式 是一个空文件 工作中很少用touch

  1. rm

    删除普通文件
    rm -r = rmdir 删除目录 空目录
    rm -f 强制删除
    rm -rf 强制删除目录
    rm -i 询问删除
    rm -irf 也会强制删除,f的优先级最高 并且不会询问
    在这里插入图片描述
    以下代码不要在Linux系统尝试(离职小妙招)
    shutdown
    reboot
    rm -rf/*

Linux所有命令不允许大写 因为命令存储的形式就是小写的
命令也是文件 是可执行文件 一旦是可执行文件 那么他就是命令
这些命令都存在bin下面
在这里插入图片描述
vi/vim 进入编辑模式 还可以创建文件
vim用法
如果有就编辑,如果文件不存在,那么就会创建文件

编辑过程中
首先按 I 进行插入或者编辑
i 切换到输入模式,以输入字符。
x 删除当前光标所在处的字符。
: 切换到底线命令模式,以在最底一行输入命令。
ESC,退出输入模式,切换到命令模式
q 退出程序
w 保存文件

set nu 显示行号 set nonu 不显示行号
数字G 跳到对应的行
ndd 删除后面n行
u 撤回操作
wq 保存并退出

14.cat
查看文件 会从文件的最后开始显示 在实际项目中并不常用 因为会显示所有内容,更多的情况下是只查看几行
(以下是比较常用的查看文件的方式)
head -n +文件名 查看文件的前n行
tail -n +文件名 查看文件的后n行
more 按百分比查看
less 翻页查看 不会显示百分比

sqlplus
oracel 服务
如果将服务关掉,那么就无法链接(服务端 客户端)
看一下如何在Linux以及Windows上面如何安装数据库以及链接数据库
为什么要使用Navicat或者sqlplus 这些工具
一是写代码有提示 比较方便
二是容易操作 有一定的界面化
在这里插入图片描述
echo 打印
所有的脚本语言都会有打印
比如python 的print()
“>/>> ”重定向符
echo ABC >a.txt
将ABC会写入a.txt里面
echo cde >a.txt 这样会覆盖之前的ABC内容
echo cde >>a.txt 会在文件后面追加
如果不存在这个文件则会自动创建

变量 名+值
取值 +$
在这里插入图片描述
let 用法
在这里插入图片描述
在这里插入图片描述
复制
cat ls.txt > ls2.txt
cp 复制文件
cp 原文件 目标文件 只能复制文件 不能复制目录
cp -r 递归复制 或者复制目录
文件不允许重复名字
但是不同路径下不算重名

mv 移动文件的位置 mv 要移动的文件 移动的位置
如果在不同的路径下相当于 剪切
如果在相同的路径下相当于 重命名
也可以既改变路径又重命名
在这里插入图片描述
去重
1、删除表内的重复数据 只留下一条
2、只展示一条数据 表内的数据不变 比如distinct (是最慢的)
group by 是最快的(不删数据的情况)
rowid 删除数据是最快的 rowid相当于是行地址,是索引最快的

文件处理
sort 排序
uniq 去重

kettle去重复记录 需要先进行排序再进行去重 因为他的原理是两者进行比较的
哈希去重 不需排序就可以去重 原理是针对每个value生成一个哈希值,value相关那么哈希值也是相同的,比较哈希值可以看到是否有重复值

| 管道符 把上一个命令执行的结果,当做下一个执行命令的输入
sort m.txt | uniq 这样可以同时执行两个命令 (将排序好的结果进行去重)
| xargs
单层的管道符会将结果整体返回
[root@iZ8vbgw05auetj737q3v9rZ home]# ls *.txt | rm -rf
他会将所有的TXT文件返回给后面那个删除命令
结果belike:
rm -rf l1.txt ls1.txt ls2.txt ls3.txt ls.txt w1.txt w.txt
命令后面是一个整体,但是并没有这样的文件 所以不会做任何执行
如果加上 xargs ,那么就是将结果一行一行地传给后面的命令

建很多文件的情况
将文件的名字保存在一个文档之后,然后将文件名一行一行地传给touch命令
cat a.txt | xargs touch

国产数据库
以下三中方式的结果是一样的
count(主键) 最快
count(1) 次之 count1 相当于一个伪列 这个列里面全部是1
count(*) 最慢

[root@iZ8vbgw05auetj737q3v9rZ yx]# wc -l a.txt

返回文件的行数 l表示line
一个数字是两个字节
一个字母是一个字节
一个汉字是四个字节

字符所占字节取决于字符集

varchar2() 后面括号里面是字节 汉字占两个字节,字母占一个字节
nvarchar2() 后面括号里面是字符的数量,不管中文还是英文都占两个字节,所以没必要规定字节
varchar
length()查看字符串的长度
lengthb()查看字节的长度

不同的字符集所占字节不同
utf-8 一个数据块存放8bit
utf-16 一个数据块存放16bit
支持中文的字符集 utf -8 与GBK
1Byte = 8bit

wc -l 返回文件的行数
wc -w 返回文件的字符串的个数
wc -c 返回文件的字节数

[root@iZ8vbgw05auetj737q3v9rZ yx]# date
Mon Feb 27 17:26:53 CST 2023
[root@iZ8vbgw05auetj737q3v9rZ yx]# date +%y-%m-%d
23-02-27
日期以及格式化
大写的Y表示四位数的年,小写的y表示两位数的年

date -d “1 day ago” +%Y%m%d
date -d "1 day " +%Y%m%d

[root@iZ8vbgw05auetj737q3v9rZ yx]# date -d "1 day ago" +%Y%m%d
20230226
[root@iZ8vbgw05auetj737q3v9rZ yx]# date -d "1 day " +%Y%m%d
20230228
加一天或者减一天

cal显示本月的日历

[root@iZ8vbgw05auetj737q3v9rZ yx]# cal
    February 2023   
Su Mo Tu We Th Fr Sa
          1  2  3  4
 5  6  7  8  9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28

ifconfig 查看ip地址

[root@iZ8vbgw05auetj737q3v9rZ ~]# ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 172.29.242.160  netmask 255.255.240.0  broadcast 172.29.255.255
        inet6 fe80::216:3eff:fe1b:6486  prefixlen 64  scopeid 0x20<link>
        ether 00:16:3e:1b:64:86  txqueuelen 1000  (Ethernet)
        RX packets 179210  bytes 22668809 (21.6 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 233601  bytes 66590726 (63.5 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

ps -ef 查看进程

[root@iZ8vbgw05auetj737q3v9rZ ~]# ps -ef
UID        PID  PPID  C STIME TTY          TIME CMD
root         1     0  0 14:53 ?        00:00:00 /usr/lib/systemd/systemd --switch
root         2     0  0 14:53 ?        00:00:00 [kthreadd]
root         4     2  0 14:53 ?        00:00:00 [kworker/0:0H]
root         5     2  0 14:53 ?        00:00:00 [kworker/u16:0]
root         6     2  0 14:53 ?        00:00:00 [ksoftirqd/0]

kill -9 uid 终止某个进程
top 显示cpu占用率排名靠前的进程 按q直接退出

如果在Linux不小心按了if ,可以使用Ctrl +C退出

find 查找文件
find -name +文件名
按照文件名字查找文件

[root@iZ8vbgw05auetj737q3v9rZ yx]# find -name "b.txt"
./b.txt
[root@iZ8vbgw05auetj737q3v9rZ yx]# cd ../..
[root@iZ8vbgw05auetj737q3v9rZ /]# cd home
[root@iZ8vbgw05auetj737q3v9rZ home]# find -name "b.txt"
./b.txt
./yx/b.txt
[root@iZ8vbgw05auetj737q3v9rZ home]# find -name "*.txt"
./ls3.txt
./c.txt
./ls2.txt
./fjh/ls2.txt
./fjh/1.txt
./fjh/ls.txt
./zyl/y.txt
./zyl/1.txt
./zyl/2.txt
./zyl/a.txt
./zyl/3.txt
./1.txt
./b.txt
./w.txt
./yx/1.txt
./yx/2.txt
./yx/b.txt
./yx/a.txt
./yx/3.txt
./a.txt
./ls1.txt
./l1.txt
./w1.txt
./ls.txt
./d.txt

find -type 按照文件类型查找
find -type d  目录
find -type f 普通文件
find -type l 软链接

find -size 1M (N[bcwkMG] )
按照大小查找

LINUX 三剑客:grep,sed,awk

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值