日常开发,上线的服务器系统一般都是Linux系统,所以,熟练的掌握常用的命令操作就尤其的重要了

1) 查看某个服务的运行情况 (例如Redis)

ps -ef | grep redis   //e-显示程序使用的环境变量 f-显示UID,PPIP,C与STIME栏位

  

2) 查看某个端口是否在监听

netstat -lntp | grep 6379

  

//查看监听的端口的程序
netstat -anp | grep 9501

  

3)查看linux占用内存/CPU最多的进程

可以使用一下命令查使用内存最多的10个进程
ps -aux | sort -k4nr | head -n 可以使用一下命令查使用CPU最多的10个进程
ps -aux | sort -k3nr | head -n 10 参数说明:
  sort
    -k: 进行排序的栏位
    4/3 对应的栏位位置
    -n: 按照数值大小排序
    -r: 反向排序

  动态的查看进程: 用top命令指定固定的PID

top -p 32199
使用了top期间,支持命令,
  h ==》 会显示如何使用的帮助
  M ==〉 通过内存占用率大小进行排序
  P ==》 按照CPU使用率进行大小排序 默认只是显示部分的进程数据, 如果想要查看全部的进程信息, 可以将信息重定向到文件中
top -n -b 1 -d 3 >> file.txt
  参数:
    

-b :batch模式,可以重定向到文件中


-n 1:一共取1次top数据。后边加数字,表示次数


-d 3:每次top时间间隔是3秒钟

-c : 不仅仅显示进程名称, 而是显示完整执行命令

 

  查看更详细的内存占比

cat /proc//status

Name:    java
State: S (sleeping)
Tgid:
Ngid:
Pid:
PPid:
TracerPid:
Uid:
Gid:
FDSize:
Groups:
NStgid:
NSpid:
NSpgid:
NSsid:
VmPeak: kB
VmSize: kB
VmLck: kB
VmPin: kB
VmHWM: kB
VmRSS: kB
VmData: kB
VmStk: kB
VmExe: kB
VmLib: kB
VmPTE: kB
VmPMD: kB
VmSwap: kB
HugetlbPages: kB
Threads:
SigQ: /
SigPnd:
ShdPnd:
SigBlk:
SigIgn:
SigCgt: 2000000181005ccc
CapInh:
CapPrm:
CapEff:
CapBnd: 0000003fffffffff
CapAmb:
Seccomp:
Cpus_allowed: ff
Cpus_allowed_list: -
Mems_allowed: ,
Mems_allowed_list:
voluntary_ctxt_switches:
nonvoluntary_ctxt_switches:

  VmRSS为内存

Redis


(1) 开启客户端连接Redis

redis-cli

  

(2) 退出客户端的连接

redis-cli shutdown

  或

kill -9 PID

  

(3)常用启动/停止/重启

./etc/init.d/redis-server start

./etc/init.d/redis-server stop

./etc/init.d/redis-server restart

MySQL


查看MySQL的运行状态

/etc/rc.d/init.d/mysqld status

  

频繁使用


1. 计算某个文件大小

1) du -h 文件
2) ls -hl 文件

  

2. 重启网卡服务

service network restart

  

3. 相关服务重启

/etc/init.d/redis restart

  

4. 查看磁盘信息

df -h //以kb显示(常用)  默认使用b显示

  

5. 关机,重启

init 0 //关机

init 6 //友好重启

reboot //出状况或强制重启

  

6. 软连接

ln -s 源文件 目标文件

  

7.查找某个命令或文件

find / -name 文件名称   // find的方式进行查找

whereis  文件名称  //使用whereis方式进行查找

which   文件名称    // 使用which的方式进行查找

locate  文件名称    //使用locate的方式进行查找

8. 常见统计

wc -l  文件名称  // 统计行数

wc -c 文件名称 // 统计字节数

wc -w 文件名称 // 统计字数

//以上命令可以同时组合使用,例如:
wc -lwc file1 file2
.sql
.sql
total

9. 文件排序

. 按照文件大小排序

