作为软件开发工程师,你不得不会的32个Linux命令(中)

简介: 做软件开发的朋友,相信大家或多或少都接触过Linux,知道Linux中的命令是非常多的,但是我们也不必因此而烦恼,因为我们只需要掌握常用的命令,就可以满足我们日常工作开发了。下面汇总了果冻做开发以来最常用的32个命令,分享给有需要的朋友。


15、chgrp-修改文件所属用户组

该命令用于改变文件所属用户组,它的使用非常简单,它的基本用法如下:

chgrp [-R] dirname/filename  
复制代码

参数说明如下:

  • -R :进行递归的持续对所有文件和子目录更改
# 递归地把dir目录下中的所有文件和子目录下所有文件的用户组修改为users  
chgrp users -R ./dir 
复制代码


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

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

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


17、sz/rz-文件上传下载

这是Linux/Unix同Windows进行ZModem文件传输的命令行工具。windows端需要支持ZModem的telnet/ssh客户端(比如SecureCRT、XShell)

sz:将选定的文件发送到本地机器

rz:运行该命令会弹出一个文件选择窗口,从本地选择文件上传到Linux服务器

# 安装
yum install lrzsz
# 从本地上传文件到服务器:
rz
# 从服务器下载一个文件到本地: 
sz filename 
# 从服务器下载多个文件到本地: 
sz filename1 filename2
### 下载dir目录下的所有文件,不包含dir下的文件夹: 
# sz dir/*
复制代码


18、yum-包安装卸载

Linux包管理器 ,解决依赖问题,方便快捷

yum install <package_name> -y  # 安装包
yum search <package_name> # 搜索包名
yum search all  # 查询所有
yum remove <package_name> -y  # 删除包(不建议用,yum可以解决依赖问题,删除会删除所有包依赖)
yum update # 安装所有软件到最新版本
复制代码


19、curl-与服务器之间传输数据

curl是一个非常实用的、用来与服务器之间传输数据的工具;支持的协议包括 (DICT, FILE, FTP, FTPS, GOPHER, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMTP, SMTPS, TELNET and TFTP),curl设计为无用户交互下完成工作;curl提供了一大堆非常有用的功能,包括代理访问、用户认证、ftp上传下载、HTTP POST、SSL连接、cookie支持、断点续传等。

# 下载页面
curl -o index.html http://aiezu.com
# 下载并显示进度条
curl -# -o centos6.8.iso http://mirrors.aliyun.com/centos/6.8/isos/x86_64/CentOS.iso
# 继续完成上次终止的未完成的下载
curl -# -o centos6.8.iso -C - http://mirrors.aliyun.com/centos/6.8/isos/x86_64/CentOS.iso
# 访问一个网页
curl https://www.baidu.com
# http请求,带上用户名和密码
curl -u xxx:xxx http://10.250.xxx.xxx:5400/xxx/health
# http post请求
curl http://xxx.xxx.xxx/shorturl -X POST -d '{"originalUrl":"xxx",
"expire":7776000,
"app":"xxx"
}' --header "Content-Type: application/json"
复制代码


20、wget-文件下载

一个下载文件的工具,,我们经常要下载一些软件或从远程服务器恢复备份到本地服务器。wget支持HTTP,HTTPS和FTP协议,可以使用HTTP代理。

# 使用wget下载单个文件
wget http://www.linuxde.net/testfile.zip
# 下载并以不同的文件名保存
wget -O wordpress.zip http://www.linuxde.net/download.aspx?id=1080
# 使用wget断点续传
wget -c http://www.linuxde.net/testfile.zip
# wget限速下载
wget --limit-rate=300k http://www.linuxde.net/testfile.zip
复制代码


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

该命令用于将某个时间点的进程运行情况选取下来并输出,它的常用参数如下:

  • -a : 显示除控制进程与无端进程外的所有进程
  • -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 aux # 查看系统所有的进程数据  
