Linux基础学习记录

news2025/7/18 8:13:12

LInux学习

文章目录

  • LInux学习
    • 1. Linux快捷键
    • 2. Shell基本命令
      • ”*“,”?“,”[]“:通配符
      • pwd:显示当前目录
      • cd:改变目录
      • ls:列出目录内容
      • cat和more:查看文本文件
        • cat
        • more
      • head和tail:阅读文件的开头和结尾
      • grep:查找文件内容
      • find:查找文件
      • locate:更快速地定位文件
      • whereis:查找特定的程序
      • 用户版本信息查看
        • who
        • whoami
        • uname
      • man:寻求帮助
      • whatis和apropos
        • whatis
        • apropos
    • 3. 文件目录管理
      • Linux文件系统的架构
      • 文件或目录颜色的一般情况
      • mkdir:建立目录
      • touch:建立一个空文件
      • mv:移动和重命名
      • cp:复制文件和目录
      • rmdir和rm:删除目录和文件
    • 4. 软件包管理
      • 简述
      • dpkg:管理.deb软件包
      • rpm:管理RPM软件包
      • APT:高级软件包工具
        • 下载和安装软件包
        • 查询软件包
    • 5. Internet上的LInux资源

1. Linux快捷键

date:显示当前的时间

history:显示历史打过的命令

ctrl+p:向上调用历史命令

ctrl+n:向下调用历史命令

ctrl+b:光标向左移动

ctrl+f:光标向右移动

ctrl+a:光标迅速移动到当前行的头部

ctrl+e:光标移动到行尾

Linux系统中的光标很宽,会盖住一个字符,这个字符前面的字符表示光标前面的字符,被光标盖住的字符称为光标后面的字符。

ctrl+h:删除光标前面的字符

ctrl+d:删除光标后面的字符(被光标覆盖的字符)

ctrl+u:删除光标前面所有的字符

ctrl+l:清除屏幕(相当于clear)

2. Shell基本命令

Shell即命令解释器,从本质上讲,Shell是一个程序,它在用户和操作系统之间提供了一个面向行的可交互接口。用户在命令行中输入命令,运行在后台的Shell吧命令转换成指令代码发送给操作系统。

常用的Shell有Bourne Again Shell(BASH)、TCSH Shell、Z-Shell等。

以下命令均为BASH。

xal1@xal1-virtual-machine:~$

  • xal1:表示用户名
  • @:表示在
  • xal1-virtual-machine:表示在设置虚拟机的时候设置的主机名
  • ~:表示用户主目录。用户主目录是/home下的一个子目录,而不是home目录。
xal1@xal1-virtual-machine:~$ pwd
/home/xal1
  • $:表示命令提示符,也表示当前用户为普通用户。如果提示符为#,则表示当前用户为root用户。

###Tab键:命令补全

1.按一次Tab键:在输入文件名的时候,只需要输入开头几个字符,然后按下Tab键,Shell就会自动把文件名自动补全。

2.按两次Tab键:如果以已键入字符开头的文件不止一个,那么可以连续按两次Tab,Shell会以列表形式给出所有以键入字符开头的文件。

”*“,”?“,”[]“:通配符

“*”:用于匹配文件名中任意长度长度的字符串。

## *.py 即可以列出当前目录下所有的py文件

root@xal1-virtual-machine:/bin# ls *.py
mesa-overlay-control.py

”?“:类似于”*“通配符,但是它只匹配一个字符。

## test? 用于匹配文件名以test开头而后跟一个字符的文件

xal1@xal1-virtual-machine:~/study$ ls test?
test1  test2  test3  testA  testB  testC

”[]“:用于匹配所有出现在方括号内的字符。

也可使用短线”-“来指定一个范围,所有包含在上下界之间的字符都会被匹配,数字和字母都可以。

xal1@xal1-virtual-machine:~/study$ ls test[1A]
test1  testA
xal1@xal1-virtual-machine:~/study$ ls test[1-3]
test1  test2  test3
xal1@xal1-virtual-machine:~/study$ ls test[A-C]
testA  testB  testC

