一起来学Linux命令(四)

前言

目前正在出一个Linux命令系列教程, 篇幅会较多, 喜欢的话,给个关注❤️ ~

作为服务端开发,linux命令还是要掌握一下的,可以做做基础性的运维。好了, 废话不多说直接开整吧~

date

shell 复制代码
%H 小时(以00-23来表示)。

%I 小时(以01-12来表示)。

%K 小时(以0-23来表示)。

%l 小时(以0-12来表示)。

%M 分钟(以00-59来表示)。

%P AM或PM。

%r 时间(含时分秒,小时以12小时AM/PM来表示)。

%s 总秒数。起算时间为1970-01-01 00:00:00 UTC。

%S 秒(以本地的惯用法来表示)。

%T 时间(含时分秒,小时以24小时制来表示)。

%X 时间(以本地的惯用法来表示)。

%Z 市区。

%a 星期的缩写。

%A 星期的完整名称。

%b 月份英文名的缩写。

%B 月份的完整英文名称。

%c 日期与时间。只输入date指令也会显示同样的结果。

%d 日期(以01-31来表示)。

%D 日期(含年月日)。

%j 该年中的第几天。

%m 月份(以01-12来表示)。

%U 该年中的周数。

%w 该周的天数,0代表周日,1代表周一,异词类推。

%x 日期(以本地的惯用法来表示)。

%y 年份(以00-99来表示)。

%Y 年份(以四位数来表示)。

%n 在显示时,插入新的一行。

%t 在显示时,插入tab。

MM 月份(必要)

DD 日期(必要)

hh 小时(必要)

mm 分钟(必要)

ss 秒(选择性)

-d<字符串> 显示字符串所指的日期与时间。字符串前后必须加上双引号。

-s<字符串> 根据字符串来设置日期与时间。字符串前后必须加上双引号。

-u 显示GMT。

使用示例:

shell 复制代码
[root@iZ2ze5vrnucj8nu52fq932Z ~]# date
Wed Aug  9 09:22:22 CST 2023

[root@iZ2ze5vrnucj8nu52fq932Z ~]# date '+%d'
09
[root@iZ2ze5vrnucj8nu52fq932Z ~]# date '+%D'
08/09/23
[root@iZ2ze5vrnucj8nu52fq932Z ~]# 


[root@iZ2ze5vrnucj8nu52fq932Z ~]# date '+%X'
09:40:26 AM
[root@iZ2ze5vrnucj8nu52fq932Z ~]# 

cal

用来显示公历(阳历)日历。

shell 复制代码
-1 显示一个月的月历

-3 显示系统前一个月,当前月,下一个月的月历

-s  显示星期天为一个星期的第一天,默认的格式

-m 显示星期一为一个星期的第一天
-j  显示在当年中的第几天(一年日期按天算,从1月1号算起,默认显示当前月在一年中的天数)
-y  显示当前年份的日历

使用示例:

shell 复制代码
[root@iZ2ze5vrnucj8nu52fq932Z ~]# cal
     August 2023    
Su Mo Tu We Th Fr Sa
       1  2  3  4  5
 6  7  8  9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31

[root@iZ2ze5vrnucj8nu52fq932Z ~]# 

which

PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果

shell 复制代码
-n 指定文件名长度,指定的长度必须大于或等于所有文件中最长的文件名。

-p 与-n参数相同,但此处的包括了文件的路径。

-w 指定输出时栏位的宽度。

使用示例:

shell 复制代码
[root@iZ2ze5vrnucj8nu52fq932Z ~]# which ls
alias ls='ls --color=auto'
	/usr/bin/ls
[root@iZ2ze5vrnucj8nu52fq932Z ~]# 

whereis

只能用于程序名的搜索

shell 复制代码
-b  定位可执行文件。

-m  定位帮助文件。

-s  定位源代码文件。

-u  搜索默认路径下除可执行文件、源代码文件、帮助文件以外的其它文件。

-B  指定搜索可执行文件的路径。

-M  指定搜索帮助文件的路径。

-S  指定搜索源代码文件的路径。

使用示例:

shell 复制代码
[root@iZ2ze5vrnucj8nu52fq932Z ~]# whereis java
java: /usr/bin/java /usr/lib/java /etc/java /usr/share/java /usr/share/man/man1/java.1.gz
[root@iZ2ze5vrnucj8nu52fq932Z ~]# 


[root@iZ2ze5vrnucj8nu52fq932Z ~]# whereis -b java
java: /usr/bin/java /usr/lib/java /etc/java /usr/share/java
[root@iZ2ze5vrnucj8nu52fq932Z ~]# 

nl

linux系统中用来计算文件中行号。nl 可以将输出的文件内容自动的加上行号!其默认的结果与 cat -n 有点不太一样, nl 可以将行号做比较多的显示设计,包括位数与是否自动补齐0等等的功能。

shell 复制代码
-b :指定行号指定的方式,主要有两种:

-b a :表示不论是否为空行,也同样列出行号(类似 cat -n);

-b t :如果有空行,空的那一行不要列出行号(默认值);

-n :列出行号表示的方法,主要有三种:

-n ln :行号在萤幕的最左方显示;

-n rn :行号在自己栏位的最右方显示,且不加 0 ;

-n rz :行号在自己栏位的最右方显示,且加 0 ;

-w :行号栏位的占用的位数。

-p 在逻辑定界符处不重新开始计算。

使用示例:

shell 复制代码
[root@iZ2ze5vrnucj8nu52fq932Z head]# nl a.txt
     1	hello1
     2	hello2
     3	hello3
     4	hello4
     5	hello5
[root@iZ2ze5vrnucj8nu52fq932Z head]# 

