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没有给进程留下善后的机会:
- 关闭socket链接
- 清理临时文件
- 将自己将要被销毁的消息通知给子进程
- 重置自己的终止状态
一些磁盘操作多的程序更是不要使用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 复制代码