【BASH】回顾与知识点梳理(十五)

news2025/1/11 9:54:53

【BASH】回顾与知识点梳理 十五

    • 十五. 指令与文件的搜寻
      • 15.1 脚本文件名的搜寻
        • which (寻找『执行档』)
      • 15.2 文件档名的搜寻
        • whereis (由一些特定的目录中寻找文件文件名)
        • locate / updatedb
        • find
          • 与时间有关的选项
          • 与使用者或组名有关的参数
          • 与文件权限及名称有关的参数
          • 额外可进行的动作
      • 15.3 权限与指令间的关系
        • 让用户能进入某目录成为『可工作目录』的基本权限为何?
        • 用户在某个目录内读取一个文件的基本权限为何?
        • 让使用者可以修改一个文件的基本权限为何?
        • 让一个使用者可以建立一个文件的基本权限为何?
        • 让用户进入某目录并执行该目录下的某个指令之基本权限为何?

该系列目录 --> 【BASH】回顾与知识点梳理(目录)

十五. 指令与文件的搜寻

文件的搜寻可就厉害了!因为我们常常需要知道那个文件放在哪里,才能够对该文件进行一些修改或维护等动作。 有些时候某些软件配置文件的文件名是不变的,但是各 distribution 放置的目录则不同。 此时就得要利用一些搜寻指令将该配置文件的完整档名捉出来,这样才能修改嘛!您说是吧!

15.1 脚本文件名的搜寻

我们知道在终端机模式当中,连续输入两次[tab]按键就能够知道用户有多少指令可以下达。 那你知不知道这些指令的完整文件名放在哪里?举例来说,ls 这个常用的指令放在哪里呢? 就透过 which 或 type 来找寻吧!

which (寻找『执行档』)

[root@study ~]# which [-a] command
选项或参数:
-a :将所有由 PATH 目录中可以找到的指令均列出,而不止第一个被找到的指令名称
# 范例一:搜寻 ifconfig 这个指令的完整文件名
[root@study ~]# which ifconfig
/sbin/ifconfig

# 范例二:用 which 去找出 which 的档名为何?
[root@study ~]# which which
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
 /bin/alias
 /usr/bin/which
# 竟然会有两个 which ,其中一个是 alias 这玩意儿呢!那是啥?
# 那就是所谓的『命令别名』,意思是输入 which 会等于后面接的那串指令啦!
# 更多的数据我们会在 bash 章节中再来谈的!

# 范例三:请找出 history 这个指令的完整文件名
[root@study ~]# which history
/usr/bin/which: no history in (/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin)
[root@study ~]# history --help
-bash: history: --: invalid option
history: usage: history [-c] [-d offset] [n] or history -anrw [filename] or history -ps arg
# 瞎密?怎么可能没有 history ,我明明就能够用 root 执行 history 的啊!

这个指令是根据『PATH』这个环境变量所规范的路径,去搜寻『执行档』的档名~ 所以,重点是找出『执行档』而已!且 which 后面接的是『完整档名』喔!若加上 -a 选项,则可以列出所有的可以找到的同名执行文件,而非仅显示第一个而已!

最后一个范例最有趣,怎么 history 这个常用的指令竟然找不到啊!为什么呢?这是因为 history 是『bash 内建的指令』啦! 但是 which 预设是找 PATH 内所规范的目录,所以当然一定找不到的啊(有 bash 就有 history!)!那怎办?没关系!我们可以透过 type 这个指令喔!

15.2 文件档名的搜寻

再来谈一谈怎么搜寻文件吧!在 Linux 底下也有相当优异的搜寻指令呦!通常 find 不很常用的!因为速度慢之外, 也很操硬盘!一般我们都是先使用 whereis 或者是 locate 来检查,如果真的找不到了,才以 find 来搜寻呦! 为什么呢?因为 whereis 只找系统中某些特定目录底下的文件而已,locate 则是利用数据库来搜寻文件名,当然两者就相当的快速, 并且没有实际的搜寻硬盘内的文件系统状态,比较省时间啦!

whereis (由一些特定的目录中寻找文件文件名)

