ltrace

这些最常用的Linux命令,每一条都应该学会!

醉酒当歌 提交于 2021-01-05 01:17:38
linux命令是对Linux系统进行管理的命令。对于Linux系统来说,无论是中央处理器、内存、磁盘驱动器、键盘、鼠标,还是用户等都是文件,Linux系统管理的命令是它正常运行的核心。 线上查询及帮助命令(2个) man:查看命令帮助,命令的词典,更复杂的还有info,但不常用。 help:查看Linux内置命令的帮助,比如cd命令。 文件和目录操作命令(18个) ls:全拼list,功能是列出目录的内容及其内容属性信息。 cd:全拼change directory,功能是从当前工作目录切换到指定的工作目录。 cp:全拼copy,其功能为复制文件或目录。 find:查找的意思,用于查找目录及目录下的文件。 mkdir:全拼make directories,其功能是创建目录。 mv:全拼move,其功能是移动或重命名文件。 pwd:全拼print working directory,其功能是显示当前工作目录的绝对路径。 rename:用于重命名文件。 rm:全拼remove,其功能是删除一个或多个文件或目录。 rmdir:全拼remove empty directories,功能是删除空目录。 touch:创建新的空文件,改变已有文件的时间戳属性。 tree:功能是以树形结构显示目录下的内容。 basename:显示文件名或目录名。 dirname:显示文件或目录路径。 chattr

收集一些非常实用的Linux命令

家住魔仙堡 提交于 2021-01-02 03:14:42
linux命令是对Linux系统进行管理的命令。对于Linux系统来说,无论是中央处理器、内存、磁盘驱动器、键盘、鼠标,还是用户等都是文件,Linux系统管理的命令是它正常运行的核心。 线上查询及帮助命令(2个) man:查看命令帮助,命令的词典,更复杂的还有info,但不常用。 help:查看Linux内置命令的帮助,比如cd命令。 文件和目录操作命令(18个) ls:全拼list,功能是列出目录的内容及其内容属性信息。 cd:全拼change directory,功能是从当前工作目录切换到指定的工作目录。 cp:全拼copy,其功能为复制文件或目录。 find:查找的意思,用于查找目录及目录下的文件。 mkdir:全拼make directories,其功能是创建目录。 mv:全拼move,其功能是移动或重命名文件。 pwd:全拼print working directory,其功能是显示当前工作目录的绝对路径。 rename:用于重命名文件。 rm:全拼remove,其功能是删除一个或多个文件或目录。 rmdir:全拼remove empty directories,功能是删除空目录。 touch:创建新的空文件,改变已有文件的时间戳属性。 tree:功能是以树形结构显示目录下的内容。 basename:显示文件名或目录名。 dirname:显示文件或目录路径。 chattr

查漏补缺:166个最常用的Linux命令,哪些你还不知道?

狂风中的少年 提交于 2020-11-07 19:33:07
作为一个程序员,恐怕从你刚踏入工作岗位之后,服务器这个东西就和你形影不离,这也就导致你从此就开始和Linux相依为伴。 linux命令是对Linux系统进行管理得命令。对于Linux系统来说,无论是中央处理器、内存、磁盘驱动器、键盘、鼠标,还是用户等都是文件,Linux系统管理的命令是它正常运行的核心。 ps:吹个牛逼,有的朋友会跟我说,图形化界面用着多舒服啊,和windows一样多方便,但是我从开始接触Linux就一直只是用命令行操作,说实话,抛开mini版本和DVD版本对pc端内存占用情况不说,单纯的命令行也加深了我对于文件系统的不少认知,并且操作命令总感觉有一种大神的感觉,不需要鼠标,直接手指在键盘上飞舞,多帅气,就是时间长了会很累 另外,给大家说一个我一直坚持的习惯,整理思维导图,就像Linux命令,我在学习的时候觉得自己学的挺不错的,但是后来工作了,发现好多东西都忘了,在重新学习之后,我就整理了一套思维导图,虽然挺费劲的,并且后期很多知识点都烂熟于心了,但是,当真的有事情的时候,这样一张思维导图会帮你解决不少问题 好了,话归整体,对于常用Linux命令,我们来看看吧,有不足的,欢迎大家评论区讨论 个人公众号:Java架构师联盟,每日更新技术好文 线上查询及帮助命令(2个) man:查看命令帮助,命令的词典,更复杂的还有info,但不常用。 help

