Linux命令 ----操作命令

一、目录及文件操作命令

1、cd命令

  • 英文原意:change directory。
  • 执行权限:所有用户。
  • 功能描述:切换所在目录。

a.快速理解命令提示符含义。

[root@aliyun-one ~]#

• []:这是提示符的分隔符号,没有特殊含义。
• root:显示的是当前的登录用户,这里使用 root用户登录。
•@:分隔符号,没有特殊含义。
• aliyun-one:当前系统的简写主机名。
•~:代表用户当前所在的目录,此例中用户当前所在的目录是家目录。
•#:命令提示符,Linux用这个符号标识登录用户的权限等级。如果是超级用户,提示符就是#;如果是普通用户,提示符就是$。

b.家目录

登录系统后,首先看到的就是家目录:
•~:代表用户当前所在的目录,此例中用户当前所在的目录是家目录。
在这里插入图片描述
不管在那个目录下,进入到家目录的命令有以下几种:
“cd~”命令可以快速回到用户的家目录,cd命令直接按 Enter键也会快速切换到家目录。
在这里插入图片描述

c.根目录

[root@aliyun-one /]#

/:代表用户当前所在的目录,此例中用户当前所在的目录是根目录。
不管在那个目录下,进入到根目录的命令有以下几种:
“cd /”命令可以快速回到根目录。
在这里插入图片描述

d.进入到指定目录

进入/usr/src
在这里插入图片描述
图片中已经从家目录进入到当前目录src中。

e. cd - 命令:允许你快速切换到你之前所在的工作目录

在这里插入图片描述
图片中有两个列子。第一个是从家目录到src目录,通过cd -命令就可以快速切换目录。同理,从home目录到src目录,通过cd -命令就可以快速切换目录。

f. cd . 和 cd …和cd …/…

cd . 进入当前目录。cd …进入上一级目录。cd …/… 返回上两级目录
在这里插入图片描述

2、pwd命令—打印当前所在目录。

在这里插入图片描述

3、ls-查看文件与目录。

ls 常用选项

  • -l:列出的文件以长格式输出,一个文件显示一行(可简写为ll)。命令: ls -l 或者ll。
    在这里插入图片描述

“-l”选项用于显示文件的详细信息,那么“-l”选项显示的这 7列分别是什么?

[root@aliyun-one src]# ls -l
total 8
drwxr-xr-x.   2     root   root   4096   Apr 11  2018   debug
drwxr-xr-x.   3     root   root   4096   Jun 28  2024   kernels
   权限     引用计数  所有者 所属组   大小   文件修改时间     文件名

• 第一列:权限。具体权限的含义将在 4.5节中讲解。
• 第二列:引用计数。如果文件是普通文件:硬链接的个数(访问该文件的路径数),如果文件是目录:目录下的一级子目录的个数。
• 第三列:所有者,也就是这个文件属于哪个用户。默认所有者是文件的建立用户。
• 第四列:所属组。默认所属组是文件建立用户的有效组,一般情况下就是建立用户的所在组。
• 第五列:大小。默认单位是字节。
• 第六列:文件最近一次修改时间。文件状态修改时间或文件数据修改时间都会更改这个时间,注意,这个时间不是文件的创建时间。
• 第七列:文件名。

第一字段第一位:

-rw-r--r--. 1 root root 46478 8月13 2018 install.log

第一位代表文件类型:

•“-”:代表普通文件

•“d”:代表目录

•“l”:链接文件(符号链接;小写的L)或软链接

•“c”:字符设备文件

•.“b”:块设备文件

•“s”:套接字文件

•“p”:命名管道文件

第 2~4位代表文件所有者的权限。
• r:代表 read,是读取权限。
• w:代表 write,是写权限。
• x:代表 execute,是执行权限。
如果有字母,则代表拥有对应的权限;如果是“-”,则代表没有对应的权限。
第 5~7位代表文件所属组的权限,同样拥有“rwx”权限。
第 8~10位代表其他人的权限,同样拥有“rwx”权限。
如果文件权限最后一位是“.,则表示这个文件受SELinux安全规则管理。

