常用 Linux shell & vim 命令

简介: 常用 Linux shell & vim 命令

以下是我在工作中常用的 Linux shell 命令,记下来,后续会不断补充。

  • 查看正在执行的进程
ps -u username
  • 查询指定的进程ID(27380)打开的文件
lsof -p 27380
  • 杀死指定PID的进程 (PID为Process ID)
kill PID
  • 计算文件的行数、字数或字符数
wc 
  • 显示进程信息,并实时更新
top
  • 调用top命令的“-H”选项,该选项会列出所有Linux线程
top -H
  • 查看用户username的进程所打开的文件
lsof -u username
  • 在ps命令中,“-T”选项可以开启线程查看。下面的命令列出了由进程号为的进程创建的所有线程
nohup ps -T -p <pid> &
  • 比较两个文件
diff file1 file2 -y -W 130
  • 后台执行,通过在shell中输入exit来退出终端
nohup 命令 &
  • 查看正在执行的任务
jobs
  • 多线程执行
--num-thread 2 
  • 查看进程和线程的树形结构关系
pstree
  • ps命令-L参数显示进程,并尽量显示其LWP(线程ID)和NLWP(线程的个数)。
ps -eLf | grep PID
  • ps命令还可以查看线程在哪个CPU上运行
ps -eo ruser,pid,ppid,lwp,psr,args -L | grep PID
ps -a
ps aux | grep PID
  • 取出文件前面几行
head [参数]...[文件]...
-c, --bytes=[-]K 输出文件的前K个字节;如果有-参数,输出文件的所有内容但不包含最后K个字节。
-n, --lines=[-]K 输出文件的前K行,默认输出前10行;如果有-参数,则输出所有内容但不包括最后K行。
-q, --quiet, --slient 从不输出给出文件名的首部
  • 动态查看文件变化
tail [必要参数][选择参数][文件]
-f --follow 表示持续监测后面所接的文档名,直到按下`ctrl c`才会结束tail的监测
-v --verbase 输出给出文件名的首部
-c,--byte=K 输出最后的K个字节数的内容;或使用-c +k输出每一行的K个字节数的内容
-n,--line=K 输出最后的K行,默认输出10行.或使用-n +K 输出从第K行开始的内容
--pid=PID 与-f合用,表示在进程ID-PID结束之后也结束
-q --quiet --slient 从不输出给出文件名的首部
  • 退出tail -f
ctrl+c
  • tail程序放到后台去(ctrl+z)等处理完其他事情,再用fg命令将tail命令转到前台来
ctrl+z 
  • 查看文件夹和子目录的大小
du -h --max-depth=1 Speech/
  • 设置定时任务
1.命令格式:
crontab [-u user] file
crontab [-u user] [ -e | -l | -r ]
2.命令功能:
通过crontab 命令,我们可以在固定的间隔时间执行指定的系统指令或 shell script脚本。时间间隔的单位可以是分钟、小时、日、月、周及以上的任意组合。这个命令非常设合周期性的日志分析或数据备份等工作。
3.命令参数:
-u user:用来设定某个用户的crontab服务,例如,“-u ixdba”表示设定ixdba用户的crontab服务,此参数一般有root用户来运行。
file:file是命令文件的名字,表示将file做为crontab的任务列表文件并载入crontab。如果在命令行中没有指定这个文件,crontab命令将接受标准输入(键盘)上键入的命令,并将它们载入crontab。
-e:编辑某个用户的crontab文件内容。如果不指定用户,则表示编辑当前用户的crontab文件。
-l:显示某个用户的crontab文件内容,如果不指定用户,则表示显示当前用户的crontab文件内容。
-r:从/var/spool/cron目录中删除某个用户的crontab文件,如果不指定用户,则默认删除当前用户的crontab文件。
-i:在删除用户的crontab文件时给确认提示。
4. crontab任务设置好后,应该是即时启动,如果没有启动,请检查任务涉及到的文件权限。
  • 查看Linux系统配置
cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c
  • vim 每行行首或行行尾插入
每行的行首都添加一个字符串:%s/^/要插入的字符串
每行的行尾都添加一个字符串:%s/$/要插入的字符串
  • vim 每行开头去除字符
去除每行开头的两个字符:%s/^..//
解释:
% 代表针对被编辑文件的每一行进行后续操作
$ 代表一行的结尾处
^ 代表一行的开头处
  • 查看二进制文件
hexdump -C file_name
目录
相关文章
|
13天前
|
运维 安全 Linux
Linux中传输文件文件夹的10个scp命令
【10月更文挑战第18天】本文详细介绍了10种利用scp命令在Linux系统中进行文件传输的方法,涵盖基础文件传输、使用密钥认证、复制整个目录、从远程主机复制文件、同时传输多个文件和目录、保持文件权限、跨多台远程主机传输、指定端口及显示传输进度等场景,旨在帮助用户在不同情况下高效安全地完成文件传输任务。
108 5
|
13天前
|
Linux
Linux系统之expr命令的基本使用
【10月更文挑战第18天】Linux系统之expr命令的基本使用
49 4
|
3天前
|
Linux Shell 数据安全/隐私保护
|
4天前
|
域名解析 网络协议 安全
|
11天前
|
监控 Linux Shell
|
10天前
|
运维 监控 网络协议
|
14天前
|
Unix Linux
Linux | Rsync 命令:16 个实际示例(下)
Linux | Rsync 命令:16 个实际示例(下)
27 3
Linux | Rsync 命令:16 个实际示例(下)
|
17天前
|
安全 Linux
Linux系统之lsof命令的基本使用
【10月更文挑战第14天】Linux系统之lsof命令的基本使用
71 2
Linux系统之lsof命令的基本使用
|
2天前
|
Linux 开发工具
linux文本管理命令
本文档介绍了Linux系统中常用的文本处理命令,包括`echo`、`cat`、`head`、`tail`、`wc`、`less`、`grep`以及重定向符号的使用方法和练习题。此外,还详细讲解了VIM编辑器的特点、工作模式、常用快捷键和高级技巧,帮助用户高效地进行文本编辑和处理。
17 4
|
7天前
|
运维 监控 Shell
深入理解Linux系统下的Shell脚本编程
【10月更文挑战第24天】本文将深入浅出地介绍Linux系统中Shell脚本的基础知识和实用技巧,帮助读者从零开始学习编写Shell脚本。通过本文的学习,你将能够掌握Shell脚本的基本语法、变量使用、流程控制以及函数定义等核心概念,并学会如何将这些知识应用于实际问题解决中。文章还将展示几个实用的Shell脚本例子,以加深对知识点的理解和应用。无论你是运维人员还是软件开发者,这篇文章都将为你提供强大的Linux自动化工具。