百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术教程 > 正文

shell——常用命令2

csdh11 2025-01-15 12:07 21 浏览

shutdown

该命令将关闭系统。

-y 对提示的所有问题都回答 y

-gn 给其他用户n秒的时间退出,缺省值为60秒

-in 系统退到第n种方式,方式如下:

0关机

1单用户模式

2多用户模式

3网络下的多用户模式

6关机并重新启动

$ shutdown now立即关机。
$ shutdown -g60 -I6 -y将会在60秒之后关机,然后重新启动系统。

wait 格式:wait process ID

该命令可以用来等待进程号为 process ID的进程或所有的后台进程结束后,再执行当前脚本。

下面的命令等待进程号为1299的进程结束后再执行当前脚本:

$ wait 1299

下面的命令等待所有的后台进程结束后再执行当前脚本:

$ wait

logname该命令可以显示当前所使用的登录用户名:

logname --help得到帮助。

[hadoop@localhost d4]$ logname
hadoop

sleep number 该命令使系统等待相应的秒数。例如:

$ sleep 10意味着系统在1 0秒钟之内不进行任何操作。

uname -m 显示机器的处理器架构(2)
uname -r 显示正在使用的内核版本,显示操作系统的发行号
uname -p # 显示芯片名称,例如:powerpc
uname –a # 显示系统名、节点名、版本、机器ID
uname -s:系统名。
uname -v:只显示操作系统版本或其发布日期。


whereis

whereis命令能够给出系统命令的二进制文件及其在线手册、源码的路径。

[hadoop@localhost dzztest]$ whereis mysql
mysql: /usr/bin/mysql /usr/lib64/mysql /usr/share/mysql /usr/share/man/man1/mysql.1.gz

time[语法]:time 命令

[说明]:执行命令,并在执行完后显示其运行的时间

[hadoop@localhost d4]$ time ./d3.sh
--1--user1
--2--user1
--3--user
--4--user1add
--1--user2
--2--user2
--3--user
--4--user2add
real 0m0.003s
user 0m0.003s
sys 0m0.001s

su[语法]:su [-] [username]

[说明]:su 命令使当前用户成为指定用户,若无指定,则成为超级用户,如要离开当前用户的身份,可以打exit

但必须输入该用户的密码,-选项表示用该用户的注册环境成为该用户

passwd

[语法]: passwd [用户]

[说明]: 修改密码,指定用户则修改指定用户密码

参  数:

-d  删除密码。本参数仅有系统管理者才能使用。

-f  强制执行。

-k  设置只有在密码过期失效后,方能更新。

-l  锁住密码。

-s  列出密码的相关信息。本参数仅有系统管理者才能使用。

-u  解开已上锁的帐号。

passwd hadoop

# passwd root

New UNIX password:

Retype new UNIX password:

passwd: all authentication tokens updated successfully

#

wall[语法]:wall

[说明]:向所有用户广播通知信息,常用于警告所有用户

wall –a message

wall –g Informix message给组发消息

wall < 文件名

[hadoop@localhost d4]$ wall 12
[hadoop@localhost d4]$
Broadcast message from hadoop@localhost.localdomain (pts/3) (Tue Sep 13 21:29:30 2022):
12

touch格式:touch options filename

选项:

-t MMDDhhmm 创建一个具有相应月、日、时分时间戳的文件。

[hadoop@localhost dzztest]$ touch fdd以当前时间创建文件或更新已有文件的时间戳
[hadoop@localhost dzztest]$ touch -t 08152045 fdd1 以时间戳8月15日上午20:45创建了一个名为fdd1的空文件。
[hadoop@localhost dzztest]$ ll
-rw-rw-r-- 1 hadoop hadoop 0 Aug 15 20:45 fdd1

nl

nl命令可用于在文件中列行号,在打印源代码或列日志文件时很有用。

格式:nl options file

选项:

- p:在新的一页不重新计数。

