前言
目前正在出一个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相关文章
往期面试题相关文章
- 查漏补缺第一期(Redis相关)
- 查漏补缺第二期(synchronized & 锁升级)
- 查漏补缺第三期(分布式事务相关)
- 查漏补缺第四期(Mysql相关)
- 查漏补缺第五期(HashMap & ConcurrentHashMap)
- 查漏补缺第六期(京东一面)
- 查漏补缺第七期(美团到店一面)
- 查漏补缺第八期(阿里一面)
- 查漏补缺第九期(阿里二面)
- 查漏补缺第十期(网易实习一面)
- 查漏补缺第十一期(网易实习二面)
- 查漏补缺第十二期(网易实习三面)
- 查漏补缺第十三期(滴滴实习一面)
- 查漏补缺第十四期(滴滴实习二面)
- 查漏补缺第十五期(华为一面)
- 查漏补缺第十六期(华为二面)
- 查漏补缺第十七期(华为三面)
- 查漏补缺第十八期(你了解class文件吗)
项目源码(源码已更新 欢迎star⭐️)
往期设计模式相关文章
- 一起来学设计模式之认识设计模式
- 一起来学设计模式之单例模式
- 一起来学设计模式之工厂模式
- 一起来学设计模式之建造者模式
- 一起来学设计模式之原型模式
- 一起来学设计模式之适配器模式
- 一起来学设计模式之桥接模式
- 一起来学设计模式之组合模式
- 一起来学设计模式之装饰器模式
- 一起来学设计模式之外观模式
- 一起来学设计模式之享元模式
- 一起来学设计模式之代理模式
- 一起来学设计模式之责任链模式
- 一起来学设计模式之命令模式
- 一起来学设计模式之解释器模式
- 一起来学设计模式之迭代器模式
- 一起来学设计模式之中介者模式
- 一起来学设计模式之备忘录模式
- 一起来学设计模式之观察者模式
- 一起来学设计模式之状态模式
- 一起来学设计模式之策略模式
- 一起来学设计模式之模板方法模式
- 一起来学设计模式之访问者模式
- 一起来学设计模式之依赖注入模式
设计模式项目源码(源码已更新 欢迎star⭐️)
Kafka 专题学习
- 一起来学kafka之Kafka集群搭建
- 一起来学kafka之整合SpringBoot基本使用
- 一起来学kafka之整合SpringBoot深入使用(一)
- 一起来学kafka之整合SpringBoot深入使用(二)
- 一起来学kafka之整合SpringBoot深入使用(三)
项目源码(源码已更新 欢迎star⭐️)
ElasticSearch 专题学习
项目源码(源码已更新 欢迎star⭐️)
往期并发编程内容推荐
- Java多线程专题之线程与进程概述
- Java多线程专题之线程类和接口入门
- Java多线程专题之进阶学习Thread(含源码分析)
- Java多线程专题之Callable、Future与FutureTask(含源码分析)
- 面试官: 有了解过线程组和线程优先级吗
- 面试官: 说一下线程的生命周期过程
- 面试官: 说一下线程间的通信
- 面试官: 说一下Java的共享内存模型
- 面试官: 有了解过指令重排吗,什么是happens-before
- 面试官: 有了解过volatile关键字吗 说说看
- 面试官: 有了解过Synchronized吗 说说看
- Java多线程专题之Lock锁的使用
- 面试官: 有了解过ReentrantLock的底层实现吗?说说看
- 面试官: 有了解过CAS和原子操作吗?说说看
- Java多线程专题之线程池的基本使用
- 面试官: 有了解过线程池的工作原理吗?说说看
- 面试官: 线程池是如何做到线程复用的?有了解过吗,说说看
- 面试官: 阻塞队列有了解过吗?说说看
- 面试官: 阻塞队列的底层实现有了解过吗? 说说看
- 面试官: 同步容器和并发容器有用过吗? 说说看
- 面试官: CopyOnWrite容器有了解过吗? 说说看
- 面试官: Semaphore在项目中有使用过吗?说说看(源码剖析)
- 面试官: Exchanger在项目中有使用过吗?说说看(源码剖析)
- 面试官: CountDownLatch有了解过吗?说说看(源码剖析)
- 面试官: CyclicBarrier有了解过吗?说说看(源码剖析)
- 面试官: Phaser有了解过吗?说说看
- 面试官: Fork/Join 有了解过吗?说说看(含源码分析)
- 面试官: Stream并行流有了解过吗?说说看