常用Linux指令

常用Linux指令

文本处理工具(tail、vim、less)

tail

tail命令用于输入文件中的尾部内容,常用在查看线上正在增长的日志,主要使用:

# -n<行数> 显示文件的尾部 n 行内容
$ tail -n N filename.txt
# -f 循环读取
$ tail -f log-file
vim

命令模式下常用命令:

移动光标

作用vim命令linux命令行
向上/向下翻页ctrl+f/b
行尾/行首$/0Ctrl-e/Ctrl-a
下一个词/上一个词w/bAlt-f/Alt-b
文档开始/文档结束gg/G
到第n行ngg/nG/:n
屏幕顶部/中间/底部H/M/L
当前字符下一次/上一次出现的位置*/#

查询替换

作用vim命令
查找xxxx,找到以后按n向下继续查找、N则向上继续查找/xxxx
下一个s1替换为s2😒/s1/s2
s1全部替换为s2:%s/s1/s2
当前行的s1替换为s2😒/s1/s2/g
从n1到n2行的s1替换为s2:n1,n2 s/s1/s2/g

复制、剪切、粘贴、删除

作用vim命令linux命令行
复制选中文本,用"ny来复制到第n号寄存器y
粘贴,用"np来粘贴第n号寄存器中的内容p
删除当前行ddCtrl -a + Ctrl-k / Ctrl -e + Ctrl -u
删除光标后的一个词/删除光标前的一个词dw/dbAlt -d/Ctrl -w
less
作用命令
向下移动一行回车键
向上移动一行y
向上滚动一屏/向上滚动半屏b/u
向下滚动一屏/向下滚动半屏空格键/d
搜索pattern/pattern

查找处理grep

grep命令的作用是在目录中根据文件内容搜索文件,下面是常用的指令:

查看被占用端口
sudo netstat -tnlp | grep "80"

Linux如何对文件内容中的关键字进行查找**(文件不大时)**
cat <文件名> | grep <关键字>|wc -l 统计数量

PS 是linux对进程的监控
ps -aux|grep java

统计已连接上的,状态为“established
netstat -na|grep ESTABLISHED|wc -l

Print the matched line, along with the 3 lines after it
grep -A 3 -i "example" demo_text

显示匹配某个结果的前三行和后三行,使用 -C 选项:
seq 10 | grep "5" -C 3

标记匹配颜色 --color=auto 选项
grep "match_pattern" file_name --color=auto

详细的命令参数和正则表达式可以参考:

find

find命令的作用是在目录中根据文件名搜索文件

常用指令:
Find files using file-name ( case in-sensitve find)
# find -iname "MyCProgram.c"

更多:

  • find -name Help.java 在当前目录及其子目录中搜索文件名为Help.java的文件。
  • find . -name Help.java 在当前目录及其子目录中搜索文件名为Help.java的文件(同上)。
  • find / -name Help.java 在整个硬盘中搜索文件名为Help.java的文件。
  • find -perm 755 在当前目录及其子目录中查找指定权限的文件
  • find -type b 在当前目录及其子目录下查找块设备文件。
  • find -type d 在当前目录及其子目录下查文件夹。
  • find -type c 在当前目录及其子目录下查找字符设备文件。
  • find -type p 在当前目录及其子目录下查找管道文件。
  • find -type l 在当前目录及其子目录下查找符号链接文件。
  • find -type f 在当前目录及其子目录下查找普通文件。
  • find -type d -exec ls -l {} \; 查找当前目录及其子目录下的文件夹,并将查找结果以ls -l的方式展现。
  • find -type d -ok rm -rf {} \;查找当前目录及其子目录下的文件夹,并将查找结果依次执行rm -rf命令,但是在执行命令前会有确认提示。
  • find ~ -empty Find all empty files in home directory
最佳实践:如何查找大文件

其实很多时候,你需要了解当前系统下有哪些大文件,比如文件大小超过100M或1G(阀值视具体情况而定)。那么如何把这些大文件搜索出来呢?例如我要搜索当前目录下,超过800M大小的文件

find . -type f -size +800M

如上命令所示,我们仅仅能看到超过800M大小的文件的文件名称,但是对文件的信息(例如,文件大小、文件属性)一无所知,那么能否更详细显示一些文件属性或信息呢,当然可以,如下所示
find . -type f -size +800M -print0 | xargs -0 ls -l

当我们只需要查找超过800M大小文件,并显示查找出来文件的具体大小,可以使用下面命令,并排序(统一使用使用MB来显示)
find . -type f -size +800M -print0 | xargs -0 du -hm | sort -n

tar

压缩解压缩
解压缩: tar -zxvf 文件
压缩: tar -zcvf 文件tar cvf archive_name.tar dirname/
查看:tar -ztvf 文件

CPU、内存、进程、磁盘及网络

CPU检查

/proc/cpuinf里面去看,几个重要参数的意思:

  • processor :逻辑处理器的id。
  • physical id :物理封装的处理器的id。
  • core id :每个核心的id。
  • cpu cores :位于相同物理封装的处理器中的内核数量。
  • siblings :位于相同物理封装的处理器中的逻辑处理器的数量

常用语句:

  • cpu物理个数:cat /proc/cpuinfo | grep "physical id" | uniq | wc -l
  • cpu核数:cat /proc/cpuinfo | grep "cpu cores" | uniq
  • cpu型号:cat /proc/cpuinfo | grep 'model name' | uniq
  • cpu线程数:grep ‘processor’ /proc/cpuinfo | sort -u | wc -l
查内核版本

内核版本:uname -a
显示系统名、节点名称、操作系统的发行版号、操作系统版本、运行系统的机器 ID 号。
查看当前操作系统发行版信息:cat /etc/issue | grep Linux

查内存