[root@study ~]# whereis [-bmsu] 文件或目录名
选项与参数:
-l :可以列出 whereis 会去查询的几个主要目录而已
-b :只找 binary 格式的文件
-m :只找在说明文件 manual 路径下的文件
-s :只找 source 来源文件
-u :搜寻不在上述三个项目当中的其他特殊文件
# 范例一:请找出 ifconfig 这个档名
[root@study ~]# whereis ifconfig 
ifconfig: /sbin/ifconfig /usr/share/man/man8/ifconfig.8.gz

# 范例二:只找出跟 passwd 有关的『说明文件』档名(man page)
[root@study ~]# whereis passwd # 全部的档名通通列出来!
passwd: /usr/bin/passwd /etc/passwd /usr/share/man/man1/passwd.1.gz 
/usr/share/man/man5/passwd.5.gz
[root@study ~]# whereis -m passwd # 只有在 man 里面的档名才抓出来!
passwd: /usr/share/man/man1/passwd.1.gz /usr/share/man/man5/passwd.5.gz

等一下我们会提到 find 这个搜寻指令, find 是很强大的搜寻指令,但时间花用的很大!(因为 find 是直接搜寻硬盘,为如果你的硬盘比较老旧的话,嘿嘿!有的等!) 这个时候 whereis 就相当的好用了!另外, whereis 可以加入选项来找寻相关的数据,例如,如果你是要找可执行文件 (binary) 那么加上-b就可以啦! 如果不加任何选项的话,那么就将所有的数据列出来啰!

那么 whereis 到底是使用什么咚咚呢?为何搜寻的速度会比 find 快这么多? 其实那也没有什么,只是因为 whereis 只找几个特定的目录而已~并没有全系统去查询之故。所以说,whereis 主要是针对 /bin /sbin 底下的执行档, 以及 /usr/share/man 底下的 man page 文件,跟几个比较特定的目录来处理而已。所以速度当然快的多!不过,就有某些文件是你找不到的啦! 想要知道 whereis 到底查了多少目录?可以使用 whereis -l 来确认一下即可!

locate / updatedb

# 安装
yum install -y mlocate
updatedb 
[root@study ~]# locate [-ir] keyword
选项与参数:
-i :忽略大小写的差异;
-c :不输出档名,仅计算找到的文件数量
-l :仅输出几行的意思,例如输出五行则是 -l 5
-S :输出 locate 所使用的数据库文件的相关信息,包括该数据库纪录的文件/目录数量等
-r :后面可接正规表示法的显示方式
# 范例一:找出系统中所有与 passwd 相关的档名,且只列出 5 个
[root@study ~]# locate -l 5 passwd
/etc/passwd
/etc/passwd-
/etc/pam.d/passwd
/etc/security/opasswd
/usr/bin/gpasswd

# 范例二:列出 locate 查询所使用的数据库文件之文件名与各数据数量
[root@study ~]# locate -S
Database /var/lib/mlocate/mlocate.db:
 8,086 directories # 总纪录目录数
 109,605 files # 总纪录文件数
 5,190,295 bytes in file names
 2,349,150 bytes used to store database

这个 locate 的使用更简单,直接在后面输入『文件的部分名称』后,就能够得到结果。 举上面的例子来说,我输入 locate passwd ,那么在完整文件名 (包含路径名称) 当中,只要有 passwd 在其中,就会被显示出来的!这也是个很方便好用的指令,如果你忘记某个文件的完整档名时~~

但是,这个东西还是有使用上的限制呦!为什么呢?你会发现使用 locate 来寻找数据的时候特别的快, 这是因为 locate 寻找的数据是由『已建立的数据库 /var/lib/mlocate/』 里面的数据所搜寻到的,所以不用直接在去硬盘当中存取数据,呵呵!当然是很快速啰!

那么有什么限制呢?就是因为他是经由数据库来搜寻的,而数据库的建立默认是在每天执行一次 (每个 distribution 都不同,CentOS 7.x 是每天更新数据库一次!),所以当你新建立起来的文件, 却还在数据库更新之前搜寻该文件,那么 locate 会告诉你『找不到!』呵呵!因为必须要更新数据库呀!

那能否手动更新数据库哪?当然可以啊!更新 locate 数据库的方法非常简单,直接输入『 updatedb 』就可以了! updatedb 指令会去读取 /etc/updatedb.conf 这个配置文件的设定,然后再去硬盘里面进行搜寻文件名的动作, 最后就更新整个数据库文件啰!因为 updatedb 会去搜寻硬盘,所以当你执行updatedb 时,可能会等待数分钟的时间喔!

  • updatedb:根据 /etc/updatedb.conf 的设定去搜寻系统硬盘内的文件名,并更新 /var/lib/mlocate 内的数据库文件;
  • locate:依据 /var/lib/mlocate 内的数据库记载,找出用户输入的关键词文件名。