pwd:显示当前目录

pwd命令会显示当前所在的位置,即工作目录。

root@xal1-virtual-machine:/# cd /usr/local/bin/
root@xal1-virtual-machine:/usr/local/bin# pwd
/usr/local/bin

cd:改变目录

$ cd /                          ##进入根目录
$ cd ..                         ##进入当前目录的上一级目录
$ cd bin/						##cd path 表示进入某个目录
$ cd ../..						##直接进入根目录
$ cd 							##回到用户自己的主目录
$ cd ~							##回到用户自己的主目录
$ cd -							##表示在临近的两个目录之间进行切换

tips:在Shell中,“/”表示根目录,“~”表示用户主目录,“…”代表当前目录的上一级目录,“.”表示当前目录。

ls:列出目录内容

## ls	用于当前目录下的所有文件和子目录
xal1@xal1-virtual-machine:/usr/bin$ cd ~
xal1@xal1-virtual-machine:~$ ls
公共的  模板  视频  图片  文档  下载  音乐  桌面  study

## ls /		查看根目录

## 默认情况下,在命令行中,目录显示为蓝色;普通文件显示为白色;可执行文件显示为草绿色;淡蓝色则表示这个文件是一个链接文件。
## ls -F	会在每个目录后加上/,在可执行文件后加*,在链接文件后加@
xal1@xal1-virtual-machine:/usr/bin$ ls -F
'['*                                   mformat@
 aa-enabled*                           migrate-pubring-from-classic-gpg*
 aa-exec*                              mimeopen*
 aconnect*                             mimetype*
 acpi_listen*                          min12xxw*
 add-apt-repository*                   minfo@

## ls -a	用于显示所有的文件
xal1@xal1-virtual-machine:~$ ls -a
.  ..  公共的  模板  视频  图片  文档  下载  音乐  桌面  .bash_history  .bash_logout  .bashrc  .cache  .config  .gnupg  .local  .mozilla  .profile  study  .sudo_as_admin_successful  .thunderbird
## 可以看到很多头部带“.”的文件,在Linux上,这些文件被称作隐含文件,在默认情况下不会显示,除非指定 -a。

## ls -ld   用于查看一个目录的属性
## ls -l	用于查看当前目录下所有文件的属性
xal1@xal1-virtual-machine:/$ cd /etc/fonts/
xal1@xal1-virtual-machine:/etc/fonts$ ls -l
总用量 12
drwxr-xr-x 2 root root 4096 81 00:32 conf.avail
drwxr-xr-x 2 root root 4096 91 15:10 conf.d
-rw-r--r-- 1 root root 2808 46 18:09 fonts.conf
##总共有九个不同的信息栏,从左到右依次是:
    ##文件的权限标志
    ##文件的硬链接个数
    ##文件所有者的用户名
    ##该用户所在的用户组组名
    ##文件的大小
    ##最后一次被修改时的日期(月)
    ##最后一次被修改时的日期(日)
    ##最后一次被修改时的时间
    ##文件名

##在ls命令后面跟上路径名可以查看改子目录中的内容
xal1@xal1-virtual-machine:/$ ls /etc/init.d/
acpid             grub-common        pulseaudio-enable-autospawn
alsa-utils        hwclock.sh         rsync
anacron           irqbalance         rsyslog
apparmor          kerneloops         saned
apport            keyboard-setup.sh  speech-dispatcher
avahi-daemon      kmod               spice-vdagent
bluetooth         network-manager    udev
console-setup.sh  open-vm-tools      ufw
cron              openvpn            unattended-upgrades
cups              plymouth           uuidd
cups-browsed      plymouth-log       whoopsie
dbus              pppd-dns           x11-common
gdm3              procps

cat和more:查看文本文件

cat

cat命令通常用于查看文本文件的内容,后跟文件名作为参数。

cat -n 用于在每一行前面显示行号。

cat命令会一次性将内容全部显示在屏幕上,有时候这会是一个致命的缺陷。

more

more命令可以一页一页的显示文件。