Linux绝对路径和相对路径

绝对路径:以根目录“/”开始的路径,表示从Linux目录结构的最顶点算起,特点是路径以“/”开头

相对路径:不以根目录“/”开始的路径,以当前目录作为起始点,特点是不以“/”开头

每个目录下都有”.”和”…”2个目录:

一个点“ . ”代表当前目录,写全了“ ./ ”

二个点“ … ”代表上一级目录,写全了“ …/ ”

  • -a:列出所有文件,包括以点(.)开头的隐藏文件。命令:ls -a.。
    在这里插入图片描述
    在这里插入图片描述
    上图中ls -al 、ls -la 、ll -a 执行结果一样。

  • -h:以人类可读的格式显示文件大小(例如,K、M、G)。命令:ls -lh或者ls -hl或者 ll -h,结果都是一样的。选项h必须和选项l结合一起使用。

  • 在这里插入图片描述

  • -d:示目录本身而不显示目录下的文件。命令:ls -d。

  • 在这里插入图片描述

  • -i:显示文件的索引节点号。命令:ls -i。

  • 在这里插入图片描述

  • 以上图片显示选项都可以用命令ll结合选项展示出不同的结果。ls 结合选项(选项可以是一个也可以是多个组合在一起)。
    简单说明一下:

ls -l   # 以长数据串的形式列出当前目录下的数据文件和目录 
ls -al   # 以长数据串的形式列出当前目录下的数据文件和目录及隐藏文件(常用)
ls -lR  # 以长数据串的形式列出当前目录下的所有文件  
ls -aR # 列出当前目录所有文件,包括子目录

ls -al --block-size=m  # 查看文件大小,其中k,m,g表示单位

3、 mkdir命令–创建空目录。

选项:-p:递归创建所需目录
在这里插入图片描述

4、touch命令–创建一个空文件,如果文件已经存在修改文件的修改日期

在这里插入图片描述

5、 cat命令—查看文本文件内容,将文本文件内容全部打印到标准输出

在这里插入图片描述

6、more 、less、tail

more 命令:分页显示文件内容。默认显示进度百分比,空格往下翻页,b往上翻页,f往下翻页,q退出。

less命令:分页显示文件内容。选项 -m 显示进度百分比,可以用“/”后跟关键字搜索文件内容,空格往下翻页,b往上翻页,f往下翻页,q退出。适合用于查看大型文件或需要频繁操作和搜索的场景。

tail命令:用于从文件尾部查看文件的内容。

选项;

  • -n:行数。从文件结尾开始,显示指定行数。
  • -f:监听文件新增内容。比如日志文件。
# 查看文件的后10行
tail -10 /etc/passwd 或 tail -n 10 /etc/passwd 

# 不停地去读/var/log/messages文件最新的内容,这样有实时监视的效果,用Ctrl+c来终止!
tail -f /var/log/messages 

# 显示文件 notes.log 的内容,从第 20 行至文件末尾:
tail +20 notes.log

# 显示文件 notes.log 的最后 10 个字符:
tail -c 10 notes.log

7、 rm-用于删除文件或目录,remove之意

它的常用选项如下:
-f :就是force的意思,忽略不存在的文件,不会出现警告消息
-i :交互删除,在删除前会询问用户是否操作
-r :递归删除,最常用于目录删除,它是一个非常危险的参数
在这里插入图片描述

rm -i file # 删除文件file,在删除之前会询问是否进行该操作  
rm -rf dir # 强制删除目录dir中的所有文件 

在这里插入图片描述

8、cp-复制文件和目录

该命令用于复制文件,它还可以把多个文件一次性地复制到一个目录下,它的常用参数如下:

-a :将文件的特性一起复制
-p :连同文件的属性一起复制(包括所有者、所有组、权限、时间),而非使用默认方式,与-a相似,常用于备份
-i :询问。如果目标文件存在,则会询问是否覆盖。
-r :递归复制,用于复制目录

cp -a file1 file2  # 连同文件的所有特性把文件file1复制成文件file2  

在这里插入图片描述

在这里插入图片描述