ls -lSh
total 89M
-rw-r--r-- Administrator 8月 :
89M -rw-r--r-- Administrator 89M 8月 : .sql
36K -rw-r--r-- Administrator 36K 8月 : .sql
20K -rw-r--r-- Administrator 17K 8月 : .sql
16K -rw-r--r-- Administrator 15K 8月 : .sql
.0K -rw-r--r-- Administrator .3K 8月 : .sql
解释:
-l : 长格式显示
-S: 排序,默认降序(注意是大写S)
-h: 表示文件大小转成M来显示 当然可以使用升序 -r : 升序排列 . 按照文件修改时间排序
ls -lt
total
-rw-r--r-- Administrator 8月 :
-rw-r--r-- Administrator 8月 : .sql
-rw-r--r-- Administrator 8月 : .sql
-rw-r--r-- Administrator 8月 : .sql
-rw-r--r-- Administrator 8月 : .sql
-rw-r--r-- Administrator 8月 : .sql
解释:
-t: 最近的修改时间
默认是降序: 最后修改的在前面
当然也可以加上参数 -r 进行升序排序

10.文件或目录统计

1. 显示目录或者文件所占空间
du 2. 显示指定文件所占空间
du filename/dirname 3. 显示多个文件所占空间
du file1 file2 file3 4. 只显示总和的大小
du -sh
-s:仅显示总计
-h:以友好的单位显示K,M,G 5. 显示几个文件或目录各自占用磁盘空间的大小,还统计它们的总和
du -ch file1 file2 file3 6. 按照空间大小排序
du|sort -nr|more 7. 输出当前目录下各个子目录所使用的空间
du -h --max-depth=1 8. 统计目录下文件大小
du -sh * 9. 统计文件大小并排序
du -s * | sort -nr (倒叙)

  

10 内容匹配 grep

grep -rn '匹配词' .
//递归的匹配所有的搜索词

11. 文件压缩与解压 tar

文件压缩:

tar zcvf FileName.tar.gz DirName

文件解压:
tar zxvf FileName.tar.gz tar.bz2格式
解压:[*******]$ tar jxvf FileName.tar.bz2
压缩:[*******]$ tar jcvf FileName.tar.bz2 DirName tar.gz格式
解压:[*******]$ tar zxvf FileName.tar.gz
压缩:[*******]$ tar zcvf FileName.tar.gz DirName tar格式
解包:[*******]$ tar xvf FileName.tar
打包:[*******]$ tar cvf FileName.tar DirName(注:tar是打包,不是压缩!) zip格式
解压:[*******]$ unzip FileName.zip
压缩:[*******]$ zip FileName.zip DirName

  问题:  如果在备份的过程中,文件发生变化会出现报错的情况,导致终端, 可以添加命令  --warning=no-file-changed

12. 查看当前登陆的终端

w

:: up  days, :,   user,  load average: 0.00, 0.01, 0.05
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/ 58.101.106.224 : .00s .10s .00s w 用户名 终端 登陆IP 登陆时间 正在执行的操作

13. 查看CPU信息

. 物理CPU的个数:
cat /proc/cpuinfo | grep "physical id" | sort | uniq | wc -l
. 每个物理CPU的核心数量:
cat /proc/cpuinfo | grep "cpu cores" | uniq
. 逻辑CPU个数:
cat /proc/cpuinfo | grep "processor" | wc -l

centos7


1)systemctl  命令

  设置nginx为开机启动项:

systemctl enable nginx

   服务相关操作

systemctl start/stop/reload/restart   nginx (服务名称)

  

      防火墙

查看防火墙开启状态:
systemctl status firewalld 启动/关闭/重启 防火墙
systemctl [start|stop|restart] firewalld.service  查看80端口是否开放成功:
firewall-cmd --zone=public --query-port=80/tcp 永久开放80端口:
firewall-cmd --zone=public --add-port=80/tcp --permanent 移除80端口号:
firewall-cmd --permanent --zone=public --remove-port=80/tcp 重启防火墙(设置完成一定要设置):
firewall-cmd --reload

  

2)sudo

  临时获取最高权限