more命令会在最后显示一个百分比,表示已显示的内容占整个文件的比例。

按空格键下翻一页,看Enter键下翻一行,按Q键退出。

head和tail:阅读文件的开头和结尾

可以用-n 来指定显示的行数。

xal1@xal1-virtual-machine:~/study$ head -n 2 day weather
==> day <==
Monday
Tuesday

==> weather <==
rainy
sunny

xal1@xal1-virtual-machine:~/study$ tail -n 2 day weather
==> day <==
Saturday
Sunday

==> weather <==
cloudy
windy

grep:查找文件内容

为了在文件中快速的查找信息,可以使用grep。

例如,在文件day中查找包含un的信息:

xal1@xal1-virtual-machine:~/study$ grep un day
Sunday

grep有两个参数,第一个参数为被搜索的关键词,第二个参数为所搜索的文件。

grep也可以指定多个文件来搜索。

xal1@xal1-virtual-machine:~/study$ grep un day weather 
day:Sunday
weather:sunny

find:查找文件

语法:find [path…] [expression]

xal1@xal1-virtual-machine:/$ find usr/bin/ -name zip -print
usr/bin/zip
  • usr/bin/:一个文件路径,find会深入这个路径的每一个子目录去查找,如果指定的路径是“/”,那么就表示查找整个文件系统
  • -name:指定文件名称,这里是zip
  • -print:表示将结果输出到标准输出(这里指屏幕)
  • find命令会打印出文件的绝对路径

find命令还可以指定文件的类型。在Linux中,包括目录和设备都以文件的形式表现,可以使用-type 来定位特殊的文件类型。

xal1@xal1-virtual-machine:/$ find etc/ -name init.d -type d -print
etc/init.d
find: ‘etc/polkit-1/localauthority’: 权限不够
find: ‘etc/cups/ssl’: 权限不够
find: ‘etc/ssl/private’: 权限不够

-type可选用参数如下表所示:

参数含义
b块设备文件
c字符设备文件
d目录文件
f普通文件
p命令管道
l符号链接

还可以通过指定时间来指导find命令查找文件。

-atime n 用来查找最后一次使用在n天前的文件。

-mtime n 用来查找最后一次修改在n天前的文件。

用+n来表示大于n,-n用来表示小于n。

locate:更快速地定位文件

当你不记得文件名时locate是个不错的选择:

xal1@xal1-virtual-machine:/$ locate *.doc
/snap/gnome-3-34-1804/36/usr/lib/python2.7/pdb.doc

whereis:查找特定的程序

whereis命令用于查找程序文件,并提供这个文件的二进制可执行文件、源代码文件和使用手册页存放的位置。

xal1@xal1-virtual-machine:/$ whereis find
find: /usr/bin/find /usr/share/man/man1/find.1.gz /usr/share/info/find.info-2.gz /usr/share/info/find.info-1.gz /usr/share/info/find.info.gz

可用-b选项让whereis只查找这个程序的二进制文件:

xal1@xal1-virtual-machine:/$ whereis -b  find
find: /usr/bin/find

如果whereis无法找到一个文件,那么将返回一个空字符串。

用户版本信息查看

who

who命令可以查看当前系统中有哪些人登录,以及他们都在哪个工作台上。

xal1@xal1-virtual-machine:/$ who
xal1 :0           2020-09-02 18:09 (:0)

whoami

有时候可能会忘记自己是以什么身份登录到系统,特别当需要以特定身份启动某个程序时,这个命令会很有用。whoami回答“我是谁”的问题。

xal1@xal1-virtual-machine:/$ whoami
xal1

uname

用于显示当前系统的版本信息。

-a 选项会给出当前操作系统的所有有用信息。

-r选项会给出当前操作系统的内核版本信息。

xal1@xal1-virtual-machine:/$ uname -a
Linux xal1-virtual-machine 5.4.0-45-generic #49-Ubuntu SMP Wed Aug 26 13:38:52 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
xal1@xal1-virtual-machine:/$ uname -r
5.4.0-45-generic

man:寻求帮助

