运维人员常用的 Linux 命令汇总

作为运维人员,这些常用命令不得不会,掌握这些命令,工作上会事半功倍,提供工作效率。

一.文件和目录

1. cd命令,用于切换当前目录,它的参数是要切换到的目录的路径,可以是绝对路径,也可以是相对路径

cd /home 进入 '/ home' 目录cd .. 返回上一级目录 cd ../.. 返回上两级目录 cd 进入个人的主目录 cd ~user1 进入个人的主目录 cd - 返回上次所在的目录

2. pwd命令,显示工作路径

[root@mailvip ~]# pwd/root

3. ls命令,查看文件与目录的命令,list之意

ls 查看目录中的文件 ls -l 显示文件和目录的详细资料 ls -a 列出全部文件,包含隐藏文件ls -R 连同子目录的内容一起列出(递归列出),等于该目录下的所有文件都会显示出来 ls [0-9] 显示包含数字的文件名和目录名

4. cp命令,用于复制文件,copy之意,它还可以把多个文件一次性地复制到一个目录下

-a :将文件的特性一起复制-p :连同文件的属性一起复制,而非使用默认方式,与-a相似,常用于备份-i :若目标文件已经存在时,在覆盖时会先询问操作的进行-r :递归持续复制,用于目录的复制行为 //经常使用递归复制-u :目标文件与源文件有差异时才会复制

5. mv命令,用于移动文件、目录或更名,move之意

-f :force强制的意思,如果目标文件已经存在,不会询问而直接覆盖-i :若目标文件已经存在,就会询问是否覆盖-u :若目标文件已经存在,且比目标文件新,才会更新

6. rm命令,用于删除文件或目录,remove之意

-f :就是force的意思,忽略不存在的文件,不会出现警告消息-i :互动模式,在删除前会询问用户是否操作-r :递归删除,最常用于目录删除,它是一个非常危险的参数

二、查看文件内容

7. cat命令,用于查看文本文件的内容,后接要查看的文件名,通常可用管道与more和less一起使用

cat file1 从第一个字节开始正向查看文件的内容 tac file1 从最后一行开始反向查看一个文件的内容 cat -n file1 标示文件的行数 more file1 查看一个长文件的内容 head -n 2 file1 查看一个文件的前两行 tail -n 2 file1 查看一个文件的最后两行 tail -n +1000 file1 从1000行开始显示,显示1000行以后的cat filename | head -n 3000 | tail -n +1000 显示1000行到3000行cat filename | tail -n +3000 | head -n 1000 从第3000行开始,显示1000(即显示3000~3999行)

三.文件搜索

8. find命令,用来查找系统的

find / -name file1 从 '/' 开始进入根文件系统搜索文件和目录 find / -user user1 搜索属于用户 'user1' 的文件和目录 find /usr/bin -type f -atime +100 搜索在过去100天内未被使用过的执行文件 find /usr/bin -type f -mtime -10 搜索在10天内被创建或者修改过的文件 whereis halt 显示一个二进制文件、源码或man的位置 which halt 显示一个二进制文件或可执行文件的完整路径删除大于50M的文件:find /var/mail/ -size +50M -exec rm {} \;

四.文件的权限 - 使用 '+' 设置权限,使用 '-' 用于取消

9. chmod命令,改变文件/文件夹权限

ls -lh 显示权限 chmod ugo+rwx directory1 设置目录的所有人(u)、群组(g)以及其他人(o)以读(r,4 )、写(w,2)和执行(x,1)的权限 chmod go-rwx directory1 删除群组(g)与其他人(o)对目录的读写执行权限

10. chown命令,改变文件的所有者

chown user1 file1 改变一个文件的所有人属性 chown -R user1 directory1 改变一个目录的所有人属性并同时改变改目录下所有文件的属性 chown user1:group1 file1 改变一个文件的所有人和群组属性

11.chgrp命令,改变文件所属用户组

chgrp group1 file1 改变文件的群组

五.文本处理

12. grep命令,分析一行的信息,若当中有我们所需要的信息,就将该行显示出来,该命令通常与管道命令一起使用,用于对一些命令的输出进行筛选加工等等