Linux最常用150个命令汇总

余生长醉 提交于 2020-10-26 04:11:46
Linux最常用150个命令汇总 命令 功能说明 线上查询及帮助命令(2个) man 查看命令帮助,命令的词典,更复杂的还有info,但不常用。 help 查看Linux内置命令的帮助,比如cd命令。 文件和目录操作命令(18个) ls 全拼list,功能是列出目录的内容及其内容属性信息。 cd 全拼change directory,功能是从当前工作目录切换到指定的工作目录。 cp 全拼copy,其功能为复制文件或目录。 find 查找的意思,用于查找目录及目录下的文件。 mkdir 全拼make directories,其功能是创建目录。 mv 全拼move,其功能是移动或重命名文件。 pwd 全拼print working directory,其功能是显示当前工作目录的绝对路径。 rename 用于重命名文件。 rm 全拼remove,其功能是删除一个或多个文件或目录。 rmdir 全拼remove empty directories,功能是删除空目录。 touch 创建新的空文件,改变已有文件的时间戳属性。 tree 功能是以树形结构显示目录下的内容。 basename 显示文件名或目录名。 dirname 显示文件或目录路径。 chattr 改变文件的扩展属性。 lsattr 查看文件扩展属性。 file 显示文件的类型。 md5sum 计算和校验文件的MD5值。

Linux下分析bin文件的10种方法

你离开我真会死。 提交于 2020-10-03 12:26:36
这世界有10种人,一种人懂二进制,另一种人不懂二进制。 ——鲁迅 大家好,我是良许。 二进制文件是我们几乎每天都需要打交道的文件类型,但很少人知道他们的工作原理。这里所讲的二进制文件,是指一些可执行文件,包括你天天要使用的 Linux 命令,也是二进制文件的一种。 Linux 系统给我们提供了非常多用于分析二进制文件的工具,不管你在 Linux 下从事的是何种工作,知道这些工具也会让你对你的系统更加了解。 在本文中,将介绍几种最常用的用于分析二进制文件的工具及命令,这些工具在大部分发行版里可以直接使用,如果不能直接用的话,可以自行安装。 file file 命令用于分析文件的类型。 如果你需要分析二进制文件,可以首先使用 file 命令来切入。我们知道,在 Linux 下, 一切皆文件 ,但并不是所有的文件都具有可执行性,我们还有各种各样的文件,比如:文本文件,管道文件,链接文件,socket文件,等等。 在对一个文件进行分析之前,我们可以首先使用 file 命令来分析它们的类型。当然除此之外,我们还可以看到一些其它信息。 $ file /bin/pwd /bin/pwd: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux

Strace诊断CPU跑高问题

半城伤御伤魂 提交于 2020-08-09 11:32:10
手把手教你用Strace诊断问题 发表于 2015-10-16 早些年,如果你知道有个 strace 命令,就很牛了,而现在大家基本都知道 strace 了,如果你遇到性能问题求助别人,十有八九会建议你用 strace 挂上去看看,不过当你挂上去了,看着满屏翻滚的字符,却十有八九看不出个所以然。本文通过一个简单的案例,向你展示一下在用 strace 诊断问题时的一些套路。 如下真实案例,如有雷同,实属必然!让我们看一台高负载服务器的 top 结果: top 技巧:运行 top 时,按「1」打开 CPU 列表,按「shift+p」以 CPU 排序。 在本例中大家很容易发现 CPU 主要是被若干个 PHP 进程占用了,同时 PHP 进程占用的比较多的内存,不过系统内存尚有结余,SWAP 也不严重,这并不是问题主因。 不过在 CPU 列表中能看到 CPU 主要消耗在内核态「sy」,而不是用户态「us」,和我们的经验不符。Linux 操作系统有很多用来跟踪程序行为的工具,内核态的函数调用跟踪用「strace」,用户态的函数调用跟踪用「ltrace」,所以这里我们应该用「strace」: shell> strace -p <PID> 不过如果直接用 strace 跟踪某个进程的话,那么等待你的往往是满屏翻滚的字符,想从这里看出问题的症结并不是一件容易的事情,好在 strace

Linux下分析bin文件的10种方法

