内存分析工具:简介 | arthas
一、基础命令类
命令 | 功能 | 常用参数 | 示例 |
---|---|---|---|
mkdir | 创建文件夹 | -v:显示目录创建过程 -p:递归创建多层级目录 | mkdir -v a mkdir -p a/b |
touch | 创建/修改文件 | --- | touch test.txt |
rm | 删除文件/文件夹 | -r:递归 -f:强制 | rm -rf test.txt |
ps | 查看进程信息 | -elf:显示进程的详细信息(PID) | ps -efl | grep java |
kill | 删除执行中的程序或工作 | -l:列出全部的信息名称 -1:重新加载进程 -9:杀死一个进程 -15:正常停止一个进程 | kill -9 (PID) |
cp | 拷贝文件/文件夹 | -a:拷贝文件属性 -f:强制覆盖目标路径下文件 -r:递归拷贝,常用来拷贝文件夹 -i:拷贝时若目标文件存在,则提示 | cp –r test/ newtest |
mv | 移动文件或对文件/目录重命名 | -f:目标位置存在同名文件时,强制覆盖 -n:不覆盖任何已存在的文件或目录 -b:当目标文件或目录存在时,在执行覆盖前,会为其创建一个备份 -i: 如果指定移动的源目录或文件与目标的目录或文件同名,则会先询问是否覆盖旧文件,输入 y 表示直接覆盖,输入 n 表示取消该操作。 | mv aaa bbb |
cd | 切换工作目录 | ..:回到上级目录 -:切换到上一次所在的目录 ~:切换到用户家目录 | |
chmod | 改变文件或目录权限 | -c:改变权限成功后再输出成功信息 -R:递归处理所有子文件 -v:显示执行过程详细信息 | chmod -R a+r file chmod 777 test.txt |
tar | 压缩和解压缩文件 | -c:创建新的压缩 -x:从压缩包提取文件 -z:使用gzip压缩格式 -j:使用bzip2压缩格式 -v:显示执行过程详细信息 -f:制定压缩包文件 -C: 解压缩到制定目录 -t:显示压缩包内容 -w:确认压缩包的完整性 | 使用gzip压缩格式对制定目录进行打包操作:tar czvf file.tar.gz /etc 解压制定压缩包到/etc目录: tar xvf file.tar -C /etc |
pwd | 查看当前所在路径 | --- | |
which | 查看命令所在位置 | --- | which mv |
ls | 显示指定工作目录下之内容 | -a:显示所有文件及目录 -d:只列出目录 -l:以长格式显示文件和目录信息,包括权限、所有者、大小、创建时间等 -t :将按照修改时间排序,最新的文件在最前面 -R:递归显示目录中的所有文件和子目录 ls -lh:可读的方式显示当前目录中的文件和目录大小 | ls -lh |
free | 显示内存状态 | -h:以Byte为单位显示内存使用情况 -k:以KB为单位显示内存使用情况 -m:以MB为单位显示内存使用情况 -h:以合适的单位显示内存使用情况,最大为三位数,自动计算对应的单位值 -o:不显示缓冲区调节列 | free -h |
du | 显示目录或文件的大小 | -s:仅显示指定目录或文件的总大小,而不显示其子目录的大小 -h:以K,M,G为单位,提高信息可读性 | du -sh |
df | 查看磁盘挂载信息 | -h:以方便人识别的形式输出 -T:查看文件系统类型 | |
find | 查找符合条件的文件 | -name pattern:按文件名查找,支持使用通配符 * 和 ? -type type:按文件类型查找,可以是 f(普通文件)、d(目录)、l(符号链接)等
| find . -name file.txt |
cat | 查看文件内容 | -n:输出文件内容并带行号 | |
tac | 将文件内容逆序(行)输出 | --- | |
tail | 输出后n行 | -n:输出后n行 -f:循环读取 | tail -f notes.log |
head | 输出前n行 | -n:输出后n行 -f:循环读取 | head -f notes.log |
top | 动态查看系统资源占用情况 | q:退出 | |
stat | 查看文件属性 | --- | stat test.txt |
file | 查看文件类型 | -- | |
iotop | 查看进程IO占用情况 | -p: 指定进程id查看 不带参数 展示所有进程IO情况 Ctrl +c退出 | |
iostat | 查看磁盘IO负载情况 | -k:显示状态以千字节每秒为单位,而不使用块每秒 -t:时间间隔 | |
wc | 用于计算字数 | -c或--bytes或--chars 只显示Bytes数 -l或--lines 显示行数 -w或--words 只显示字数 | wc test.txt |
sort | 排序 | -b:忽略每行前面开始出的空格字符 -c:检查文件是否已经按照顺序排序 -r:以相反的顺序来排序 -u:意味着是唯一的(unique),输出的结果是去完重了的 | sort test.txt |
uniq | 去重 | -c或--count 在每列旁边显示该行重复出现的次数 -d或--repeated 仅显示重复出现的行列 -u或--unique 仅显示出一次的行列 | |
diff | 比较文件内容 | -b或--ignore-space-change 不检查空格字符的不同 -B或--ignore-blank-lines 不检查空白行 -c 显示全部内文,并标出不同之处 | |
sync | 将内存中的文件内容写入磁盘 | --- | |
tee | 显示程序的输出并将其复制到一个文件中 | --- | |
wait | 等待后台进程执行完成 | --- | |
xargs | 读取标准输入和管道中的数据 | -i:使用{}为替换符 -I:指定替换符 |
二、特殊命令(grep)
命令 | 功能 | 命令 | 功能 |
-c | 只显示匹配的行数 | -E | 支持扩展正则表达式 |
-i | 忽略关键字大小写 | -F | 匹配固定字符串的内容 |
-n | 显示所有匹配行及行号 | -h | 搜索多文件时不显示文件名 |
-l | 只显示符合匹配条件的文件名 | -b | 显示匹配行距文件头部的偏移量 |
-r | 递归搜索模式 | -o | 显示匹配词距文件头部的偏移量 |
-w | 精准匹配整词 | -v | 显示不包含匹配文本的所有行 |
-x | 精准匹配整行 |
# 搜索指定文件中以某个关键词开头的内容行
grep root /etc/passwd
# 搜索多个文件中包含某个关键词的内容行
grep linuxprobe /etc/passwd /etc/shadow
# 显示指定文件中包含某个关键词的行数量
grep -c root /etc/passwd /etc/shadow
# 搜索指定文件中包含某个关键词位置的行号及内容行
grep -n network anaconda-ks.cfg
# 搜索指定文件中不包含某个关键词的内容行
grep -v nologin /etc/passwd