sudo -s

切换用户

su - vagrant  //切换回vagrant用户

华丽分割线


命令安装

  1) locate

  可能一开始使用这个命令的时候,是无法使用的,需要你自己进行安装

  

yum install locate
//可能发生的错误, 没有可用的软件包 locate 的情况 //进行安装mlocate进行解决
yum install -y mlocate //安装成功之后,就可以愉快的使用locate命令进行内容的查找了, 呃呃呃,但是好像还是有问题,还差一步,对,那就是更新索引库
updatedb //如果更新之后,还是搜索不到的话,那么可以查看配置文件,是否有限制
vim /etc/updatedb.conf
  • PRUNE_BIND_MOUNTS = “yes” 表示开启搜索限制,如果为’no’则表示不开启搜索限制;
  • PRUNEFS = 表示搜索时,不搜索的文件系统;
  • PRUNENAMES = 表示搜索时,不搜索的文件类型;
  • PRUNEPATHS = 表示搜索时,不搜索的路径;
不只locate命令遵循搜索限制,whereis与which也遵循
 
 

 

日常

  1) 复制文件中的内容到粘贴板上
pbcopy < ~/.ssh/id_rsa.pub

//Windows中的类似使用
clip < ~/.ssh/id_rsa.pub
   2) 大文件的切割(场景:查看较大的文件(几十M)的时候,整个都卡住了,这个时候我们就可以切割成多个的小文件方便查看并搜索)
  

//使用命令split  (windows 下使用git bash工具即可使用该命令)

常用参数:
-<行数> : 指定每多少行切成一个小文件
-b<字节> : 指定每多少字节切成一个小文件 1KB = 1000B 1MB = 1000KB
--help : 在线帮助
--version : 显示版本信息
-C<字节> : 与参数"-b"相似,但是在切 割时将尽量维持每行的完整性
[输出文件名] : 设置切割后文件的前置文件名, split会自动在前置文件名后再加上编号 //实例:
split - index.log #将index.log文件每3000行分割成一个文件 默认多个以''x''开头的文件

  3)  kill 掉所有匹配到名字的进程

ps aux | grep swoole_job |  awk '{print $2}' | xargs kill -

ps 列出所有进程,

参数:

a - 显示现行终端机下的所有进程,包括其他用户的进程;

u - 以用户为主的进程状态 ;

x - 通常与 a 这个参数一起使用,可列出较完整信息。

grep 过滤掉不包含 "swoole" 的行

awk '{print $2}'    获取进程 ID (PID, Process Identification),我们想 kill 掉某一个进程的时候需要通过 PID 指定特定进程

xargs  将标准输入数据转换成命令行参数,xargs能够处理管道或者stdin并将其转换成特定命令的命令参数。

也就是将管道传递过来的每一个 PID 作为 kill -9 的参数

  
  4) 删除20天之前的数据
find /tmp -mtime + -exec rm -rf {} \;

注意: 不要忘记最后的分号

mtime: 修改时间(天)

{} \;  固定写法, 一堆大括号+空格+\;
 
 
 
 
 
 
 
 