grep Aug /var/log/messages  在文件 '/var/log/messages'中查找关键词'Aug' grep ^Aug /var/log/messages 在文件 '/var/log/messages'中查找以'Aug'开始的词汇 grep [0-9]  /var/log/messages 选择 '/var/log/messages' 文件中所有包含数字的行 grep Aug -R /var/log/* 在目录 '/var/log' 及随后的目录中搜索字符串'Aug' sed 's/stringa1/stringa2/g' example.txt 将example.txt文件中的 'string1' 替换成 'string2' sed '/^$/d' example.txt 从example.txt文件中删除所有空白行

13. paste命令

paste file1 file2 合并两个文件或两栏的内容 paste -d '+' file1 file2 合并两个文件或两栏的内容,中间用'+'区分

14. sort命令

sort file1 file2 排序两个文件的内容 sort file1 file2 | uniq 取出两个文件的并集(重复的行只保留一份) sort file1 file2 | uniq -u 删除交集,留下其他的行 sort file1 file2 | uniq -d 取出两个文件的交集(只留下同时存在于两个文件中的文件)

15. comm命令

comm -1 file1 file2 比较两个文件的内容只删除 'file1' 所包含的内容 comm -2 file1 file2 比较两个文件的内容只删除 'file2' 所包含的内容 comm -3 file1 file2 比较两个文件的内容只删除两个文件共有的部分

六、打包和压缩文件

16. tar命令,对文件进行打包,默认情况并不会压缩,如果指定了相应的参数,它还会调用相应的压缩程序(如gzip和bzip等)进行压缩和解压

-c :新建打包文件-t :查看打包文件的内容含有哪些文件名-x :解打包或解压缩的功能,可以搭配-C(大写)指定解压的目录,注意-c,-t,-x不能同时出现在同一条命令中-j :通过bzip2的支持进行压缩/解压缩-z :通过gzip的支持进行压缩/解压缩-v :在压缩/解压缩过程中,将正在处理的文件名显示出来-f filename :filename为要处理的文件-C dir :指定压缩/解压缩的目录dir压缩:tar -jcv -f filename.tar.bz2 要被处理的文件或目录名称查询:tar -jtv -f filename.tar.bz2解压:tar -jxv -f filename.tar.bz2 -C 欲解压缩的目录
bunzip2 file1.bz2 解压一个叫做 'file1.bz2'的文件 bzip2 file1 压缩一个叫做 'file1' 的文件 gunzip file1.gz 解压一个叫做 'file1.gz'的文件 gzip file1 压缩一个叫做 'file1'的文件 gzip -9 file1 最大程度压缩 rar a file1.rar test_file 创建一个叫做 'file1.rar' 的包 rar a file1.rar file1 file2 dir1 同时压缩 'file1', 'file2' 以及目录 'dir1' rar x file1.rar 解压rar包zip file1.zip file1 创建一个zip格式的压缩包 unzip file1.zip 解压一个zip格式压缩包 zip -r file1.zip file1 file2 dir1 将几个文件和目录同时压缩成一个zip格式的压缩包

七.系统和关机(关机、重启和登出)

shutdown -h now 关闭系统(1) init 0 关闭系统(2) telinit 0 关闭系统(3) shutdown -h hours:minutes & 按预定时间关闭系统 shutdown -c 取消按预定时间关闭系统 shutdown -r now 重启(1) reboot 重启(2) logout 注销 time 测算一个命令(即程序)的执行时间 

八、进程相关的命令

17. jps命令,显示当前系统的java进程情况,及其id号

jps(Java Virtual Machine Process Status Tool)是JDK 1.5提供的一个显示当前所有java进程pid的命令,简单实用,非常适合在linux/unix平台上简单察看当前java进程的一些简单情况。

18. ps命令,用于将某个时间点的进程运行情况选取下来并输出,process之意

-A :所有的进程均显示出来-a :不与terminal有关的所有进程-u :有效用户的相关进程-x :一般与a参数一起使用,可列出较完整的信息-l :较长,较详细地将PID的信息列出
ps aux # 查看系统所有的进程数据ps ax # 查看不与terminal有关的所有进程ps -lA # 查看系统所有的进程数据ps axjf # 查看连同一部分进程树状态

19. kill命令,用于向某个工作(%jobnumber)或者是某个PID(数字)传送一个信号,它通常与ps和jobs命令一起使用

命令格式 : kill[命令参数][进程id]
命令参数:-l  信号,若果不加信号的编号参数,则使用“-l”参数会列出全部的信号名称-a  当处理当前进程时,不限制命令名和进程号的对应关系-p  指定kill 命令只打印相关进程的进程号,而不发送任何信号-s  指定发送信号-u  指定用户
实例1:列出所有信号名称命令:kill -l输出:[root@localhost test6]# kill -l 1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP 6) SIGABRT 7) SIGBUS 8) SIGFPE 9) SIGKILL 10) SIGUSR1 11) SIGSEGV 12) SIGUSR213) SIGPIPE 14) SIGALRM 15) SIGTERM 16) SIGSTKFLT17) SIGCHLD 18) SIGCONT 19) SIGSTOP 20) SIGTSTP21) SIGTTIN 22) SIGTTOU 23) SIGURG 24) SIGXCPU25) SIGXFSZ 26) SIGVTALRM 27) SIGPROF 28) SIGWINCH29) SIGIO 30) SIGPWR 31) SIGSYS 34) SIGRTMIN35) SIGRTMIN+1 36) SIGRTMIN+2 37) SIGRTMIN+3 38) SIGRTMIN+439) SIGRTMIN+5 40) SIGRTMIN+6 41) SIGRTMIN+7 42) SIGRTMIN+843) SIGRTMIN+9 44) SIGRTMIN+10 45) SIGRTMIN+11 46) SIGRTMIN+1247) SIGRTMIN+13 48) SIGRTMIN+14 49) SIGRTMIN+15 50) SIGRTMAX-1451) SIGRTMAX-13 52) SIGRTMAX-12 53) SIGRTMAX-11 54) SIGRTMAX-1055) SIGRTMAX-9 56) SIGRTMAX-8 57) SIGRTMAX-7 58) SIGRTMAX-659) SIGRTMAX-5 60) SIGRTMAX-4 61) SIGRTMAX-3 62) SIGRTMAX-263) SIGRTMAX-1 64) SIGRTMAX说明:只有第9种信号(SIGKILL)才可以无条件终止进程,其他信号进程都有权利忽略。 下面是常用的信号:HUP 1 终端断线INT 2 中断(同 Ctrl + C)QUIT 3 退出(同 Ctrl + \)TERM 15 终止KILL 9 强制终止CONT 18 继续(与STOP相反, fg/bg命令)STOP 19 暂停(同 Ctrl + Z)实例2:得到指定信号的数值[root@localhost test6]# kill -l KILL[root@localhost test6]# kill -l SIGKILL[root@localhost test6]# kill -l TERM[root@localhost test6]# kill -l SIGTERM[root@localhost test6]#实例3:先用ps查找进程,然后用kill杀掉命令:kill 3268[root@localhost test6]# ps -ef|grep vim root 3268 2884 0 16:21 pts/1 00:00:00 vim install.logroot 3370 2822 0 16:21 pts/0 00:00:00 grep vim[root@localhost test6]# kill 3268 实例4:彻底杀死进程命令:kill –9 3268 // -9 强制杀掉进程

20. killall命令,向一个命令启动的进程发送一个信号,用于杀死指定名字的进程

命令格式 : killall[命令参数][进程名]
命令参数:-Z 只杀死拥有scontext 的进程-e 要求匹配进程名称-I 忽略小写-g 杀死进程组而不是进程-i 交互模式,杀死进程前先询问用户-l 列出所有的已知信号名称-q 不输出警告信息-s 发送指定的信号-v 报告信号是否成功发送-w 等待进程死亡--help 显示帮助信息--version 显示版本显示
示例1:杀死所有同名进程    killall nginx    killall -9 bash2.向进程发送指定信号    killall -TERM ngixn  或者  killall -KILL nginx

21. top命令,是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。

如何杀死进程:(1)图形化界面的方式(2)kill -9 pid (-9表示强制关闭)(3)killall -9 程序的名字(4)pkill 程序的名字查看进程端口号:netstat -tunlp|grep 端口号
(0)

相关推荐

  • 【日更计划061】数字IC基础题

    上期答案 [119] 编写UNIX/Linux命令完成以下任务,假设文件名为file.txt 显示文件的前10行 显示文件的第10行 从文件中删除第13行 从文件中删除最后一行 反转字符串(例如:&q ...

  • 必须掌握的50条Linux基础操作命令

    说明: 根据笔者平时使用情况,并结合参考一些其他资料,精心整理出以下必须掌握的50条Linux基础命令. 命令: 1. ssh 登录到远程主机 $ ssh -l jsmith remotehost.e ...

  • 关于面试总结7-linux经典面试题

    前言 现在做测试的出去面试,都会被问到linux,不会几个linux指令都不好意思说自己是做测试的了,本篇收集了几个被问的频率较高的linux面试题 常用指令 1.说出10个linux常用的指令 ls ...

  • (4条消息) Linux 基础操作、常用shell命令、vi常用命令、man帮助手册

    一.简述 记录简单的Linux 基础操作.常用shell命令.vi编辑器常用命令.man帮助手册的使用. 二.Linux 基础操作 1.按 Ctrl+Alt+t 快捷键或者双击桌面的"Ter ...

  • 运维工作中,Linux用户信息查询命令有哪些

    Linux运维工作中常用的Linux命令很多,用户信息查询命令有哪些?互联网时代发展迅速,Linux运维技术的需求更多推进不少.掌握Linux运维知识是混迹it行业的技能之一.对于运维学习Linux命 ...

  • 请收藏,Linux 运维必备的 40 个命令总结,收好了~

    来自:51CTO博客,作者:AIOPS_DBA 链接:https://blog.51cto.com/wangwei007/1100991 1.删除0字节文件 find -type f -size 0 ...

  • Linux 中最常用 150 个命令汇总

    人工智能算法与Python大数据 致力于提供深度学习.机器学习.人工智能干货文章,为AI人员提供学习路线以及前沿资讯 23篇原创内容 公众号 点上方人工智能算法与Python大数据获取更多干货 在右上 ...

  • Linux运维人员的工作职责是什么?

    运维人员的基本工作原则:简单.易用.高效.稳定.安全.作为Linux运维工程师,运维人员的工作职责是什么?1.企业数据安全企业数据是现代各个IT企业的生命线,作为Linux运维人员,不但不能丢失任何数 ...

  • Linux运维人员的职业发展方向是怎样的?

    运维人员的职业发展方向是怎样的?不同职业发展阶段的运维都负责什么工作呢?互联网技术的飞速发展推动了Linux技术的前行.吸引了众多的企业及个人投资和学习Linux技术.越来越多的人正在学Linux运维 ...

  • 这些最常用的Linux命令,每一条都应该会,没有借口!

    linux命令是对Linux系统进行管理的命令.对于Linux系统来说,无论是中央处理器.内存.磁盘驱动器.键盘.鼠标,还是用户等都是文件,Linux系统管理的命令是它正常运行的核心. 线上查询及帮助 ...

  • 【竺】性能测试笔记15——常用的Linux命令

    top 用来监控linux的系统状况,是常用的性能分析工具,能够实时显示系统中各个进程的资源占用情况. vmstat 用于显示虚拟内存.内核线程.磁盘.系统进程.I/O 块.中断.CPU 活动 等的统 ...

  • 自学Linux运维该怎么学习Linux运维技术??

    目前Linux运维学习辅导班不再少数,有的侧重线上,有的侧重线下.无论选择哪种学习方式,学校整体质量都是至关重要的.Linux运维的教学质量和服务决定了学员学习效果和就业.所以在选择学习的时候,一定要 ...

  • linux云计算运维发展如何?linux运维工程师学习

    随着网络信息化的快速发展,Linux运维行业近年来发展非常迅速.越来越多的企业选择使用Linux系统,市场对Linux运维人才的需求越来越大.很多人看好Linux云计算运维的发展前景,也开始加入Lin ...