find

与时间有关的选项
[root@study ~]# find [PATH] [option] [action]
选项与参数:
1. 与时间有关的选项:共有 -atime, -ctime-mtime ,以 -mtime 说明
 -mtime n :n 为数字,意义为在 n 天之前的『一天之内』被更动过内容的文件;
 -mtime +n :列出在 n 天之前(不含 n 天本身)被更动过内容的文件档名;
 -mtime -n :列出在 n 天之内(含 n 天本身)被更动过内容的文件档名。
 -newer file :file 为一个存在的文件,列出比 file 还要新的文件档名
# 范例一:将过去系统上面 24 小时内有更动过内容 (mtime) 的文件列出
[root@study ~]# find / -mtime 0
# 那个 0 是重点!0 代表目前的时间,所以,从现在开始到 24 小时前,
# 有变动过内容的文件都会被列出来!那如果是三天前的 24 小时内?
# find / -mtime 3 有变动过的文件都被列出的意思!

# 范例二:寻找 /etc 底下的文件,如果文件日期比 /etc/passwd 新就列出
[root@study ~]# find /etc -newer /etc/passwd
# -newer 用在分辨两个文件之间的新旧关系是很有用的!

时间参数真是挺有意思的!我们现在知道 atime, ctime 与 mtime 的意义,如果你想要找出一天内被更动过的文件名, 可以使用上述范例一的作法。但如果我想要找出『4 天内被更动过的文件档名』呢?那可以使用『 find /var -mtime -4 』。那如果是『4 天前的那一天』就用『 find /var -mtime 4 』。有没有加上『+, -』差别很大喔!我们可以用简单的图示来说明一下:
在这里插入图片描述
图中最右边为目前的时间,越往左边则代表越早之前的时间轴啦。

  • +4 代表大于等于 5 天前的檔名:ex> find /var -mtime +4
  • -4 代表小于等于 4 天内的文件档名:ex> find /var -mtime -4
  • 4 则是代表 4-5 那一天的文件档名:ex> find /var -mtime 4
与使用者或组名有关的参数
选项与参数:
2. 与使用者或组名有关的参数:
 -uid n :n 为数字,这个数字是用户的账号 ID,亦即 UID ,这个 UID 是记录在/etc/passwd 里面与账号名称对应的数字。
 -gid n :n 为数字,这个数字是组名的 ID,亦即 GID,这个 GID 记录在/etc/group,相关的介绍我们会第四篇说明~
 -user name :name 为使用者账号名称喔!例如 dmtsai
 -group name:name 为组名喔,例如 users-nouser :寻找文件的拥有者不存在 /etc/passwd 的人!
 -nogroup :寻找文件的拥有群组不存在于 /etc/group 的文件! 当你自行安装软件时,很可能该软件的属性当中并没有文件拥有者,
 					这是可能的!在这个时候,就可以使用 -nouser-nogroup 搜寻。
# 范例三:搜寻 /home 底下属于 dmtsai 的文件
[root@study ~]# find /home -user dmtsai
# 这个东西也很有用的~当我们要找出任何一个用户在系统当中的所有文件时,
# 就可以利用这个指令将属于某个使用者的所有文件都找出来喔!

# 范例四:搜寻系统中不属于任何人的文件
[root@study ~]# find / -nouser
# 透过这个指令,可以轻易的就找出那些不太正常的文件。如果有找到不属于系统任何人的文件时,
# 不要太紧张,那有时候是正常的~尤其是你曾经以原始码自行编译软件时。

如果你想要找出某个用户在系统底下建立了啥咚咚,使用上述的选项与参数,就能够找出来啦! 至于那个 -nouser 或 -nogroup 的选项功能中,除了你自行由网络上面下载文件时会发生之外, 如果你将系统里面某个账号删除了,但是该账号已经在系统内建立很多文件时,就可能会发生无主孤魂的文件存在! 此时你就得使用这个 -nouser 来找出该类型的文件啰!

