日常开发,上线的服务器系统一般都是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. LeetCode算法题-Binary Tree Paths(Java实现-3种解法)

    这是悦乐书的第199次更新,第206篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第62题(顺位题号是257).给定二叉树,返回所有根到叶路径.例如: 输入: 1 / \ ...

  2. Java序列化(含transient)

    什么是序列化? 我们创建的对象只有在Java虚拟机保持运行时,才会存在于内存中.如果想要超出Java虚拟机的生命周期,就可以将对象序列化,将对象状态转换为字节序列,写入文件(或socket传输),后面 ...

  3. Java学习笔记--Cglib动态代理

    CGLib动态代理 使用JDK创建代理有一个限制,即它只能为接口创建代理实例,这一点可以从Proxy的接口方法newProxyInstance(ClassLoader loader,Class[] i ...

  4. 十大PHP程序员必备工具

    十大PHP程序员必备工具 1.Notepad++ 总结来说就是小而精,7.4版本的软件包只有2.9M,比一般的IDE小数十倍,但是Notepad++的功能确是很全面的,代码高亮,语法折叠,宏功能,内置 ...

  5. 利用ENVI FX从RGB提取建筑物轮廓

        在QQ热线或者技术咨询会问到:"我有一副RGB的栅格图,想从上面提取相关的一些信息.能不能提取?精度有保证吗?"等等诸如此类的问题.本专题就採用我们经常使用的栅格地图进行建 ...

  6. Leetcode:0027

    Leetcode:0027 题目:给定一个数组 nums 和一个值 val,你需要原地移除所有数值等于 val 的元素,返回移除后数组的新长度.不要使用额外的数组空间,你必须在原地修改输入数组并在使用 ...

  7. Linux:Day7(上) find、文件特殊权限、if语句

    文件查找: 在文件系统上查找符合条件的文件: 文件查找工具:locate,find locate:非实时查找(数据库查找) find:实时查找: locate: 依赖于事先 构建的索引:索引的构建是在 ...

  8. 【ES6】export和important使用区别

    export命令 export { name1, name2, …, nameN }; export { variable1 as name1, variable2 as name2, …, name ...

  9. 开源的许可证GPL、LGPL、BSD、Apache 2.0

    软件开发者要开源软件,不单单是开放源代码就可以了,选择一种许可证很重要,一个许可证之于软件就相当于价值观之于普通人,代表了这个软件的基本品性.一个错误的许可证选择可能会直接导致整个项目的失败.各种开源 ...

  10. linux日志:syslogd和klogd及syslog

    一. 日志守护进程 syslogd和klogd是很有意思的守护进程,syslogd是一个分发器,它将接收到的所有日志按照/etc/syslog.conf的配置策略发送到这些日志应该去的地方,当然也包括 ...