[hadoop@localhost dzztest]$ nl 33列出33文件的行号
1 -rw-rw-r-- 1 hadoop hadoop 0 Sep 10 23:12 22
2 -rw-rw-r-- 1 hadoop hadoop 0 Sep 10 23:18 33
3 -rwxrwxrwx 1 hadoop hadoop 66 Sep 9 21:48 a1.sh
4 -rwxrwxrwx 1 hadoop hadoop 109 Sep 9 20:10 a.sh
5 -rwxrwxrwx 1 hadoop hadoop 128 Sep 10 03:03 b.sh
6 -rwxrwxrwx 1 hadoop hadoop 204 Sep 10 03:24 c.sh
7 drwxrwxr-x 2 hadoop hadoop 97 Sep 10 20:02 d11
8 drwxrwxr-x 2 hadoop hadoop 52 Sep 10 20:51 d12
9 -rwxrwxrwx 1 hadoop hadoop 138 Sep 10 04:46 d.sh
10 -rwxrwxrwx 1 hadoop hadoop 214 Sep 9 21:00 e.sh
11 -rw-rw-r-- 1 hadoop hadoop 192 Sep 10 04:37 functions.main
$ nl 33 >hold_file输出重定向到hold_file文件中。
$ nl 33 | lpr 结果重定向到打印机。

printf

格式:printf format arguments它将格式化文本送至标准输出。

其中,格式符f o r m a t包含三种类型的项,这里我们只讨论格式符:

%[- +]m.nx

其中横杠-为从行首算起的起始位置。一般说来 m表示域的宽度而n表示域的最大宽度。

‘%’后面可跟下列格式字符:

s:字符串。c:字符。d:数字。x:16进制数。o:10进制数。

printf命令本身并不会产生换行符,必须使用转义字符来实现这样的功能。下面是最常用的转义字符:

\a:响铃。\b:退格。

\r:回车。\f:换页。

\n:换行。\t:跳格。

$ printf "Howzat!\n"输出了一个字符串,使用 \ n来换行
Howzat!
[hadoop@localhost dzztest]$ printf "\x2B\n"把16进制值转换为ASCII字符+。
+
[hadoop@localhost dzztest]$ printf "%-5sdzz is name\n"从左起第5个字符的位置开始显示字符串。
dzz is name
[hadoop@localhost dzztest]$ printf "%-2sdzz is name\n"
dzz is name
[hadoop@localhost dzztest]$ printf "23\t63"
23 63[hadoop@localhost dzztest]$ printf "23\t63\a"
23 63[hadoop@localhost dzztest]$

who格式:who options

选项:

- a:显示所有的结果。

- r:显示当前的运行级别(在L I N U X系统中应当使用r u n l e v e l命令)。

- s:列出用户名及时间域。

[hadoop@localhost dzztest]$ who
hadoop :0 2021-05-02 01:12 (:0)
hadoop pts/0 2022-09-12 17:49 (:0)
hadoop pts/1 2022-09-15 19:02 (192.168.30.1)
[hadoop@localhost dzztest]$ who -a
system boot 2021-05-02 01:10
run-level 5 2021-05-02 01:11
hadoop ? :0 2021-05-02 01:12 ? 1922 (:0)
hadoop + pts/0 2022-09-12 17:49 old 80174 (:0)
pts/1 2021-05-02 01:34 0 id=/1 term=0 exit=0
hadoop + pts/1 2022-09-15 19:02 . 8227 (192.168.30.1)
pts/2 2022-09-15 19:34 41389 id=ts/2 term=0 exit=0
pts/3 2022-09-13 21:33 88250 id=ts/3 term=0 exit=0
pts/4 2022-09-12 19:16 80273 id=ts/4 term=0 exit=0
[hadoop@localhost dzztest]$ who -r
run-level 5 2021-05-02 01:11
[hadoop@localhost dzztest]$ who -s
hadoop :0 2021-05-02 01:12 (:0)
hadoop pts/0 2022-09-12 17:49 (:0)
hadoop pts/1 2022-09-15 19:02 (192.168.30.1)

