鸟哥的linux私房菜一书

2023-10-30

第0章 计算机概论

  1. 计算机的容量单位
    容量单位
  2. 速度单位
    CPU的指令周期使用MHz或者GHz为单位,Hz就是秒分之一。网络传输使用的bit为单位,Mbps-Mbits per second-就是每秒多少Mbit
    cpu是中央处理器,有控制器和运算器组成。整个计算机系统中的重要组成部分。
    主频:cpu运算时的工作频率(1秒内发生的同步脉冲数),单位Hz
    外频:系统总线的工作频率,cpu与外部(主板芯片组)交换数据、指令的工作时钟频率
    倍频:是cpu外频与主频相差的倍数。
    关系:主频=外频x倍频
    高速缓存:高速交换的存储器。一级缓存(L1)、二级、三级缓存

第一章linux

  1. linux是什么
    linux是开源的具有可移植性的操作系统。
    支持多用户、多任务、多线程、多cpu的操作系统、支持多种硬件平台
  2. 基本思想
    第一:linux系统里面一切都是文件(包括命令,硬件,软件设备,操作系统,进程等),第二:每个文件都有确定的用途
    Linux下一切皆文件的解释以及利弊在这里插入图片描述

第二章 主机规划与磁盘分区

  1. 目录树结构

整个目录树架构最重要的就是根目录 / 表示
在这里插入图片描述
2. 文件系统与目录树的关系(挂载)

含义:挂载就是利用一个目录当成进入点,将磁盘分区槽的数据放置在该目录下。进入该目录就可以读取该分区槽的数据。 这个进入点目录称为挂载点。
linux的根目录必须要挂载在某个分区槽下。其他目录根据用户需求挂载到不同的分区槽下。

第五章 Linux文件权限与目录配置在这里插入图片描述

在这里插入图片描述

  1. List item

第一个字符表示这个东西是文件、目录还是链接文件等
d 就是目录
- 就是文件
l 就是连接文档(类似windows下面的快捷方式)
b 表示文件里面是可供存储的接口设备(区块设备文档,就是一些存储数据)
c 表示为装置文件里面的串行端口设备 ,键盘 鼠标等

  1. linux文件权限的重要性
    a、系统保护功能(无论文件权限如何,root都可以进行操作)
    b、团队开发软件或者数据共享的功能

  2. 改变文件属性和权限
    命令:
    chgrp :改变文件所属群组 格式:chgrp [-r] filename/dirname
    chown:改变文件拥有者 格式:chown[-r] user filename
    chown [-r] user:group filename
    chmod :改变文件的权限
    r:4 w:2 x:1
    格式:chmod 数字 filename
    格式: chmod u[g],[o],[a] +、-、= r[w],[x]
    在这里插入图片描述a就是all 所有人,比如牛知道test这个文件的权限 ,但是想让所有人都可以执行该文件,命令为:chmod a+x test
    =的用法:test文件的所有者可读写执行 所有群组只可以读 其他人没有任何权限,命令为:chmod u=rwx, g=r test

总结

useradd 增加用户:eg:useradd test
userdel 删除用户 :eg:userdel test
usermod 修改用户信息 最常用的是修改用户的用户组 usermod -G groupname username
groupdel 删除群组 groupdel groupname
groumod 修改群组信息 最常用的是修改群组名称 groupmod -n newgroupname oldgroupname
  1. 文件权限对于文件和目录的不同意义
    在这里插入图片描述一句话概括就是:文件的rwx是针对文件内容来的,目录的rwx是针对目录里面的文件而言,比如:目录的r 表示可以读取该目录下面的文件名,w表示可以修改该目录下面的文件名,x 表示可以进入该目录

  2. linux的FHS(Filesysytem Hierarchy Standard)标准(简单概括)

作用:规范每个目录下应该放置什么样的数据。
主要有四种交互形态:
在这里插入图片描述
FHS:主要定义出了一下三层目录架构
/(root,根目录):与开机系统有关
/usr:与软件安装/执行有关
/var:与系统运作过程有关

  1. 根目录的意义和内容
    所有的目录由根目录衍生出来,又是开机/还原/系统修复等动作有关
    因此:根目录所在的分区槽,应该越小越好,程序安装的软件路径也不能在根目录的分区槽内
    通常有以下目录:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