ps

显示标题行,其后是包含有关具有控制终端的所有进程的信息的行

shell 复制代码
a 显示所有进程

-a 显示同一终端下的所有程序

-A 显示所有进程

c 显示进程的真实名称

-N 反向选择

-e 等于"-A"

e 显示环境变量

f 显示程序间的关系

-H 显示树状结构

r 显示当前终端的进程

T 显示当前终端的所有程序

u 指定用户的所有进程

-au 显示较详细的资讯

-aux 显示所有包含其他使用者的行程

-C<命令> 列出指定命令的状况

--lines<行数> 每页显示的行数

--width<字符数> 每页显示的字符数

使用示例:

shell 复制代码
[root@iZ2ze5vrnucj8nu52fq932Z ~]# ps -A
  PID TTY          TIME CMD
    1 ?        00:16:41 systemd
    2 ?        00:00:00 kthreadd
    4 ?        00:00:00 kworker/0:0H
    6 ?        00:23:40 ksoftirqd/0
    7 ?        00:00:00 migration/0
    8 ?        00:00:00 rcu_bh
    9 ?        03:01:42 rcu_sched
   10 ?        00:00:00 lru-add-drain
   11 ?        00:02:09 watchdog/0
   13 ?        00:00:00 kdevtmpfs
   14 ?        00:00:00 netns
   15 ?        00:00:17 khungtaskd
   16 ?        00:00:00 writeback
   17 ?        00:00:00 kintegrityd
   18 ?        00:00:00 bioset
   19 ?        00:00:00 bioset
   20 ?        00:00:00 bioset
   21 ?        00:00:00 kblockd
   22 ?        00:00:00 md
   23 ?        00:00:00 edac-poller
   24 ?        00:00:00 watchdogd
   30 ?        00:01:56 kswapd0
   .....

[root@iZ2ze5vrnucj8nu52fq932Z ~]# ps -a
  PID TTY          TIME CMD
21077 pts/0    00:00:00 ps




[root@iZ2ze5vrnucj8nu52fq932Z ~]# ps -ef
UID        PID  PPID  C STIME TTY          TIME CMD
root         1     0  0  2022 ?        00:16:41 /usr/lib/systemd/systemd --system --deserialize 15
root         2     0  0  2022 ?        00:00:00 [kthreadd]
root         4     2  0  2022 ?        00:00:00 [kworker/0:0H]
root         6     2  0  2022 ?        00:23:40 [ksoftirqd/0]
root         7     2  0  2022 ?        00:00:00 [migration/0]
root         8     2  0  2022 ?        00:00:00 [rcu_bh]
root         9     2  0  2022 ?        03:01:42 [rcu_sched]
root        10     2  0  2022 ?        00:00:00 [lru-add-drain]
root        11     2  0  2022 ?        00:02:09 [watchdog/0]
root        13     2  0  2022 ?        00:00:00 [kdevtmpfs]
root        14     2  0  2022 ?        00:00:00 [netns]
root        15     2  0  2022 ?        00:00:17 [khungtaskd]
root        16     2  0  2022 ?        00:00:00 [writeback]
root        17     2  0  2022 ?        00:00:00 [kintegrityd]
root        18     2  0  2022 ?        00:00:00 [bioset]
root        19     2  0  2022 ?        00:00:00 [bioset]
root        20     2  0  2022 ?        00:00:00 [bioset]
root        21     2  0  2022 ?        00:00:00 [kblockd]
root        22     2  0  2022 ?        00:00:00 [md]
root        23     2  0  2022 ?        00:00:00 [edac-poller]
root        24     2  0  2022 ?        00:00:00 [watchdogd]
......

结束语

命令很多,大家不用去背,可以放到便签之类的工具中,用到的时候翻一下就好~

本着把自己知道的都告诉大家,如果本文对您有所帮助,点赞+关注鼓励一下呗~

Linux相关文章

往期面试题相关文章

项目源码(源码已更新 欢迎star⭐️)

往期设计模式相关文章

设计模式项目源码(源码已更新 欢迎star⭐️)

Kafka 专题学习

项目源码(源码已更新 欢迎star⭐️)

ElasticSearch 专题学习

项目源码(源码已更新 欢迎star⭐️)

往期并发编程内容推荐

推荐 SpringBoot & SpringCloud (源码已更新 欢迎star⭐️)

博客(阅读体验较佳)

相关推荐
可涵不会debug20 分钟前
【Linux】信号知识三把斧——信号的产生、保存和处理
linux·运维·信号
jyan_敬言23 分钟前
【Linux】Linux命令与操作详解(一)文件管理(文件命令)、用户与用户组管理(创建、删除用户/组)
linux·运维·服务器·c语言·开发语言·汇编·c++
unix2linux1 小时前
Parade Series - SHA256
linux·python·mysql·shell
学思之道1 小时前
给Linux操作系统命令取个别名
linux·运维·经验分享·学习方法
GOTXX2 小时前
应用层协议HTTP
linux·网络·网络协议·计算机网络·http·fiddler
九圣残炎2 小时前
【springboot】简易模块化开发项目整合Redis
spring boot·redis·后端
dong_beijing2 小时前
GO语言工程构建示例-mac和linux适用
linux·运维·服务器
小小工匠2 小时前
系统安全 - Linux /Docker 安全模型及实践
linux·安全·系统安全
.生产的驴2 小时前
Electron Vue框架环境搭建 Vue3环境搭建
java·前端·vue.js·spring boot·后端·electron·ecmascript
爱学的小涛2 小时前
【NIO基础】基于 NIO 中的组件实现对文件的操作(文件编程),FileChannel 详解
java·开发语言·笔记·后端·nio