与文件权限及名称有关的参数
选项与参数:
3. 与文件权限及名称有关的参数:
 -name filename:搜寻文件名为 filename 的文件;
 -size [+-]SIZE:搜寻比 SIZE 还要大(+)或小(-)的文件。这个 SIZE 的规格有:
 			c: 代表 byte, k: 代表 1024bytes。所以,要找比 50KB还要大的文件,就是『 -size +50k 』
 -type TYPE :搜寻文件的类型为 TYPE 的,类型主要有:
 			一般正规文件 (f), 装置文件 (b, c),目录 (d), 连结档 (l), socket (s), 及 FIFO (p) 等属性。
 -perm mode :搜寻文件权限『刚好等于』 mode 的文件,这个 mode 为类似 chmod的属性值,举例来说, -rwsr-xr-x 的属性为 4755-perm -mode :搜寻文件权限『必须要全部囊括 mode 的权限』的文件,举例来说,
 			我们要搜寻 -rwxr--r-- ,亦即 0744 的文件,使用 -perm -0744,当一个文件的权限为 -rwsr-xr-x ,亦即 4755 时,
 			也会被列出来,因为 -rwsr-xr-x 的属性已经囊括了 -rwxr--r-- 的属性了。
 -perm /mode :搜寻文件权限『包含任一 mode 的权限』的文件,举例来说,
 			我们搜寻-rwxr-xr-x ,亦即 -perm /755 时,但一个文件属性为 -rw-------也会被列出来,因为他有 -rw.... 的属性存在!

关于文件的特殊权限,参考SECTION 7 理解文件权限

# 范例五:找出档名为 passwd 这个文件
[root@study ~]# find / -name passwd
# 范例五-1:找出文件名包含了 passwd 这个关键词的文件
[root@study ~]# find / -name "*passwd*"
# 利用这个 -name 可以搜寻档名啊!默认是完整文件名,如果想要找关键词,
# 可以使用类似 * 的任意字符来处理

# 范例六:找出 /run 目录下,文件类型为 Socket 的檔名有哪些?
[root@study ~]# find /run -type s
# 这个 -type 的属性也很有帮助喔!尤其是要找出那些怪异的文件,
# 例如 socket 与 FIFO 文件,可以用 find /run -type p 或 -type s 来找!

# 范例七:搜寻文件当中含有 SGID 或 SUID 或 SBIT 的属性
[root@study ~]# find / -perm /7000 
# 所谓的 7000 就是 ---s--s--t ,那么只要含有 s 或 t 的就列出,所以当然要使用 /7000,
# 使用 -7000 表示要同时含有 ---s--s--t 的所有三个权限。而只需要任意一个,就是 /7000 ~瞭乎?

上述范例中比较有趣的就属 -perm 这个选项啦!他的重点在找出特殊权限的文件啰! 我们知道SUID 与 SGID 都可以设定在二进制程序上,假设我想要找出来 /usr/bin, /usr/sbin 这两个目录下,只要具有 SUID 或 SGID 就列出来该文件,你可以这样做:

find /usr/bin /usr/sbin -perm /6000

因为 SUID 是 4 分,SGID 2 分,总共为 6 分,因此可用 /6000 来处理这个权限! 至于 find 后面可以接多个目录来进行搜寻!另外,find 本来就会搜寻次目录,这个特色也要特别注意喔! 最后,我们再来看一下 find 还有什么特殊功能吧!

额外可进行的动作
选项与参数:
4. 额外可进行的动作:
 -exec command :command 为其他指令,-exec 后面可再接额外的指令来处理搜寻到的结果。
 -print :将结果打印到屏幕上,这个动作是预设动作!
# 范例八:将上个范例找到的文件使用 ls -l 列出来~
[root@study ~]# find /usr/bin /usr/sbin -perm /7000 -exec ls -l {} \;
# 注意到,那个 -exec 后面的 ls -l 就是额外的指令,指令不支持命令别名,
# 所以仅能使用 ls -l 不可以使用 ll 喔!注意注意!

# 范例九:找出系统中,大于 1MB 的文件
[root@study ~]# find / -size +1M