第六章 linux文件与目录管理

  1. cp命令详解
    cp -s 建立连接
    cp -u 比较两个文件是否有差异,(也可以比较两个文件 的新旧)
    cp -u test2 ./test/test3 如果test2比test3里面的文件内容多就覆盖test3 -------这个命令常用来备份
    复制连接文档,直接cp 是复制的源文件, cp -d filename 才是复制 的连接文档
    复制多个文件的命令: cp filename1 filename2 ./dirname

  2. 查看文件内容
    在这里插入图片描述
    cat -b(-n) filename 也可以查看文件内容加行号

查看help可以知道,-b 空白行不标行号 -n 显示全部行号

  1. more less命令
    在这里插入图片描述

在这里插入图片描述

  1. 文档截取内容 head tail
    head就是显示前面几行 默认十行,格式:head -n number
    filename (n就是行数)
    eg:head -n 20 filename 就是显示前面20行

如果只留最后几行不打印,前面的都打印,格式:head -n -number filename
eg:留最后100行不打印,前面的都打印, head -n -100 filename

tail命令就是相反的 比如:tail -n 20 filename 就是打印这个文件的最后20行
那一个文件有200行,只打印最后100行,格式:tail -n +100 filename

  1. umask 文件预设权限
    umask 查看文件预设权限,默认是0022,数字的含义是拿掉数字对应的权限,022的意思就是拿掉组和其他所有者的w权限。在此文件预设权限下,创建文件所有者和组是没有执行权限的,因为文件是记录数据,创建目录的权限就是,drwxr-xr-x
  2. linux下的三种时间
    而在Linux下,一个文件也有三种时间,分别是:访问时间(Access time)、修改时间(Modify time)、状态时间(Change time)

那么可以知道,在linux中是文件是没有创建时间的,只是如果刚刚创建一个文件,毋庸置疑它的三个时间是都等于创建时间的,就像刚才创建的test文件,我们看到它的三个时间是相等的。那么在linux上这三个时间分别代表着什么,随着什么而改变:

修改时间:文件的内容被最后一次修改的时间,我们经常用的ls -l命令显示出来的文件时间就是这个时间,当用vim对文件进行编辑之后保存,它的mtime就会相应的改变;

访问时间:对文件进行一次读操作,它的访问时间就会改变。例如像:cat、more等操作,但是像之前的state还有ls命令对atime是不会有影响的;

状态时间:当文件的状态被改变的时候,状态时间就会随之改变,例如当使用chmod、chown等改变文件属性的操作是会改变文件的ctime的。
查看一个文件或者目录三种时间的当前时间命令 stat filename

  1. find 与时间相关的命令
    在这里插入图片描述数字0 表示一天之内更改时间的文件
    在这里插入图片描述
  2. 文件特殊权限 SUID SGID SBIT
    SUID:
    在这里插入图片描述

在这里插入图片描述
其实就是其他所有者会暂时获取该文件所有的权限,仅仅是在执行程序的过程中
SUID对目录无效
GID:
在这里插入图片描述
在这里插入图片描述
SBIT
在这里插入图片描述

在这里插入图片描述
就是说在这里插入图片描述
如果该目录有t这个权限,即便你用root把该目录下的文件设置为777的权限,其他人也不能够删除该目录下的任何文件,只能目录所有者或者root才能删
SBIT不能用在文件上
不管是SUID SGID SBIT都必须具备X权限,只不过SBIT多了w权限

  1. 如何设置SUID SGID SBIT 权限
    在这里插入图片描述

设置SUID:chmod 4766 test
在这里插入图片描述设置SGID:
文件:chmod 2676 test
在这里插入图片描述目录:chmod 2676 dirname
在这里插入图片描述
设置SBIT权限:
chmod 1766 dirname
在这里插入图片描述
还有一种就是u+s g+s o+t 也可以设置权限

PATH环境变量的意义
指定执行文件的时候,指令搜寻的指令路径