cp file1 file2 dir  #把文件file1、file2复制到目录dir中

在这里插入图片描述
如果复制的目标位置已经存在同名的文件,则会提示是否覆盖,因为 cp命令默认执行的是“cp-i”,如下图:
在这里插入图片描述

cp -p file1 file2 dir  # 连同文件的所有特性把文件file1复制成文件file2 .与-a相似

在这里插入图片描述

cp -r dir1 dir2  # 把目录dir1复制到dir2中

在这里插入图片描述

9、mv- 移动文件或目录、给文件或目录改名

选项:
-f :force强制的意思,如果目标文件已经存在,不会询问而直接覆盖。

mv -f movie/ test/

-i :若目标文件已经存在,就会询问是否覆盖。如果文件存在,也会默认执行-i。
-u :若目标文件已经存在,且比目标文件新,才会更新
注: 该命令可以把一个文件或多个文件一次移动一个文件夹中,但是最后一个目标文件一定要是“目录”。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

10、将内容写入文件:echo 、vim

重定向:是一种将输出(标准输出或标准错误)从默认位置(通常是终端或屏幕)转移到其他位置(如文件或设备)的技术。重定向操作符主要有以下几种:

标准输出重定向 (> 和 >>):
  • 命令的标准输出重定向到指定文件。如果文件已存在,则覆盖文件内容;如果文件不存在,则创建新文件。

在这里插入图片描述

  • 命令的标准输出追加到指定文件的末尾。如果文件不存在,则创建新文件。
    在这里插入图片描述

标准错误重定向 (2> 和 2>>):
  • 2>:将命令的标准错误重定向到指定文件。如果文件已存在,则覆盖文件内容。

在这里插入图片描述

  • 2>>:将命令的标准错误追加到指定文件的末尾。
    在这里插入图片描述
同时重定向标准输出和标准错误 (&> 和 2>&1)
  • &>:将命令的标准输出和标准错误都重定向到同一个文件(覆盖)。

在这里插入图片描述

  • file 2>&1:将命令的标准输出重定向到文件,然后将标准错误也重定向到同一个文件(追加或覆盖,取决于 > 或 >> 的使用)。

  • 在这里插入图片描述

echo 命令可以将字符串输出到标准输出,并通过重定向符号 > 或 >> 写入文件。

# 覆盖文件内容
echo "Hello, World!" > filename.txt

# 追加内容到文件末尾
echo "Another line" >> filename.txt

vim文本编辑器

该命令主要用于文本编辑,它接一个文件名作为参数,如果文件存在就打开,如果文件不存在就以该文件名创建一个文件。
a、使用 Vim 打开 demo.txt

vim demo.txt # 编辑demo.txt文件

b、Vim 的模式切换

  • 普通模式:这是 Vim 的默认模式,用于浏览和编辑文件。
  • 插入模式:在这个模式下,你可以输入和编辑文本,按 i 键进入插入模式。
  • 命令模式:用于执行一些特殊的命令,比如保存文件或退出 Vim(完成编辑后,按 Esc 键返回到普通模式,在普通模式下,输入 :w 并按回车,以保存文件。完成编辑并保存文件后,你可以退出 Vim。在普通模式下,输入 :q 并按回车,以退出 Vim。你也可以通过一条命令同时保存并退出 Vim。在普通模式下,输入 :wq 并按回车。)。
完整流程总结
打开终端。
输入 vim demo.txt 并按回车。
按 i 进入插入模式。
输入或编辑文本。
按 Esc 返回到普通模式。
输入 :w 并按回车保存文件。
输入 :q 并按回车退出 Vim(或者 :wq 同时保存并退出)。

额外提示-----如果不想保存文件而直接退出,可以在普通模式下输入 :q! 并按回车。

11、grep-分析一行内容过滤筛选

grep命令是一种强大的文本搜索工具,它使用正则表达式搜索文本,并把匹配的行打印出来。分析一行的信息,若当中有我们所需要的信息,就将该行显示出来,该命令通常与管道命令一起使用,用于对一些命令的输出进行筛选加工等。