find 的特殊功能就是能够进行额外的动作(action)。我们将范例八的例子以图解来说明如下:
在这里插入图片描述
该范例中特殊的地方有 {} 以及 \; 还有 -exec 这个关键词,这些东西的意义为:

  • {} 代表的是『由 find 找到的内容』,如上图所示,find 的结果会被放置到 {} 位置中;
  • -exec 一直到 ; 是关键词,代表 find 额外动作的开始 (-exec) 到结束 (\;) ,在这中间的就是 find 指令内的额外动作。 在本例中就是『 ls -l {} 』啰!
  • 因为『 ; 』在 bash 环境下是有特殊意义的,因此利用反斜杠来跳脱

如果你要找的文件是具有特殊属性的,例如 SUID 、文件拥有者、文件大小等等, 那么利用 locate 是没有办法达成你的搜寻的!此时 find 就显的很重要啦! 另外,find 还可以利用通配符来找寻档名呢!举例来说,你想要找出 /etc 底下檔名包含 httpd 的文件, 那么你就可以这样做:

[root@node-135 yurq]#  find /etc -name '*yscon*'
/etc/sysconfig

不但可以指定搜寻的目录(连同次目录),并且可以利用额外的选项与参数来找到最正确的档名!真是好好用! 不过由于 find 在寻找数据的时后相当的操硬盘!所以没事情不要使用 find 啦!有更棒的指令可以取代呦!那就是上面提到的 whereis 与 locate 啰!

15.3 权限与指令间的关系

我们知道权限对于使用者账号来说是非常重要的,因为他可以限制使用者能不能读取/建立/删除/修改文件或目录!在这一章我们介绍了很多文件系统的管理指令,在这个小节当中, 我们就将这两者结合起来,说明一下什么指令在什么样的权限下才能够运作吧!

让用户能进入某目录成为『可工作目录』的基本权限为何?

  • 可使用的指令:例如 cd 等变换工作目录的指令;
  • 目录所需权限:用户对这个目录至少需要具有 x 的权限 ,即751可进入目录
  • 额外需求:如果用户想要在这个目录内利用 ls 查阅文件名,则用户对此目录还需要 r 的权限,即755可进入目录并ls

用户在某个目录内读取一个文件的基本权限为何?

  • 可使用的指令:例如本章谈到的 cat, more, less 等等
  • 目录所需权限:用户对这个目录至少需要具有 x 权限;即751可以进入目录
  • 文件所需权限:使用者对文件至少需要具有 r 的权限才行!即754可读取

让使用者可以修改一个文件的基本权限为何?

  • 可使用的指令:例如 nano 或未来要介绍的 vi 编辑器等;
  • 目录所需权限:用户在该文件所在的目录至少要有 x 权限;
  • 文件所需权限:使用者对该文件至少要有 r, w 权限

如果只赋予其他用户w(752),那么vim和nano无法操作,但是echo能把内容清空,好奇怪,所以基本权限为w就可以修改,不过只能清空

	[root@node-135 test]# ll
	total 0
	-rwxr---w- 1 root root 0 Aug  8 16:32 123
	[root@node-135 test]# vim 123
	[root@node-135 test]# cat 123
	123
	123
	123
	[yurq@node-135 test]$ echo 123>123

	[root@node-135 test]# cat 123

让一个使用者可以建立一个文件的基本权限为何?

  • 目录所需权限:用户在该目录要具有 w,x 的权限,重点在 w 啦!

让用户进入某目录并执行该目录下的某个指令之基本权限为何?

  • 目录所需权限:用户在该目录至少要有 x 的权限;
  • 文件所需权限:使用者在该文件至少需要有 x 的权限

让一个使用者 dmtsai 能够进行『cp /dir1/file1 /dir2』的指令时,请说明 dir1, file1, dir2 的最小所需权限为何?
答:
执行 cp 时, dmtsai 要『能够读取来源文件,并且写入目标文件!』所以应参考上述第二点与第四点的说明! 因此各文件/目录的最小权限应该是:

  • dir1 :至少需要有 x 权限;
  • file1:至少需要有 r 权限;
  • dir2 :至少需要有 w, x 权限。

