- Java锁的逻辑(结合对象头和ObjectMonitor)
- 还在用饼状图?来瞧瞧这些炫酷的百分比可视化新图形(附代码实现)⛵
- 自动注册实体类到EntityFrameworkCore上下文,并适配ABP及ABPVNext
- 基于Sklearn机器学习代码实战
这期呢主要说一说Linux中与系统相关的命令,一共包含10个命令 。
1、简介 。
uname命令用于显示系统相关信息,比如内核版本号、硬件架构等 。
2、语法格式 。
uname [参数选项]
3、参数说明 。
参数 | 参数说明 |
---|---|
-a | 显示系统所有相关信息 |
-m | 显示计算机硬件架构 |
-n | 显示主机名称 |
-r | 显示内核发行版本号 |
-s | 显示内核名称 |
-v | 显示内核版本 |
4、实践操作 。
①显示系统所有信息 。
[root@xiezhr ~]# uname -a
Linux xiezhr 3.10.0-1127.19.1.el7.x86_64 #1 SMP Tue Aug 25 17:23:54 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
②显示计算机硬件架构 。
[root@xiezhr ~]# uname -m
x86_64
③显示主机名称 。
[root@xiezhr ~]# uname -n
xiezhr
④显示内核发行版本号 。
[root@xiezhr ~]# uname -r
3.10.0-1127.19.1.el7.x86_64
1、简介 。
hostname用于显示或设置系统主机名‘ 。
2、语法格式 。
hostname [参数选项]
3、参数说明 。
参数 | 参数说明 |
---|---|
-i | 显示主机IP地址,依赖DNS解析,比较慢 |
-I | 显示主机的所有IP地址,速度较快 |
3、实践操作 。
①显示主机名 。
[root@xiezhr ~]# hostname
xiezhr
②修改主机名 。
# 临时修改
[root@xiezhr ~]# hostname hosta
# 永久修改
# Created by cloud-init on instance boot automatically, do not edit.
[root@xiezhr ~]# vi /etc/sysconfig/network
NETWORKING=yes
hosta
~
~
~
-- INSERT --
③ 获取IP地址 。
[root@xiezhr ~]# hostname -i
::1 127.0.0.1 127.0.0.1 127.0.0.1
[root@xiezhr ~]# hostname -I
172.17.0.4
1、简介 。
du 用于统计磁盘空间使用情况。可以让我们找出哪些文件过多的占用磁盘空间 。
2、语法格式 。
du [参数选项] [文件或目录]
3、参数说明 。
参数 | 参数说明 |
---|---|
-a | 显示所有文件大小 |
-h | 以人类可读的方式显示,以K、M、G为单位显示 |
-s | 显示文件的总大小 |
--exclude=<目录或文件> | 略过指定的目录或文件 |
--max-depth=<目录层数> | 超过指定层数的目录后,予以忽略 |
4、实践操作 。
① 【-a】参数显示所有目录或文件所占空间 。
[root@xiezhr ~]# du -a
4 ./.lesshst
4 ./.bashrc
4 ./.pydistutils.cfg
4 ./.bash_profile
4 ./.mysql_secret
4 ./.pm2/modules
4 ./.pm2/pm2.pid
0 ./.pm2/pub.sock
0 ./.pm2/rpc.sock
4 ./.pm2/pids/tyloochat-0.pid
8 ./.pm2/pids
4 ./.pm2/module_conf.json
184 ./.pm2/logs/tyloochat-out.log
236 ./.pm2/logs/tyloochat-error.log
424 ./.pm2/logs
② 以人类可读的方式显示当前路径下文件大小 。
[root@xiezhr test]# du -h
4.0K ./dir5
8.0K ./dir
8.0K ./dir3
12K ./dir6
4.0K ./dir_bak
112K .
③ 显示当前路径下文件总大小 。
[root@xiezhr test]# du -s
112
④指定层次的目录大小 。
[root@xiezhr test]# du -h --max-depth=1 /usr/local/
4.0K /usr/local/lib
4.0K /usr/local/games
2.6G /usr/local/mysql
4.0K /usr/local/src
2.5G /usr/local/mysql-5.7.19-linux-glibc2.12-x86_64
4.0K /usr/local/libexec
4.0K /usr/local/bin
4.0K /usr/local/etc
1017M /usr/local/qcloud
92K /usr/local/share
4.0K /usr/local/include
4.0K /usr/local/sbin
4.0K /usr/local/lib64
6.6G /usr/local/
⑤ 排除指定目录文件后的大小 。
[root@xiezhr test]# du -h --max-depth=1 /usr/local/ --exclude=/usr/local/mysql
4.0K /usr/local/lib
4.0K /usr/local/games
4.0K /usr/local/src
2.5G /usr/local/mysql-5.7.19-linux-glibc2.12-x86_64
4.0K /usr/local/libexec
4.0K /usr/local/bin
4.0K /usr/local/etc
1018M /usr/local/qcloud
92K /usr/local/share
4.0K /usr/local/include
4.0K /usr/local/sbin
4.0K /usr/local/lib64
4.1G /usr/local/
1、简介 。
echo 可以将指定的文本显示在Linux命令行上 。
2、语法格式 。
echo [参数选项] [文本]
3、参数说明 。
参数 | 参数说明 |
---|---|
-n | 不要自动换行 |
-e | 如果字符串中出现以下特殊字符,则进行特殊处理,不会当成一般字符输出 \b 删除前一个字符 |
特殊字符 | 特殊字符说明 |
---|---|
\a | 发出警告声 |
\b | 删除前一个字符 |
\c | 最后不加上换行符 |
\f | 换行,但光标停留在原来的位置 |
\n | 换行,且光标移动到行首 |
\r | 光标移动到行首,但不换行 |
\t | 插入制表符tab |
\v | 与-f 相同 |
\\ | 插入\字符 |
\' | 插入' 字符 |
\" | 插入"字符 |
4、实践操作 。
① 显示普通字符 。
[root@xiezhr ~]# echo my official accounts is xiezhrspace
my official accounts is xiezhrspace
②显示转义字符 。
[root@xiezhr ~]# echo \"my official account is xiezhrspace \"
"my official account is xiezhrspace "
③ 将单行文本输入到文件中 。
[root@xiezhr test]# echo my official account is xiezhrspace >> xie.txt
[root@xiezhr test]# more xie.txt
my official account is xiezhrspace
④ 显示命令执行结果 。
[root@xiezhr test]# echo `date`
Mon May 9 21:37:40 CST 2022
1、简介 。
watch 英文意思是看,用于以全屏的方式动态显示命令或程序的执行情况 。
2、语法格式 。
watch [参数选项] [命令]
3、参数说明 。
参数 | 参数说明 |
---|---|
-n | 命令执行的时间间隔、默认为2m |
-d | 高亮显示命令结果变动之处 |
-t | 关闭watch命令执行后顶部显示的时间间隔、命令及当前时间 |
4、实践操作 。
每个一秒显示网络连接数的变化情况 。
[root@xiezhr test]# watch -n 1 -d netstat -nginx
Kernel Interface table
Iface MTU RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg
eth0 1500 247530399 0 0 0 322331584 0 0 0 BMRU
lo 65536 141692 0 0 0 141692 0 0 0 LRU
1、简介 。
stat 用于显示文件或文件系统的状态信息 。
2、语法格式 。
stat [参数选项] [文件或目录]
3、参数说明 。
参数 | 参数说明 |
---|---|
-c | 使用指定输出格式代替默认值 |
4、实践操作 。
查看文件的属性信息 。
[root@xiezhr test]# stat /etc/hosts
File: ‘/etc/hosts’
Size: 157 Blocks: 8 IO Block: 4096 regular file
Device: fd01h/64769d Inode: 265944 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2020-11-29 10:25:47.000000000 +0800
Modify: 2020-11-29 11:54:33.000000000 +0800
Change: 2020-11-29 11:54:53.216579255 +0800
Birth: -
1、简介 。
whereis 命令用于定位指定命令的可执行文件、源码文件及man帮助文件的路径 。
2、语法格式 。
whereis [参数选项] [文件名]
3、参数说明 。
参数 | 参数说明 |
---|---|
-b | 查找可执行文件 |
-s | 查找源代码文件 |
-m | 查找man帮助文件 |
4、实践操作 。
① 查找可执行文件路径 。
[root@xiezhr test]# whereis nginx
nginx: /usr/sbin/nginx /usr/lib64/nginx /etc/nginx /usr/share/nginx /usr/share/man/man3/nginx.3pm.gz /usr/share/man/man8/nginx.8.gz
② 查找man 帮助文件 。
[root@xiezhr test]# whereis -m nginx
nginx: /usr/share/man/man3/nginx.3pm.gz /usr/share/man/man8/nginx.8.gz
③ 查找源代码文件 。
[root@xiezhr test]# whereis -s nginx
nginx:
# 没有找到相关源代码
1、简介 。
date命令用于显示当前系统时间或设置系统时间 。
2、语法格式 。
date [参数选项] [+日期格式]
3、参数说明 。
参数 。
参数 | 参数说明 |
---|---|
-d 时间字符串 | 显示指定字符串所描述的时间,而非当前时间 |
-s 日期时间 | 设置系统时间 |
日期格式 。
格式 | 格式说明 |
---|---|
%y | 显示年(短格式) |
%Y | 显示年(长格式) |
%m | 显示月 |
%d | 显示日 |
%H | 24小时制 (00-23) 例如:7点显示07 |
%k | 24小时(0-23) 例如:7点显示7 |
%I | 12小时制(00-12)例如:7点显示07 |
%l | 12小时制(0-12)例如:7点显示7 |
%M | 分钟(00-59) |
%S | 秒(00-60) |
%p | 显示本地 AM 或 PM |
%F | 完整日期格式,等价于%Y-%m-%d(2022-05-12) |
%T | 完整时间格式,等价于%H:%M:%S(07:58:23) |
4、实践操作 。
①显示日期时间 。
# 显示年(短格式)
[root@xiezhr ~]# date +%y
22
# 显示年(长格式)
[root@xiezhr ~]# date +%Y
2022
# 显示月
[root@xiezhr ~]# date +%m
05
#显示日
[root@xiezhr ~]# date +%d
12
# 显示时
[root@xiezhr ~]# date +%H
08
# 显示分
[root@xiezhr ~]# date +%M
01
# 显示秒
[root@xiezhr ~]# date +%S
53
# 显示特殊日期(年-月-日)
[root@xiezhr ~]# date +%F
2022-05-12
# 显示特殊格式时间(时:分:秒)
[root@xiezhr ~]# date +%T
08:02:18
#格式化输出日期时间
[root@xiezhr ~]# date "+%Y-%m-%d %H:%M:%S"
2022-05-12 08:11:03
②参数【 -d 】的使用 。
注: -号表示过去,+表示未来 day表示日,month表示月,year表示年 。
# 显示昨天
[root@xiezhr ~]# date +%F -d "-1day"
2022-05-11
# 显示明天
[root@xiezhr ~]# date +%F -d "+1day"
2022-05-13
# 显示一个月后
[root@xiezhr ~]# date +%F -d "+1month"
2022-06-12
# 显示一年后
[root@xiezhr ~]# date +%F -d "+1year"
2023-05-12
③ 参数【-s】设定时间 。
# 设置20220512,时间为空则为00:00:00
[root@xiezhr ~]# date -s 20220512
Thu May 12 00:00:00 CST 2022
# 设置时间为08:20:03,不会更改日期
[root@xiezhr ~]# date -s 08:20:03
Thu May 12 08:20:03 CST 2022
# 通过不同格式设置日期时间
[root@xiezhr ~]# date -s "08:22:04 20220512"
Thu May 12 08:22:04 CST 2022
[root@xiezhr ~]# date -s "08:22:04 2022/05/12"
Thu May 12 08:22:04 CST 2022
[root@xiezhr ~]# date -s "08:22:04 2022-05-12"
Thu May 12 08:22:04 CST 2022
1、简介 。
which 用于显示命令的全路径,经常用来查找命令在哪里,which的查找范围时path环境变量的路径 。
2、语法格式 。
which [参数选项] [命令名]
3、参数说明 。
注: 默认在PATH路径中由前往后查找命令,如果找到了,就停止匹配.
参数 | 参数说明 |
---|---|
-a | 遍历所有PATH路径,输出所有匹配项 |
4、实践操作 。
①查找指定命令的全路径 。
# 查看环境变量
[root@xiezhr ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
# 查看man命令的全路径
[root@xiezhr ~]# which man
/usr/bin/man
# 查看date命令的全路径
[root@xiezhr ~]# which date
/usr/bin/date
# 查看cd命令的全路径
[root@xiezhr ~]# which cd
/usr/bin/cd
②【-a】参数 。
[root@xiezhr ~]# which -a nginx
/usr/sbin/nginx
1、简介 。
Linux系统中有一个名为mlocate.db的数据库文件,包含了系统文件的文件名及对应路径信息。locate 命令查找文件时,不用遍历磁盘,而是直接查找mlocate.db文件 。
注意: mlocate.db文件不是实时更新的,而是有系统自带的定时任务执行updatedb命令定期更新。当然了,我们在使用locate命令时,可以先用updatedb命令更新一下mlocate.db文件 。
2、语法格式 。
locate [参数选项] [文件名]
3、参数说明 。
参数 | 参数说明 |
---|---|
-c | 不显示匹配的内容,只显示匹配的行数 |
-r | 支持基本正则表达式匹配 |
-i | 匹配时忽略大小写 |
--regex | 支持扩展正则表达式匹配 |
4、实践操作 。
①查找文件路径(只要包含pwd都会显示出来) 。
[root@xiezhr ~]# locate pwd
/etc/.pwd.lock
/usr/bin/pwd
/usr/bin/pwdx
/usr/include/pwd.h
/usr/lib/modules/3.10.0-1127.19.1.el7.x86_64/kernel/drivers/watchdog/hpwdt.ko.xz
/usr/lib64/cracklib_dict.pwd
/usr/lib64/python2.7/lib-dynload/spwdmodule.so
/usr/local/qcloud/monitor/python26/lib/python2.6/lib-dynload/spwd.so
/usr/sbin/unix_chkpwd
/usr/share/cracklib/cracklib-small.pwd
/usr/share/cracklib/pw_dict.pwd
/usr/share/man/man1/pwd.1.gz
/usr/share/man/man1/pwdx.1.gz
/usr/share/man/man8/unix_chkpwd.8.gz
/usr/src/kernels/3.10.0-1127.19.1.el7.x86_64/include/config/hpwdt
/usr/src/kernels/3.10.0-1127.19.1.el7.x86_64/include/config/hpwdt/nmi
/usr/src/kernels/3.10.0-1127.19.1.el7.x86_64/include/config/hpwdt/nmi/decoding.h
②显示匹配的行号 。
[root@xiezhr ~]# locate -c pwd
17
③使用通配符查找文件路径 。
[root@xiezhr ~]# locate /etc/sh*
/etc/shadow
/etc/shadow-
/etc/shells
/etc/shells.rpmnew
这期内容就到这,下期根据思维导图就到Linux网络相关命令的使用了.
涉及到的命令有: ping、 ifconfig、 netstat、 telnet、 ssh、 ip、 tcpdump、nmap、ss等等 。
敬请期待哦(●’◡’●) 。
专栏目录: 快速上手Linux核心命令专栏目录 。
上一篇: 快速上手Linux核心命令(六):Linux的文本编辑器vi和vim 下一篇: 快速上手Linux核心命令(八):网络相关命令(博主正在玩命更新中) 。
最后此篇关于快速上手Linux核心命令(七):Linux系统信息相关命令的文章就讲到这里了,如果你想了解更多关于快速上手Linux核心命令(七):Linux系统信息相关命令的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 要求我们推荐或查找工具、库或最喜欢的场外资源的问题对于 Stack Overflow 来说是偏离主题的,
Linux 管道可以缓冲多少数据?这是可配置的吗? 如果管道的两端在同一个进程中,但线程不同,这会有什么不同吗? 请注意:这个“同一个进程,两个线程”的问题是理论上的边栏,真正的问题是关于缓冲的。 最
我找到了here [最后一页] 一种有趣的通过 Linux 启动 Linux 的方法。不幸的是,它只是被提及,我在网上找不到任何有用的链接。那么有人听说过一种避免引导加载程序而使用 Linux 的方法
很难说出这里要问什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或夸夸其谈,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开,visit the help center . 关闭 1
我试图了解 ld-linux.so 如何在 Linux 上解析对版本化符号的引用。我有以下文件: 测试.c: void f(); int main() { f(); } a.c 和 b.c:
与 RetroPie 的工作原理类似,我可以使用 Linux 应用程序作为我的桌面环境吗?我实际上并不需要像实际桌面和安装应用程序这样的东西。我只需要一种干净简单的方法来在 RaspberryPi 上
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎不是关于 a specific programming problem, a softwar
关闭。这个问题是off-topic .它目前不接受答案。 想改进这个问题吗? Update the question所以它是on-topic用于堆栈溢出。 关闭 10 年前。 Improve thi
有什么方法可以覆盖现有的源代码,我应该用 PyQt、PyGTK、Java 等从头开始构建吗? 最佳答案 如果您指的是软件本身而不是它所连接的存储库,那么自定义应用程序的方法就是 fork 项目。据我所
我的情况是:我在一个磁盘上安装了两个 linux。我将第一个安装在/dev/sda1 中,然后在/dev/sda2 中安装第二个然后我运行第一个系统,我写了一个脚本来在第一个系统运行时更新它。
我在 i2c-0 总线上使用地址为 0x3f 的系统监视器设备。该设备在设备树中配置有 pmbus 驱动程序。 问题是,加载 linux 内核时,这个“Sysmon”设备没有供电。因此,当我在总线 0
关闭。这个问题是off-topic .它目前不接受答案。 想改进这个问题吗? Update the question所以它是on-topic用于堆栈溢出。 关闭 11 年前。 Improve thi
我正试图在 linux 模块中分配一大块内存,而 kalloc 做不到。 我知道唯一的方法是使用 alloc_bootmem(unsigned long size) 但我只能从 linux 内核而不是
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎不是关于 a specific programming problem, a softwar
我有 .sh 文件来运行应用程序。在该文件中,我想动态设置服务器名称,而不是每次都配置。 我尝试了以下方法,它在 CentOS 中运行良好。 nohup /voip/java/jdk1.8.0_71/
我是在 Linux 上开发嵌入式 C++ 程序的新手。我有我的 Debian 操作系统,我在其中开发和编译了我的 C++ 项目(一个简单的控制台进程)。 我想将我的应用程序放到另一个 Debian 操
关闭。这个问题需要多问focused 。目前不接受答案。 想要改进此问题吗?更新问题,使其仅关注一个问题 editing this post . 已关闭 4 年前。 Improve this ques
我使用4.19.78版本的稳定内核,我想找到带有企鹅二进制数据的C数组。系统启动时显示。我需要在哪里搜索该内容? 我在 include/linux/linux_logo.h 文件中只找到了一些 Log
我知道可以使用 gdb 的服务器模式远程调试代码,我知道可以调试针对另一种架构交叉编译的代码,但是是否可以更进一步,从远程调试 Linux 应用程序OS X 使用 gdbserver? 最佳答案 当然
是否有任何可能的方法来运行在另一个 Linux 上编译的二进制文件?我知道当然最简单的是在另一台机器上重建它,但假设我们唯一能得到的是一个二进制文件,那么这可能与否? (我知道这可能并不容易,但我只是
我是一名优秀的程序员,十分优秀!