man命令可以很方便的获取某个命令的帮助信息。

man命令在显示手册页的时候实际调用的时less程序。可以通过方向键或J键(表示向上)、K键(表示向下)上下翻动。空格键用于向下翻页,Q键退出。

man调用手册的完整信息。

whatis和apropos

whatis

从某个程序的手册页中抽取出一行简单的介绍性文字,帮助用户理解程序的大致用途。

xal1@xal1-virtual-machine:/$ whatis find
find (1)             - search for files in a directory hierarchy

apropos

与whatis相反,apropos这个命令可以通过使用手册来反查到某个命令。如果一个用户想搜索一个文件,而又想不起来使用哪个命令时,可以求助apropos。

xal1@xal1-virtual-machine:/$ apropos search
apropos (1)          - search the manual page names and descriptions
apt-patterns (7)     - Syntax and semantics of apt search patterns
badblocks (8)        - search a device for bad blocks
bzegrep (1)          - search possibly bzip2 compressed files for a regular e...
bzfgrep (1)          - search possibly bzip2 compressed files for a regular e...
bzgrep (1)           - search possibly bzip2 compressed files for a regular e...
find (1)             - search for files in a directory hierarchy
lzegrep (1)          - search compressed files for a regular expression
lzfgrep (1)          - search compressed files for a regular expression
lzgrep (1)           - search compressed files for a regular expression
manpath (1)          - determine search path for manual pages
tracker-search (1)   - Search for content by type or across all types
xzegrep (1)          - search compressed files for a regular expression
xzfgrep (1)          - search compressed files for a regular expression
xzgrep (1)           - search compressed files for a regular expression
zegrep (1)           - search possibly compressed files for a regular expression
zfgrep (1)           - search possibly compressed files for a regular expression
zgrep (1)            - search possibly compressed files for a regular expression
zipgrep (1)          - search files in a ZIP archive for lines matching a pat...

apropos可以将包含“search”的条目一并列出,总能从中找到想要的。

3. 文件目录管理

Linux文件系统的架构

Linux系统没有盘符的概念,文件目录为树结构。下表列出了Linux系统主要目录及其内容:

目录内容
/bin构建最小系统所需要的命令(最常用的命令)
/boot内核与启动文件
/dev各种设备文件
/etc系统软件的启动和配置文件
/home用户的主目录,有多少个用户就会显示几个用户名称
/libC编译器的库
/media可移动介质的安装点
/opt可选的应用软件包(很少使用)
/proc进程的映像
/root超级用户root的主目录
/sbin和系统操作有关的命令
/tmp临时文件的存放点
/usr非系统的程序和命令,类似于windows下的program files
/var系统专用的数据和配置文件
/lost+found这个目录一般是空的,当系统非法关机后,这里就会保存一些文件碎片,可用于恢复相关信息

文件或目录颜色的一般情况

白色——普通文件

蓝色——目录

草绿色——可执行文件

红色——压缩文件

青色——链接文件,相当于Windows下的快捷方式

黄色——设备文件

  • block 块
  • char 字符
  • fifo 管道

灰色——其他文件

以上颜色并不能一概而论,仅是通常情况下。

mkdir:建立目录

mkdir dirname:创建一个目录

$ cd ~
$ madir document picture				##新建两个目录

用户也可以用绝对路径来新建目录。

$ mkdir ~/picture/temp					##在主目录下新建名为temp的目录
  • 如果主目录下存在picture目录,则该命令是合法的。
  • 如果不存在,则需要在mkdir参数加上-p选项,则可以完整的创建一个子目录结构。

touch:建立一个空文件

touch filename

就可以创建一个空文件,在Linux中,创建文件时可以不带后缀。

touch命令的另一个用途是用来更新一个文件的建立日期和时间,这个功能在自动备份和整理文件的时候非常有用,这使得程序可以决定哪些文件已经被备份或整理过了。

mv:移动和重命名

$ mv hello study/						##将hello文件移动到study目录下