有一个文件全名为 /home/student/www/index.html ,各相关文件/目录的权限如下:
drwxr-xr-x 23 root root 4096 Sep 22 12:09 /
drwxr-xr-x 6 root root 4096 Sep 29 02:21 /home
drwx------ 6 student student 4096 Sep 29 02:23 /home/student
drwxr-xr-x 6 student student 4096 Sep 29 02:24 /home/student/www
-rwxr–r-- 6 student student 369 Sep 29 02:27 /home/student/www/index.html
请问 vbird 这个账号(不属于 student 群组)能否读取 index.html 这个文件呢?
答:
虽然 www 与 index.html 是可以让 vbird 读取的权限,但是因为目录结构是由根目录一层一层读取的,因此 vbird 可进入 /home 但是却不可进入 /home/student/ ,既然连进入 /home/student 都不许了, 当然就读不到 index.html 了!所以答案是『vbird 不会读取到 index.html 的内容』喔!

那要如何修改权限呢?其实只要将 /home/student 的权限修改为最小 711 ,或者直接给予 755 就可以啰! 这可是很重要的概念喔!

该系列目录 --> 【BASH】回顾与知识点梳理(目录)

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

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

相关文章

h5端获取定位

第三方api有腾讯、高德、百度&#xff0c;下面简述腾讯位置api 引入jweixin.js <script> // 方法一 把js文件放到自己服务器上 import wx from /static/jweixin-1.6.0.js;// 方法二 vue在生命周期中应用 mounted() {const oScript document.createElement("scrip…

TechTool Pro for mac(硬件监测和系统维护工具)

TechTool Pro 是为 Mac OS X 重新设计的全新工具程序&#xff0c;不但保留旧版原有的硬件侦测功能&#xff0c;还可检查系统上其他重要功能&#xff0c;如&#xff1a;网络连接&#xff0c;区域网络等。 TechTool Pro for mac随时监控和保护您的电脑&#xff0c;并可预设定期检…

C++入门(小白篇1)

前言&#xff1a; 最近想学一下一下C看了一些博客内容写的倒是很充实&#xff0c;但是&#xff0c;细节不到位&#xff0c;我是有Python基础的&#xff0c;所以学习来蛮快的&#xff0c;但是对于小白的话&#xff0c;有好多小细节大多数博客还是不够详细&#xff0c;由此我想写…

在golang中引入私有git仓库的pkg包?引入私有Git仓库的包:在Go语言项目中轻松实现

&#x1f337;&#x1f341; 博主猫头虎 带您 Go to Golang Language.✨✨&#x1f341; &#x1f984; 博客首页——猫头虎的博客&#x1f390; &#x1f433;《面试题大全专栏》 文章图文并茂&#x1f995;生动形象&#x1f996;简单易学&#xff01;欢迎大家来踩踩~&#x1…

CAD绘制法兰、添加光源、材质并渲染

首先绘制两个圆柱体&#xff0c;相互嵌套 在顶部继续绘制圆柱体&#xff0c;这是之后要挖掉的部分 在中央位置绘制正方形 用圆角工具&#xff1a; 将矩形的四个角分别处理&#xff0c;效果&#xff1a; 用拉伸工具 向上拉伸到和之前绘制的圆柱体高度齐平 绘制一个圆柱体&#…

性能优化必知必会

系统性能调优 分为四个层次 基础设施网络编解码分布式系统性能整体提升 一&#xff1a;基础设施优化 从提升单机进程的性能入手&#xff0c;包括高效的使用主机的CPU、内存、磁盘等硬件&#xff0c;通过提高并发编程提升吞吐量&#xff0c;根据业务特性选择合适的算法 01 …

将http协议升级为https协议——域名平台部分的设置

为远程群晖NAS的自定义域名免费申请SSL证书 文章目录 为远程群晖NAS的自定义域名免费申请SSL证书前言1. 向域名平台申请SSL证书1.1 购买“免费证书” 2. 进一步进行创建证书设置2.1 对证书的关联域名进行补充 3. 云解析DNS3.1 进行验证信息 前言 我们可以成功地将自己购买的域…

数据结构之时间复杂度-空间复杂度

大家好&#xff0c;我是深鱼~ 目录 1.数据结构前言 1.1什么是数据结构 1.2什么是算法 1.3数据结构和算法的重要性 1.4如何学好数据结构和算法 2.算法的效率 3.时间复杂度 3.1时间复杂度的概念 3.2大O的渐进表示法 【实例1】&#xff1a;双重循环的时间复杂度&#xf…

uView日历控件(u-calendar)优化