umask的用处和优点
在这里插入图片描述

第七章linxu磁盘与文件系统管理

在这里插入图片描述在这里插入图片描述

  1. 文件系统的运作
    与操作系统的文件数据有关,操作系统除了文件的实际内容还有文件的属性等。文件系统就将这两部分的数据放在不同的区块中,权限和属性放在inode,文件的实际数据放在data block 区块中,还有一个超级区块记录文件系统的整体信息,包括inode block 的总量 使用量 剩余量等
    在这里插入图片描述

  2. 索引式文件系统
    因为一个文件占用一个inode,一个inode里面会记录该文件的block号码,所以找到该文件的inode就可以找到该文件的实际数据
    这种文件存储方法就叫索引式文件系统

  3. linux的Ext2文件系统
    Ext2一开始就将所有的inode和block规划好了,除非格式化 否则就保持不变
    为方便管理有多个区块群组,每个区块群组有各自的inode/block/superblock系统

在这里插入图片描述

  1. data block(资料区块)
    用来放文件内容的地方。
    Ext2 只支持三种类型的block ,1K 2K 4K,每个类型支持的最大磁盘容量和最大单一文件容量如下
    在这里插入图片描述这里的block 大小为1k 最大单一文件限制为16GB 不是说一个block里面支持最大单一文件限制为16GB 而是说使用1k block的EXT2文件系统支持的最大单一文件为16G,该文件系统里面的每个Block可以存放的最大文件是1k
    在这里插入图片描述
    在这里插入图片描述
    5.inode table(inode表格)
    在这里插入图片描述
    6.挂载点的意义
    在这里插入图片描述
    7.目录与磁盘的容量
    df:列出文件系统整体磁盘使用量
    du:评估文件系统的磁盘使用量(也就是目录所占容量)

第七章没有认真看 以后回过头来看

第八章 文件与文件系统的打包 压缩备份

这一章也需要后面来阅读

第九章vim程序编辑器

vim三种模式的关系:
在这里插入图片描述
在这里插入图片描述
菜鸟教程中的:
在这里插入图片描述

  1. vim中的区块选择
    在这里插入图片描述
  2. vim多文件编辑
    在这里插入图片描述
    可以使用一个vim 命令打开多个文件,eg:vim test.txt test_vim.txt

使用files查看开启的所有文件
在这里插入图片描述

  1. 多窗口功能

同一个文件(不同文件)在不同窗口打开
在这里插入图片描述
使用ctrl+w+箭头进行窗口切换
在这里插入图片描述

第十章 shell

在这里插入图片描述

  1. 为什么Linux使用bash
    a、命令编修能力
    指令记忆能力
    在这里插入图片描述

b、命令与文件补全功能(tab键)
c、命令别名设置功能
eg:ailas lm=“ls -al”;
d、程序化脚本
在这里插入图片描述

  1. shell的变量功能
    在这里插入图片描述

在这里插入图片描述

  1. 取用变量
    echo取用变量,eg:echo $PATH 或者 echo ${PATH}
  2. 设定变量
    在这里插入图片描述

在bash中,没有设定变量的内容,直接echo $myname 显示为空,在其他shel中会显示错误信息

  1. 变量的设定规则
    以=号连接变量与变量内容
    =号两边不能有空格 eg; myname= tom; 或者myname= to m ;都是错的
    变量名以英文字母和数字组成,不能以数字开头;
    在这里插入图片描述

就是同时显示多个名字用\分割就是同时显示多个名字用\分割多个名字也可以用\分割
在这里插入图片描述
在这里插入图片描述

  1. bash的键盘输入指令 read