内存使用情况,常用指令:free -m

[root@SF1150 service]# free -m

             total       used       free     shared    buffers     cached

Mem:         32168      30119       2048          0       4438      11097

-/+ buffers/cache:      14583      17584

Swap:        31996       1899      30097

说明:
第二行(mem)的used/free与第三行(-/+ buffers/cache) used/free的区别。 这两个的区别在于使用的角度来看,第一行是从OS的角度来看,因为对于OS,buffers/cached 都是属于被使用,所以他的可用内存是2098428KB,已用内存是30841684KB,其中包括,内核(OS)使用+Application(X, oracle,etc)使用的+buffers+cached.

第三行所指的是从应用程序角度来看,对于应用程序来说,buffers/cached 是等于可用的,因为buffer/cached是为了提高文件读取的性能,当应用程序需在用到内存的时候,buffer/cached会很快地被回收。

所以从应用程序的角度来说,可用内存=系统free memory+buffers+cached

查linux服务器当前时间

查看时间和日期:date
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xD0wGAQg-1605490433774)(media/15501936888321/WX20190227-110551@2x.png)]

vmstat

目前状态,每秒1次共计3次:vmstat 1 3
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gKqVzon6-1605490433776)(media/15501936888321/9FE2BA99-3F27-49D1-89A1-1AB34824C5AF.png)]

  • r:等待运行中的进程数
  • b :不可被唤醒的进程数, 上面两个越多越忙碌
  • swpd:虚拟内存被使用量
  • buff:缓存存储器
  • cache:高速缓存
  • swap:交换空间
    • si:从磁盘中将程序取出的量
    • so:由于内存不足而将没用的程序写入到磁盘的量
    • si和so大的话,所有内存和磁盘反复传输,性能较差;
  • io:
    • bi:从磁盘写入的块数
    • bo:写入到磁盘的块数
  • system:
    • in:每秒被中断的进程数
    • cs:每秒钟进行的时间切换次数
  • cpu:
    • us:非内核CPU使用
    • sy:内核CPU使用
    • id:空闲
    • wa:等待io消耗的CPU
    • st:被虚拟机盗用的CPU
mpstat

实时监控系统CPU的一些统计信息,这些信息存放在/proc/stat文件中,在多核CPU系统里,其不但能查看所有CPU的平均使用信息,而且能够查看某一个特定CPU的信息

robert@robert-ubuntu1410:~$ mpstat -P ALL
Linux 3.16.0-30-generic (robert-ubuntu1410)     2017年04月23日     _x86_64_    (4 CPU)

11时12分38秒  CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest  %gnice   %idle
11时12分38秒  all    0.54    0.55    0.23    0.57    0.00    0.04    0.00    0.00    0.00   98.07
11时12分38秒    0    0.75    1.41    0.35    1.06    0.00    0.11    0.00    0.00    0.00   96.32
11时12分38秒    1    0.51    0.22    0.22    0.48    0.00    0.01    0.00    0.00    0.00   98.57
11时12分38秒    2    0.52    0.58    0.18    0.29    0.00    0.02    0.00    0.00    0.00   98.41
11时12分38秒    3    0.40    0.01    0.15    0.45    0.00    0.01    0.00    0.00    0.00   98.98
netstat

显示当前启动的网络服务:netstat -tulnp
查看本机所有网络连接状态:netstat -atunp

  • t : tcp
  • u : udp
  • l : 列出已有Listen(监听)的服务网络状态
  • n :使用IP
  • p:列出PID和program文件名
  • a:所有连接状态
telnet

检查远程port是否启动:telnet ip 110

df

查看文件系统的硬盘挂载点和空间使用情况

[root@tecmint ~]# df -h

Filesystem            Size  Used Avail Use% Mounted on
/dev/cciss/c0d0p2      75G   23G   49G  32% /
/dev/cciss/c0d0p5      24G   22G  1.2G  95% /home
/dev/cciss/c0d0p3      29G   25G  2.6G  91% /data
/dev/cciss/c0d0p1     289M   22M  253M   8% /boot
tmpfs                 252M     0  252M   0% /dev/shm


[root@tecmint ~]# df -m

Filesystem           1M-blocks      Used Available Use% Mounted on
/dev/cciss/c0d0p2        76525     22644     49931  32% /
/dev/cciss/c0d0p5        24217     21752      1215  95% /home
/dev/cciss/c0d0p3        29057     24907      2651  91% /data
/dev/cciss/c0d0p1          289        22       253   8% /boot
tmpfs                      252         0       252   0% /dev/shm

展示磁盘总利用率

默认情况下, df命令显示磁盘的单个文件系统的利用率。如果你想知道的所有文件系统的总磁盘使用量,增加“ --total ”选项(见最下面的汇总行)。

$ df -h --total

Filesystem               Size  Used Avail Use% Mounted on
/dev/mapper/ubuntu-root  909G  565G  299G  66% /
none                     4.0K     0  4.0K   0% /sys/fs/cgroup
udev                     3.9G  4.0K  3.9G   1% /dev
tmpfs                    785M  1.2M  784M   1% /run
none                     5.0M     0  5.0M   0% /run/lock
none                     3.9G   62M  3.8G   2% /run/shm
none                     100M   48K  100M   1% /run/user
/dev/sda1                228M   98M  118M  46% /boot
total                    918G  565G  307G  65% -

其他

####scp
cp命令是Linux系统中功能强大的文件传输命令,可以实现从本地到远程以及远程到本地的双向文件传输,用起来非常的方便。常用来在线上定位问题时,将线上的一些文件下载到本地进行详查,或者将本地的修改上传到服务器上。

示例:

scp robert@192.168.1.1:/home/robert/test.txt .

scp ./test.txt robert@192.168.1.1:/home/robert/
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值