$ mv study/ test/						##将study目录移动到test目录下
  • mv在移动文件时不会有任何提示,在遇到相同文件名的文件则会直接覆盖!
  • -i:为了解决上述问题,给出了-i选项,该选项会使mv命令在遇到同文件名的文件时给出提示,y表示覆盖,n表示跳过。
  • -b:解决上述问题的另一个选项是-b,在移动文件前,会在目标目录的同名文件的文件名后面加~,从而避免被覆盖。
$ mv hello hello~

在同一个文件夹下移动一个文件即是重命名。

cp:复制文件和目录

$ cp day ~/test/						##将day文件复制到test目录下

和mv命令一样,cp在复制的过程中不会有提示直接覆盖同名文件。使用-i和-b可以解决这一问题。

cp在执行命令的时候会自动跳过目录。如:

xal1@xal1-virtual-machine:~$ cp test/ study/
cp: 未指定 -r;略过目录'test/'

使用-r 选项可以将子目录连同其中的文件一起复制到另一个目录下:

xal1@xal1-virtual-machine:~$ cp test/ study/ -r
xal1@xal1-virtual-machine:~$ cd study/
xal1@xal1-virtual-machine:~/study$ tree
.
├── day
├── test
│   ├── day
│   └── hello
├── test1
├── test2
├── test3
├── testA
├── testB
├── testC
└── weather

rmdir和rm:删除目录和文件

rmdir:只能删除空目录

rm:可以一次删除一个或多个文件。可以加一下参数:

-r:rm本身并不能删除一整个目录,加上-r命令会递归地删除目录下所有的文件和子目录。

-i:这个选项会在删除文件前给出提示,回答y表示删除这个文件,n表示跳过这个文件。对于只读选项,即便不加-i选项rm命令也会对此进行提示。

-f:可以避免上述-i的交互,对这些问题自动回答y。

4. 软件包管理

简述

软件包将安装软件的一系列细节操作打包,使得软件安装变得便捷。但是软件包也不是万能的,它存在依赖性问题。

一些高级软件管理工具如APTyum可以自动搜索依赖关系并执行安装。

常用的软件安装包格式有两种:

  • RPM是Red Hat软件包管理器,被大多数Linux发行版使用
  • .deb是Debian和Ubuntu上使用的格式

dpkg:管理.deb软件包

  • -i:–install,安装,会在安装软件包之前把系统上原有的旧版本删除
  • -l:查看安装包的相关信息
  • -S:–search,查看所安装的软件向系统复制了哪些文件
  • -r:–remove,卸载已安装的软件包

rpm:管理RPM软件包

  • -i:安装
  • -v:用于显示rpm当前正在执行的工作
  • -h:通过打印一系列的#来提醒用户当前的安装进度
    • -v和-h通常和其他选项合并使用,合并时也可省略“-”,如:直接输入“-rvh”
  • -U:用户升级软件包
  • -q:查询当前系统中已经安装的软件包,需要提供软件包的名字,该命令会给出其版本信息
    • -qa:加上-a选项则可以列出当前系统上已经安装的所有软件包的信息
  • -e:卸载软件包,需要指定需要卸载的软件包的名字。若目标软件包被多个软件包依赖,则RPM会谨慎的拒绝这个要求,加上–nodeps会继续执行,但卸载后可能会出现无法预料的结果
    • –test:加上–test选项,它要求RPM模拟删除软件包的全过程,但是不会真的删除软件包。
    • -vv:加上-vv,则要求RPM输出完整的调试信息

APT:高级软件包工具

Advance Package Tool

apt-get:执行和软件包安装有关的所有操作

apt-cache:主要用于查找软件包的相关信息

下载和安装软件包

使用apt-get -h命令可以查看apt-get的完整用法:
在这里插入图片描述

查询软件包

apt-cache search:可以搜索软件包列表种特定的软件包。

  • 如果不确定软件包的名字,输入名字的一部分,则该命令会按字母顺序列出一切包含该字符的软件包。

apt-cache depends:用于列出软件包特定的依赖关系。

5. Internet上的LInux资源

表1. 常用的国外LInux资源