送分小仙女□ 提交于 2020-08-04 20:20:32
这世界有10种人,一种人懂二进制,另一种人不懂二进制。 ——鲁迅 大家好,我是良许。 二进制文件是我们几乎每天都需要打交道的文件类型,但很少人知道他们的工作原理。这里所讲的二进制文件,是指一些可执行文件,包括你天天要使用的 Linux 命令,也是二进制文件的一种。 Linux 系统给我们提供了非常多用于分析二进制文件的工具,不管你在 Linux 下从事的是何种工作,知道这些工具也会让你对你的系统更加了解。 在本文中,将介绍几种最常用的用于分析二进制文件的工具及命令,这些工具在大部分发行版里可以直接使用,如果不能直接用的话,可以自行安装。 file file 命令用于分析文件的类型。 如果你需要分析二进制文件,可以首先使用 file 命令来切入。我们知道,在 Linux 下, 一切皆文件 ,但并不是所有的文件都具有可执行性,我们还有各种各样的文件,比如:文本文件,管道文件,链接文件,socket文件,等等。 在对一个文件进行分析之前,我们可以首先使用 file 命令来分析它们的类型。当然除此之外,我们还可以看到一些其它信息。 $ file /bin/pwd /bin/pwd: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux

进程监控类命令

喜欢而已 提交于 2020-07-24 09:15:50
进程监控类命令 本篇全是命令介绍 , 笔者把各个命令的都实验一遍 , 给同学们看看 . 一. PSTREE 命令 pstree - display a tree of processes 选项 :   -p 显示进程的 PID   -T 隐藏线程信息   -u 显示切换过程   -H PID 高亮显示指定 PID 进程的父进程 示例 : 二. PS 命令 ps - report a snapshot of the current processes. 选项 : PS 有三种风格的选项写法 :   BSD 风格写法 ps aux   UNIX 风格写法 ps -ef   GNU 风格写法 ps --pid PID BSD 风格选项 :   a 显示所有与终端有关的进程   x 显示所有与终端无关的进程   u 显示进程所有者相关的信息   f 命令列把相关的进程显示成进程树   k 对属性进行排序 , 属性前加上 - 表示倒序   o 选择显示的字段 pid cmd psr ni(nice) pri rtprio tid class %cpu %mem user ruser euser 等等   euser 表示显示有效用户字段   ruser 表示显示真是用户字段   psr 表示显示 CPU 与进程的绑定关系   pcpu CPU 的利用率   ppid 父进程的 PID  

shell脚本之十:while循环及应用实践

妖精的绣舞 提交于 2020-04-30 10:11:55
十、while循环及应用实践 (一)while循环语法 while 循环语法: while <条件表达式> do 指令 done (二)范例1: 每隔2s输出系统负载情况。 [root@centos6-kvm3 scripts]# cat 10-01.sh #!/bin/bash while true do uptime >>/tmp/oldboy.log sleep 2 done [root@centos6-kvm3 scripts]# 1、脚本执行的方法 用法 说明 sh while1.sh & 把脚本while1.sh放到后台执行(后台运行脚本时常用)* nohup while1.sh & 使用nohup 把脚本while.sh放到后台执行。 ctl+c 停止执行当前脚本或者任务 ctl+z 暂停执行当前脚本或者任务 bg 把当前脚本或者任务放到后台执行,bg可以理解为backround fg 把当前脚本或者任务拿到前台执行,如果有多个任务,可以使用fg加任务编号调出对应脚本任务,如fg 2,调出第二个脚本任务,fg可以理解为frontground jobs 查看当前执行的脚本或者任务 kill 关闭执行的脚本任务,即以“kill %任务编号”的形式关闭脚本,这个任务标号,可以通过jobs获得。 后台运行 & ,nohup,screen(运维人员) 常用命令: kill

How does ltrace() display rand()

纵然是瞬间 提交于 2020-01-03 04:40:12
问题 When ltrace hits a rand function, it shows it with 4 paramters, like this: rand(0, 0x5649bd4e6010, 0x7f0955490760, 0x7f09551cf7b0) = 0x17382962 rand doesn't take any arguments. What is ltrace showing here? Edited to add example: #include <stdio.h> #include <stdlib.h> #include <time.h> int main() { srand((unsigned int)time(NULL)); int r = (rand() % 4096); printf("The number is: %d\n", r); } Compile and run with ltrace: $ ltrace ./demo __libc_start_main(0x4005f6, 1, 0x7ffe1e719fa8, 0x400650