grep dock all_output.txt #在文件 'all_output.txt’中查找关键词以"dock"的字符串。
grep [0-9] all_output.txt #选择 ‘all_output.txt’ 文件中所有包含数字的行,并打印出匹配出的结果。
grep --color=auto 'root' /etc/passwd  # 取出文件/etc/passwd中包含root的行,并把找到的关键字加上颜色
ls -l | grep -i txt# 把ls -l的输出中包含字母txt(不区分大小写)的内容输出
grep --color=auto 'kafka' smart*/smart*.properties # 查看以smart开头的目录下面以smart开头的properties配置文件是否包含kafka
rpm -qa | grep mysql #查看所有已安装rpm包中有没有mysql。

12、权限管理命令–chmod、chown、chgrp

在ls命令讲解时,就介绍了ls命令执行后显示的7列的含义,这里就不在讲述。

chmod—管理文件或目录的权限,文件或目录权限的控制分别以读取®、写入(w)、执行(x)3种

英文原意:change file mode bits.
选项:

-R:进行递归的持续更改,即连同子目录下的所有文件都会更改。

chmod命令的权限模式的格式是“[ugoa][[±=][perms]]”,也就是“[用户身份][[赋予方式][权限]]”的格式,我们来解释一下。
• 用户身份
➣ u:代表所有者(user)。
➣ g:代表所属组(group)。
➣ o:代表其他人(other)。
➣ a:代表全部身份(all)。
• 赋予方式
➣+:加入权限。
➣-:减去权限。
➣=:设置权限。
• 权限
➣ r:读取权限(read)。
➣ w:写权限(write)。
➣ x:执行权限(execute)。

在这里插入图片描述
在这里插入图片描述
另一种是包含数字的数字设定法。其中4表示读,2表示写,1表示可执行,因此7表示读写可执行,5表示读可执行

chmod 755 file # 把file的文件权限改变为-rxwr-xr-x
chmod a=rwx file  等价于 chmod 777 file
chmod ug=rwx,o=x file 等价于 chmod 771 file

chgrp-修改文件或目录的所属组

英文原意:change group ownership。

基本用法如下:chgrp [-R] dirname/filename

在这里插入图片描述

chown-修改文件所属用户、用户组

该命令用于改变文件的所有者,与chgrp命令的使用方法相同,只是修改的文件属性不同。

# 将文件 file1.txt 的拥有者设为 runoob,用户组组 runoobgroup :
chown runoob:runoobgroup file1.txt
# 将目前目录下的所有文件与子目录的拥有者皆设为 runoob,群体的使用者 runoobgroup:
chown -R runoob:runoobgroup *


注意:执行chown user demo.txt命令以更改demo.txt文件的所有者为user之前,确实需要确保用户user已经存在于系统中。chown命令用于更改文件或目录的所有者和/或所属组,但它不会创建不存在的用户或组。

如果尝试将文件或目录的所有权更改为一个不存在的用户,系统会返回一个错误,指出无效的用户。

chown nonexistentuser demo.txt
# 输出类似于:chown: invalid user: ‘nonexistentuser’

13、帮助命令–man、–help

man–参看命令的详细信息

[root@aliyun-one ~]# man ls
[root@aliyun-one ~]# man cd

–help–输出的帮助信息基本上是 man命令的信息简要版

[root@aliyun-one ~]# ls --help

13、搜索命令–find 、locate、which、whereis

whereis :查找二进制命令、源文件和帮助文档的命令。

在这里插入图片描述

which命令:列出命令的所在路径。

在这里插入图片描述

find命令:在目录中搜索文件。

# 命令格式
find [PATH] [option] [action] 

参数一:PATH–搜索路径。
参数二:action:搜索内容。

a、按照文件名搜索。

选项:

  • -name:按照文件名称搜索。
  • -iname:按照文件名搜索,不区分大小写。
  • -inum:按照inode号搜索。
    在这里插入图片描述
b、按照文件大小以及类型搜索

选项:

  • -size [±]SIZE :找出比SIZE还要大(+)或小(-)的文件 。