国外网站说明
lwn.net来自Linux和开放源代码界的新闻
http://freecode.com/最齐全的Linux/UNIX软件库
www.justlinux.com信息齐全的Linux学习网站
www.kernel.orgLinux内核的官方网站
www.linux.com提供全方位的Linux信息
www.linuxhq.com提供内核信息和补丁的汇总
www.linuxtoday.com非常完整的Linux新闻站点

表2. 常用的国内Linux资源

国内网站说明
www.chinaunix.net国内最大的Linux/UNIX技术社区网站
www.linuxeden.comLinux伊甸园,最大的中文开源资讯门户网站
www.linuxfans.org中国Linux公社,拥有自己的Linux发行版本Magic Linux
www.linuxsir.org提供Linux各种资源,包括资讯、软件、手册等

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/8891.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

为什么C语言需要指定平台开发?

前言&#xff1a; 笔者心血来潮&#xff0c;特意站在初学者角度去思考为什么C语言需要指定平台去开发呢&#xff1f; 物有本末&#xff0c;事有终始&#xff0c;知其先后&#xff0c;则近道矣。 语言历史&#xff1a; 读者应该能明白程序最底层无非就是01010101二进制被CPU给调…

(续)SSM整合之springmvc笔记(SpringMVC获取请求参数)(P131-135)

目录 一 通过ServletAPI获取 1 . 新建TestParamController类 2 . index.html 3 . 在TestParamController类里面写getParamByServletAPI 4. 测试 重新部暑 二 通过控制器方法的形参获取请求参数 1 . index.html 2 . TestParamController 3. 测试 三 RequestPar…

Vue2.0开发之——Vue基础用法-事件绑定$event(20)

一 概述 事件参数对象$event表示事件参数对象event事件修饰符 二 事件参数对象 2.1 说明 在原生的 DOM 事件绑定中&#xff0c;可以在事件处理函数的形参处&#xff0c;接收事件参数对象 event 2.2 示例 布局代码 <button v-on:click"addCount">1</bu…

高光谱解混和图片去噪(Matlab代码实现)

&#x1f468;‍&#x1f393;个人主页&#xff1a;研学社的博客 &#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜…

使用id限定优化mysql分页查询limit偏移量大问题

在工作中可能偶尔会遇到&#xff0c;当使用limit实现分页查询时&#xff0c;当limit的偏移量越大时&#xff0c;sql语句的耗时也越大。 如图&#xff1a; 偏移量为0时&#xff0c;sql语句耗时在35毫秒。 顺便说下偏移量与页码、页大小的关系&#xff1a; 偏移量 (页码 - 1…

Spark的内存管理机制

在执行Spark 的应用程序时&#xff0c;Spark 集群会启动 Driver 和 Executor 两种 JVM 进程&#xff0c;前者为主控进程&#xff0c;负责创建 Spark 上下文&#xff0c;提交 Spark 作业&#xff08;Job&#xff09;&#xff0c;并将作业转化为计算任务&#xff08;Task&#xf…

深度学习基础--神经网络(1)激活函数

文章目录从感知机到神经网络激活函数阶跃函数&#xff08;感知机的激活函数&#xff09;sigmoid函数阶跃函数和sigmoid函数绘制和对比ReLU函数本文为学习笔记参考书籍&#xff1a;《深度学习入门 : 基于Python的理论与实现 》/ (日) 斋藤康毅著 ; 陆宇杰译. – 北京 : 人民邮电…

根据水声和摄影测量数据建立数字测深模型

无人船和无人车正越来越多地用于水深地形测量。使用这些平台采集数据的技术得到普遍的应用&#xff0c;但数据的融合仍然需要深入研究&#xff0c;其融合方法通常依赖于所使用的传感器和测量区域的特性。本文提出了一种融合无人艇&#xff08;USV&#xff09;和无人机&#xff…

[附源码]java毕业设计基于的前端课程学习网站

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

Mybatis—SqlNode