who am i列出现在系统中登录的用户信息,who am i 显示自己

[root@localhost hadoop]# who am i
hadoop pts/1 2022-09-14 23:06 (192.168.30.1)

whoami 显示执行该命令的用户名。这不是who命令的一个选项,可以单独应用。

free命令

free命令的功能是查看当前系统内存的使用情况,它显示系统中剩余及已用的物理内存和交换内存,以及共享内存和被核心使用的缓冲区。

该命令的一般格式为: free [-b | -k | -m] 命令中各选项的含义如下:

-b 以字节为单位显示。-k 以K字节为单位显示。-m 以兆字节为单位显示。

[hadoop@localhost d5]$ free
total used free shared buff/cache available
Mem: 997948 449176 120468 1576 428304 293080
Swap: 2097148 1058304 1038844
[hadoop@localhost d5]$ free -m
total used free shared buff/cache available
Mem: 974 438 117 1 418 286
Swap: 2047 1033 1014
[hadoop@localhost d5]$ free -k
total used free shared buff/cache available
Mem: 997948 449172 120452 1576 428324 293084
Swap: 2097148 1058304 1038844

du[语法]:du [-ars] [dir]

[说明]:显示磁盘空间专用情况

-r 提供无法打开的文件信息

-s 仅显示指定目录所占空间的总和

-a 显示文件大小及目录总空间,其后可根文件名作参数

du显示的磁盘空间占用是以512字节的块来表示的。它主要用于显示目录所占用的空间。

在本例中,/var目录所占用的空间为14929块(每块512字节)。

du -hm 将以M为单位输出结果
du -hk则以K为单位输出。
[hadoop@localhost ~]$ du -sm .以M为单位
3565 .
[hadoop@localhost ~]$ du -sh .显示单位,估算目录 'dir1' 已经使用的磁盘空间
3.5G .
[hadoop@localhost ~]$ du -s ..以K为单位,du -sk
3649832 .
[hadoop@localhost dzztest]$ du 查看目录总容量和子目录容量
32 ./d11
16 ./d12
76 .
[hadoop@localhost dzztest]$ du d11
32 d11

df显示可用磁盘空间

[hadoop@localhost d5]$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 18G 15G 2.8G 85% /
devtmpfs 472M 0 472M 0% /dev
tmpfs 488M 0 488M 0% /dev/shm
tmpfs 488M 27M 461M 6% /run
tmpfs 488M 0 488M 0% /sys/fs/cgroup
/dev/sda1 297M 194M 104M 66% /boot
tmpfs 98M 44K 98M 1% /run/user/1002
[hadoop@localhost ~]$ df -k查看空间
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda3 18555904 14323204 4232700 78% /
devtmpfs 482584 0 482584 0% /dev
tmpfs 498972 0 498972 0% /dev/shm
tmpfs 498972 14960 484012 3% /run
tmpfs 498972 0 498972 0% /sys/fs/cgroup
/dev/sda1 303788 197712 106076 66% /boot
tmpfs 99796 36 99760 1% /run/user/1002
[hadoop@localhost ~]$ df -m
Filesystem 1M-blocks Used Available Use% Mounted on
/dev/sda3 18121 13988 4134 78% /
devtmpfs 472 0 472 0% /dev
tmpfs 488 0 488 0% /dev/shm
tmpfs 488 15 473 3% /run
tmpfs 488 0 488 0% /sys/fs/cgroup
/dev/sda1 297 194 104 66% /boot
tmpfs 98 1 98 1% /run/user/1002

2022-9-17

相关推荐

探索Java项目中日志系统最佳实践:从入门到精通

探索Java项目中日志系统最佳实践:从入门到精通在现代软件开发中,日志系统如同一位默默无闻却至关重要的管家,它记录了程序运行中的各种事件,为我们排查问题、监控性能和优化系统提供了宝贵的依据。在Java...