Linux系统中常用的命令汇总的更多相关文章

  1. Linux系统中有趣的命令(可以玩小游戏)

    Linux系统中有趣的命令(可以玩小游戏) 前言 最近,我在看一些关于Linux系统的内容,这里面的内容是真的越学越枯燥,果然学习的过程还是不容易的.记得前几个月初学Linux时,有时候就会碰到小彩蛋 ...

  2. Linux系统中常用操作命令

    常用指令 ls        显示文件或目录     -l          列出文件详细信息l(list)     -a         列出当前目录下所有文件及目录,包括隐藏的a(all)mkdi ...

  3. Linux系统中的tar命令

    时间一长什么东西都容易忘记,尤其是一些不常用的东西忘记的更快,所以避免忘记,就记录下来,可以方面使用的时候查询.Tar命令在linux系统中算是一个比较重要的命令,今天就针对该命令进行总结一下. 1. ...

  4. Linux系统中使用lftp命令实现FTP上传下载

    Linux 下常用的操作命令有 ftp. lftp 和 sftp,图形化界面非常好用的有 FileZilla.不过在服务器命令界面中,lftp使用比较方便,功能也比ftp更加强大.lftp的界面很像L ...

  5. linux开发中常用的命令及技巧(连载)

    1.在内核或uboot目录下搜索相关内容/文件名时:grep "USB" * -nR find -name "*USB*" 2.查看系统中设备 cat  /pr ...

  6. Linux系统中的screen命令基本使用教程

    作为linux服务器管理员,经常要使用ssh登陆到远程linux机器上做一些耗时的操作. 也许你遇到过使用telnet或SSH远程登录linux,运行一些程序.如果这些程序需要运行很长时间(几个小时) ...

  7. 一篇文章让你学透Linux系统中的more命令

    Linux 下有很多实用工具可以让你在终端界面查看文本文件.其中一个就是 more. more 跟我之前另一篇文章里写到的工具 —— less 很相似.它们之间的主要不同点在于 more 只允许你向前 ...

  8. Linux系统中使用netcat命令的奇技淫巧

    netcat是网络工具中的瑞士军刀,它能通过TCP和UDP在网络中读写数据.通过与其他工具结合和重定向,你可以在脚本中以多种方式使用它.使用netcat命令所能完成的事情令人惊讶. netcat所做的 ...

  9. WINDOWS系统中常用网络命令及命令实例详解

    一.查询DNS.IP,mac地址及DHCP服务的情况 二.查看ARP表:MAC地址与IP地址的映射表 三.查看共享资源 四.查看局域网内的主机名 五.查看用户列表  六.路由跟踪命令 七.查看共享资源 ...

随机推荐

  1. June 8. 2018 Week Week 23rd Friday

    You'll have bad times, but it'll always wake you up to the good stuff you weren't paying attention t ...

  2. vue开发常见命令

    1.安装脚手架 安装脚手架命令:npm install -global vue-cli 2.升级脚手架 有时候需要把整个脚手架升级一下,这个用到命令npm install --global vue-c ...

  3. DefaultNamespaceHandlerResolver中handlerMappings如何初始化

    前言:最近一直在看Spring源码,今天在调试的时候发现一个小问题:在注册bean时,需要初始化spring默认命名空间处理器,具体在DefaultNamespaceHandlerResolver中实 ...

  4. PHP语言在中国的发展前景怎么样?

    PHP语言在中国的发展前景怎么样? “在互联网泛滥得今天,想要做好这一行业不是那么容易的,然而,互联网编程语言的发展PHP编程语言的出现也是赢了世界发展的潮流. PHP在我国发展也很快,越来越多的编程 ...

  5. [matlab] 5.字符运算与微积分

    首先介绍一下matlab里的符号计算 符号变量可以看成是数学中含参数 的表达式中的参数 matlab能进行像(a+b)(a-b)=a^2-b^2这样的计算 要进行符号计算首先要定义符号变量 定义符号对 ...

  6. ssm框架的整合搭建(三)

    mybatis逆向工程工具类的使用---mybatis  generator 项目结构 配置文件 <?xml version="1.0" encoding="UTF ...

  7. Python:Day55 ORM多表操作

    命令行创建UTF8数据库: CREATE DATABASE 数据库名称 DEFAULT CHARSET utf8 COLLATE utf8_general_ci; 创建多表(外键)

  8. Spring Security(七):2.4 Getting Spring Security

    You can get hold of Spring Security in several ways. You can download a packaged distribution from t ...

  9. 记一次layui弹框关闭问题

    我在博客园记录过layui关于弹框关闭问题,文章为layui关闭弹出层,这次出现了特殊情况,之前是通过layer.closeAll()解决了这个问题,但是这次解决不了.而换成parent.layer. ...

  10. js获取访问IP、地区、、当前操作浏览器

    js获取IP.地区.当前操作浏览器有什么用呢? 我的回答是用处很多,比如现在的异地登录和对用户常用浏览器做数据分析等. 源代码如下:index.html <!DOCTYPE html> & ...