Linux基础之常用操作

2023-10-31

这里介绍的是一些非常基本的命令,在linux管理中经常用到,包括用户创建、文件操作、目录操作、vim文本编辑等等。

用户切换与创建

whoami命令:用于显示自身用户名称

[root@linux00 ~]# whoami
root

su命令:用于切换用户

管理员登入(#)普通用户登入($)
管理员切换到普通用户不需要密码,普通用户切换到管理员需要密码,普通用户之间切换同样需要密码。

[root@localhost ~]# su – linux00
Last login: Mon Apr 16 09:54:49 EDT 2018 on :0
[linux00@localhost ~]$ su
Password: 输入密码
[root@localhost linux00]#

useradd命令:用于添加一个用户,只有管理员能够操作。
passwd命令:设置用户的登入密码,只有管理员能够操作。

[root@localhost ~]# useradd raoxiuyuan
[root@localhost ~]# passwd raoxiuyuan
Changing password for user raoxiuyuan.
New password: 输入密码
BAD PASSWORD: The password is shorter than 8 characters
Retype new password: 重新输入密码
passwd: all authentication tokens updated successfully.
[root@localhost ~]#

Shell快捷键

● Ctrl+a:调到命令行的开头
● Ctrl+e:调到命令行的末尾
● Ctrl+u:将光标处到命令行开头的内容清除
● Ctrl+k:将光标处到命令行末尾的内容清除
● Ctrl+r:在历史记录列表中搜索某一命令
● Ctrl+l:清屏

● history //显示历史命令(![number] 直接执行曾经执行过的命令)

目录结构

pwd命令:查看当前所在的路径

[root@localhost ~]# pwd
/root

ls命令:查看当前路径下的文件

-d:只看当前目录的信息
-l:查看详细信息
-a:显示所有文件
-h:将文件大小以易读的方式显示

[root@localhost /]# ls
bin  boot  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var
[root@localhost /]# ls -alh
total 48K
drwxr-xr-x.  17 root root 4.0K Apr 17 05:23 .
drwxr-xr-x.  17 root root 4.0K Apr 17 05:23 ..
lrwxrwxrwx.   1 root root    7 Nov 17 04:05 bin -> usr/bin
dr-xr-xr-x.   3 root root 4.0K Nov 19 20:12 boot
drwxr-xr-x.  19 root root 3.1K Apr 17 05:25 dev
drwxr-xr-x. 133 root root 8.0K Apr 17 05:23 etc
drwxr-xr-x.   4 root root   37 Mar 20 02:50 home
lrwxrwxrwx.   1 root root    7 Nov 17 04:05 lib -> usr/lib
lrwxrwxrwx.   1 root root    9 Nov 17 04:05 lib64 -> usr/lib64
drwxr-xr-x.   3 root root   18 Nov 16 21:32 media
drwxr-xr-x.   2 root root    6 Mar 13  2014 mnt
drwxr-xr-x.   3 root root   15 Nov 17 04:13 opt
dr-xr-xr-x. 509 root root    0 Apr 17 05:23 proc
dr-xr-x---.  20 root root 4.0K Apr 17 05:25 root
drwxr-xr-x.  37 root root 1.2K Apr 17 05:25 run
lrwxrwxrwx.   1 root root    8 Nov 17 04:05 sbin -> usr/sbin
drwxr-xr-x.   2 root root    6 Mar 13  2014 srv
dr-xr-xr-x.  13 root root    0 Apr 17 05:23 sys
drwxrwxrwt. 125 root root 8.0K Apr 17 05:28 tmp
drwxr-xr-x.  13 root root 4.0K Nov 17 04:05 usr
drwxr-xr-x.  24 root root 4.0K Apr 17 05:23 var
[root@localhost /]# 

cd命令:用户切换路径

cd -:返回到之前的目录
cd ..:返回到上一级目录 “.”指当前目录 “..”指上一级目录
cd ~:到用户所在的家目录

[root@localhost ~]# cd ..
[root@localhost /]# cd ~
[root@localhost ~]# cd /tmp/
[root@localhost tmp]#

系统中文件系统路径(绝对路径和相对路径)

1.绝对路径

在Linux中,绝对路径是从/(也被称为根目录)开始的,比如/usr、/etc/X11.如果一个路径是从/开始的,它一定是绝对路径,这样就好理解了。

[root@localhost ~]# pwd     //判断用户当前所处的位置,也就是说他到底位于哪?
/root                       //用户当前位于/root.
[root@localhost ~]# cd /usr/share/doc/     //我们以绝对路径方式进入/usr/share/doc目录下。
[root@localhost doc]# pwd          //判断用户当前所处的位置。
/usr/share/doc               //用户位于/usr/share/doc,看来已经达到我们的目的了。

2. 相对路径

相对路径是以 . 或 .. 开始的,. 表示用户当前操作所处的位置,而.. 表示上级目录;在路径中,. 表示用户当前所处的目录,而.. 上级目录,要把. 和.. 当做目录来看。

[root@localhost ~]# pwd            //通过pwd来判断当前用户所在的位置。
/root                              //得出目录处于/root目录中。
[root@localhost ~]# cd .           //我们进入。
[root@localhost ~]# pwd            //判断当前用户所处的位置。
/root                              //得出在/root 目录中 .
[root@localhost ~]# cd ..          //我们切入/root的上级目录。
[root@localhost /]# pwd            //判断当前用户所处的位置。
/                                  //用户当前位于/(根目录)中。

touch命令:创建新的空文件

[root@localhost test]# touch log2012.log log2013.log
[root@localhost test]# ll
-rw-r–r– 1 root root 0 10-28 16:01 log2012.log
-rw-r–r– 1 root root 0 10-28 16:01 log2013.log

目录结构(目录的含义)

1、/- 根
每一个文件和目录从根目录开始。
只有root用户具有该目录下的写权限。请注意,/root是root用户的主目录,这与/.不一样

2、/bin中 – 用户二进制文件
包含二进制可执行文件。
在单用户模式下,你需要使用的常见Linux命令都位于此目录下。系统的所有用户使用的命令都设在这里。
例如:ps、ls、ping、grep、cp

3、/sbin目录 – 系统二进制文件
就像/bin,/sbin同样也包含二进制可执行文件。
但是,在这个目录下的linux命令通常由系统管理员使用,对系统进行维护。例如:iptables、reboot、fdisk、ifconfig、swapon命令

4、/etc – 配置文件
包含所有程序所需的配置文件。
也包含了用于启动/停止单个程序的启动和关闭shell脚本。例如:/etc/resolv.conf、/etc/logrotate.conf

hosts:设备名称(或域名)到ip地址的解析,相当于本地存在的dns功能。

5、/dev – 设备文件
包含设备文件。
这些包括终端设备、USB或连接到系统的任何设备。例如:/dev/tty1、/dev/usbmon0

6、/proc – 进程信息
包含系统进程的相关信息。
这是一个虚拟的文件系统,包含有关正在运行的进程的信息。例如:/proc/{pid}目录中包含的与特定pid相关的信息。
这是一个虚拟的文件系统,系统资源以文本信息形式存在。例如:/proc/uptime

7、/var – 变量文件
var代表变量文件。
这个目录下可以找到内容可能增长的文件。
这包括 – 系统日志文件(/var/log);包和数据库文件(/var/lib);电子邮件(/var/mail);打印队列(/var/spool);锁文件(/var/lock);多次重新启动需要的临时文件(/var/tmp);

8、/tmp – 临时文件
包含系统和用户创建的临时文件。
当系统重新启动时,这个目录下的文件都将被删除。

9、/usr – 用户程序
包含二进制文件、库文件、文档和二级程序的源代码。
/usr/bin中包含用户程序的二进制文件。如果你在/bin中找不到用户二进制文件,到/usr/bin目录看看。例如:at、awk、cc、less、scp。
/usr/sbin中包含系统管理员的二进制文件。如果你在/sbin中找不到系统二进制文件,到/usr/sbin目录看看。例如:atd、cron、sshd、useradd、userdel。
/usr/lib中包含了/usr/bin和/usr/sbin用到的库。
/usr/local中包含了从源安装的用户程序。例如,当你从源安装Apache,它会在/usr/local/apache2中。

10、/home – HOME目录
所有用户用home目录来存储他们的个人档案。
例如:/home/john、/home/nikita

11、/boot – 引导加载程序文件
包含引导加载程序相关的文件。
内核的initrd、vmlinux、grub文件位于/boot下。
例如:initrd.img-2.6.32-24-generic、vmlinuz-2.6.32-24-generic

12、/lib – 系统库
包含支持位于/bin和/sbin下的二进制文件的库文件.
库文件名为 ld*或lib*.so.*
例如:ld-2.11.1.so,libncurses.so.5.7

13、/opt – 可选的附加应用程序
opt代表可选的。
包含从个别厂商的附加应用程序。
附加应用程序应该安装在/opt/或者/opt/的子目录下。

14、/mnt – 挂载目录
临时安装目录,系统管理员可以挂载文件系统。

15、/media – 可移动媒体设备
用于挂载可移动设备的临时目录。
举例来说,挂载CD-ROM的/media/cdrom,挂载软盘驱动器的/media/floppy;

16、/srv – 服务数据
srv代表服务。
包含服务器特定服务相关的数据。
例如,/srv/cvs包含cvs相关的数据。

[root@localhost ~]# ll /
total 40
lrwxrwxrwx.   1 root root    7 Nov 10 16:35 bin -> usr/bin
dr-xr-xr-x.   3 root root 4096 Nov 10 08:48 boot
drwxr-xr-x.  19 root root 3160 Apr 18 04:07 dev
drwxr-xr-x. 134 root root 8192 Apr 17 20:06 etc
drwxr-xr-x.   5 root root   54 Apr 16 11:33 home
lrwxrwxrwx.   1 root root    7 Nov 10 16:35 lib -> usr/lib
lrwxrwxrwx.   1 root root    9 Nov 10 16:35 lib64 -> usr/lib64
drwxr-xr-x.   3 root root   18 Feb  9 09:14 media
drwxr-xr-x.   4 root root   34 Feb  8 11:20 mnt
drwxr-xr-x.   3 root root   15 Nov 10 16:42 opt
dr-xr-xr-x. 554 root root    0 Apr 17 20:05 proc
dr-xr-x---.  15 root root 4096 Apr 18 04:08 root
drwxr-xr-x.  37 root root 1200 Apr 18 04:07 run
lrwxrwxrwx.   1 root root    8 Nov 10 16:35 sbin -> usr/sbin
drwxr-xr-x.   2 root root    6 Mar 13  2014 srv
dr-xr-xr-x.  13 root root    0 Apr 17 20:05 sys
drwxrwxrwt.  87 root root 8192 Apr 18 04:08 tmp
drwxr-xr-x.  14 root root 4096 Nov 30 06:56 usr
drwxr-xr-x.  24 root root 4096 Apr 17 20:05 var
[root@localhost ~]#

文件操作

文件类型 描述
d 表示目录
表示文件
l 链接文件
b 设备文件,提供存储的接口设备
c 设备文件,提供串行的接口设备(鼠标、键盘)
文件操作 单一来源 多来源
创建文件 touch file1 touch file1 file2 file3
复制文件 cp file1 file2 cp file1 file2 file3 dir ⑤
移动文件 mv file1 file2 ① mv file1 file2 file3 dir ④
删除文件 rm file1 rm -f file1 file2 file3 ⑤
创建目录 mkdir dir mkdir -p par1/par2/dir ⑥
复制目录 cp -r dir1 dir2 ② cp -r dir1 dir2 dir3 dir4 ④
移动目录 mv dir1 dir2 ③ mv dir1 dir2 dir3 dir4 ④
删除目录 rm -r dir1 ② rm -rf dir1 dir2 dir3 ⑤
注: 备注:
① 结果为重命名
② 需要使用“递归”选项处理来源目录
③ 如果dir2存在,则结果为移动。如果dir2不存在,则结果为重命名。
④ 最后一个参数必须是目录
⑤ 请谨慎使用“force”选项,系统将不会提示您确认操作
⑥ 使用“创建父级”选项时应小心;无法捕获键入错误。

文件查看

命令 描述
cat 查看文件内容
nl 显示内容的时候,顺便显示行号
tac 从最后一行开始显示
head 显示文件前10行 -n:设置行数
tail 显示文件尾10行 -n:设置行数
wc 显示文件的行数,数字,字节

cat命令:显示文件内容(内容较少的文件)
-A:整合命令-vET
-b:列出行号,但是空白行不标志行号
-E:将结尾的断行字符($)显示出来
-n:列出行号,空白行也会标志行号
-T:将tab按键以^I显示
-v:列出一些看不来的特殊字符

[root@localhost ~]# cat -Ab /etc/passwd
     1	root:x:0:0:root:/root:/bin/bash$
     2	bin:x:1:1:bin:/bin:/sbin/nologin$
     3	daemon:x:2:2:daemon:/sbin:/sbin/nologin$
     4	adm:x:3:4:adm:/var/adm:/sbin/nologin$
     5	lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin$
     6	sync:x:5:0:sync:/sbin:/bin/sync$
     7	shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown$
     8	halt:x:7:0:halt:/sbin:/sbin/halt$
     9	mail:x:8:12:mail:/var/spool/mail:/sbin/nologin$
    10	operator:x:11:0:operator:/root:/sbin/nologin$
    11	games:x:12:100:games:/usr/games:/sbin/nologin$
    12	ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin$
    .........省略.........
    32	pulse:x:171:171:PulseAudio System Daemon:/var/run/pulse:/sbin/nologin$
    33	gdm:x:42:42::/var/lib/gdm:/sbin/nologin$
    34	gnome-initial-setup:x:993:991::/run/gnome-initial-setup/:/sbin/nologin$
    35	postfix:x:89:89::/var/spool/postfix:/sbin/nologin$
    36	sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin$
    37	tcpdump:x:72:72::/:/sbin/nologin$
[root@localhost ~]# 

more命令:查看文件内容(内容较多的文件,一页一页的翻动)

是将文件从第一行开始,根据输出窗口的大小,适当的输出文件内容。当一页无法全部输出时,可以用“回车键”向下翻行,用“空格键”向下翻页。退出查看页面,请按“q”键。另外,more还可以配合管道符“|”(pipe)使用,例如:ls -al | more

空格:向下翻一页
回车:向下翻一页
/字符串:查找字符串
:f:立即显示文件名和行数
b:翻到第一页
q:离开

less命令:查看文件内容

less的功能和more相似,但是使用more无法向前翻页,只能向后翻,而less可以任意切换

空格:向下翻一页
pagedown:向下翻一页
pageup:向上翻一页
?:搜索字符串
n:重复前一个搜索
N:反方向重复前一个搜索
q:离开

head命令:显示文件头几行
tail命令:显示文件尾几行
-n:指定显示几行,默认是10行

日志文件:/var/log/message 我们只需要看尾部的最新的几行即可。

查看用户文件前十行

[root@localhost ~]# head /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
[root@localhost ~]#

查看日志文件后5行

[root@localhost ~]# tail -5 /var/log/messages
Apr 18 19:52:03 localhost fprintd: ** (fprintd:3826): WARNING **: fprint init failed with error -99
Apr 18 19:52:03 localhost systemd: Started Fingerprint Authentication Daemon.
Apr 18 19:52:03 localhost systemd: fprintd.service: main process exited, code=exited, status=157/n/a
Apr 18 19:52:03 localhost systemd: Unit fprintd.service entered failed state.
Apr 18 19:52:06 localhost su: (to root) raohenglei on pts/0
[root@localhost ~]#

wc命令:显示文件的行数,字数,字节

-c:只显示字节
-w:只显示字数
-l:只显示行

[root@localhost ~]# wc /var/log/messages
  4349  49307 376145 /var/log/messages
[root@localhost ~]# 

vim编辑器

Vim是一个类似于Vi的著名的功能强大、高度可定制的文本编辑器,在Vi的基础上改进和增加了很多特性。 VIM是自由软件。Vim编辑器中设置了三种模式—命令模式、末行模式和编辑模式,每种模式分别又支持多种不同的命令快捷键,这大大提高了工作效率。

命令模式:控制光标移动,可对文本进行复制、粘贴、删除和查找等工作。
输入模式:正常的文本录入。
末行模式:保存或退出文档,以及设置编辑环境。

 

 

在每次运行Vim编辑器时,默认进入命令模式,此时需要先切换到输入模式后再进行文档编写工作,而每次在编写完文档后需要先返回命令模式,然后再进入末行模式,执行文档的保存或退出操作。在Vim中,无法直接从输入模式切换到末行模式。

Vim编辑器中内置的命令有成百上千种用法,为了能够帮助读者更快地掌握Vim编辑器,在命令模式中最常用的一些命令。

命令 作用
dd 删除(剪切)光标所在整行
5dd 删除(剪切)从光标处开始的5行
yy 复制光标所在整行
5yy 复制从光标处开始的5行
n 显示搜索命令定位到的下一个字符串
N 显示搜索命令定位到的上一个字符串
u 撤销上一步的操作
p 将之前删除(dd)或复制(yy)过的数据粘贴到光标后面

末行模式主要用于保存或退出文件,以及设置Vim编辑器的工作环境,还可以让用户执行外部的Linux命令或跳转到所编写文档的特定行数。要想切换到末行模式,在命令模式中输入一个冒号就可以了。

命令 作用
:w 保存
:q 退出
:q! 强制退出(放弃对文档的修改内容)
:wq! 强制保存退出
:set nu 显示行号
:set nonu 不显示行号
:命令 执行该命令
:整数 跳转到该行
:s/one/two 将当前光标所在行的第一个one替换成two
:s/one/two/g 将当前光标所在行的所有one替换成two
:%s/one/two/g 将全文中的所有one替换成two
?字符串 在文本中从下至上搜索该字符串
/字符串 在文本中从上至下搜索该字符串

软链接和硬链接

简而言之:
软链接相当于windows中的快捷方式
硬链接相当于一个灾备系统,数据存放在两处,与复制不同的是两处之间存在同步机制,一处数据的改变会实时同步到另一处,另外一处数据如果被删除了,不会影响到另一处的数据.

软链接:
1.软链接,以路径的形式存在。类似于Windows操作系统中的快捷方式
2.软链接可以 跨文件系统 ,硬链接不可以
3.软链接可以对一个不存在的文件名进行链接
4.软链接可以对目录进行链接

硬链接:
1.硬链接,以文件副本的形式存在。但不占用实际空间。
2.不允许给目录创建硬链接
3.硬链接只有在同一个文件系统中才能创建

硬链接的原理:在存储器中只存储了一份数据,而被链接文件和链接文件其实都是对这一份数据的引用,所以这份数据就会有最小为2的引用计数,所以才会删除两个文件中的任意一个,删除的都是引用计数,不会影响这一份数据,而另外的一个引用照样可以访问这份数据。如果另外一个引用也被删除了,那么引用计数就为0,在Linux中,一旦引用计数为0,则认为该数据被删除了,这时数据就会被彻底清空,从这一点看和cp命令还是有点区别的。

[root@linux00 ~]$ touch f1 #创建一个测试文件f1
[root@linux00 ~]$ ln f1 f2 #创建f1的一个硬连接文件f2
[root@linux00 ~]$ ln -s f1 f3 #创建f1的一个符号连接文件f3

关机操作

关机需要注意的事项:
– 观察系统的使用状态
– 通知在线使用者关机的时间
– 正确的关机指令使用

关机指令
– 数据同步写入磁盘-sync
– 常用的关机指令:shutdown
– 重启、关机:reboot,halt,poweroff

shutdown命令:关机
-t 添加秒数,几秒后关机
-k 不是真关机,而是发出告警信息
-r 在系统服务都停止后,重启
-h 在系统服务都停止后,关机
-f 关闭并且开机以后,强行略过磁盘检查
-F 重启后,强制进行磁盘检查
-c 取消已经在进行的shutdown指令内容

指定现在立即关机:

[root@linux00 ~]$ shutdown -h now

指定5分钟后关机,同时送出警告信息给登入用户:

[root@linux00 ~]$ shutdown +5 “System will shutdown after 5 minutes”

常用关机操作:

[root@linux00 ~]$ shutdown -h now //立即关机
[root@linux00 ~]$ shutdown -h 12:00 //12:00关机
[root@linux00 ~]$ shutdown -h +10 //在10分钟以后进行关机
[root@linux00 ~]$ shutdown -r now //马上重启
[root@linux00 ~]$ shutdown -r +30 ‘the system will reboot’ //告诉使用者30分钟以后重启
[root@linux00 ~]$ shutdown -k now ‘this system will reboot’ //马上告诉使用者马上重启,但是不会重启
[root@linux00 ~]$ shutdown -c //取消关机

帮助命令(man)

在命令行终端中输入man man命令来查看man命令自身的帮助信息,敲击回车键后即可看到的帮助信息。

man命令中常用按键以及用途

按键 用处
空格键 向下翻一页
PaGe down 向下翻一页
PaGe up 向上翻一页
home 直接前往首页
end 直接前往尾页
/ 从上至下搜索某个关键词,如“/linux”
? 从下至上搜索某个关键词,如“?linux”
n 定位到下一个搜索到的关键词
N 定位到上一个搜索到的关键词
q 退出帮助文档

一般来讲,使用man命令查看到的帮助内容信息都会很长很多,如果读者不了解帮助文档信息的目录结构和操作方法,乍一看到这么多信息可能会感到相当困惑。man命令的帮助信息的结构如下所示。

man命令帮助信息的结构以及意义

结构名称 代表意义
NAME 命令的名称
SYNOPSIS 参数的大致使用方法
DESCRIPTION 介绍说明
EXAMPLES 演示(附带简单说明)
OVERVIEW 概述
DEFAULTS 默认的功能
OPTIONS 具体的可用选项(带介绍)
ENVIRONMENT 环境变量
FILES 用到的文件
SEE ALSO 相关的资料
HISTORY 维护历史与联系方式
				<script>
					(function(){
						function setArticleH(btnReadmore,posi){
							var winH = $(window).height();
							var articleBox = $("div.article_content");
							var artH = articleBox.height();
							if(artH > winH*posi){
								articleBox.css({
									'height':winH*posi+'px',
									'overflow':'hidden'
								})
								btnReadmore.click(function(){
									articleBox.removeAttr("style");
									$(this).parent().remove();
								})
							}else{
								btnReadmore.parent().remove();
							}
						}
						var btnReadmore = $("#btn-readmore");
						if(btnReadmore.length>0){
							if(currentUserName){
								setArticleH(btnReadmore,3);
							}else{
								setArticleH(btnReadmore,1.2);
							}
						}
					})()
				</script>
				</article>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Linux基础之常用操作 的相关文章

  • C#操作MSSQL数据库 -增删改查

    要在C 中连接到Microsoft SQL Server数据库 MSSQL 你可以使用 NET Framework提供的System Data SqlClient命名空间中的类 以下是一个简单的示例代码 展示了如何在C 中使用MSSQL数据
  • 二叉查找树特性,优点,缺点

    概述 二叉排序树 Binary Sort Tree 又称二叉查找树 Binary Search Tree 亦称二叉搜索树 是数据结构中的一类 在一般情况下 查询效率比链表结构要高 定义 一棵二叉查找树是一棵二叉树 每个节点都含有一个Comp
  • Snap年度AR生态大会Lens Studio资讯:AR应用状况、制作工具Lens Studio和内容生态

    这两天我阅读了一些公众号关于Snap公司召开的AR生态大会Lens Fest 2021报道 并在官网观看了相关视频 这些资讯让我对AR增强现实目前的应用状况和制作技术有了一个全新的了解 结论 整场大会看完之后 我的感觉主要有三点 过去 人们
  • 封装与解封装

    封装与解封装 封装 将数据变为比特流的过程中 在参考模型的每一层需要添加上特定的协议报头动作 动作 从高层往低层依次封装 在每一层使用特定的协议 对数据进行处理 在数据前添加特定的协议报头 封装原则 1 每一层在上一层数据前添加协议报头 2
  • Tangram 2.0——猫客页面内组件的动态化方案

    Tangram 2 0 库 Android Tangram Android Virtualview Android iOS Tangram iOS Virtualview iOS 背景 技术背景 一直以来 无线应用都在不断寻求动态化页面的解
  • 华为OD机试 - 寻找最大价值的矿堆(Java)

    题目描述 给你一个由 0 空地 1 银矿 2 金矿 组成的的地图 矿堆只能由上下左右相邻的金矿或银矿连接形成 超出地图范围可以认为是空地 假设银矿价值1 金矿价值2 请你找出地图中最大价值的矿堆并输出该矿堆的价值 输入描述 地图元素信息如
  • 台阶--Nim游戏(博弈论)

    问题 现在 有一个 nn 级台阶的楼梯 每级台阶上都有若干个石子 其中第 ii 级台阶上有 aiai 个石子 i 1i 1 两位玩家轮流操作 每次操作可以从任意一级台阶上拿若干个石子放到下一级台阶中 不能不拿 已经拿到地面上的石子不能再拿
  • 子网掩码是什么,IP段的24是什么写法

    背景 关于设置 IP 网段 我们常见到的 192 168 1 0 24 是什么意思 24是什么意思 这里的 192 168 1 0 的末尾0是 一定是0吗 跟 192 168 1 5 24 所表示的网段是一样的吗 解答 24 这种写法 24
  • QGC调试px4飞控问题总结

    注 本文主要讨论本人遇到的问题 由于各操作步骤已有不少文章说明具体操作方法 本文不再赘述 1 如果使用碳纤维机架 要在电源板背面增加绝缘层以防短路 如果自行焊接导线 应当检查是否短路 2 传感器校准时尽量不要放到桌子上调 这是因为桌子可能不
  • pytorch 初始化

    初始化权值
  • 蓝桥杯:试题F:青蛙过河问题

    试题描述 小青蛙住在一条河边 它想到河对岸的学校去学习 小青蛙打算经过河里 的石头跳到对岸 河里的石头排成了一条直线 小青蛙每次跳跃必须落在一块石头或者岸上 不过 每块石头有一个高度 每次小青蛙从一块石头起跳 这块石头的高度就 会下降 1
  • vue项目 设置scrollTop不起作用 总结

    今天在开发中 遇到这样一个情景 一个页面中有三个模块 每个模块对应一个标题 每个模块内容都很长 所以需要点击当前模块对应的标题滚动到模块所在位置 我想的方案是获取到每个模块距离文档顶部的距离 然后将值赋给对应要滚动的元素 步骤如下 首先给每
  • 【每日运维】RockyLinux8.6升级OpenSSH9.4p1

    为什么需要升级openssh呢 因为很多项目进行漏扫结果都会涉及到这个服务器核心组件 一想到以前升级openssh带来的各种依赖性问题就头疼 不管是什么发行版 升级这个东西真的很烦 这次发现可能还会有好一点的通用一点的升级方法 所以有个这个
  • angular调用接口方式_如何在Angular优雅编写HTTP请求

    引言 基本上当下的应用都会分为前端与后端 当然这种前端定义不在限于桌面浏览器 手机 APP等设备 一个良好的后端会通过一套所有前端都通用的 RESTful API 序列接口作为前后端之间的通信 这其中对于身份认证都不可能再依赖传统的Sess
  • 微信小程序面试题

    1 请谈谈wxml与标准的html的异同 标签名字有点不一样 多了一些 wx if 这样的属性以及 这样的表达式 开发工具限制 WXML仅能在微信小程序开发工具中预览 而HTML可以在浏览器内预览 组件封装不同 WXML对组件进行了重新封装
  • 今年做什么副业好?2021年做什么副业挣钱?2021年适合做的副业

    这两年我明白了一个道理 就是人无远虑必有近忧 所以2021我建议大家最好有一个副业 因为有了副业 即使我们没了工作也会有一定的生活保障 2021年适合做的副业有哪些 2021年做什么副业挣钱呢 第一类 体力类 1 餐饮兼职 虽然收入比较低
  • JAVA数据脱敏

    为了保护用户隐私 需要对敏感信息进行脱敏处理 如 姓名 电话号码 身份证 基于jackson 通过自定义注解的方式实现数据脱敏 添加依赖 spring web spring boot starter web已经集成了jackson相关包 不
  • Windows 环境下,nginx 配置文件上传大小

    问题描述 今天将刚刚和前端对接的文件上传功能 部署到公司的测试环境 提示如下错误信息 413 Request Entity Too Large 解决方法如下 1 打开nginx配置文件 nginx conf 路径一般是 E nginx 1
  • 《数据库系统概论》课程之实验五流六

    前序 数据库系统概论 课程之实验五 通过嵌入式SQL访问数据库 1实验目的 熟悉通过嵌入式SQL 主语言为C语言 编程访问数据库 实验以C语言为例作说明 实作可以选择任意语言实现本实验 2实验平台和实验工具 在KingbaseES数据库管理
  • oracle 如何修改表空间,ORACLE修改表空间方法

    1 使用imp exp 先导出源库 再建立新库把表空间建立好 而后再导入 听说这样能够 前提是新的库里面不能有与源库相同名字的表空间 有待验证 2 使用脚本进行修改 据目前所了解 正长状况下须要修改表的空间和表的索引的空间 若是涉及到BOL

随机推荐

  • 【OJ比赛日历】快周末了,不来一场比赛吗? #09.09-09.15 #15场

    CompHub 1 实时聚合多平台的数据类 Kaggle 天池 和OJ类 Leetcode 牛客 比赛 本账号会推送最新的比赛消息 欢迎关注 以下信息仅供参考 以比赛官网为准 目录 2023 09 09 周六 5场比赛 2023 09 10
  • 常用宏定义运算

    define DLT x y x gt y x y y x define MIN x y x gt y y x define MAX x y x gt y x y define EQU x y DLT x y
  • 更改 Python 的 pip install 默认使用的pip库以及默认安装路径

    时间 2018 10 07 题目 更改 Python 的 pip install 默认使用的pip库以及默认安装路径 目录 一 更改 Python 的 pip install 默认使用的pip库 二 更改 Python 的 pip inst
  • OJ# 384 敲七

    题目描述 有 N 个人在玩一种 敲7 游戏 游戏的规则是这样的 第 x 个人从 t 开始报数 然后按顺序报数 当某人报的数是 7 的倍数或数字中含有 7 时 便被淘汰 剩下的人继续报数 直到只剩下一个人 现求最终剩下的人编号 输入 一行三个
  • 示例:Scala读取xml文件

    test xml内容如下
  • RestTemplate使用JSON发送Post请求

    RestTemplate使用JSON发送Post请求 本文我们说下如何使用Spring的 RestTemplate调用post请求 发送json内容 1 定义服务端web接口 1 1 定义业务接口 先定义Person实体类表示post请求的
  • Unity+UWP+wIfi+电量

    听师傅说做这个得懂UWP 但素我不懂 不过也没关系啦 谁叫我我有个棒棒哒师傅呐 参考资料 https docs microsoft com en us uwp api windows devices wifi wifiavailablene
  • 2018年年终总结

    终于迎来了又一个寒假 又到了年终总结的时候了 其实这份总结 应该是12月31号就该写了 但想着实验室年会总要梳理一遍 一直拖着没写 然而年会的总感觉太过于学术 还是希望能写一份个人的总结 为今年画上一个句号 总归少了点仪式感 但是晚来的总比
  • Phonegap 之 iOS银联在线支付(js调用ios端银联支付控件)

    Phonegap项目 做支付的时候 当把网站打包到ios或android端成app后 在app上通过wap调用银联在线存在一个问题 就是当从银联支付成功后 再从服务器返回到app客户端就很难实现 wap银联支付流程是这样 客户端 gt 服务
  • Open3D 最小二乘拟合二维直线

    目录 一 算法原理 二 代码实现 三 结果展示 四 测试数据 一 算法原理 平面直线的表达式为 y k x b 1 y kx b tag 1
  • 尚硅谷-MySQL基础教程丨mysql数据库实战(sql数据库优化)

    MySQL基础教程丨mysql数据库实战 sql数据库优化 学习网址 尚硅谷MySql课程 1课程引入 2为什么学习数据库 3 数据库相关概念 DB 数据库 存储数据的 仓库 DBMS 数据库管理系统 数据库是通过DBMS创建和操作容器 S
  • 反序列化报错:cannot deserialize from Object value (no delegate- or property-based Creator)

    报错信息图 看一下这串英文的意思是什么 那么他说的创建器是什么呢 其实就是类的无参构造器 因为Json反序列化需要一个无参构造器 正常情况下JVM会默认给类加个无参构造器 我遇到这个场景是因为我主动给这个类加了一个有参的构造器 这就导致JV
  • 算法通关村-----系列文章整理

    第一关 原来链表这么有用 链表青铜关卡 链表增删改查 链表白银关卡 两个链表第一个公共子节点问题 判断链表是否为回文序列 合并有序链表 链表经典问题之双指针 链表黄金关卡 待更新 第二关 两天写了三次的链表反转 链表反转青铜挑战 三种方式实
  • 【算法学习笔记】24:Prim算法与Kruskal算法(最小生成树)

    Prim算法和Dijkstra算法很相似 而且也按照是不是稀疏图分成了两种 对于稠密图 用朴素版的Prim算法 时间复杂度 O n 2 O n 2
  • 解决微信小程序前台获取不到后台数据

    2019独角兽企业重金招聘Python工程师标准 gt gt gt 正式环境需要域名 需要HTTPS等网络协议 所以在开发的时候要勾选 不校验合法域名 web view 业务域名 TLS 版本以及 HTTPS 证书 以保证微信小程序前台获取
  • wsl1转wsl2 由于未安装所需的特性,无法启动操作

    参考官方修复文档 我尝试了修复 1 取消阻止Hyper V主机计算服务 转换成功 若要取消阻止该服务 必须首先检查是否正在使用防病毒解决方案 如果您使用的是 Windows Defender 请继续执行以下步骤 进入设置 windows安全
  • 总结篇:排序算法

    目录 1 前言 2 排序算法三问 3 排序算法三傻 4 不稳定排序算法 5 稳定排序算法 6 其他算法 7 看图识算法 1 前言 FBI WARNING 本文旨在于以通俗易懂地方式阐述主要排序算法及其特点 什么是排序算法 排序算法 Sort
  • hql取满足条件最新一条记录_统计学习方法 - 序列最小最优化算法(SMO)解析

    本文包括 支持向量机的低效问题 序列最小最优化算法 SMO 的思路 两个变量二次规划的求解方法 变量的选择方法 精度的概念 其它有关数据分析 机器学习的文章及社群 1 支持向量机的低效问题 我们知道支持向量机的拉格朗日乘数法对偶形式的外部最
  • JavaScript基础篇

    JavaScript基础篇 一 介绍 1 JavaScript是一种专门在浏览器编译并执行的编程语言 2 JavaScript主要处理用户与浏览器之间请求问题 3 JavaScript采用 弱类型编程语言风格 对 面向对象思想 来进行实现的
  • Linux基础之常用操作

    这里介绍的是一些非常基本的命令 在linux管理中经常用到 包括用户创建 文件操作 目录操作 vim文本编辑等等 用户切换与创建 whoami命令 用于显示自身用户名称 root linux00 whoami root su命令 用于切换用