用了这么多年的java日志框架,你真的弄懂了吗?

在项目开发过程中,有一个必不可少的环节就是记录日志,相信只要是个程序员都用过,可是咱们自问下,用了这么多年的日志框架,你确定自己真弄懂了日志框架的来龙去脉嘛?下面笔者就详细聊聊java中常用日志框架的...

物理老师教你学Java语言(中篇)(物理专业学编程)

第四章物质的基本结构——类与对象...

一文搞定!Spring Boot3 定时任务操作全攻略

各位互联网大厂的后端开发小伙伴们,在使用SpringBoot3开发项目时,你是否遇到过定时任务实现的难题呢?比如任务调度时间不准确,代码报错却找不到方向,是不是特别头疼?如今,随着互联网业务规模...

你还不懂java的日志系统吗 ?(java的日志类)

一、背景在java的开发中,使用最多也绕不过去的一个话题就是日志,在程序中除了业务代码外,使用最多的就是打印日志。经常听到的这样一句话就是“打个日志调试下”,没错在日常的开发、调试过程中打印日志是常干...

谈谈枚举的新用法--java(java枚举的作用与好处)

问题的由来前段时间改游戏buff功能,干了一件愚蠢的事情,那就是把枚举和运算集合在一起,然后运行一段时间后buff就出现各种问题,我当时懵逼了!事情是这样的,做过游戏的都知道,buff,需要分类型,且...

你还不懂java的日志系统吗(javaw 日志)

一、背景在java的开发中,使用最多也绕不过去的一个话题就是日志,在程序中除了业务代码外,使用最多的就是打印日志。经常听到的这样一句话就是“打个日志调试下”,没错在日常的开发、调试过程中打印日志是常干...

Java 8之后的那些新特性(三):Java System Logger

去年12月份log4j日志框架的一个漏洞,给Java整个行业造成了非常大的影响。这个事情也顺带把log4j这个日志框架推到了争议的最前线。在Java领域,log4j可能相对比较流行。而在log4j之外...

Java开发中的日志管理:让程序“开口说话”

Java开发中的日志管理:让程序“开口说话”日志是程序员的朋友,也是程序的“嘴巴”。它能让程序在运行过程中“开口说话”,告诉我们它的状态、行为以及遇到的问题。在Java开发中,良好的日志管理不仅能帮助...

吊打面试官(十二)--Java语言中ArrayList类一文全掌握

导读...

OS X 效率启动器 Alfred 详解与使用技巧

问:为什么要在Mac上使用效率启动器类应用?答:在非特殊专业用户的环境下,(每天)用户一般可以在系统中进行上百次操作,可以是点击,也可以是拖拽,但这些只是过程,而我们的真正目的是想获得结果,也就是...

Java中 高级的异常处理(java中异常处理的两种方式)

介绍异常处理是软件开发的一个关键方面,尤其是在Java中,这种语言以其稳健性和平台独立性而闻名。正确的异常处理不仅可以防止应用程序崩溃,还有助于调试并向用户提供有意义的反馈。...

【性能调优】全方位教你定位慢SQL,方法介绍下!

1.使用数据库自带工具...

全面了解mysql锁机制(InnoDB)与问题排查

MySQL/InnoDB的加锁,一直是一个常见的话题。例如,数据库如果有高并发请求,如何保证数据完整性?产生死锁问题如何排查并解决?下面是不同锁等级的区别表级锁:开销小,加锁快;不会出现死锁;锁定粒度...

看懂这篇文章,你就懂了数据库死锁产生的场景和解决方法

一、什么是死锁加锁(Locking)是数据库在并发访问时保证数据一致性和完整性的主要机制。任何事务都需要获得相应对象上的锁才能访问数据,读取数据的事务通常只需要获得读锁(共享锁),修改数据的事务需要获...