SqlNode的主要职责就是描述Mapper文件中配置的SQL信息&#xff0c;在Mybatis源代码中随处都能看见其身影&#xff0c;可见SqlNode地位是相当高的。SqlNode接口只定义了一个apply方法&#xff0c;且该方法只有一个DynamicContext对象作为入参。DynamicContext对象中不仅封装了Ma…

抓包工具 Charles 使用手册

Charles 是一款抓包软件&#xff0c;通过代理的形式拦截所有的 HTTP 和 HTTPS 请求&#xff0c;是开发测试的一大利器 下载和激活 在 Charles 下载安装包&#xff0c;在 此处 获得注册码&#xff0c;点击下方输入注册码激活软件 抓主机的 HTTP 包 选中 Proxy > Windows P…

第五章 数组和广义表

数组和广义表 5.1多维数组 5.1.1数组的逻辑结构 数组是我们熟悉的一种数据结构&#xff0c;可以看作线性表的推广。 数组作为一种数据结构其特点是结构中的元素本身可以是具有某种结构的数据&#xff0c;但属于同一类型。比如&#xff1a;一维数组可以看作一个线性表&#…

NDepend v2022.2.1.9665 专业版

NDepend 基本上被描述为.NET 托管代码的静态分析工具。这个特定的工具能够支持大量代码度量&#xff0c;允许使用直接图和依赖矩阵来可视化依赖关系。 NDepend 工具还能够通过架构验证过程以及规则及其质量为用户和开发人员执行基于代码的快照比较。有些规则基本上是用户定义的…

联想中国上半财年业绩:转型深入 方案服务同比增24%

11月15日&#xff0c;联想中国举办2022/23财年上半财年工作总结会。会上透露&#xff0c;联想中国经受住诸多不利因素的考验&#xff0c;PC市场份额保持稳定&#xff0c;3S新业务&#xff08;3S指智能设备、智能基础设施和方案服务&#xff09;顽强成长、收入占比达到28.6%&…

MCE 虚拟筛选、小分子化合物库

CNS Library &#xff08;含 47,040 种化合物&#xff09;高血脑屏障穿透率的小分子化合物数据库 CNS library 精选具有低极性表面积(TPSA< 70 2)、低 ClogP (平均为1.63)、低氢键形成程度(氢键供体和受体的总数小于 8 )、低 MW(平均为283) 等具有高血脑屏障穿透率的化合物…

css毛玻璃效果/el-progress进度条渐变/axios的基本使用/跨域配置/关闭eslint验证

css磨砂效果 效果图 实现方法 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta http-equiv"X-UA-Compatible" content"IEedge" /><meta name"viewport" content&qu…

NNG pair 异步通信

一&#xff0c;利用NNG pair模式&#xff0c;实现异步通信。 二&#xff0c;manager端 绑定地址&#xff0c;回调函数里 接收 异步消息&#xff1a; #include <stdint.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <…

HTTP协议中Gzip格式的流量分析与识别

背景 在协议分析过程中&#xff0c;经常会发现gzip压缩的数据&#xff0c;例如在HTTP协议中&#xff0c;在HTTP头中会标示&#xff0c;内容编码为gzip、DEFLATE。 但是&#xff0c;还有很多情况&#xff0c;例如一些非HTTP协议&#xff0c;特别是私有协议中&#xff0c;数据同…

强大的图片处理工具GraphicsMagick

前言 项目中我们经常需要对图片进行压缩、剪切、添加水印、生成缩略图、图片合成等图片处理操作&#xff0c;关于这些图片复杂处理&#xff0c;我们将如何实现呢&#xff0c;本文将介绍GraphicsMagick对图片进行相关处理功能。 简介 GraphicsMagick是一个免费的创建、编辑、…

16.Redis系列之Redisson分布式锁原理

本文学习Redisson分布式锁的原理以及优缺点 1. Redisson分布式锁原理 lua脚本是原子操作&#xff0c;redis会将整个脚本作为一个整体执行&#xff0c;中间不会被其他命令打断 # RedissonLock.tryLockInnerAsync方法内lua脚本加锁 <T> RFuture<T> tryLockInnerAs…