find . -size +1k # 查找当前目录中大于1KB的文件,注意c表示byte  
find . -size +1024c # 查找当前目录中大于1KB的文件
  • -tpye TYPE :查找文件的类型为TYPE的文件,TYPE的值主要有:一般文件(f)、设备文件(b、c)、
    目录(d)、连接文件(l)、socket(s)、FIFO管道文件(p)。
    在这里插入图片描述
c、按照修改时间搜索
# 与时间有关的参数:  
-mtime n : n为数字,意思为在n天之前的“一天内”被更改过的文件
-mtime +n : 列出在n天之前(不含n天本身)被更改过的文件名
-mtime -n : 列出在n天之内(含n天本身)被更改过的文件名
-newer file : 列出比file还要新的文件名

# 例如:  
find . -mtime 1 # 在当前目录下查找在1天之前的“一天内”被更改过的文件
find . -mtime +1 # 在当前目录下查找1天之前(不含n天本身)被更改过的文件名
find /root -newer xxx # 在当前root目录下查找比file还要新的文件名

在这里插入图片描述

d、按照权限搜索

在这里插入图片描述

find . -perm 0755 # 查找当前目录中文件权限的0755的文件, 第一个0,表示十进制

在这里插入图片描述

e、按照所有者和所属组搜索
# 与用户或用户组名有关的参数:  
-user name : 列出文件所有者为name的文件  
-group name : 列出文件所属用户组为name的文件  
-uid n : 列出文件所有者为用户ID为n的文件  
-gid n : 列出文件所属用户组为用户组ID为n的文件

在这里插入图片描述

locate

查找符合条件的文档,他会去保存文档和目录名称的数据库内,查找合乎范本样式条件的文档或目录。当我们不知道某个文件放哪里了,能够通过他快速定位到文件目录,这是一条非常有用的命令

# 查找eureka-server-xxx.jar文件的位置
locate 'eureka-server-xxx.jar'

# 查询包含passwd的目录或文档
locate passwd

locate与find的不同:find 是去硬盘找,locate 只在/var/lib/slocate资料库中找。locate的速度比find快,它并不是真的查找,而是查数据库,一般文件数据库在/var/lib/slocate/slocate.db中,所以locate的查找并不是实时的,而是以数据库的更新为准,一般是系统自己维护,也可以手工升级数据库 ,命令为:locate -u

13、ps-查看进程运行情况

命令格式

ps [options] [--help]

options:

  • -a : 显示除控制进程与无端进程外的所有进程。
  • -A: 列出所有的进程。
  • -w 显示加宽可以显示较多的资讯。
  • -d :显示除控制进程外的所有进程。
  • -e :显示所有进程。
  • -g :显示会话或组ID在grplist列表中的进程。
  • -p :显示PID在pidlist列表中的进程。
  • -s :显示会话ID在sesslist列表中的进程。
  • -t :显示终端ID在ttylist列表中的进程。
  • -u :显示有效用户ID在userlist列表中的进程。
  • -x :以用户为中心组织进程状态信息显示。
  • -M :显示进程的安全信息。
  • -f :显示完整格式的输出。
  • -j :显示任务信息。
  • -l :显示长列表。
  • -o :仅显示由format指定的列。
  • -y :不要显示进程标记。
  • -L :显示进程中的线程。
    其实我们只要记住ps一般使用的命令参数搭配即可,它们并不多,如下:
ps -A #显示进程信息
ps -u root #显示root进程用户信息
ps aux # 查看系统所有的进程数据  
ps ax # 查看不与终端(terminal)有关的所有进程  
ps -lA # 查看系统所有的进程数据  
ps axjf # 查看连同一部分进程树状态 
ps –ef # 显示所有信息,连同命令行 
ps -ef | grep 进程关键字 #查找指定进程格式:列子:# ps -ef | grep php  #显示 php 的进程


ps aux命令输出结果解释:

USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND

在这里插入图片描述

  • USER: 行程拥有者

  • PID: pid

  • %CPU: 占用的 CPU 使用率

  • %MEM: 占用的记忆体使用率

  • VSZ:占用的虚拟记忆体大小

  • RSS: 占用的记忆体大小

  • TTY: 终端的次要装置号码 (minor device number of tty)

  • STAT: 该行程的状态:

     	 - D: 无法中断的休眠状态 (通常 IO 的进程) 
     	 - R: 正在执行中 
     	 - S: 静止状态 
     	 - T: 暂停执行 
     	 - Z: 不存在但暂时无法消除 
     	 - W:没有足够的记忆体分页可分配 <: 高优先序的行程 
     	 - N: 低优先序的行程 
     	 - L: 有记忆体分页分配并锁在记忆体内 (实时系统或捱A I/O)
    
  • START: 行程开始时间

  • TIME: 执行的时间

  • COMMAND:所执行的指令

14、top-查看系统的整体运行情况

实时动态地查看系统的整体运行情况,是一个综合了多方信息监测系统性能和运行信息的实用工具。通过top命令所提供的互动式界面,用热键可以管理。它的常用参数如下:

  • -b:以批处理模式操作;
  • -c:显示完整的命令;
  • -i不显示闲置(idle)或无用的进程。
  • -u <用户名>:仅显示指定用户名的进程信息;
  • -p <进程号>:仅显示指定进程ID的信息;
  • -n <次数>:指定 top 命令运行的次数后自动退出。
  • -S:累计显示进程的 CPU 使用时间。

top交互命令如下:

  • h:显示帮助画面,给出一些简短的命令总结说明;
  • k:终止一个进程;
  • i:忽略闲置和僵死进程,这是一个开关式命令;
  • q:退出程序;
  • r:重新安排一个进程的优先级别;
  • S:切换到累计模式;
  • s:改变两次刷新之间的延迟时间(单位为s),如果有小数,就换算成ms。输入0值则系统将不断刷新,默认值是5s;
  • f或者F:从当前显示中添加或者删除项目;
  • o或者O:改变显示项目的顺序;
  • l:切换显示平均负载和启动时间信息;
  • m:切换显示内存信息;
  • t:切换显示进程和CPU状态信息;
  • c:切换显示命令名称和完整命令行;
  • M:根据驻留内存大小进行排序;
  • P:根据CPU使用百分比大小进行排序;
  • T:根据时间/累计时间进行排序;
  • w:将当前设置写入~/.toprc文件中。

显示信息
top 命令的一些常用功能和显示信息:
在这里插入图片描述
总体系统信息:

  • uptime:系统的运行时间和平均负载。
  • tasks:当前运行的进程和线程数目。
  • CPU:总体 CPU 使用率和各个核心的使用情况。
  • 内存(Memory):总体内存使用情况、可用内存和缓存


进程信息:

  • PID:进程的标识符。
  • USER:运行进程的用户名。
  • PR(优先级):进程的优先级。
  • NI(Nice值):进程的优先级调整值。
  • VIRT(虚拟内存):进程使用的虚拟内存大小。
  • RES(常驻内存):进程实际使用的物理内存大小。
  • SHR(共享内存):进程共享的内存大小。
  • %CPU:进程占用 CPU 的使用率。
  • %MEM:进程占用内存的使用率。
  • TIME+:进程的累计 CPU 时间。
top  # 显示系统中进程的资源占用状况
top -c # 显示系统中进程的资源占用状况,并显示完整的命令
top -u xxx  # 查看xxx用户的进程的资源占用状况
top -b #以批处理模式显示程序信息  终端中按 Ctrl+C 来中断该命令
top -S #以累积模式显示程序信息
top -n 2 # 设置信息更新次数
top -d 3 #设置信息更新时间
top -p 139 #显示进程号为139的进程信息,CPU、内存占用率等


15、kill-根据进程ID杀死进程

kill 命令可以发送不同的信号给目标进程,来实现不同的操作,如果不指定信号,默认会发送 TERM 信号(15),即终止。若仍无法终止该程序,可使用 SIGKILL(9) 信息尝试强制删除程序。它通常与ps和jobs命令一起使用,它的基本语法如下:

kill [options] <PID>  

参数说明:

  • -l:列出所有可用的信号

