Linux命令详解
1.目录结构
2.history游览历史
3.命令行中的ctrl组合键
4.列出目录的内容
5.修改文件权限chmod
6.文件内容查看
文件管理
7.输出重定向:>
8.管道:|
9.清屏:clear
10.显示当前路径:pwd
11.创建目录:mkdir
12.删除文件:rm
13.建立链接文件:ln -s
14.文本搜索:grep
15.查找文件:find
16.拷贝文件:cp
17.移动文件:mv
18.归档管理:tar
19.文件压缩解压:gzip、bzip2
20.文件压缩解压:zip、unzip
21.查看命令位置:which
用户和用户组管理
22.查看登录用户:who
23.退出登录账户: exit
24.添加用户账号:useradd
25.修改用户:usermod
26.设置用户密码:passwd
27.删除用户:userdel
28.切换用户:su
29.以root身份执行指令:sudo
30.添加、删除组账号:groupadd、groupdel
31.用户组管理:groupmod
系统管理
32.查看当前日历:cal
33.显示或设置时间:date
34.查看网络状态:netstat\
35.查看进程信息:ps
36.动态显示linux进程:top
37.终止进程:kill
38.关机重启:reboot、shutdown、init
39.查看或配置网卡信息:ifconfig
40.测试远程主机连通性:ping
Linux磁盘管理
41.检测磁盘空间:df
42.检测目录所占磁盘空间:du
43.分区表操作工具
44.磁盘检验:fsck
45.检查和维护不一致的文件系统:fsck
46.磁盘挂载与卸除:mount/umount
Linux管道命令
47.统计字数:wc
48.列选取命令:cut
49. 行选取命令:grep
50.排序:sort
51.去重:uniq
52.同时输出多个文件:tee
53.替换指定的字符:tr
54.文件按行连接:join
55.文件切割:split
56.参数代换:xargs
1.目录结构
/ | 根目录 | 一般根目录下只存放目录,在Linux下有且只有一个根目录。所有的东西都是从这里开始。当你在终端里输入“/home”,你其实是在告诉电脑,先从/(根目录)开始,再进入到home目录。 |
/bin /usr/bin | 可执行二进制文件的目录 | 如常用的命令ls、tar、mv、cat等。 |
/boot | 放置linux系统启动时用到的一些文件 | 如Linux的内核文件:/boot/vmlinuz,系统引导管理器:/boot/grub。 |
/dev | 存放linux系统下的设备文件 | 访问该目录下某个文件,相当于访问某个设备,常用的是挂载光驱 mount /dev/cdrom /mnt。 |
/etc | 系统配置文件存放的目录 | 不建议在此目录下存放可执行文件,重要的配置文件有 /etc/inittab、/etc/fstab、/etc/init.d、/etc/X11、/etc/sysconfig、/etc/xinetd.d。 |
/home | 系统默认的用户家目录 | 新增用户账号时,用户的家目录都存放在此目录下,表示当前用户的家目录,edu 表示用户 edu 的家目录。 |
/lib: /usr/lib: /usr/local/lib | 系统使用的函数库的目录 | 程序在执行过程中,需要调用一些额外的参数时需要函数库的协助。 |
/lost+fount | 系统异常产生错误时,会将一些遗失的片段放置于此目录下 | /mnt: /media:光盘默认挂载点,通常光盘挂载于 /mnt/cdrom 下,也不一定,可以选择任意位置进行挂载。 |
/opt | 给主机额外安装软件所摆放的目录。 | |
/proc | 此目录的数据都在内存中,如系统核心,外部设备,网络状态,由于数据都存放于内存中,所以不占用磁盘空间,比较重要的目录有 /proc/cpuinfo、/proc/interrupts、/proc/dma、/proc/ioports、/proc/net/* 等。 | |
/root | 系统管理员root的家目录。 | |
/sbin /usr/sbin /usr/local/sbin | 放置系统管理员使用的可执行命令 | 如fdisk、shutdown、mount 等。与 /bin 不同的是,这几个目录是给系统管理员 root使用的命令,一般用户只能"查看"而不能设置和使用。 |
/tmp | 一般用户或正在执行的程序临时存放文件的目录 | 任何人都可以访问,重要数据不可放置在此目录下。 |
/srv | 服务启动之后需要访问的数据目录 | 如 www 服务需要访问的网页数据存放在 /srv/www 内。 |
/usr | 应用程序存放目录 | usr/bin 存放应用程序,/usr/share 存放共享数据,/usr/lib 存放不能直接运行的,却是许多程序运行所必需的一些函数库文件。/usr/local: 存放软件升级包。/usr/share/doc: 系统说明文件存放目录。/usr/share/man: 程序说明文件存放目录。 |
/var | 放置系统执行过程中经常变化的文件 | 如随时更改的日志文件 /var/log,/var/log/message:所有的登录文件存放目录,/var/spool/mail:邮件存放的目录,/var/run:程序或服务启动后,其PID存放在该目录下。 |
2.history游览历史
- history N 显示最近N条命令
- history -c 清除所有的历史记录
- history -w xxx.txt 保存历史记录到文本xxx.txt
3.命令行中的ctrl组合键
- Ctrl+c 结束正在运行的程序
- Ctrl+d 结束输入或退出shell
- Ctrl+s 暂停屏幕输出【锁住终端】
- Ctrl+q 恢复屏幕输出【解锁终端】
- Ctrl+l 清屏,【是字母L的小写】等同于Clear
- 当前光标到行首:ctrl+a
- 当前光标到行尾:ctrl+e
- 删除当前光标到行首:ctrl+u
- 删除当前光标到行尾:ctrl+k
- Ctrl+y 在光标处粘贴剪切的内容
- Ctrl+r 查找历史命令【输入关键字,就能调出以前执行过的命令】
- Ctrl+t 调换光标所在处与其之前字符位置,并把光标移到下个字符
- Ctrl+x+u 撤销操作
- Ctrl+z 转入后台运行
4.列出目录的内容
Linux文件或者目录名称最长可以有265个字符,“.”代表当前目录,“…”代表上一级目录,以“.”开头的文件为隐藏文件,需要用 -a 参数才能显示。
参数 | 含义 |
---|---|
-a | 显示指定目录下所有子目录与文件,包括隐藏文件 |
-l | 以列表方式显示文件的详细信息 |
-h | 配合 -l 以人性化的方式显示文件大小 |
列出的信息的含义:
第1个字母代表文件的类型:
- “d” 代表文件夹
- “-” 代表普通文件
- “c” 代表硬件字符设备
- “b” 代表硬件块设备
- “s”表示管道文件
- “l” 代表软链接文件。
5.修改文件权限chmod
chmod 修改文件权限有两种使用格式:字母法与数字法。
字母法:chmod u/g/o/a +/-/= rwx 文件
[ u/g/o/a ] | 含义 |
---|---|
u | user 表示该文件的所有者 |
g | group 表示与该文件的所有者属于同一组( group )者,即用户组 |
o | other 表示其他以外的人 |
a | all 表示这三者皆是 |
[ ±= ] | 含义 |
---|---|
+ | 增加权限 |
- | 撤销权限 |
= | 设定权限 |
数字法:“rwx” 这些权限也可以用数字来代替
字母 | 说明 |
---|---|
r | 读取权限,数字代号为 “4” |
w | 写入权限,数字代号为 “2” |
x | 执行权限,数字代号为 “1” |
- | 不具任何权限,数字代号为 “0” |
如执行:chmod u=rwx,g=rx,o=r filename 就等同于:chmod u=7,g=5,o=4 filename
chmod 751 file:
- 文件所有者:读、写、执行权限
- 同组用户:读、执行的权限
- 其它用户:执行的权限
chmod 777 file:所有用户拥有读、写、执行权限
注意:如果想递归所有目录加上相同权限,需要加上参数“ -R ”。 如:chmod 777 test/ -R 递归 test 目录下所有文件加 777 权限
6.文件内容查看
- cat 由第一行开始显示文件内容
- tac 从最后一行开始显示
- nl 显示的时候,顺道输出行号
- more 一页一页的显示文件内容
- less与more 类似,但可以往前翻页
- head 只看头几行
- tail 只看尾巴几行
1)cat
- -A :相当于 -vET 的整合选项,可列出一些特殊字符而不是空白而已;
- -v :列出一些看不出来的特殊字符
- -E :将结尾的断行字节 $ 显示出来;
- -T :将 [tab] 按键以 ^I 显示出来;
- -b :列出行号,空白行不标行号
- -n :列出行号,连同空白行也会有行号
2)less
[pagedown]:向下翻动一页;空白键 :向下翻动一页;
[pageup] :向上翻动一页;
文件管理
7.输出重定向:>
可将本应显示在终端上的内容保存到指定文件中。
如:ls > test.txt ( test.txt 如果不存在,则创建,存在则覆盖其内容 )
注意: >输出重定向会覆盖原来的内容,>>输出重定向则会追加到文件的尾部。
8.管道:|
管道:一个命令的输出可以通过管道做为另一个命令的输入。
“ | ”的左右分为两端,从左端写入到右端。
9.清屏:clear
clear作用为清除终端上的显示(类似于DOS的cls清屏功能),快捷键:Ctrl + l ( “l” 为字母 )
10.显示当前路径:pwd
-P :显示出确实的路径,而非使用连结 (link) 路径
[root@VM_0_9_centos ~]# cd /var/mail/
[root@VM_0_9_centos mail]# pwd
/var/mail
[root@VM_0_9_centos mail]# pwd -P
/var/spool/mail
11.创建目录:mkdir
- -m :指定被创建目录的权限,而不是根据默认权限 (umask) 设定
- -p :递归创建所需要的目录
实例:-p递归创建目录:
[root@www ~]# cd /tmp
[root@www tmp]# mkdir test <==创建一名为 test 的新目录
[root@www tmp]# mkdir test1/test2/test3/test4
mkdir: cannot create directory `test1/test2/test3/test4':
No such file or directory <== 没办法直接创建此目录啊!
[root@www tmp]# mkdir -p test1/test2/test3/test4
mkdir创建的目录权限默认根据umask得到,而-m参数可以指定被创建目录的权限:
[root@VM_0_9_centos ~]# mkdir t1
[root@VM_0_9_centos ~]# ll
drwxr-xr-x 2 root root 4096 Nov 22 18:54 t1
[root@VM_0_9_centos ~]# mkdir t2 -m 711
[root@VM_0_9_centos ~]# ll
drwxr-xr-x 2 root root 4096 Nov 22 18:54 t1
drwx--x--x 2 root root 4096 Nov 22 18:54 t2
12.删除文件:rm
可通过rm删除文件或目录。使用rm命令要小心,因为文件删除后不能恢复。为了防止文件误删,可以在rm后使用-i参数以逐个确认要删除的文件。
参数 | 含义 |
---|---|
-i | 以进行交互式方式执行 |
-f | 强制删除,忽略不存在的文件,无需提示 |
-r | 递归地删除目录下的内容,删除文件夹时必须加此参数 |
13.建立链接文件:ln -s
软链接:ln -s 源文件 链接文件
硬链接:ln 源文件 链接文件
软链接类似于Windows下的快捷方式,如果软链接文件和源文件不在同一个目录,源文件要使用绝对路径,不能使用相对路径。
硬链接只能链接普通文件不能链接目录。 两个文件占用相同大小的硬盘空间,即使删除了源文件,链接文件还是存在,所以-s选项是更常见的形式。
14.文本搜索:grep
Linux系统中grep命令是一种强大的文本搜索工具,grep允许对文本文件进行模式查找。如果找到匹配模式, grep打印包含模式的所有行。
grep一般格式为:grep [-选项] '搜索内容串' 文件名
在grep命令中输入字符串参数时,最好引号或双引号括起来。例如:grep 'a' 1.txt。
15.查找文件:find
命令 | 含义 |
---|---|
find ./ -name test.sh | 查找当前目录下所有名为test.sh的文件 |
find ./ -name ‘*.sh’ | 查找当前目录下所有后缀为.sh的文件 |
find ./ -name “[A-Z]*” | 查找当前目录下所有以大写字母开头的文件 |
find /tmp -size 2M | 查找在/tmp 目录下等于2M的文件 |
find /tmp -size +2M | 查找在/tmp 目录下大于2M的文件 |
find /tmp -size -2M | 查找在/tmp 目录下小于2M的文件 |
find ./ -size +4k -size -5M | 查找当前目录下大于4k,小于5M的文件 |
find ./ -perm 0777 | 查找当前目录下权限为 777 的文件或目录 |
常用参数说明 :
-perm xxxx:权限为 xxxx的文件或目录
-user: 按照文件属主来查找文件。
-size n : n单位,b:512位元组的区块,c:字元数,k:kilo bytes,w:二个位元组
-mount, -xdev : 只检查和指定目录在同一个文件系统下的文件,避免列出其它文件系统中的文件
-amin n : 在过去 n 分钟内被读取过
-anewer file : 比文件 file 更晚被读取过的文件
-atime n : 在过去n天内被读取过的文件
-cmin n : 在过去 n 分钟内被修改过
-cnewer file :比文件 file 更新的文件
-ctime n : 在过去n天内被修改过的文件
-empty : 空的文件
-gid n or -group name : gid 是 n 或是 group 名称是 name
-ipath p, -path p : 路径名称符合 p 的文件,ipath 会忽略大小写
-name name, -iname name : 文件名称符合 name 的文件。iname 会忽略大小写
-type 查找某一类型的文件:
b - 块设备文件
d - 目录
c - 字符设备文件
p - 管道文件
l - 符号链接文件
f - 普通文件
-exec 命令名{} \ (注意:“}”和“\”之间有空格)
find实例:
显示当前目录中大于20字节并以.c结尾的文件名
find . -name "*.c" -size +20c
将目前目录其其下子目录中所有一般文件列出
find . -type f
将目前目录及其子目录下所有最近 20 天内更新过的文件列出
find . -ctime -20
查找/var/log目录中更改时间在7日以前的普通文件,并在删除之前询问它们:
find /var/log -type f -mtime +7 -ok rm {} \;
查找前目录中文件属主具有读、写权限,并且文件所属组的用户和其他用户具有读权限的文件:
find . -type f -perm 644 -exec ls -l {} \;
查找系统中所有文件长度为0的普通文件,并列出它们的完整路径:
find / -type f -size 0 -exec ls -l {} \;
从根目录查找类型为符号链接的文件,并将其删除:
find / -type l -exec rm -rf {} \
从当前目录查找用户tom的所有文件并显示在屏幕上
find . -user tom
在当前目录中查找所有文件以.doc结尾,且更改时间在3天以上的文件,找到后删除,并且给出删除提示
find . -name *.doc -mtime +3 -ok rm {} \;
在当前目录下查找所有链接文件,并且以长格式显示文件的基本信息
find . -type l -exec ls -l {} \;
在当前目录下查找文件名有一个小写字母、一个大写字母、两个数字组成,且扩展名为.doc的文件
find . -name '[a-z][A-Z][0-9][0-9].doc'
16.拷贝文件:cp
选项 | 含义 |
---|---|
-a | 该选项通常在复制目录时使用,它保留链接、文件属性,并递归地复制目录,简单而言,保持文件原有属性。 |
-f | 已经存在的目标文件而不提示 |
-i | 交互式复制,在覆盖目标文件之前将给出提示要求用户确认 |
-r | 若给出的源文件是目录文件,则cp将递归复制该目录下的所有子目录和文件,目标文件必须为一个目录名。 |
-v | 显示拷贝进度 |
-l | 创建硬链接(hard link),而非复制文件本身 |
-s | 复制成为符号链接 (symbolic link),相当于批量创建快捷方式 |
-u | 若 destination 比 source 旧才升级 destination ! |
17.移动文件:mv
mv命令用来移动文件或目录,也可以给文件或目录重命名。
选项 | 含义 |
---|---|
-f | 禁止交互式操作,如有覆盖也不会给出提示 |
-i | 确认交互方式操作,如果mv操作将导致对已存在的目标文件的覆盖,系统会询问是否重写,要求用户回答以避免误覆盖文件 |
-v | 显示移动进度 |
18.归档管理:tar
此命令可以把一系列文件归档到一个大文件中,也可以把档案文件解开以恢复数据。
tar使用格式 tar [参数] 打包文件名 文件
tar命令参数很特殊,其参数前面可以使用“-”,也可以不使用。
参数 | 含义 |
---|---|
-c | 生成档案文件,创建打包文件 |
-v | 列出归档解档的详细过程,显示进度 |
-f | 指定档案文件名称,f后面一定是.tar文件,所以必须放选项最后 |
-t | 列出档案中包含的文件 |
-x | 解开档案文件 |
注意:除了f需要放在参数的最后,其它参数的顺序任意。
tar命令中-z选项可以调用gzip实现了一个压缩的功能,实行一个先打包后压缩的过程。
压缩用法:tar zcvf 压缩包包名 文件1 文件2 …
例如: tar zcvf test.tar.gz 1.c 2.c 3.c 4.c把 1.c 2.c 3.c 4.c 压缩成 test.tar.gz
解压用法: tar zxvf 压缩包包名
python@ubuntu:~/test/code$ ls
new.tar.gz test.tar.gz
python@ubuntu:~/test/code$ tar zxvf new.tar.gz
1.c
2.c
3.c
4.c
python@ubuntu:~/test/code$ ls
1.c 2.c 3.c 4.c new.tar.gz test.tar.gz
解压到指定目录:-C (解压时可以不指定-z选项)
python@ubuntu:~/test/code$ ls number/
python@ubuntu:~/test/code$ tar xvf test.tar.gz -C number/ python@ubuntu:~/test/code$ ls number/
1.c 2.c 3.c 4.c
19.文件压缩解压:gzip、bzip2
tar与gzip命令结合使用实现文件打包、压缩。 tar只负责打包文件,但不压缩,用gzip压缩tar打包后的文件,其扩展名一般用xxxx.tar.gz。
gzip [选项] 被压缩文件
选项 | 含义 |
---|---|
-d | 解压文件 |
-r | 压缩文件 |
bzip2命令跟gzip用法类似
压缩用法:tar jcvf 压缩包包名 文件…(tar jcvf bk.tar.bz2 *.c)
解压用法:tar jxvf 压缩包包名 (tar jxvf bk.tar.bz2)
20.文件压缩解压:zip、unzip
通过zip压缩文件的目标文件不需要指定扩展名,默认扩展名为zip。
压缩文件:zip [-r] 目标文件(没有扩展名) 源文件
解压文件:unzip -d 解压后目录文件 压缩文件
python@ubuntu:~/test$ ls
1.txt 2.txt 3.txt test.tar
python@ubuntu:~/test$ zip myzip *.txtadding: 1.txt (stored 0%)adding: 2.txt (stored 0%)adding: 3.txt (stored 0%)
python@ubuntu:~/test$ ls
1.txt 2.txt 3.txt myzip.zip test.tar
python@ubuntu:~/test$ rm -f *.txt *.tar
python@ubuntu:~/test$ ls
myzip.zip
python@ubuntu:~/test$ unzip myzip.zip
Archive: myzip.zipextracting: 1.txt extracting: 2.txt extracting: 3.txt
python@ubuntu:~/test$ ls
1.txt 2.txt 3.txt myzip.zip
python@ubuntu:~/test$ unzip -d dir myzip.zip
Archive: myzip.zipextracting: dir/1.txt extracting: dir/2.txt extracting: dir/3.txt
python@ubuntu:~/test$ ls
1.txt 2.txt 3.txt dir myzip.zip
21.查看命令位置:which
python@ubuntu:~$ which ls
/bin/ls
python@ubuntu:~$ which sudo
/usr/bin/sudo
用户和用户组管理
22.查看登录用户:who
who am i
选项 | 含义 |
---|---|
-m或am I | 只显示运行who命令的用户名、登录终端和登录时间 |
-q或–count | 只显示用户的登录账号和登录用户的数量 |
-u | 在登录时间后显示该用户最后一次操作到当前的时间间隔 |
-u或–heading | 显示列标题 |
23.退出登录账户: exit
如果是图形界面,退出当前终端;
如果是使用ssh远程登录,退出登陆账户;
如果是切换后的登陆用户,退出则返回上一个登陆账号
24.添加用户账号:useradd
参数 | 含义 |
---|---|
-d | 指定用户登录系统时的主目录 |
-m | 自动建立目录,未指定-d参数时会在/home/{当前用户}目录下建立主目录 |
-g | 指定组名称 |
25.修改用户:usermod
常用的选项包括-c, -d, -m, -g, -G, -s, -u以及-o等
,这些选项的意义与useradd
命令中的选项一样,可以为用户指定新的资源值 。
修改用户所在组:usermod -g 用户组 用户名
usermod -g test abc
改abc用户的家目录位置:usermod -d 家目录 用户名
usermod -d /home/abc abc
26.设置用户密码:passwd
超级用户可以为自己和其他用户指定口令,普通用户只能用它修改自己的口令。命令的格式为:
passwd 选项 用户名
可使用的选项:
- -l 锁定口令,即禁用账号。
- -u 口令解锁。
- -d 使账号无口令。
- -f 强迫用户下次登录时修改口令。
假设当前用户是sam,则下面的命令修改该用户自己的口令:
$ passwd
Old password:******
New password:*******
Re-enter new password:*******
如果是超级用户,可以用下列形式指定任何用户的口令:
# passwd sam
New password:*******
Re-enter new password:*******
普通用户修改自己的口令时,passwd命令会先询问原口令,验证后再要求用户输入两遍新口令,如果两次输入的口令一致,则将这个口令指定给用户;而超级用户为用户指定口令时,就不需要知道原口令。
为用户指定空口令时,执行下列形式的命令:
passwd -d sam
此命令将用户 sam 的口令删除,这样用户 sam 下一次登录时,系统就不再允许该用户登录了。
passwd 命令还可以用 -l(lock) 选项锁定某一用户,使其不能登录,例如:
passwd -l sam
27.删除用户:userdel
命令 | 含义 |
---|---|
userdel abc(用户名) | 删除abc用户,但不会自动删除用户的主目录 |
userdel -r abc(用户名) | 删除用户,同时删除用户的主目录 |
28.切换用户:su
命令 | 含义 |
---|---|
su | 切换到root用户 |
su root | 切换到root用户 |
su - | 切换到root用户,同时切换目录到/root |
su - root | 切换到root用户,同时切换目录到/root |
su 普通用户 | 切换到普通用户 |
su - 普通用户 | 切换到普通用户,同时切换普通用户所在的目录 |
29.以root身份执行指令:sudo
sudo命令可以临时获取root权限
使用权限:在 /etc/sudoers 中有出现的使用者。
30.添加、删除组账号:groupadd、groupdel
python@ubuntu:~/test$ sudo groupadd abc
python@ubuntu:~/test$ sudo groupdel abc
python@ubuntu:~/test$ sudo groupdel abc
groupdel:“abc”组不存在
31.用户组管理:groupmod
修改用户组的属性使用groupmod命令。其语法如下:
groupmod 选项 用户组
- -g GID 为用户组指定新的组标识号。
- -o 与-g选项同时使用,用户组的新GID可以与系统已有用户组的GID相同。
- -n新用户组 将用户组的名字改为新名字
系统管理
32.查看当前日历:cal
cal命令用于查看当前日历,-y显示整年日历:
33.显示或设置时间:date
34.查看网络状态:netstat\
参数说明:
-a或–all 显示所有连线中的Socket。
-A<网络类型>或–<网络类型> 列出该网络类型连线中的相关地址。
-c或–continuous 持续列出网络状态。
-C或–cache 显示路由器配置的快取信息。
-e或–extend 显示网络其他相关信息。
-F或–fib 显示FIB。
-g或–groups 显示多重广播功能群组组员名单。
-h或–help 在线帮助。
-i或–interfaces 显示网络界面信息表单。
-l或–listening 显示监控中的服务器的Socket。
-M或–masquerade 显示伪装的网络连线。
-n或–numeric 直接使用IP地址,而不通过域名服务器。
-N或–netlink或–symbolic 显示网络硬件外围设备的符号连接名称。
-o或–timers 显示计时器。
-p或–programs 显示正在使用Socket的程序识别码和程序名称。
-r或–route 显示Routing Table。
-s或–statistice 显示网络工作信息统计表。
-t或–tcp 显示TCP传输协议的连线状况。
-u或–udp 显示UDP传输协议的连线状况。
-v或–verbose 显示指令执行过程。
-V或–version 显示版本信息。
-w或–raw 显示RAW传输协议的连线状况。
-x或–unix 此参数的效果和指定"-A unix"参数相同。
–ip或–inet 此参数的效果和指定"-A inet"参数相同。
常用:
[root@bedo19c dbhome_1]# netstat -nltp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 676/rpcbind
tcp 0 0 192.168.122.1:53 0.0.0.0:* LISTEN 1316/dnsmasq
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1037/sshd
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 1035/cupsd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1209/master
tcp 0 0 127.0.0.1:6010 0.0.0.0:* LISTEN 1760/sshd: root@pts
tcp 0 0 127.0.0.1:6011 0.0.0.0:* LISTEN 12866/sshd: root@pt
tcp6 0 0 :::5500 :::* LISTEN 7140/tnslsnr
tcp6 0 0 :::24171 :::* LISTEN 13279/ora_d000_orcl
tcp6 0 0 :::111 :::* LISTEN 676/rpcbind
tcp6 0 0 :::1521 :::* LISTEN 7140/tnslsnr
tcp6 0 0 :::22 :::* LISTEN 1037/sshd
tcp6 0 0 ::1:631 :::* LISTEN 1035/cupsd
tcp6 0 0 ::1:25 :::* LISTEN 1209/master
tcp6 0 0 ::1:6010 :::* LISTEN 1760/sshd: root@pts
tcp6 0 0 ::1:6011 :::* LISTEN 12866/sshd: root@pt
35.查看进程信息:ps
ps a 显示现行终端机下的所有程序,包括其他用户的程序。
ps -A 显示所有程序。
ps c 列出程序时,显示每个程序真正的指令名称,而不包含路 径,参数或常驻服务的标示。
ps -e 此参数的效果和指定"A"参数相同。
ps e 列出程序时,显示每个程序所使用的环境变量。
ps f 用ASCII字符显示树状结构,表达程序间的相互关系。
ps -H 显示树状结构,表示程序间的相互关系。
ps -N 显示所有的程序,除了执行ps指令终端机下的程序之外。
ps s 采用程序信号的格式显示程序状况。
ps u 以用户为主的格式来显示程序状况。
ps x 显示所有程序,不以终端机来区分。
选项 | 含义 |
---|---|
-a | 显示终端上的所有进程,包括其他用户的进程 |
-u | 显示进程的详细状态 |
-x | 显示没有控制终端的进程 |
-w | 显示加宽,以便显示更多的信息 |
-r | 只显示正在运行的进程 |
常见用法:
- ps -e 查看所有进程信息(瞬时的)
- ps -u root -N 查看所有不是root运行的进程
- ps ax 显示所有进程状态状态
- ps -ef |grep xxx 显示含有xxx的进程
36.动态显示linux进程:top
top - 08:20:24 up 5 days, 30 min, 3 users, load average: 0.09, 0.53, 0.93
Tasks: 294 total, 2 running, 273 sleeping, 19 stopped, 0 zombie
%Cpu(s): 3.8 us, 5.9 sy, 0.0 ni, 90.1 id, 0.0 wa, 0.0 hi, 0.2 si, 0.0 st
KiB Mem : 4028440 total, 50236 free, 1389652 used, 2588552 buff/cache
KiB Swap: 8388604 total, 8351288 free, 37316 used. 973264 avail Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 598 polkitd 20 0 546440 11012 3072 S 8.3 0.3 514:20.03 polkitd 13220 oracle -2 0 2049892 20868 16984 S 2.7 0.5 183:51.58 ora_vktm_orcl 614 dbus 20 0 61924 3344 1308 S 1.7 0.1 77:45.56 dbus-daemon 597 root 20 0 396520 2264 1716 S 1.3 0.1 58:43.64 accounts-daemon 9 root 20 0 0 0 0 R 0.3 0.0 5:18.30 rcu_sched 2210 bedo 20 0 611680 3344 1656 S 0.3 0.1 23:32.30 gsd-account 13213 oracle 20 0 2049888 24428 20540 S 0.3 0.6 0:16.35 ora_pmon_orcl 13230 oracle 20 0 2171460 38608 32172 S 0.3 1.0 1:04.59 ora_scmn_orcl 13240 oracle 20 0 2049884 22140 18252 S 0.3 0.5 23:14.95 ora_vkrm_orcl 13253 oracle 20 0 2049892 40284 35968 S 0.3 1.0 1:13.07 ora_ckpt_orcl 86518 oracle 20 0 2054024 79512 72988 S 0.3 2.0 0:05.46 ora_m001_orcl 91187 root 20 0 0 0 0 S 0.3 0.0 0:00.22 kworker/u256:2
101051 root 20 0 0 0 0 S 0.3 0.0 0:00.02 kworker/0:1
105118 root 20 0 0 0 0 S 0.3 0.0 0:00.03 kworker/u256:0 1 root 20 0 125648 3352 1980 S 0.0 0.1 1:22.38 systemd 2 root 20 0 0 0 0 S 0.0 0.0 0:00.10 kthreadd 3 root 20 0 0 0 0 S 0.0 0.0 2:37.64 ksoftirqd/0 5 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/0:0H 7 root rt 0 0 0 0 S 0.0 0.0 1:05.24 migration/0 8 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcu_bh 10 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 lru-add-drain 11 root rt 0 0 0 0 S 0.0 0.0 0:04.70 watchdog/0 12 root rt 0 0 0 0 S 0.0 0.0 0:04.65 watchdog/1 13 root rt 0 0 0 0 S 0.0 0.0 1:38.93 migration/1 14 root 20 0 0 0 0 S 0.0 0.0 1:27.96 ksoftirqd/1 16 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/1:0H 18 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kdevtmpfs 19 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 netns 20 root 20 0 0 0 0 S 0.0 0.0 0:00.20 khungtaskd 21 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 writeback
前五行是系统整体的统计信息。
第一行是任务队列信息,同 uptime 命令的执行结果。01:06:48 当前时间
up 1:22 系统运行时间,格式为时:分
1 user 当前登录用户数
load average: 0.06, 0.60, 0.48 系统负载,即任务队列的平均长度。三个数值分别为 1分钟、5分钟、15分钟前到现在的平均值。
第二、三行为进程和CPU的信息。
当有多个CPU时,这些内容可能会超过两行。内容如下:
total 进程总数
running 正在运行的进程数
sleeping 睡眠的进程数
stopped 停止的进程数
zombie 僵尸进程数
Cpu(s):
0.3% us 用户空间占用CPU百分比
1.0% sy 内核空间占用CPU百分比
0.0% ni 用户进程空间内改变过优先级的进程占用CPU百分比
98.7% id 空闲CPU百分比
0.0% wa 等待输入输出的CPU时间百分比
0.0%hi:硬件CPU中断占用百分比
0.0%si:软中断占用百分比
0.0%st:虚拟机占用百分比
#最后两行为内存信息。内容如下:
Mem:
191272k total 物理内存总量
173656k used 使用的物理内存总量
17616k free 空闲内存总量
22052k buffers 用作内核缓存的内存量
Swap:
192772k total 交换区总量
0k used 使用的交换区总量
192772k free 空闲交换区总量
123988k cached 缓冲的交换区总量,内存中的内容被换出到交换区,而后又被换入到内存,但使用过的交换区尚未被覆盖,该数值即为这些内容已存在于内存中的交换区的大小,相应的内存再次被换出时可不必再对交换区写入。
top 命令通过查看 CPU 的 wa% 值来判断当前磁盘 IO 性能,如果这个数值过大,很可能是磁盘 IO 太高了,当然也可能是其他原因,例如网络 IO 过高等
37.终止进程:kill
kill命令指定进程号的进程,需要配合 ps 使用。
使用格式:
kill [-signal] pid
信号值从0到15,其中9为绝对终止,可以处理一般信号无法终止的进程。
38.关机重启:reboot、shutdown、init
命令 | 含义 |
---|---|
reboot | 重新启动操作系统 |
shutdown –r now | 重新启动操作系统,shutdown会给别的用户提示 |
shutdown -h now | 立刻关机,其中now相当于时间为0的状态 |
shutdown -h 20:25 | 系统在今天的20:25 会关机 |
shutdown -h +10 | 系统再过十分钟后自动关机 |
init 0 | 关机 |
init 6 | 重启 |
39.查看或配置网卡信息:ifconfig
ifconfig显示所有网卡的信息:
python@ubuntu:~$ ifconfig
ens33 Link encap:以太网 硬件地址 00:0c:29:59:65:f2 inet 地址:192.168.40.11 广播:192.168.40.255 掩码:255.255.255.0inet6 地址: fe80::432f:6c4a:f47d:5f6b/64 Scope:LinkUP BROADCAST RUNNING MULTICAST MTU:1500 跃点数:1接收数据包:422794 错误:0 丢弃:0 过载:0 帧数:0发送数据包:208666 错误:0 丢弃:0 过载:0 载波:0碰撞:0 发送队列长度:1000 接收字节:603741383 (603.7 MB) 发送字节:12819550 (12.8 MB)lo Link encap:本地环回 inet 地址:127.0.0.1 掩码:255.0.0.0inet6 地址: ::1/128 Scope:HostUP LOOPBACK RUNNING MTU:65536 跃点数:1接收数据包:2248 错误:0 丢弃:0 过载:0 帧数:0发送数据包:2248 错误:0 丢弃:0 过载:0 载波:0碰撞:0 发送队列长度:1 接收字节:497588 (497.5 KB) 发送字节:497588 (497.5 KB)
修改ip:
python@ubuntu:~$ sudo ifconfig ens33 192.168.40.10
python@ubuntu:~$ ifconfig ens33
ens33 Link encap:以太网 硬件地址 00:0c:29:59:65:f2 inet 地址:192.168.40.10 广播:192.168.40.255 掩码:255.255.255.0inet6 地址: fe80::432f:6c4a:f47d:5f6b/64 Scope:LinkUP BROADCAST RUNNING MULTICAST MTU:1500 跃点数:1接收数据包:422818 错误:0 丢弃:0 过载:0 帧数:0发送数据包:208692 错误:0 丢弃:0 过载:0 载波:0碰撞:0 发送队列长度:1000 接收字节:603745130 (603.7 MB) 发送字节:12822615 (12.8 MB)
40.测试远程主机连通性:ping
Linux磁盘管理
Linux磁盘管理常用三个命令为df、du和fdisk。
- df:列出文件系统的整体磁盘使用量
- du:检查磁盘空间使用量
- fdisk:用于磁盘分区
41.检测磁盘空间:df
df命令用于检测文件系统的磁盘空间占用和空余情况,可以显示所有文件系统对节点和磁盘块的使用情况。
选项 | 含义 |
---|---|
-a | 显示所有文件系统的磁盘使用情况 |
-m | 以1024字节为单位显示 |
-t | 显示各指定文件系统的磁盘空间使用情况 |
-T | 显示文件系统 |
[root@bedo19c ~]# df -Th
文件系统 类型 容量 已用 可用 已用% 挂载点
/dev/sda2 xfs 40G 10G 30G 25% /
devtmpfs devtmpfs 2.0G 0 2.0G 0% /dev
tmpfs tmpfs 2.0G 0 2.0G 0% /dev/shm
tmpfs tmpfs 2.0G 13M 2.0G 1% /run
tmpfs tmpfs 2.0G 0 2.0G 0% /sys/fs/cgroup
/dev/sda5 xfs 51G 11G 41G 22% /u01
/dev/sda1 xfs 1014M 156M 859M 16% /boot
tmpfs tmpfs 394M 28K 394M 1% /run/user/1000
/dev/sr0 iso9660 4.2G 4.2G 0 100% /run/media/bedo/CentOS 7 x86_64
tmpfs tmpfs 394M 0 394M 0% /run/user/0
42.检测目录所占磁盘空间:du
du命令用于统计目录或文件所占磁盘空间的大小,该命令的执行结果与df类似,du更侧重于磁盘的使用状况。
du命令的使用格式如下: du [选项] 目录或文件名
选项 | 含义 |
---|---|
-a | 递归显示指定目录中各文件和子目录中文件占用的数据块 |
-s | 显示指定文件或目录占用的数据块 |
-b | 以字节为单位显示磁盘占用情况 |
-l | 计算所有文件大小,对硬链接文件计算多次 |
43.分区表操作工具
[root@bedo19c /]# fdisk -l磁盘 /dev/sda:107.4 GB, 107374182400 字节,209715200 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x000ac040设备 Boot Start End Blocks Id System
/dev/sda1 * 2048 2099199 1048576 83 Linux
/dev/sda2 2099200 85985279 41943040 83 Linux
/dev/sda3 85985280 102762495 8388608 82 Linux swap / Solaris
/dev/sda4 102762496 209715199 53476352 5 Extended
/dev/sda5 102764544 209715199 53475328 83 Linux
44.磁盘检验:fsck
用来检查和维护不一致的文件系统。
若系统掉电或磁盘发生问题,可利用fsck命令对文件系统进行检查。
45.检查和维护不一致的文件系统:fsck
fsck(file system check)用来检查和维护不一致的文件系统。
若系统掉电或磁盘发生问题,可利用fsck命令对文件系统进行检查。
fsck [-t 文件系统] [-ACay] 装置名称
46.磁盘挂载与卸除:mount/umount
Linux 的磁盘挂载使用 mount
命令,卸载使用 umount
命令。
磁盘挂载语法:
mount [-t 文件系统] [-L Label名] [-o 额外选项] [-n] 装置文件名 挂载点
Linux管道命令
Linux的管道命令是’|’,通过它可以对数据进行连续处理,其示意图如下:
注意:
1)管道命令仅处理标准输出,对于标准错误输出,将忽略
2)管道命令右边命令,必须能够接收标准输入流命令才行,否则传递过程中数据会抛弃。
常用来作为接收数据管道命令有: less,more,head,tail,而ls, cp, mv就不行。
47.统计字数:wc
wc [-lwm] [filename]
-l: 统计行数
-w:统计英文单词
-m:统计字符数
[root@bedo19c ORCL]# wc -l redo01.log
1947177 redo01.log
[root@bedo19c ORCL]# wc -w redo01.log
5432652 redo01.log
[root@bedo19c ORCL]# wc -m redo01.log
186103811 redo01.log
在默认的情况下,wc将计算指定文件的行数、字数,以及字节数。使用的命令为:
[root@bedo19c ORCL]# wc redo01.log1947177 5432652 209715712 redo01.log
如果想同时统计多个文件的信息,例如同时统计redo01.log redo02.log redo03.log,可使用如下命令:
[root@bedo19c ORCL]# wc redo01.log redo02.log redo03.log 1947177 5432652 209715712 redo01.log1459814 5789703 209715712 redo02.log1315368 4671574 209715712 redo03.log4722359 15893929 629147136 总用量
48.列选取命令:cut
选项与参数:
-d :后面接分隔字符。与 -f 一起使用;
-f :依据 -d 的分隔字符将一段信息分割成为数段,用 -f 取出第几段的意思;
-c :以字符 (characters) 的单位取出固定字符区间;
cut以行为单位,根据分隔符把行分成若干列,这样就可以指定选取哪些列了。
cut -d '分隔字符' -f 选取的列数
echo $PATH|cut -d ':' -f 2 --选取第2列
echo $PATH|cut -d ':' -f 3,5 --选取第3列和第5列
echo $PATH|cut -d ':' -f 3-5 --选取第3列到第5列
echo $PATH|cut -d ':' -f 3- --选取第3列到最后1列
echo $PATH|cut -d ':' -f 1-3,5 --选取第1到第3列还有第5列
49. 行选取命令:grep
在grep命令中输入字符串参数时,最好引号或双引号括起来。例如:grep 'a' 1.txt
。
选项 | 含义 |
---|---|
-v | 显示不包含匹配文本的所有行(相当于求反) |
-n | 显示匹配行及行号 |
-i | 忽略大小写 |
-c | 计算找到的行数 |
grep搜索内容串可以是正则表达式,常用正则表达式:
实例:
显示所有以“h”结尾的行:grep h$
匹配所有以“a”开头且以“e”结尾的,中间包含2个字符的单词:grep ‘<a…e>’
显示所有包含一个”y”或”h”字符的行:grep [yh]
显示不包含字母a~k 且后紧跟“pple”的单词:grep [^a-k]pple
从系统词典中选择所有以“c”开头且以“o”结尾的单词:grep '\<c.*o\>'
找出一个文件中或者输出中找到包含*的行:grep '\*'
显示所有包含每个字符串至少有20个连续字母的单词的行:grep [a-Z]\{20,\}
Linux grep命令教程:强大的文本搜索工具(附案例详解和注意事项)_grep查找file中含有.的行-CSDN博客
50.排序:sort
参数说明:
-f :忽略大小写的差异,例如 A 与 a 视为编码相同;
-b :忽略最前面的空格符部分;
-M :以月份的名字来排序,例如 JAN, DEC 等等的排序方法;
-n :使用『纯数字』进行排序(默认是以文字型态来排序的);
-r :反向排序;
-u :就是 uniq ,相同的数据中,仅出现一行代表;
-t :分隔符,默认是用 [tab] 键来分隔;
-k :以哪个区间 (field) 来进行排序
51.去重:uniq
选项与参数:
-i :忽略大小写字符的不同;
-c :进行计数
-u :只显示唯一的行
52.同时输出多个文件:tee
53.替换指定的字符:tr
54.文件按行连接:join
55.文件切割:split
split命令用于将一个文件分割成数个。
该指令将大文件分割成较小的文件,在默认情况下将按照每1000行切割成一个小文件。
语法:
split [-bl] file prefix
-b: 以大小切割
-l:以行数切割
prefix:切割后文件的前缀
使用指令"split"将文件"README"每6行切割成一个文件,输入如下命令:
$ split -6 README #将README文件每六行分割成一个文件
$ ls #执行ls指令
#获得当前目录结构
README xaa xad xag xab xae xah xac xaf xai
以上命令执行后,指令"split"会将原来的大文件"README"切割成多个以"x"开头的小文件。而在这些小文件中,每个文件都只有6行内容。
以大小切割:
$ ls -lh disease.dmp
-rwxr-xr-x 1 root root 122M Jul 4 2013 disease.dmp
$ split -b 50m disease.dmp disease.dmp
$ ls -lh disease.dmp*
-rwxr-xr-x 1 root root 122M Jul 4 2013 disease.dmp
-rw-r--r-- 1 root root 50M Jan 9 16:10 disease.dmpaa
-rw-r--r-- 1 root root 50M Jan 9 16:10 disease.dmpab
-rw-r--r-- 1 root root 22M Jan 9 16:10 disease.dmpac
56.参数代换:xargs
不是所有的命令都支持管道,如ls,对于不支持管道的命令,可以通过xargs让其有管道命令的效果,如下所示:
# find /sbin -perm +7000 | xargs ls -l
-rwsr-x--- 1 root ecryptfs 19896 Feb 23 2012 /sbin/mount.ecryptfs_private
-rwsr-xr-x 1 root root 75496 Jan 9 2013 /sbin/mount.nfs
-rwsr-xr-x 1 root root 75504 Jan 9 2013 /sbin/mount.nfs4
-rwxr-sr-x 1 root root 8544 Feb 22 2012 /sbin/netreport
-rwsr-xr-x 1 root root 14112 Nov 2 2010 /sbin/pam_timestamp_check
-rwsr-xr-x 1 root root 75504 Jan 9 2013 /sbin/umount.nfs
-rwsr-xr-x 1 root root 75504 Jan 9 2013 /sbin/umount.nfs4
-rwsr-xr-x 1 root root 19768 Nov 2 2010 /sbin/unix_chkpwd
相关文章:

Linux命令详解
1.目录结构 2.history游览历史 3.命令行中的ctrl组合键 4.列出目录的内容 5.修改文件权限chmod 6.文件内容查看 文件管理 7.输出重定向:> 8.管道:| 9.清屏:clear 10.显示当前路径:pwd 11.创建目录:mkdir…...

在阿里云使用Docker部署MySQL服务,并且通过IDEA进行连接
阿里云使用Docker部署MySQL服务,并且通过IDEA进行连接 这里演示如何使用阿里云来进行MySQL的部署,系统使用的是Linux系统 (Ubuntu)。 为什么使用Docker? 首先是因为它的可移植性可以在任何有Docker环境的系统上运行应用,避免了在不通操作系…...

Spring Boot中的国际化(i18n)实现技巧
Spring Boot中的国际化(i18n)实现技巧 大家好,我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编,也是冬天不穿秋裤,天冷也要风度的程序猿!在开发多语言支持的应用程序时,国际化…...

vite-ts-cesium项目集成mars3d修改相关的包和配置参考
如果vite技术栈下使用原生cesium,请参考下面文件的包和配置修改,想用原生创建的viewer结合我们mars3d的功能的话。 1. package.json文件 "dependencies": {"cesium": "^1.103.0","mars3d": "^3.7.18&quo…...

「树莓派入门」树莓派基础04-VNC连接与配置静态IP
一、VNC连接配置 1. 启用VNC服务 在树莓派上,通过 raspi-config 工具启用VNC服务: sudo raspi-config在配置界面中选择 “Interfacing Options”,然后选择 “VNC” 并启用它。 2. 连接到VNC服务器 在电脑端安装VNC客户端,如V…...

JAVA编程题期末题库【中】
8.计算邮资 程序代码: public static void main(String[] args) {// 计算邮资//if多分支语句//创建对象java.util.Scanner inputnew java.util.Scanner(System.in); //提示输入用户,输入邮件的重量System.out.println("邮件的重量:");int wei…...

【十年JAVA搬砖路】——MYSQL备份使用mysqldump
使用mysqldump 备份 1.创建备份脚本 cat <<EOF > sqlback.sh source ~/.bashrc NLS_DATE_FORMAT"yyyy-mm-dd HH24:MI:SS"; export NLS_DATE_FORMAT NLS_LANGAMERICAN_AMERICA.ZHS16GBK;export NLS_LANGbackuptimedate %Y%m%d%H%M%S /usr/bin/mysqldump -u…...

MetaGPT全面安装与配置指南
文章目录 MetaGPT环境配置1.1 检查Python版本1.2 拉取MetaGPT仓库1.3 拉取源码本地安装1.4 MetaGPT安装成果全流程展示1.5 尝试简单使用 MetaGPT的API调用2.1 本地部署大模型尝试安装必要的依赖下载并配置大模型配置API服务 2.2 讯飞星火API调用获取API密钥安装讯飞星火SDK调用…...

云计算期末综合测试题
云计算综合测试题 单选题填空题判断题简答题 单选题 这里选择题,直接以填空题展示,并给出解析 Bigtable是(Google)开发的分布式存储系统 解析:分布式结构化数据表Bigtable是Google基于GFS和Chubby开发的分布式存储系统…...

vue3-cropperjs图片裁剪工具-用户上传图片截取-(含预览视频)
效果图 上传图片弹窗预览 对于这个上传图片样式可以参考 官方原代码 官网传送入口 Upload 上传 | Element Plus (element-plus.org) <template><el-uploadclass"upload-demo"dragaction"https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6…...

【WEB前端2024】3D智体编程:乔布斯3D纪念馆-第48课-可视化控制机器人
【WEB前端2024】3D智体编程:乔布斯3D纪念馆-第48课-可视化控制机器人 使用dtns.network德塔世界(开源的智体世界引擎),策划和设计《乔布斯超大型的开源3D纪念馆》的系列教程。dtns.network是一款主要由JavaScript编写的智体世界引…...

Java Stream API揭秘:掌握List流操作,打造高效数据处理流程
序言 Java Stream API是Java 8中引入的一个非常重要的功能组成部分,它提供了一种声明式的处理数据集合的方法。它主要特点是基于函数式编程的理念,允许我们以更加简洁、高效的方式进行集合的处理、转换和过滤。通过Stream API,我们可以灵活地…...

最新Java面试题及答案(Java基础、设计模式、Java虚拟机(jvm))
文章目录 前言一、Java基础题1.什么是Java?2.Jdk和Jre和JVM的区别?3.Java语言有哪些特点?4.Java有哪些数据类型?5.switch 是否能作用在 byte 上,是否能作用在 long 上,是否能作用在 String上?6.…...

详解Elastic Search高速搜索背后的秘密:倒排索引
🎬 鸽芷咕:个人主页 🔥 个人专栏: 《C干货基地》《粉丝福利》 ⛺️生活的理想,就是为了理想的生活! 引入 全文搜索属于最常见的需求,开源的 Elasticsearch (以下简称 Elastic)是目前全文搜索引…...

数据库操控指南:玩转数据
对于表中数据的基本操作 数据的操作——DML语句(增删改)1.插入数据2.修改数据3.数据删除 数据的查询——DQL语句1.原理:2.查看表结构3.条件查询4.基础的SELECT语法 阅读指南: 本文章讲述了对于数据库中的数据的基本操作࿰…...

前端 CSS 经典:图层放大的 hover 效果
效果 思路 设置 3 层元素,最上层元素使用 clip-path 裁剪成圆,hover 改变圆大小,添加过渡效果。 实现代码 <!DOCTYPE html> <html lang"en"><head><meta charset"utf-8" /><meta http-eq…...

Flutter实现页面间传参
带参跳转 步骤 在router中配置这个路由需要携带的参数,这里的参数是 arguments,注意要用花括号包裹参数名称 在相应组件中实现带参构造函数 在state类中可以直接使用${widget.arguments}来访问到传递的参数 在其他页面中使用Navigator.pushNamed()带参跳转...

如何在Java中实现安全编码
如何在Java中实现安全编码 大家好,我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编,也是冬天不穿秋裤,天冷也要风度的程序猿! 在当今数字化和网络化的时代,安全编码成为软件开发中至关重要的一环。特…...

C#开发-集合使用和技巧(八)集合中的排序Sort、OrderBy、OrderByDescending
C#开发-集合使用和技巧(八)集合中的排序Sort、OrderBy、OrderByDescending List<T>.Sort()方法签名使用场景示例升序实现效果 降序实现效果 IEnumerable<T>.OrderBy()方法签名使用场景示例实现效果 Enumerable<T>.OrderByDescending()…...

仓库管理系统
摘 要 随着电子商务的快速发展和物流行业的蓬勃发展,仓库管理成为了企业重要的一环。仓库管理涉及到商品的入库、出库、库存管理等一系列操作,对于企业的运营效率和成本控制具有重要影响。传统的仓库管理方式往往依赖于人工操作和纸质记录,存…...

AI绘画Stable Diffusion:超级质感真人大模型,逼真青纯!
大家好,我是设计师阿威 今天和大家分享一个具有超级质感的基于SD1.5的真人大模型:极致质感-DgirlV5,该模型追求质感的不断优化,细到发丝,当前最新版本是V5.1,修正了V5版本整体色彩发红的问题。 作者对该模…...

CMake笔记之CMAKE_INSTALL_PREFIX详解以及ROS中可执行文件为什么会在devel_lib中
CMake笔记之CMAKE_INSTALL_PREFIX详解以及ROS中可执行文件为什么会在devel_lib中 code review! 文章目录 CMake笔记之CMAKE_INSTALL_PREFIX详解以及ROS中可执行文件为什么会在devel_lib中1.CMAKE_INSTALL_PREFIX详解变量作用设置 CMAKE_INSTALL_PREFIX示例影响范围常见用法特别…...

数据结构之二叉树的超详细讲解(3)--(二叉树的遍历和操作)
个人主页:C忠实粉丝 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 C忠实粉丝 原创 数据结构之二叉树的超详细讲解(3)--(二叉树的遍历和操作) 收录于专栏【数据结构初阶】 本专栏旨在分享学习数据结构学习的一点学习笔记,欢迎大家在评…...

Arduino - 旋转编码器 - 伺服电机
Arduino - 旋转编码器 - 伺服电机 Arduino - Rotary Encoder In this tutorial, We are going to learn how to program Arduino to rotate a servo motor according to the rotary encoder’s output value. 在本教程中,我们将学习如何对Arduino进行编程ÿ…...

儿童电动音乐牙刷OTP芯片方案:NV040C,耐温耐压,抗干扰能力强
一:方案背景概述 随着科技的飞速发展,源于对儿童口腔健康深入细致的关怀,以及对现代科技在日常生活用品中应用的不断追求,儿童电动音乐牙刷OTP芯片方案的诞生。 二:芯片简介 NV040C语音芯片是一款性能稳定、适合工厂量…...

Sentinel链路流控模式失效的解决方法
解决方法 1、在pom.xml中增加sentinel-web-servlet的依赖,我使用的版本是1.7.1 <dependency><groupId>com.alibaba.csp</groupId><artifactId>sentinel-web-servlet</artifactId> </dependency>2、在项目中添加一个FilterCon…...

Web应用安全测试-专项漏洞(一)
Web应用安全测试-专项漏洞(一) 专项漏洞部分注重测试方法论,每个专项仅列举一个例子。实际测试过程中,需视情况而定。 文章目录 Web应用安全测试-专项漏洞(一)Web组件(SSL/WebDAV)漏…...

VMware ESXi 8.0U2c macOS Unlocker OEM BIOS Huawei (华为) FusionServer 定制版
VMware ESXi 8.0U2c macOS Unlocker & OEM BIOS Huawei (华为) FusionServer 定制版 ESXi 8.0U2 标准版,Dell (戴尔)、HPE (慧与)、Lenovo (联想)、Inspur (浪潮)、Cisco (思科)、Hitachi (日立)、Fujitsu (富士通)、NEC (日电)、Huawei (华为)、xFusion (超聚…...

python中的高阶函数介绍
在Python中,高阶函数是指那些可以接受函数作为参数或者返回函数作为结果的函数。这种特性使得函数式编程成为可能,并且可以编写出更加简洁和灵活的代码。以下是Python中一些常用的高阶函数: map() map() 函数接受一个函数和一个可迭代对象作为…...

华为OD机试 - 石头剪刀布游戏(Java 2024 D卷 200分)
华为OD机试 2024D卷题库疯狂收录中,刷题点这里 专栏导读 本专栏收录于《华为OD机试(JAVA)真题(D卷C卷A卷B卷)》。 刷的越多,抽中的概率越大,每一题都有详细的答题思路、详细的代码注释、样例测…...