在这里插入图片描述
read -p 输入提示符 -t 输入等待时间
2. declare 宣告变量的类型
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

  1. 数组
    定义:var[index]=content; var[1]=“tom”,var[2]=“jack” 显示:echo ${var[1]}
    在这里插入图片描述

  2. ulimit 限制用户使用某些资源
    在这里插入图片描述

  3. 变量内容的取代,删除、替换
    从最前面开始 删除:echo ${variable#/variable}
    在这里插入图片描述
    echo ${variable##/variable} 删除文字中最长的一个,比如路径
    在这里插入图片描述
    也就是从该路径前面的依次删除

从最后面开始删除:
echo ${variable%/variable} 删除文字中最短的一个,比如路径
echo ${variable%%/variable} 删除文字中最长的一个,比如路径
在这里插入图片描述总结
在这里插入图片描述

在这里插入图片描述
6.变量的替换
如果该字符串不存在就是
在这里插入图片描述
如果为空字符串上面就不能替换,要替换就是
在这里插入图片描述
7.指令的执行顺序
在这里插入图片描述
8.覆盖字符> 追加字符>> 和< <<
个人理解< 就是cp
<< 可以指定在某个字符时结束输入
在这里插入图片描述
在end输入时,就结束该次用户输入
cat > catfile 是覆盖catfile中的内容,>>是将输入的字符追加到文件末尾
在这里插入图片描述
eg:对文件追加内容,输入end时结束输入
在这里插入图片描述
输入end时,end是不会记录在文件中的
9.指令回传值( ? = 0 表示指令执行正确, ?=0表示指令执行正确, ?=0表示指令执行正确,?!=0表示指令执行错误) 与&& 或||
cmd1 && cmd2 若cmd1运行完毕且正确运行($?=0),则开始运行cmd2;

                               若cmd1运行完毕且为错误($?!=0),则cmd2不运行;

 cmd1 ||  cmd2     若cmd1进行完毕且正确运行($?=0),则cmd2不运行;               

                                若cmd1运行完毕且为错误($?!=0),则开始运行cmd2;
                             ****与JAVA不同的是,或,为或条件时,如果前一个命令正确后一个命令就不执行,前一个命令错误后一个命令就执行****
**与还是一样的两者为真就为真,或不一样了,或就是前者为真后者就不执行,前者为假则执行后者**

在这里插入图片描述还有分号 ; 在两个命令之间输入; 不考虑命令1的错误与否直接执行命令2
10.管线命令(|)
经过多个命令才能得到想要的内容就需要使用管线命令
用途:管在这里插入图片描述

在这里插入图片描述11.cut
截取:
在这里插入图片描述

12.wc
查看一个文件有多少行,多少字数。多少字符数
在这里插入图片描述
表示该文件有3行,共8个字,38个字符

十一章正规表示法和文件格式化处理

  1. grep命令
    grep 指令用于查找内容包含指定的范本样式的文件,如果发现某文件的内容符合所指定的范本样式,预设 grep 指令会把含有范本样式的那一列显示出来。若不指定任何文件名称,或是所给予的文件名为 -,则 grep 指令会从标准输入设备读取数据

grep解释
在某个文件中查找某个内容:grep test filename
在某个文件夹中查找某个内容: grep -r ‘test’ /目录名
在这里插入图片描述
grep中的[] 搜寻集合字符
在这里插入图片描述

任意一个字符和通配符
任意一个字符是. 通配符是*(通配符表示从一到无穷)
eg:在文件中查找good:grep -n ‘g…d’ filename
大概看了一下正则,后面有时间再回来看

第十二章Shell scripts(程序化脚本)

在这里插入图片描述

  1. 加减乘除取余数 + - * / %
    第一种:echo(var*var)
    第二种:declar -i total=(var+var) echo$total
  2. bc
    bash仅支持整数的运算。小数的运算要加bc
    echo “1.2*1.3” | bc
  3. 条件判断式if then fi
    if[];then fi
    在这里插入图片描述
    在这里插入图片描述
    多重条件判断式

if[判断式];then elif[判断式];then else fi;
在这里插入图片描述

十六章进程管理和SElinux

在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

鸟哥的linux私房菜一书 的相关文章

  • OS X 对 /usr/local/lib 的权限被拒绝

    我正在寻找有关权限问题的任何建议 直觉 线索 答案 自从我切换到新的 Macbook Pro 以来 这个问题一直困扰着我 这就是困境 某些程序在安装期间复制 usr local lib 下的库 并且在运行这些程序时出现崩溃 我认为这与此文件
  • C/C++ with GCC:静态地将资源文件添加到可执行文件/库

    有人知道如何使用 GCC 将任何资源文件静态编译为可执行文件或共享库文件吗 例如 我想添加永远不会改变的图像文件 如果它们改变了 我无论如何都必须替换该文件 并且不希望它们位于文件系统中 如果这是可能的 我认为这是因为 Visual C f
  • BlueZ D-Bus C,应用 BLE

    我正在尝试编写一个应用程序来搜索附近的蓝牙设备并与它们通信 我的应用程序将用 C 语言编写 并打算在 Linux 下工作 是否有通过 C 中的 D Bus 使用 BlueZ 的教程或示例 此应用程序的目的是从 BLE 中的文件发送数据 你能
  • 在 shell 脚本中将脚本目录更改为用户的 homedir

    在我的 bash 脚本中 我需要将当前目录更改为用户的主目录 如果我想更改为用户的foo主目录 从命令行我可以执行以下操作 cd foo 效果很好 但是当我从script它告诉我 bar sh line 4 cd foo No such f
  • 如何使用 shell 脚本解压所有 .tar.gz?

    我试过这个 DIR path tar gz if ls A DIR 2 gt dev null then echo not gz else tar zxvf path tar gz C path tar fi 如果该文件夹有一个 tar 则
  • 在linux中使用setcap [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 要将 cap net raw 功能添加到 例如 bin ping 我们使用以下命令 setcap cap net raw ep bin ping ep
  • 如何从powershell获取主机名?

    我如何获得hostname https stackoverflow com q 42014215 262852 for dur来自 powershell PS home thufir powershell gt PS home thufir
  • 终止 ssh 会话会终止正在运行的进程

    我正在使用 ssh 连接到我的 ubuntu 服务器 我使用命令启动编码程序 然而 似乎当我的 ssh 会话关闭时 因为我在进入睡眠状态的笔记本电脑上启动它 有没有办法避免这种情况 当然 阻止我的笔记本电脑休眠并不是永久的解决方案 运行你的
  • 查找当前打开的文件句柄数(不是 lsof )

    在 NIX系统上 有没有办法找出当前正在运行的进程中有多少个打开的文件句柄 我正在从正在运行的进程中寻找在 C 中使用的 API 或公式 在某些系统上 见下文 您可以在 proc pid fd 中对它们进行计数 如果不属于其中之一 请参阅下
  • 并发 I/O - 缓冲区损坏、块设备驱动程序

    我开发块分层设备驱动程序 所以 我拦截WRITE请求并加密数据 并解密数据end bio 例行程序 在处理和READ要求 所以在单流中一切正常 但是 如果尝试同时从两个或更多进程执行 I O 我会遇到缓冲区内容损坏的情况 我没有任何本地存储
  • 使用 xargs 时如何获取退出代码(并行)

    我制作了一个用于启动并行 rsync 进程的脚本 bin bash LIST 1 DEST DIR 2 RSYNC OPTS 3 echo rsyncing From SRC DIR To DEST DIR RSYNC OPTS RSYNC
  • 在Linux中执行jar文件[关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我创建了一个可执行的 Java jar 文件 也就是说 我将 java 程序正确打包到 jar 文件中 包括 META INF MANIFEST 文件
  • 如何从 swagger 文档生成静态 html 文件?

    我创建了一个 Swagger 文档yaml文件位于 api swagger swagger yaml 现在我想分享一个静态 HTML 文档及其定义 但它已在招摇项目 https github com swagger api swagger
  • 导出多个 LD_LIBRARY_PATH 的正确方法

    对于linux的使用 我是一个新手 根据有关我的项目的指南 我必须多次导出 LD LIBRARY PATH 并且我不确定是否不覆盖它们 Cupti Tensorflow CUDAit export LD LIBRARY PATH LD LI
  • 在 Bash 中使用“$RANDOM”生成随机字符串

    我正在尝试使用 Bash 变量 RANDOM创建一个由包含整数和字母数字的变量中的 8 个字符组成的随机字符串 例如 var abcd1234ABCD 我怎样才能做到这一点 使用参数扩展 chars 是可能的字符数 是模运算符 chars
  • 如何在 .zip 文件中使用 grep

    有 3 个文件 a csv b csv c csv 压缩为 abh zip 现在可以在 abh zip 上执行 grep 命令 是否有任何通配符 仅对里面的 c csv 文件运行 grep压缩 如果你有zipgrep 据我所知 它是随zip
  • 如何在Linux中获取带有图标的活动应用程序

    我想找到一种方法获取活动应用程序的列表及其名称和图标 实际上 我正在使用此命令来获取所有活动进程 wmctrl lp 示例输出 0x03800002 0 3293 user notebook XdndCollectionWindowImp
  • /proc/kmsg 和 dmsg 有什么区别?

    我们通常这样做cat proc kmsg or dmesg从用户空间查看内核日志 我明白了dmesg是一个循环缓冲区 它从kmsg 但是kmsg也不是循环缓冲区 它们之间有什么区别和联系呢 宽松地说 dmesg 是一个转储 proc kms
  • 使用多个 NIC 广播 UDP 数据包

    我正在 Linux 中为相机控制器构建嵌入式系统 非实时 我在让网络做我想做的事情时遇到问题 该系统有 3 个 NIC 1 个 100base T 和 2 个千兆端口 我将较慢的连接到相机 这就是它支持的全部 而较快的连接是与其他机器的点对
  • 如何在 Linux 上重新实现(或包装)系统调用函数?

    假设我想完全接管 open 系统调用 也许要包装实际的系统调用并执行一些日志记录 一种方法是使用 LD PRELOAD http scaryreasoner wordpress com 2007 11 17 using ld preload

随机推荐

  • Python Tkinter Menu使用教程

    Menu类控件用来实现顶层 下拉 弹出菜单 Patterns Toplevel menus被用来显示在标题栏 root窗口或者其他顶层窗口上 创建一个顶层菜单 创建Menu类的实例 然后使用add方法添加命令或者其他菜单内容 root Tk
  • 30分钟掌握STL系列(二)

    30分钟掌握STL系列 二 迭代器 迭代器提供对一个容器中的对象的访问方法 并且定义了容器中对象的范围 迭代器就如同一个指针 事实上 C 的指针也是一种迭代器 但是 迭代器不仅仅是指针 因此你不能认为他们一定具有地址值 例如 一个数组索引
  • 滴滴前端高频react面试题总结

    当调用 setState的时候 发生了什么操作 当调用 setState时 React做的第一件事是将传递给setState的对象合并到组件的当前状态 这将启动一个称为和解 reconciliation 的过程 和解的最终目标是 根据这个新
  • iOS开发——在 OC 项目中使用基于 Swift 的 CocoaPods 库

    在 OC 项目中使用基于 Swift 的 CocoaPods 库 随着 Swift 的流行 各种神奇的库也开始有对应的 Swift 版本了 而其中一些更神奇的库却只有 Swift 版本 正巧接手了一个前人用 Swift 写的项目 里面有一个
  • element中checkbox触发change事件时同时传递状态和自定义参数

    element中checkbox触发change事件时同时传递状态和自定义参数 div div
  • 高质量程序设计指南C++ C 代码规范

    这里只是搬运作者对 匈牙利 命名规则做合理简化之后的命名规则 比较适合于 Windows应用程序的开发 建议1 类型名和函数名均以大写字母开头的单词组合而成 例如 class Node 类名 class LeafNode 类名 void D
  • 打开dll文件时模块加载失败,请确保二进制存储在指定的路径中,或者调试它以检查该二进制或相关的.DLL文件是否有问题

    打开dll文件时模块加载失败 请确保二进制存储在指定的路径中 或者调试它以检查该二进制或相关的 DLL文件是否有问题 打开dll文件时模块加载失败 电脑提示请确保二进制存储在指定的路径中 或者调试它以检查该二进制或相关的 DLL文件是否有问
  • Linux命令-fsync

    对fsync命令只做简单介绍 不做详细原理解释 通过man命令查看fsync 2 函数有以下共识 1 fsync函数是属于系统核心函数 2 调用fsync函数会将修改的数据和文件描述符的属性持久化到存储设备中 3 fsync函数将内核缓存的
  • PyQt+moviepy音视频剪辑实战文章目录

    前往老猿Python博文目录 本专栏为moviepy音视频剪辑合成相关内容介绍的免费专栏 对应的收费专栏为 moviepy音视频开发专栏 一 moviepy基础能力系统介绍 本部分主要以类为单位介绍moviepy相关知识 相关内容主要来自m
  • Linux——gcc和g++的区别和应用

    Windows中我们常用vs来编译编写好的C和C 代码 vs把编辑器 编译器和调试器等工具都集成在这一款工具中 在Linux下我们能用什么工具来编译所编写好的代码呢 其实Linux下这样的工具有很多 但我们只介绍两款常用的工具 它们分别是g
  • C#难点语法讲解之委托---从应用需求开始讲解

    一 委托的定义 委托 Delegate 是存有对某个方法的引用的一种引用类型变量 引用可在运行时被改变 简单解释 变量好控制 方法不好控制 委托可以把方法变成变量 二 例子解释定义 如果我们有一个数组 里面有10个数据 数组就是变量的一种
  • 逻辑架构图、系统架构图、技术架构图

    逻辑架构图 系统架构图和技术架构图是软件系统中常见的三种不同类型的架构图 用于描述系统的不同方面和层次 1 逻辑架构图 Logical Architecture Diagram 逻辑架构图侧重于系统的功能和模块之间的关系 描述了软件系统的逻
  • 前后端分离 单点登录SSO 纯前端实现单点登录SSO

    示例代码地址 GitHub 以前涉及到单点登录 都是用CAS解决的 不过体验不是很好 但是也确确实实实现了单点登录 利用了session会话 后来我到了公司的架构部 部门决定重新定位前端技术路线 我大胆地采用了前后端分离的方式 让前端工程化
  • 关于dataframe中的警告A value is trying to be set on a copy of a slice from a DataFrame问题解决

    在pandas处理dataframe时新增一列数据时发现这里给出警告 但不影响程序的正常运行 这个警告意思是pandas在使用de 列名 赋值时会返回一个试图而不是原始的dataframe 这种情况下对视图进行修改可能无法生效 针对这个问题
  • window10下半自动标注

    前言 我看了一眼我们项目的标签很多不行 得重新标注 想借助一下自动标注或者半自动标注救救一万多近两万张照片 方法1 easyDL智能标注 1 借助百度easyDL进行标注 选择EasyDL图像 gt 物体检测 我是做图像识别所以选择Easy
  • springboot JPA Connection is read-only. Queries leading to data modification are not allowed

    环境 springboot jpa 数据库 阿里云mysql数据库 数据库连接字符串 问题描述 在自己部署的mysql数据库可以正常访问 没有问题 但是切换到阿里mysql数据库上出现JPA Connection is read only
  • RenRen-Fast-Vue 安装

    node版本 npm版本 v10 24 1 6 14 12 下载代码 https gitee com renrenio renren fast vue git 设置代理 npm config set registry http regist
  • 在clion打断点,debug的时候没有按照顺序进行的情况怎么办?该文章可以提供几个思路

    在使用CLion进行调试时 如果断点无法按照预设的位置停止 通常是由于以下原因之一导致的 编译器优化 编译器可能对代码进行了优化 使得某些代码没有实际执行 因此断点无法触发 可以尝试关闭编译器优化选项 如 O2 重新编译代码并运行调试 代码
  • Unity 代码命名规范

    1 类 class 结构 struct 枚举 enum 标签 Attribute 名 静态 私有 保护 公有 单词首字母大写 比如 Main CharacterController 2 接口 interface 名 静态 私有 保护 公有
  • 鸟哥的linux私房菜一书

    第0章 计算机概论 计算机的容量单位 速度单位 CPU的指令周期使用MHz或者GHz为单位 Hz就是秒分之一 网络传输使用的bit为单位 Mbps Mbits per second 就是每秒多少Mbit cpu是中央处理器 有控制器和运算器