最常用的信号是:

  • SIGKILL(信号9):立即结束进程,不能被捕获或忽略。
  • SIGTERM(信号15):正常结束进程,可以被捕获或忽略。
  • SIGSTOP(信号19):暂停进程,不能被捕获、忽略或结束。
  • SIGCONT(信号18):继续执行被暂停的进程。
  • SIGINT(信号2):通常是Ctrl+C产生的信号,可以被进程捕获或忽略。
kill PID #终止 PID 为 1234 的进程 如;kill 1234
kill -SIGTERM %1   # 以正常的结束进程方式来终于第一个后台工作,可用jobs命令查看后台中的第一个工作进程  
kill -SIGHUP PID # 重新改动进程ID为PID的进程,PID可用ps命令通过管道命令加上grep命令进行筛选获得  
kill -9 1112 # 强制杀死进程号为1112的进程
kill -s SIGSTOP 1234 #向 PID 为 1234 的进程发送 SIGSTOP
kill -l 显示信号

kill -9 $(ps -ef | grep hnlinux) #方法一 过滤出hnlinux用户进程 
kill -u hnlinux #方法二

kill -15 PID和kill -9 PID的区别:

	kill -9 PID 是操作系统从内核级别强制杀死一个进程。
	
	kill -15 PID 可以理解为操作系统发送一个通知告诉应用主动关闭。效果是正常退出进程,退出前可以被阻塞或回调处理。并且它是Linux缺省的程序中断信号。
	
	尽量使用kill -15 PID而不要使用kill -9 PID。
	
	kill -9 PID没有给进程留下善后的机会:
	
	关闭socket链接
	清理临时文件
	将自己将要被销毁的消息通知给子进程
	重置自己的终止状态
	一些磁盘操作多的程序更是不要使用kill -9 PID,会导致数据的丢失,如ES,kafka等

16、file-辨识文件类型

该命令用于辨识文件类型,因为在Linux下文件的类型并不是以后缀为分的,所以这个命令对我们来说就很有用了,它的用法非常简单,基本语法如下:

file filename 

查看test文件格式:

file ./test

18、free-显示内存的使用情况

显示内存的使用情况,包括实体内存,虚拟的交换文件内存,共享内存区段,以及系统核心使用的缓冲区等。
参数说明:

  • -b:以Byte为单位显示内存使用情况。
  • -k:以KB为单位显示内存使用情况。
  • -m :以MB为单位显示内存使用情况。
  • -g :以GB为单位显示内存使用情况。
  • -o :不显示缓冲区调节列。
  • -s <间隔秒数>:持续观察内存使用状况。
  • -t:显示内存总和列。
# 显示内存使用情况
free # 显示内存使用信息

# 以总和的形式显示内存的使用信息
free -gt # 以总和的形式查询内存的使用信息,以GB为单位

# 周期性的查询内存使用信息
free -g -s 10 # 每10s执行一次命令,以GB为单位


在这里插入图片描述

  • total: 表示总的内存或交换空间大小(以千字节为单位,KB)。在这个例子中,总内存是 1798504 KB,总交换空间是
    0 KB。
  • used: 表示已经被系统、进程等使用的内存或交换空间大小。在这个例子中,已使用的内存是557604 KB,而交换空间尚未被使用(0 KB)。
  • free: 表示未被使用,且也未被作为缓冲区/缓存的内存或交换空间大小。在这个例子中,空闲内存是70228 KB,空闲交换空间是0 KB。
  • shared: 在较新版本的 Linux 中,这个字段通常不显示,因为它代表多个进程共享的内存大小。在一些系统上,它可能显示与 tmpfs 挂载点相关的内存使用情况。
  • buff/cache: 表示被用作缓冲区和缓存的内存大小。Linux 系统会积极使用未分配的内存作为文件系统缓存,以提高性能。当需要更多内存给应用程序时,这部分内存可以被回收。
  • available: 表示估计的、对于启动新应用程序而言可用的内存大小。这是一个比简单的“free”内存更有用的指标,因为它考虑了可回收的缓冲区/缓存内存。在这个例子中,可用的内存是1052996 KB。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值