1 问题 u-calendar日历控件存在的问题&#xff1a; 不能设置默认选中值&#xff0c;打开弹窗选择起始日期&#xff0c;然后点击取消按钮或蒙版关闭弹窗时&#xff0c;日历弹窗中的选中值发生改变&#xff08;再次打开日历弹窗时&#xff0c;就可以看到选中值的错误&#xff09…

IMV8.0

一、背景内容 经历了多个版本&#xff0c;基础内容在前面&#xff0c;可以使用之前的基础环境&#xff1a; v1&#xff1a; https://blog.csdn.net/wtt234/article/details/132139454 v2&#xff1a; https://blog.csdn.net/wtt234/article/details/132144907 v3&#xff1a; h…

选择软件检测机构时的注意事项,获取软件测试报告的费用为多少?

随着信息科技的发展&#xff0c;我们的生活和工作也越来越离不开软件产品的使用。软件企业要想在行业崭露头角&#xff0c;软件质量是重中之重。因此很多软件企业为了更好的保障软件质量&#xff0c;会选择将该项工作交由软件检测机构进行。 一、选择软件检测机构时的注意事项…

小尺寸、高效率的88W8997-A0-CBQ2E005-T无线互连芯片,NV24C64DWVLT3G 64Kb EEPROM存储器

88W8997-A0-CBQ2E005-T 是业界尺寸最小、能效最高的MU-MIMO无线互连组合芯片&#xff0c;面向企业级和消费级市场。88W8997是业界首款全面支持Bluetooth 4.2以及未来Bluetooth 5.0全套功能的28nm 2 x 2 802.11ac Wave-2组合芯片。该器件实现了高达867Mbps的峰值数据传送速率&am…

W5100S-EVB-PICO作为TCP Client 进行数据回环测试(五)

前言 上一章我们用W5100S-EVB-PICO开发板通过DNS解析www.baidu.com&#xff08;百度域名&#xff09;成功得到其IP地址&#xff0c;那么本章我们将用我们的开发板作为客户端去连接服务器&#xff0c;并做数据回环测试&#xff1a;收到服务器发送的数据&#xff0c;并回传给服务…

kettle之转换嵌套转换问题

在kettle中如果转换中还调用了转换&#xff0c;需要用过滤记录和中止来判断是否转换内容成功。否则&#xff0c;运行失败了&#xff0c;也会显示成功。这样计算数据会出现问题 如下图所示&#xff1a; 如下图count转换Execution results参数如下: 如下图中用ExecutionNrErro…

vue3获得url上的参数值

1、引入 import { useRoute } from vue-router2、获得const route useRoute() console.log(route.query.number)

IntelliJ IDEA 2021/2022关闭双击shift全局搜索

IDEA左上角 File-->Settings 找到Navigate -->Search Everywhere &#xff0c;右键添加快捷键。 OK --> Apply应用

W6100-EVB-PICO作为TCP Client 进行数据回环测试(五)

前言 上一章我们用W6100-EVB-PICO开发板通过DNS解析www.baidu.com&#xff08;百度域名&#xff09;成功得到其IP地址&#xff0c;那么本章我们将用我们的开发板作为客户端去连接服务器&#xff0c;并做数据回环测试&#xff1a;收到服务器发送的数据&#xff0c;并回传给服务器…

【BI系统】选型常见问题解答二

本文主要总结BI系统选型过程中遇见的常见问题&#xff0c;并针对性做出回答&#xff0c;希望能为即将选型&#xff0c;或正在选型BI系统的企业用户们提供一个快速了解通道。 有针对金蝶云星空的BI方案吗&#xff1f;能起到怎样的作用&#xff1f; 答&#xff1a;奥威BI系统拥…

Windows新版文件资源管理器经常在后台弹出的临时解决方案

禁用组策略自动刷新 运行gpedit.msc找到计算机配置->管理模板->系统->组策略找到 “关闭组策略的后台刷新”启用 参考 https://answers.microsoft.com/en-us/windows/forum/all/windows-11-most-recently-opened-explorer-window/26e097bd-1eba-4462-99bd-61597b5…

网络编程 tcp udp http编程流程 网络基础知识

讲解 网络基础知识网络编程tcp编程流程图示理解bind和accept函数理解监视套接字和链接套接字理解linux和window下的编程实现tcp特点 udp编程流程图示理解udp特点 http编程流程图示理解编程实现-网站服务器 网络基础知识 OSI分层&#xff1a;应用层 表示层 会话层 传输层 网络层…