ps ax # 查看不与终端(terminal)有关的所有进程  
ps -lA # 查看系统所有的进程数据  
ps axjf # 查看连同一部分进程树状态 
ps –ef # 显示所有信息,连同命令行 
ps -ef | grep xxx # 过滤池包含xxx的行
复制代码


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

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

  • -b:以批处理模式操作;
  • -c:显示完整的命令;
  • -i <时间>:设置间隔时间;
  • -u <用户名>:指定用户名;
  • -p <进程号>:指定进程;
  • -n <次数>:循环显示的次数。

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  # 显示系统中进程的资源占用状况
top -c # 显示系统中进程的资源占用状况,并显示完整的命令
top -u xxx  # 查看xxx用户的进程的资源占用状况
复制代码

相关命令:iotop、htop


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

该命令用于向某个工作(%jobnumber)或者是某个PID(数字)传送一个信号,它通常与ps和jobs命令一起使用,它的基本语法如下:

kill -signal PID  
复制代码

signal的常用参数如下:

  • 1:SIGHUP,启动被终止的进程
  • 2:SIGINT,相当于输入ctrl+c,中断一个程序的进行
  • 9:SIGKILL,强制中断一个进程的进行
  • 15:SIGTERM,以正常的结束进程方式来终止进程
  • 17:SIGSTOP,相当于输入ctrl+z,暂停一个进程的进行

注: 最前面的数字为信号的代号,使用时可以用代号代替相应的信号。

# 以正常的结束进程方式来终于第一个后台工作,可用jobs命令查看后台中的第一个工作进程  
kill -SIGTERM %1   
# 重新改动进程ID为PID的进程,PID可用ps命令通过管道命令加上grep命令进行筛选获得  
kill -SIGHUP PID
# 强制杀死进程号为1112的进程
kill -9 1112
复制代码

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

kill -9 PID 是操作系统从内核级别强制杀死一个进程。

kill -15 PID 可以理解为操作系统发送一个通知告诉应用主动关闭。效果是正常退出进程,退出前可以被阻塞或回调处理。并且它是Linux缺省的程序中断信号。

尽量使用kill -15 PID而不要使用kill -9 PID。

kill -9 PID没有给进程留下善后的机会:

  1. 关闭socket链接
  2. 清理临时文件
  3. 将自己将要被销毁的消息通知给子进程
  4. 重置自己的终止状态

一些磁盘操作多的程序更是不要使用kill -9 PID,会导致数据的丢失,如ES,kafka等。

批量杀死进程(ps/grep/awk/kill)

ps aux|grep server|grep -v grep | awk '{print $2}'|xargs kill -9
复制代码

说明:

管道符”|”用来隔开两个命令,管道符左边命令的输出会作为管道符右边命令的输入。

awk的作用是输出某一列,{print $2}就是输出第二列,如上即是pid这一列。

“xargs kill -9” 中的 xargs 命令是用来把前面命令的输出结果作为”kill -9″命令的参数,并执行该命令。”kill -9″会强行杀掉指定进程。


24、killall-杀死指定名字的进程

用于杀死指定名字的进程,向一个命令启动的进程发送一个信号,它的一般语法如下:

killall [-iIe] [command name]  
复制代码

它的参数如下:

  • -i :交互式的意思,若需要删除时,会询问用户
  • -e :表示后面接的command name要一致,但command name不能超过15个字符
  • -I :命令名称忽略大小写
killall -SIGHUP syslogd # 重新启动syslogd  
复制代码


25、file-辨识文件类型

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

file filename 
复制代码

查看test文件格式:

file ./test  
复制代码
相关文章
|
7天前
|
监控 Linux
如何检查 Linux 内存使用量是否耗尽?这 5 个命令堪称绝了!
本文介绍了在Linux系统中检查内存使用情况的5个常用命令:`free`、`top`、`vmstat`、`pidstat` 和 `/proc/meminfo` 文件,帮助用户准确监控内存状态,确保系统稳定运行。
67 6
|
8天前
|
Linux
在 Linux 系统中,“cd”命令用于切换当前工作目录
在 Linux 系统中,“cd”命令用于切换当前工作目录。本文详细介绍了“cd”命令的基本用法和常见技巧,包括使用“.”、“..”、“~”、绝对路径和相对路径,以及快速切换到上一次工作目录等。此外,还探讨了高级技巧,如使用通配符、结合其他命令、在脚本中使用,以及实际应用案例,帮助读者提高工作效率。
34 3
|
8天前
|
监控 安全 Linux
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景,包括 ping(测试连通性)、traceroute(跟踪路由路径)、netstat(显示网络连接信息)、nmap(网络扫描)、ifconfig 和 ip(网络接口配置)。掌握这些命令有助于高效诊断和解决网络问题,保障网络稳定运行。
26 2
|
3天前
|
运维 监控 网络协议
运维工程师日常工作中最常用的20个Linux命令,涵盖文件操作、目录管理、权限设置、系统监控等方面
本文介绍了运维工程师日常工作中最常用的20个Linux命令,涵盖文件操作、目录管理、权限设置、系统监控等方面,旨在帮助读者提高工作效率。从基本的文件查看与编辑,到高级的网络配置与安全管理,这些命令是运维工作中的必备工具。
20 3
|
8天前
|
安全 网络协议 Linux
本文详细介绍了 Linux 系统中 ping 命令的使用方法和技巧,涵盖基本用法、高级用法、实际应用案例及注意事项。
本文详细介绍了 Linux 系统中 ping 命令的使用方法和技巧,涵盖基本用法、高级用法、实际应用案例及注意事项。通过掌握 ping 命令,读者可以轻松测试网络连通性、诊断网络问题并提升网络管理能力。
30 3
|
11天前
|
Linux
在 Linux 系统中,`find` 命令是一个强大的文件查找工具
在 Linux 系统中,`find` 命令是一个强大的文件查找工具。本文详细介绍了 `find` 命令的基本语法、常用选项和具体应用示例,帮助用户快速掌握如何根据文件名、类型、大小、修改时间等条件查找文件,并展示了如何结合逻辑运算符、正则表达式和排除特定目录等高级用法。
40 6
|
11天前
|
缓存 网络协议 Linux
Linux ip命令常用操作
Linux的 `ip`命令是一个强大且灵活的网络管理工具,能够执行从基本的网络接口配置到高级的路由和VLAN管理等多种操作。通过熟练掌握这些常用操作,用户可以更加高效地管理和配置Linux系统的网络环境。无论是在日常管理还是故障排除中,`ip`命令都是必不可少的工具。
13 2
|
4月前
|
Linux
Linux部署04-ls命令的参数和选项,主体,参数,选项,ls / 查看根目录下的文件夹,-a的意思是列出全部选项 ls -a home全部文件,.代表着隐藏的文件夹,-l 选项,以列表竖向的形式展
Linux部署04-ls命令的参数和选项,主体,参数,选项,ls / 查看根目录下的文件夹,-a的意思是列出全部选项 ls -a home全部文件,.代表着隐藏的文件夹,-l 选项,以列表竖向的形式展
|
4月前
|
Linux
Linux部署 cd-pwd命令,cd 不写参数 就直接回到用户的HOME目录,pwd 查看当前的工作目录,pwd是常看当前目录的路径,无参数
Linux部署 cd-pwd命令,cd 不写参数 就直接回到用户的HOME目录,pwd 查看当前的工作目录,pwd是常看当前目录的路径,无参数
|
4月前
|
Linux
Linux02---命令基础 Linux命令基础, ls命令入门,ls命令参数和选项,命令行是一种以纯字符操作系统的方式,command命令本身,options命令的细节行为,parameter命令的
Linux02---命令基础 Linux命令基础, ls命令入门,ls命令参数和选项,命令行是一种以纯字符操作系统的方式,command命令本身,options命令的细节行为,parameter命令的
下一篇
无影云桌面