Linux常用命令——基于Ubuntu22.04
本文介绍了一些Linux的常用命令。为了便于快速检索命令位置,文章二级标题都以“命令:命令的作用”展示,有些命令会先介绍命令的几个常用参数,然后结合具体的操作展示命令的使用。为了便于记忆,也会提到命令是由哪些短语或单词简写而来。本文的主要内容如下:
第一、二章 介绍了用户管理和系统管理常用命令。
第三、四章 简要介绍Linux文件是什么,并且结合相关命令介绍输入输出和文件操作。
第五章 补充了几个命令,比如说查看命令手册的man命令、搜索命令grep命令等。
注:像一些常用的文本编辑和查看命令如vi、vim、more、less等,因为较为复杂,受于篇幅限制就不再详细说明,可以使用man命令查看对应的命令手册或者搜索相关的介绍。同时,为了页面的简洁,此处不再附目录索引,可以使用侧边栏的目录进行导航。
一、用户管理
1. id:显示本用户信息
id [用户名(缺省情况下为当前用户)]
2. adduser:建立新用户
sudo adduser 用户名# 也可以是以下命令:
sudo useradd 用户名
可以通过以下命令查看刚刚添加的用户:
cat /etc/passwd
3. passwd:为用户设置密码
# 更改当前用户密码
passwd
# 更改其他用户密码(需要有管理员权限)
passwd 用户名
注释:echo $?是输出上一命令返回值,0表示上一命令正常结束
注意:为了安全,设置密码的时候,所有的输入都不会在屏幕上输出。
4. su:切换用户
su 是switch user 的简写
# 切换到某用户的命令如下
su 用户名
5. sudo:以其他身份执行命令
sudo意为switch user do,sudo默认使用root的身份执行命令
sudo 命令# 也可以使用指定的用户身份去执行命令(但是要注意权限问题)
sudo -u 用户 命令
6. userdel:删除用户
userdel 是 user delete 的简写
sudo userdel 用户名# 也可以使用以下命令:
sudo deluser 用户名
7. usermod:修改用户配置
usermod 是 user modefy 的简写
sudo usermod 对应的参数 用户名
8. 组操作
不同的用户组也有类似的操作命令,如groupadd、groupdel、groupmod,分布对应新增组、删除组、修改组设置,类似于用户操作,此处不再一一列举。
二、系统管理
1. uname:显示系统信息
uname -a
2. date:查看/设置 系统的 时间/日期
date
3. w:查看当前登录系统的用户信息
w是who的简写。
w# 也可以使用who
who
4. last:查看登录信息
last
5. alias:设置命令别名(仅本次登录有效)
# alias命令,相关示例如下# 列出所有别名设置
alias# 设置别名
alias 别名="命令"# 删除别名
unalias 别名# 如果想要每次登录都生效,需要修改 .bashrc 文件
# 在别名不与系统命令冲突的情况下,还可以对一组命令设置别名
# chp不是系统命令(可用type命令检测该命令是否存在),下面的单引号之间的命令意味:
# 切换到当前用户目录(home),打印出当前工作目录,输出“123!!!”
alias chp='cd ~;pwd;echo "123!!!"'
6. export:显示/设置 系统变量
# 显示环境变量,-p参数表示显示所有变量
export -p
# 设置环境变量
export 变量名称=变量值# 屏蔽某变量(变量被屏蔽,不会输出到后续命令的执行环境中,但是并未被删除)
export -n 变量名称
7. free:查看内存状态
# 默认是以KB为单位
free# 以适合人们(human)查看的方式
free -h# 以Byte为单位查看内存
free -b# 以KB为单位查看内存
free -k# 以GB为单位查看内存
free -g
8. df:查看磁盘与文件系统使用状态
df是disk free的简写
df# 可以使用以下命令查看磁盘大小并输出文件系统类型(Type)
# 参数 -T 表示输出文件系统类型
# 参数 -h 表示human-readable,即以人们易读的方式输出
df -Th
9. top:显示与管理执行中的程序
top
10. ps:查看程序状态
ps是process status的简写
ps# 输出系统中运行的所有程序信息
# 可以使用man命令来详细查看各个参数的作用
ps -axu
# 若果想要以树状图显示程序状态,还可以使用以下命令
# pstree是process status tree的简写
pstree
11. kill:向指定程序发送信息/结束进程
# 查看所有的编号与信息对应表
kill -l# 查看指定编号对应信息
kill -l 编号# 向进程发送指定信号(进程ID可通过ps命令查看)
kill -s 编号 进程ID
# 或者直接写为
kill -编号 进程ID
12. exit:退出当前shell
exit
13. sleep:休眠/暂停执行命令
sleep 时间与单位#休眠10s,并在休眠结束后输出“end”。 & 表示程序在后台运行
(sleep 10s; echo "end") &
14. shutdown:关机与重启
# 重启
sudo reboot# 关机
sudo halt -p# 立即关机
shutdown -h now# 立即重启
shut down -r now # 晚上11点关机
shutdown -h 22:00# 2分钟后关机,并发送给登录的用户警告信息
shutdown +2 "we will shutdown this computer"# 10秒后关机
shutdown -t 10
15. pwd:显示工作目录
pwd为print working directory 的简写
pwd
16. whereis:查找命令的位置(源代码文件、二进制文件、man手册)
# 首先介绍一下whereis命令的参数
# -b
# 只查找二进制文件
# -m
# 只查找帮助文件
# -s
# 只查找帮助文件
# -l
# 列出查找的路径# 具体用法
whereis [-参数] 命令
17. which:在环境变量$PATH设定目录中查找符合条件的命令
# which可以在环境变量中查找符合条件的命令(不带参数时返回首个找到的命令路径)
# 有点类似于whereis
# 如果加上参数 -a 可以返回所有找到的命令路径
18. type:查看命令的类型
三、输入输出操作
在介绍输入输出和文件操作之前,有这么一种说法“linux中一切皆文件”,我简单理解为:所有的东西都是按照文件的方式去组织的,对文件的操作也都是通过文件描述符(标识文件的一个整数)来进行的。Linux中的文件可以分为7类:普通文件(文件符号“-”)、目录文件(文件符号“d”,directory)、链接文件(文件符号“l”,link)、块设备(文件符号“b”,block)、字符设备(文件符号“c”,character)、管道文件(文件符号“p”,pipe)、套接字文件(文件符号“s”,socket)。文件的类别可以通过ls命令查看:
在启动一个连接时,程序默认会打开3个I/O文件:标准输入文件(stdin)、标准输出文件(stdout)、标准错误文件(stderr),其文件描述符是分别是0、1、2。
在一条命令的执行过程中,一般是用户从键盘或其他设备通过标准输入文件进行输入,命令执行完毕后,通过标准输出文件输出到设备,如果存在错误则会通过标准错误文件输出到设备。在一般的情况下都是从终端进行输入输出的。
1. 重定向
重定向 可以分为 输入重定向 和 输出重定向 。
输入重定向 是将命令的输入从 标准输入 重定向为 指定的文件 ,可以使用 < 或者 << 重定向标准输入。输入重定向较少使用,因此仅举一个简单的例子:
输出重定向 是将命令的 标准输出 或 标准错误 重定向为 指定的文件,可以使用 >、 >> 、1>、 2>、 1>>、 2>>重定向标准输出与标准错误。
# 输出重定向符 > 的使用# 如果目标文件不存在,会创建该文件;如果存在,会覆盖原文件内容
# 将标准输入重定向到文件
命令 > 指定文件
# 输出重定向符 >> 的使用# 如果目标文件不存在,会创建该文件;如果存在,会向原文件中追加内容
# 将标准输入重定向到文件
命令 >> 指定文件
# 输出重定向符 1> 的使用# 如果目标文件不存在,会创建该文件;如果存在,会覆盖原文件内容
# 将标准输入重定向到文件
命令 1> 指定文件
# 输出重定向符 2> 的使用# 如果目标文件不存在,会创建该文件;如果存在,会覆盖原文件内容
# 将标准错误重定向到文件
命令 2> 指定文件
可以将标准输出和标准错误分别输出。
也可以将标准输出和标准错误重定向到同一个文件(使用 2>&1 将标准错误重定向到标准输出,再将标准输出重定向到文件)
命令 1> 目标文件 2>&1
# 输出重定向符 1>> 和 2>> 也是向文件中追加内容
命令 1>> 指定文件
命令 2>> 指定文件# 将标准输出和标准错误分别向不同文件追加
命令 1>> 指定文件1 2>> 指定文件2# 1>> 和 2>可以混用
命令 1>> 指定文件1 2> 指定文件2# 1> 和 2>>也可以混用
命令 1> 指定文件1 2>> 指定文件2# 向同一文件追加标准输出与标准错误的方式与前面一样,使用2>&1将标准错误重定向到标准输出即可
命令 1> 指定文件 2>&1
# Linux提供了一个文件 /dev/null ,输出到这个文件的所有信息都会被丢弃,就像一个很大的垃圾桶
# 如果程序有标准输出或者标准错误输出,可以选择将其重定向到该文件。
2. 管道
管道操作符为 | 。
可以将管道理解为输出输出重定向,即,将前一个命令的标准输出重定向到后一个命令的标准输入。简单地说,就是把前面命令的输出作为后面命令的输入。
比如,希望找到当前进程中,跟root有关的进程,可以使用ps命令查看所有进程,再使用grep命令对其进行筛选。
# 找到当前跟root有关的进程
ps axu | grep root
3. tee:从标准输入读取并输出到标准输出和文件
有时想要既在屏幕终端进行输出,又把输出保存到文件中,这个时候,tee命令就派上用场了。
tee可以从标准输入设备读取输入内容,同时将内容输出到屏幕终端和文件。
# 简要介绍tee的一些参数
# -a
# 默认情况下,如果如果目的文件存在,是会覆盖该文件内容的
# 加上 -a (append的意思)参数,表明将输出信息追加到该文件
4. cat:将文件连接并输出到标准输出设备(常用作查看文件内容)
cat是concatenate(连接)的简写
# cat 默认向屏幕输出文件的内容
cat 文件名
# 输出内容并标出行号
cat -n 文件名
# 连续输出若干文件的内容
cat -n 文件名1 文件名2 文件名3 .....
# 输出若干文件内容,输出目标为另一个文件
# 若目标文件不存在,则创建并输出,若目标文件存在,则覆盖目标文件
cat 文件名1 文件名2 > 目标文件
# 若目标文件不存在,则创建并输出,若目标文件存在,则向目标文件后追加新内容
cat 文件名1 文件名2 > 目标文件
5. \ 输入时换行
有时在命令行输入的内容过长,或者为了便于观察,希望能在输入时换行,这个时候就可以使用 \ 了。
四、文件操作
1. ls:列出目录的内容
ls是list的简写
# 首先介绍一下ls命令的参数
# -a
# 显示所有的文件和目录,包括以 . 开头的文件
# -l
# 每行仅显示一个文件或目录名称,分别显示:
# 权限标识、硬链接数目、拥有者、组名称、文件或目录大小、最后更改时间
# -F
# 分类显示,可执行文件后加* 目录后加/ Socket后加= 符号链接后加@ 管道名称后加|
# -h
# human readable 以便于人查看的方式显示目录大小
# -R
# 递归处理,将子目录名称也一并列出
# -S
# 按照文件和目录的大小排序(-s 以块为单位显示文件或目录的大小)
# -t
# 按照文件的变更时间排序
# -X
# 以文件或目录的扩展名排序
# -r
# 反向排序,用相反的顺序列出文件和目录的名称
# 列出当前路径下的文件和目录
ls# 列出当前路径下的所有文件和目录
ls -a# 列出当前路径下的所有文件和目录及其详细信息
ls -al
# 列出指定目录下的文件,以人们易读的方式显示其详细信息,并分类显示
ls -lhF 指定目录
# 递归列出当前目录中的所有内容,包括子文件夹中的内容
ls -lR
# 按照文件的大小排序显示文件夹中的内容
ls -lS
ls -lSr
# 按照最后修改时间,列出当前目录中的文件
ls -lt
ls -ltr
2. cd:切换目录
cd是change directory的简写
# 切换到用户目录
cd
# 切换到用户目录也可以用
cd ~# 切换到指定目录
cd 指定目录路径
# 切换到的目录含有空格,可以使用引号引起来
cd "指定目录路径"# 切换到上级目录
cd ../
# 上述命令可简写为
cd ..
3. mkdir:建立目录(文件夹)
mkdir是make directories的简写
# 首先介绍一下ls命令的参数
# -p
# parents,如果要建立的目录上层目录未建立,加上该参数会连同上层目录一起建立
# -m <目录属性>
# 建立目录的时候为目录设置权限
# 在目录下建立子目录
mkdir 目录
# 在当前目录下建立子目录,授予所有成员读写执行权限
mkdir -m <权限> 目录
4. find:查找文件/目录
# 列出某路径下的所有目录和文件(默认为当前文件夹)
find [路径]
# 查找某目录下以te开头的文件/目录
find [路径] -name ‘te*’# 查找某目录下以t结尾的文件/目录
find [路径] -name ‘*t’
# 可以使用 -o或者-a 连接不同的判断条件(-o: or,满足一个条件即可,-a:and,满足所有条件)
# 查找某目录下以te开头或者以t结尾的文件/目录
find [路径] -name ‘te*’ -o -name ‘*t’
# 查找某路径下形如a??的字符,其中一个“?”代表任意一个字符
find [路径] -name 'a??'
# 查找指定时间内变动过的文件 下面的“+“表示指定时间之前,“-“表示指定时间之后
# 可以加上-ls参数,列出文件/目录的详细信息
find [路径] -mmin [+或-]分钟
find [路径] -mtime [+或-]天数
5. locate:一种高效快速的查找文件方式
locate是使用数据库查找文件的一个命令,具有更高的速度和效率,但是实时性较差(取决于数据库更新的频率)。在最开始的时候,数据库可能并不存在,因此需要使用updatedb命令更新数据库。如果创建文件(删除文件),并且没有更新数据库的情况下,也是找不到对应文件的(查到的路径不存在)。
# 首先介绍一下locate命令的参数
# -i
# ignore-case,忽略大小写
# -e
# existing,查询时会确认文件是否存在,如果存在才输出
6. cp:复制文件/文件夹(目录)
cp为copy的简写
# 将文件1复制为某路径下的文件2
cp 文件1 某路径下的某文件
# 将文件1复制到某文件夹
cp 文件1 某文件夹的目录
# 将某文件夹 复制到另一个文件夹中:
# 如果目的文件夹存在,则将该文件夹复制到对应文件夹中,作为其子文件夹
# 如果目的文件夹不存在,则创建该文件夹,并将该文件夹中的内容复制到新创建的文件夹中
cp -r 文件夹 目的文件夹
7. scp:在网络上不同主机间 安全地复制文件
OpenSSH secure file copy,可以在两台主机之间进行文件的拷贝。它使用ssh进行安全的拷贝,并且需要通过密码验证。
# scp命令的参数有很多,这里只是简要介绍部分
# -P
# 指定端口号,默认为22号端口
# -r
# 递归复制文件夹中的内容
# scp命令的格式为:
scp -P 端口号(默认为22) 源文件 ... 目的文件# 将本地文件复制到远程主机
scp -P 端口号(默认为22) 本地的文件 远程主机用户名@远程主机IP:路径
比如:scp -P 22 /home/ubuntu/myfiles auser@10.15.65.62:/home/auser/store# 将远程主机的文件复制到本地只需交换源文件和目的文件的位置即可
scp -P 端口号(默认为22) 远程主机用户名@远程主机IP:路径 本地的文件
比如:scp -P 22 auser@10.15.65.62:/home/auser/store /home/ubuntu/myfiles
在windows的命令行中复制文件和文件夹也是同样的操作:
8. mv:移动或重命名现有目录/文件
mv为move的简写
# 首先介绍一下mv命令的参数
# -f
# force,强行移动或重命名,即目的文件/目录名与现有的文件/目录重复的情况下会强行覆盖原有文件
# -b
# bakup,如果需要覆盖原有文件,则先将源文件备份,备份名称默认加上~后缀
# -S <后缀>
# 配合-b使用,指定备份文件所要附加的后缀
# -v
# 执行时输出相关信息
# 重命名某目录/文件
mv 源目录/文件 目的目录/文件
# 移动重命名
mv 源目录/文件 目的目录/文件
# 将当前目录下的abc移动到dir1下并重命名为a.txt,以默认备份方式备份a.txt
mv -b abc dir1/a.txt
# 将当前目录下的abc移动到dir1下并重命名为a.txt,备份原有的文件(添加.bakup后缀)
mv -b -S .bakup abc dir1/a.txt
9. rm:删除文件或目录
rm为remove的简写
# 首先介绍一下rm命令的参数
# -i
# 删除文件或目录之前询问用户
# -f
# force,强制删除目录或文件
# -r (或者是-R)
# 递归处理,删除指定目录及所有子目录和子文件
# -v
# 执行时输出相关信息#################### 执行删除操作时,一定要万分谨慎 ####################
# 删除当前文件夹下的某文件
rm 文件名
# 删除某个目录,删除前询问文件是否需要被删除(可进行选择性删除)
rm -ri 目录
# 强制删除某个目录及其子目录和子文件
rm -rf 目录
谨慎使用rm命令!!!
五、其他
1. man:查询命令手册
man为manual 的简写
# 查找某命令的手册,以查看相关操作
man 命令
比如man ls (点击q退出,q的意思的quit)
2. grep:查找文件中符合条件的字符串
grep是Globally search a Regular Expression and Print的简写
grep [参数] 样式 [文件或目录(如果缺省则表示从标准输入设备输入)]# 首先介绍一些参数的使用
# -A行数
# after,显示对应行之后的若干行
# -B行数
# before,显示对应行之前的若干行
# -d 操作
# 该参数指定了对于目录的处理方式
# 这里的操作是read(当作字符串处理)、recurse(递归处理)、skip(跳过)。
# 默认情况下是read
# -d recurse 也可以写作 -r
# -i
# --ignore-case,表示忽略大小写
# -l
# 只列出符合条件的文件名
# -L
# 列出不符合条件的文件名
# -n
# 列出对应的行号
# -w
# 查找完全符合样式的单词,如,查找int,原本可以被查找到的interesting在加了-w之后不会被查出# 如果某一字符为任意字符,可以使用.替代
# 比如要查找aaa,aba,aca,ada,......可以使用 a.a 来进行匹配
# 如果要查找带有字符 . 的文件,需要使用 \. 替代,可以查看下面图片示例。
# 在当前目录的所有后缀为.c文件中,查找包含“#include”的所有行,并显示行号
grep -n '#include' *.c
# 在当前目录的所有文件中,查找包含“intf”行及该行之前的1行和之后的2行,并显示行号
grep -n -B1 -A2 'int' *
# 查找某指定路径中的所有文件(包括子目录中的文件),找到含有‘sleep’的文件,只输出文件名
grep -lr 'sleep' 指定路径
# 通过使用管道,可以把前一命令的输出变成后一命令是输入,管道符为 |
# 由此可以从某程序的输出结果中,找到满足某条件的行并输出
# 该方法很适合从大量的输出中筛选出所要的信息
# 比如找到/home/ubuntu/下某一身份用户同时具有读、写、执行权限的文件(包含rwx)
la -al /home/ubuntu/ | grep 'rwx'
# 也可以从某一文件中找到包含int这个单词的行
# 找到某一目录下所有的.c文件,并将其结果保存到result.txt文件中
# 当然,使用之前用过的find命令“find /home/ubuntu/ -name '*.c*'”是完全可以的。
find /home/ubuntu/ | grep '\.c' > result.txt
# 输出当前跟root有关的所有进程信息
ps aux
3. jobs:查看作业状态
test.o为一个每隔一秒输出一个数字的程序,在执行程序时,可以使用Ctrl + Z 暂停程序执行。
3. bg:后台执行程序
bg为background的简写
# 使用bg 工作编号 的格式将任务放到后台执行
bg 作业编号#因为这个程序是有输出的,所以依然会向屏幕终端输出信息,但是程序确实是在后台执行的。
4. fg:前台执行程序
fg为foreground的简写
# 使用fg 工作编号 的格式将任务放到后台执行
fg 作业编号
如有不当或错误之处,恳请您的指正,谢谢!!!
相关文章:
Linux常用命令——基于Ubuntu22.04
本文介绍了一些Linux的常用命令。为了便于快速检索命令位置,文章二级标题都以“命令:命令的作用”展示,有些命令会先介绍命令的几个常用参数,然后结合具体的操作展示命令的使用。为了便于记忆,也会提到命令是由哪些短语…...
Sentinel
SentinelSentinel介绍什么是Sentinel?为什么需要流量控制?为什么需要熔断降级?一些普遍的使用场景本文介绍参考:Sentinel官网《Spring Cloud Alibaba 从入门到实战.pdf》Sentinel下载/安装项目演示构建项目控制台概览演示之前需先明确&#…...
再也不想去字节跳动面试了,6年测开面试遭到这样打击.....
前几天我朋友跟我吐苦水,这波面试又把他打击到了,做了快6年软件测试员。。。为了进大厂,也花了很多时间和精力在面试准备上,也刷了很多题。但题刷多了之后有点怀疑人生,不知道刷的这些题在之后的工作中能不能用到&…...
【深度解刨C语言】符号篇(全)
文章目录一.注释二.续行符与转义符1.续行符2.转义符三.回车与换行四.逻辑操作符五.位操作符和移位操作符六.前置与后置七.字符与字符串八./和%1.四种取整方式2.取模与取余的区别和联系3./两边异号的情况1.左正右负2.左负右正九.运算符的优先级一.注释 注释的两种符号ÿ…...
VS Code 将推出更多 AI 功能给 Java 开发者
大家好,欢迎来到我们的二月更新!我们将为您带来与 JUnit 5 并行测试相关的新功能以及用于 Spring Boot Dashboard 的过滤功能。另外,OpenAI 和 ChatGPT 是最近的热点,所以在 GitHub Copilot 方面也有一些令人激动的消息࿰…...
关于利用FFT分析时域信号幅相的思考与验证
引言 利用FFT分析/估计时域信号的幅度和相位,属于传统估计的范畴。估计的准确程度受频率分辨率的影响较大。如果被估计的目标频率等于频率分辨率的整数倍,信号的幅相估计都是最准确的。一旦目标频率不等于频率分辨率的整数倍,幅度估计值将会…...
基于java中的Springboot框架实现餐厅点餐系统展示
基于java中的Springboot框架实现餐厅点餐系统开发语言和工具 开发语言:Java 框架:springboot JDK版本:JDK1.8 服务器:tomcat7 数据库:mysql 5.7 21世纪的今天,随着社会的不断发展与进步,人们对…...
案例07-在线人员列表逻辑混乱
一、背景介绍 在线人员列表涉及到的问题: 类中写了公共变量最后导致数据混乱现象 保存数据没有考虑业务的隔夜覆盖导致的逻辑漏洞 涉及到继承,对于this,如果父类有同样的成员最终使用哪一个? 参数不一致导致后续维护混乱 mysql由…...
Java集合框架
Java集合框架是Java编程语言所提供的一种便捷的数据结构的实现。Java集合框架提供了一种统一的接口和机制来访问和操作集合中的元素,这些元素可以是对象、基本数据类型或其他集合。Java集合框架是Java应用程序中最常用的特性之一,它为开发人员提供了许多…...
奇异值分解(SVD)原理与在降维中的应用
奇异值分解(SVD)原理与在降维中的应用 奇异值分解(Singular Value Decomposition,以下简称SVD)是在机器学习领域广泛应用的算法,它不光可以用于降维算法中的特征分解,还可以用于推荐系统,以及自然语言处理等领域。是很多机器学习算…...
GDB调试程序
1.GDB 调试程序 GDB是GNU开源组织发布的一个强大的UNIX下的程序调试工具。在UNIX平台下做软件,GDB这个调试工具有比VC的图形化调试器更强大的功能。所谓“寸有所长,尺有所短”就是这个道理。 一般来说,GDB主要帮忙你完成下面四个方面的功能…...
五种IO模型
用户空间与内核空间 操作系统把内存空间划分成了两个部分:内核空间和用户空间。 为了保护内核空间的安全,操作系统一般都限制用户进程直接操作内核。 所以,当我们使用TCP发送数据的时候,需要先将数据从用户空间拷贝到内核空间&a…...
5 全面认识java的控制流程
全面认识java控制流程1.块作用域2.条件语句3.迭代语句3.1while语句3.2do-while语句3.3for语句3.4 for-in语法4.中断控制流程的语句4.1 return4.2 break和continue4.2.1 不带标签的break语句4.2.2 带标签的break语句4.2.3 continue语句4.3 goto()5.多重选择:switch语句1.块作用域…...
第二章 测验【嵌入式系统】
第二章 测验【嵌入式系统】前言推荐第二章 测验【嵌入式系统】最后前言 以下内容源自《嵌入式系统》 仅供学习交流使用 推荐 第一章 测验【嵌入式系统】 第二章 测验【嵌入式系统】 1单选题 32bit宽的数据0x12345678 在小端模式(Little-endian)模式…...
排序算法之插入排序
要考数据结构了,赶紧来复习一波排序算法 文章目录一、直接插入排序二、希尔排序一、直接插入排序 直接上主题 插排,揪出一个数,插入到原本已经有序的数组里面,如数组有n个数据,从0~n下标依次排列,先从左往…...
Kaggle实战入门:泰坦尼克号生生还预测
Kaggle实战入门:泰坦尼克号生生还预测1. 加载数据2. 特征工程3. 模型训练4. 模型部署泰坦尼克号(Titanic),又称铁达尼号,是当时世界上体积最庞大、内部设施最豪华的客运轮船,有“永不沉没”的美誉ÿ…...
【大汇总】11个Python开发经典错误(1)
“但是太阳,他每时每刻都是夕阳也都是旭日。当他熄灭着走下山去收尽苍凉残照之际,正是他在另一面燃烧着爬上山巅散烈烈朝晖之时。” --------史铁生《我与地坛》 🎯作者主页:追光者♂🔥 🌸个人简介:计算机专业硕士研究生💖、2022年CSDN博客之星人工智能领…...
Java中的异常
程序错误一般分为三种:编译错误: 编写程序时没有遵循语法规则,编译程序能够自己发现错误并提示位置和原因。运行错误:程序在执行的时候运行环境发现了不能执行的操作。比如,JVM出错了,内存溢出等。逻辑错误…...
L2-022 重排链表 L2-002 链表去重
给定一个单链表 L1 →L2→⋯→L n−1 →L n ,请编写程序将链表重新排列为 L n →L 1 →L n−1 →L 2 →⋯。例如:给定L为1→2→3→4→5→6,则输出应该为6→1→5→2→4→3。 输入格式: 每个输入包含1个测试用例。每个测试用例第1行…...
【手撕八大排序】——插入排序
文章目录插入排序概念插入排序分为2种一 .直接插入排序直接插入排序时间复杂度二.希尔排序希尔排序时间复杂度效率比较插入排序概念 直接插入排序是从一个有序的序列中选择一个合适的位置进行插入,这个合适的位置取决于是要升序排序还是降序排序。 每一次进行排序…...
flink多流操作(connect cogroup union broadcast)
flink多流操作1 分流操作2 connect连接操作2.1 connect 连接(DataStream,DataStream→ConnectedStreams)2.2 coMap(ConnectedStreams → DataStream)2.3 coFlatMap(ConnectedStreams → DataStream)3 union操作3.1 uni…...
漫画:什么是快速排序算法?
这篇文章,以对话的方式,详细着讲解了快速排序以及排序排序的一些优化。 一禅:归并排序是一种基于分治思想的排序,处理的时候可以采取递归的方式来处理子问题。我弄个例子吧,好理解点。例如对于这个数组arr[] { 4&…...
vue 3.0组件(下)
文章目录前言:一,透传属性和事件1. 如何“透传属性和事件”2.如何禁止“透传属性和事件”3.多根元素的“透传属性和事件”4. 访问“透传属性和事件”二,插槽1. 什么是插槽2. 具名插槽3. 作用域插槽三,单文件组件CSS功能1. 组件作用…...
双指针 -876. 链表的中间结点-leetcode
开始一个专栏,写自己的博客 双指针,也算是作为自己的笔记吧! 双指针从广义上来说,是指用两个变量在线性结构上遍历而解决的问题。狭义上说, 对于数组,指两个变量在数组上相向移动解决的问题;对…...
Linux之运行级别
文章目录一、指定运行级别基本介绍CentOS7后运行级别说明一、指定运行级别 基本介绍 运行级别说明: 0:关机 1:单用户【找回丢失密码】 2:多用户状态没有网络服务 3:多用户状态有网络服务 4:系统未使用保留给用户 5:图形界面 6:系统重启 常用运行级别是3和5,也可以…...
python搭建web服务器
前言:相信看到这篇文章的小伙伴都或多或少有一些编程基础,懂得一些linux的基本命令了吧,本篇文章将带领大家服务器如何部署一个使用django框架开发的一个网站进行云服务器端的部署。 文章使用到的的工具 Python:一种编程语言&…...
【SpringCloud】SpringCloud Feign详解
目录前言SpringCloud Feign远程服务调用一.远程调用逻辑图二.两个服务的yml配置和访问路径三.使用RestTemplate远程调用四.构建Feign五.自定义Feign配置六.Feign配置日志七.Feign调优八.抽离Feign前言 微服务分解成多个不同的服务,那么多个服务之间怎么调用呢&…...
更改Hive元数据发生的生产事故
今天同事想在hive里用中文做为分区字段。如果用中文做分区字段的话,就需要更改Hive元 数据库。结果发生了生产事故。导致无法删除表和删除分区。记一下。 修改hive元数据库的编码方式为utf后可以支持中文,执行以下语句: alter table PARTITI…...
《Netty》从零开始学netty源码(八)之NioEventLoop.selector
目录java原生的WEPollSelectorImplnetty的SelectionKey容器SelectedSelectionKeySetnetty的SelectedSelectionKeySetSelectorSelectorTupleopenSelector每一个NioEventLoop配一个选择器Selector,在创建NioEventLoop的构造函数中会调用其自身方法openSelector获取sel…...
TCP UDP详解
文章目录TCP UDP协议1. 概述2. 端口号 复用 分用3. TCP3.1 TCP首部格式3.2 建立连接-三次握手3.3 释放连接-四次挥手3.4 TCP流量控制3.5 TCP拥塞控制3.6 TCP可靠传输的实现3.7 TCP超时重传4. UDP5.TCP与UDP的区别TCP UDP协议 1. 概述 TCP、UDP协议是TCP/IP体系结构传输层中的…...
福田蒙派克6座/广州seo网络优化公司
服务器数据恢复故障描述: 这次要为大家介绍的数据恢复案例是一台存储因硬盘出现故障导致的数据丢失。这台存储设备为某常见品牌的DS5300型号存储,存储连接扩展柜。存储的最底层是十几块硬盘组成的几组raid5磁盘阵列。管理员有一天发现了存储的多组raid阵…...
南京有哪些做网站的公司/360网站排名优化
问题 MediaConvert进行转码任务的时候,需要及时了解MediaConvert转码任务的状态。因为AWS设计成MediaConvert转码任务只能给AWS的服务监控平台CloudWatch发事件,这次就来说说怎么在CloudWatch上面配置对MediaConvert转码任务的监听。 步骤 MediaConve…...
做网站制作较好的公司/成都疫情最新消息
一.简介 0. 页面的生命周期。 1. WebForm后台页面类继承于Page类,Page类实现了IHttpHandler接口。 2. 前台页面类继承于后台页面类。 3. 先调用PageLoad方法,再调用Render方法生成html代码。 二. 加密安全 互联网没有绝对的安全,登…...
b2b网站建设费用/国内专业的seo机构
目录 简介 算法详解 1.1 对齐 1.2 损失函数 1.3 预测 1.3.1 Greedy Search 1.3.2 Beam Search CTC的特征 参考知识 简介 在语音识别中,我们的数据集是音频文件和其对应的文本,不幸的是,音频文件和文本很难再单词的单位上对齐。除了语…...
线上报名小程序怎么做/湖南seo优化价格
https://blog.csdn.net/bazhidao0031/article/details/81450815 转载于:https://www.cnblogs.com/guochen/p/10340837.html...
调用wordpress数据/网络推广的优势
核心提示:WMS是仓库管理系统(WarehouseManagement System) 的缩写,仓库管理系统是通过入库业务、出库业务、仓库调拨、库存调拨和虚仓管理等功能,实现完善的企业仓储信息管理。现代医药物流WMS功能需求又有什么特殊之处呢?WMS一般…...