关于linux的一些常用的指令

随声附和 提交于 2020-04-06 04:05:17

top:命令经常用来监控linux的系统状况,比如cpu、内存的使用。

free:观察内存使用。

Find:查找指定的文件。

   Whereis:查找指定的文件源和二进制文件和手册等

   Which:用于查询命令或别名的位置。

   Locate:快速查找系统数据库中指定的内容。

   Grep:查找文件里符合条件的字符串。

2. grep

在文件中查找字符串(不区分大小写)

$ grep -i "the" demo_file

输出成功匹配的行,以及该行之后的三行

$ grep -A 3 -i "example" demo_text

在一个文件夹中递归查询包含指定字符串的文件

$ grep -r "ramesh" *

更多示例:Get a Grip on the Grep! – 15 Practical Grep Command Examples
3. find

查找指定文件名的文件(不区分大小写)

$ find -iname "MyProgram.c"

对找到的文件执行某个命令

$ find -iname "MyProgram.c" -exec md5sum {} \;

查找home目录下的所有空文件

$ find ~ -empty


23. free

这个命令用于显示系统当前内存的使用情况,包括已用内存、可用内存和交换内存的情况

默认情况下free会以字节为单位输出内存的使用量

    $ free
                 total       used       free     shared    buffers     cached
    Mem:       3566408    1580220    1986188          0     203988     902960
    -/+ buffers/cache:     473272    3093136
    Swap:      4000176          0    4000176

如果你想以其他单位输出内存的使用量,需要加一个选项,-g为GB,-m为MB,-k为KB,-b为字节

    $ free -g
                 total       used       free     shared    buffers     cached
    Mem:             3          1          1          0          0          0
    -/+ buffers/cache:          0          2
    Swap:            3          0          3

如果你想查看所有内存的汇总,请使用-t选项,使用这个选项会在输出中加一个汇总行

    ramesh@ramesh-laptop:~$ free -t
                 total       used       free     shared    buffers     cached
    Mem:       3566408    1592148    1974260          0     204260     912556
    -/+ buffers/cache:     475332    3091076
    Swap:      4000176          0    4000176
    Total:     7566584    1592148    5974436

24. top

top命令会显示当前系统中占用资源最多的一些进程(默认以CPU占用率排序)如果你想改变排序方式,可以在结果列表中点击O(大写字母O)会显示所有可用于排序的列,这个时候你就可以选择你想排序的列

    Current Sort Field:  P  for window 1:Def
    Select sort field via field letter, type any other key to return
      a: PID        = Process Id              v: nDRT       = Dirty Pages count
      d: UID        = User Id                 y: WCHAN      = Sleeping in Function
      e: USER       = User Name               z: Flags      = Task Flags
      ........

如果只想显示某个特定用户的进程,可以使用-u选项

$ top -u oracle

更多示例:Can You Top This? 15 Practical Linux Top Command Examples
25. df

显示文件系统的磁盘使用情况,默认情况下df -k 将以字节为单位输出磁盘的使用量

$ df -k
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/sda1             29530400   3233104  24797232  12% /
/dev/sda2            120367992  50171596  64082060  44% /home

使用-h选项可以以更符合阅读习惯的方式显示磁盘使用量

$ df -h
Filesystem                  Size   Used  Avail Capacity  iused      ifree %iused  Mounted on
/dev/disk0s2               232Gi   84Gi  148Gi    37% 21998562   38864868   36%   /
devfs                      187Ki  187Ki    0Bi   100%      648          0  100%   /dev
map -hosts                   0Bi    0Bi    0Bi   100%        0          0  100%   /net
map auto_home                0Bi    0Bi    0Bi   100%        0          0  100%   /home
/dev/disk0s4               466Gi   45Gi  421Gi    10%   112774  440997174    0%   /Volumes/BOOTCAMP
//app@izenesoft.cn/public  2.7Ti  1.3Ti  1.4Ti    48%        0 18446744073709551615    0%   /Volumes/public

使用-T选项显示文件系统类型

$ df -T
Filesystem    Type   1K-blocks      Used Available Use% Mounted on
/dev/sda1     ext4    29530400   3233120  24797216  12% /
/dev/sda2     ext4   120367992  50171596  64082060  44% /home

26. kill

kill用于终止一个进程。一般我们会先用ps -ef查找某个进程得到它的进程号,然后再使用kill -9 进程号终止该进程。你还可以使用killall、pkill、xkill来终止进程

$ ps -ef | grep vim
ramesh    7243  7222  9 22:43 pts/2    00:00:00 vim

$


wc: 计数
  -l: 行数
  -w: 字数
  -c: 字符数

  wc -l file1 file2 ......可以统计多个文件

cat 读取文本内容
  -n: 显示行号
  -b: 显示行号且忽略空行

  cat -n 1.txt

more 显示文本内容,每次一屏,按空格继续
  find / -name "*.sh" | more

 

tail 从指定的位置开始显示后面得内容
  tail -f server.log 用于在server上边运行边察看日志
  tail -10 dos2unix.sh 察看最后10行

 

head
  与tail对应

用 "route -n" 和 "netstat -nr" 命令,我们可以查看默认网关。除了默认的网关信息,这两个命令还可以显示当前的路由表。


36. ifconfig

ifconfig用于查看和配置Linux系统的网络接口

查看所有网络接口及其状态

$ ifconfig -a

使用up和down命令启动或停止某个接口

    $ ifconfig eth0 up
     
    $ ifconfig eth0 down

43. less

这个命名可以在不加载整个文件的前提下显示文件内容,在查看大型日志文件的时候这个命令会非常有用

$ less huge-log-file.log

当你用less命令打开某个文件时,下面两个按键会给你带来很多帮助,他们用于向前和向后滚屏

CTRL+F – forward one window
CTRL+B – backward one window


查看linux中某个端口(port)是否被占用
一、使用lsof

格式:
1
    
lsof -i:port

比如我要查看80端口占用情况,可以使用 lsof -i:80

可以很清楚的看到是被那个端口占用了

备注:需要注意的时候,lsof需要拥有该进程的权限,方可以查看,占用情况。比如,我使用另一个用户,就无法查看了。

当前的名为dequan用户就看不到进程占用情况。如果使用nginx或root用户就可以了,如下:

二、使用netstat

格式:
1
    
netstat -anp|grep port

比如查看80占用情况,如下:
top:命令经常用来监控linux的系统状况,比如cpu、内存的使用。

free:观察内存使用。

Find:查找指定的文件。

   Whereis:查找指定的文件源和二进制文件和手册等

   Which:用于查询命令或别名的位置。

   Locate:快速查找系统数据库中指定的内容。

   Grep:查找文件里符合条件的字符串。

2. grep

在文件中查找字符串(不区分大小写)

$ grep -i "the" demo_file

输出成功匹配的行,以及该行之后的三行

$ grep -A 3 -i "example" demo_text

在一个文件夹中递归查询包含指定字符串的文件

$ grep -r "ramesh" *

更多示例:Get a Grip on the Grep! – 15 Practical Grep Command Examples
3. find

查找指定文件名的文件(不区分大小写)

$ find -iname "MyProgram.c"

对找到的文件执行某个命令

$ find -iname "MyProgram.c" -exec md5sum {} \;

查找home目录下的所有空文件

$ find ~ -empty


23. free

这个命令用于显示系统当前内存的使用情况,包括已用内存、可用内存和交换内存的情况

默认情况下free会以字节为单位输出内存的使用量

    $ free
                 total       used       free     shared    buffers     cached
    Mem:       3566408    1580220    1986188          0     203988     902960
    -/+ buffers/cache:     473272    3093136
    Swap:      4000176          0    4000176

如果你想以其他单位输出内存的使用量,需要加一个选项,-g为GB,-m为MB,-k为KB,-b为字节

    $ free -g
                 total       used       free     shared    buffers     cached
    Mem:             3          1          1          0          0          0
    -/+ buffers/cache:          0          2
    Swap:            3          0          3

如果你想查看所有内存的汇总,请使用-t选项,使用这个选项会在输出中加一个汇总行

    ramesh@ramesh-laptop:~$ free -t
                 total       used       free     shared    buffers     cached
    Mem:       3566408    1592148    1974260          0     204260     912556
    -/+ buffers/cache:     475332    3091076
    Swap:      4000176          0    4000176
    Total:     7566584    1592148    5974436

24. top

top命令会显示当前系统中占用资源最多的一些进程(默认以CPU占用率排序)如果你想改变排序方式,可以在结果列表中点击O(大写字母O)会显示所有可用于排序的列,这个时候你就可以选择你想排序的列

    Current Sort Field:  P  for window 1:Def
    Select sort field via field letter, type any other key to return
      a: PID        = Process Id              v: nDRT       = Dirty Pages count
      d: UID        = User Id                 y: WCHAN      = Sleeping in Function
      e: USER       = User Name               z: Flags      = Task Flags
      ........

如果只想显示某个特定用户的进程,可以使用-u选项

$ top -u oracle

更多示例:Can You Top This? 15 Practical Linux Top Command Examples
25. df

显示文件系统的磁盘使用情况,默认情况下df -k 将以字节为单位输出磁盘的使用量

$ df -k
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/sda1             29530400   3233104  24797232  12% /
/dev/sda2            120367992  50171596  64082060  44% /home

使用-h选项可以以更符合阅读习惯的方式显示磁盘使用量

$ df -h
Filesystem                  Size   Used  Avail Capacity  iused      ifree %iused  Mounted on
/dev/disk0s2               232Gi   84Gi  148Gi    37% 21998562   38864868   36%   /
devfs                      187Ki  187Ki    0Bi   100%      648          0  100%   /dev
map -hosts                   0Bi    0Bi    0Bi   100%        0          0  100%   /net
map auto_home                0Bi    0Bi    0Bi   100%        0          0  100%   /home
/dev/disk0s4               466Gi   45Gi  421Gi    10%   112774  440997174    0%   /Volumes/BOOTCAMP
//app@izenesoft.cn/public  2.7Ti  1.3Ti  1.4Ti    48%        0 18446744073709551615    0%   /Volumes/public

使用-T选项显示文件系统类型

$ df -T
Filesystem    Type   1K-blocks      Used Available Use% Mounted on
/dev/sda1     ext4    29530400   3233120  24797216  12% /
/dev/sda2     ext4   120367992  50171596  64082060  44% /home

26. kill

kill用于终止一个进程。一般我们会先用ps -ef查找某个进程得到它的进程号,然后再使用kill -9 进程号终止该进程。你还可以使用killall、pkill、xkill来终止进程

$ ps -ef | grep vim
ramesh    7243  7222  9 22:43 pts/2    00:00:00 vim

$


wc: 计数
  -l: 行数
  -w: 字数
  -c: 字符数

  wc -l file1 file2 ......可以统计多个文件

cat 读取文本内容
  -n: 显示行号
  -b: 显示行号且忽略空行

  cat -n 1.txt

more 显示文本内容,每次一屏,按空格继续
  find / -name "*.sh" | more

 

tail 从指定的位置开始显示后面得内容
  tail -f server.log 用于在server上边运行边察看日志
  tail -10 dos2unix.sh 察看最后10行

 

head
  与tail对应

用 "route -n" 和 "netstat -nr" 命令,我们可以查看默认网关。除了默认的网关信息,这两个命令还可以显示当前的路由表。


36. ifconfig

ifconfig用于查看和配置Linux系统的网络接口

查看所有网络接口及其状态

$ ifconfig -a

使用up和down命令启动或停止某个接口

    $ ifconfig eth0 up
     
    $ ifconfig eth0 down

43. less

这个命名可以在不加载整个文件的前提下显示文件内容,在查看大型日志文件的时候这个命令会非常有用

$ less huge-log-file.log

当你用less命令打开某个文件时,下面两个按键会给你带来很多帮助,他们用于向前和向后滚屏

CTRL+F – forward one window
CTRL+B – backward one window


查看linux中某个端口(port)是否被占用
一、使用lsof

格式:
1
    
lsof -i:port

比如我要查看80端口占用情况,可以使用 lsof -i:80

可以很清楚的看到是被那个端口占用了

备注:需要注意的时候,lsof需要拥有该进程的权限,方可以查看,占用情况。比如,我使用另一个用户,就无法查看了。

当前的名为dequan用户就看不到进程占用情况。如果使用nginx或root用户就可以了,如下:

二、使用netstat

格式:
1
    
netstat -anp|grep port

比如查看80占用情况,如下:

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!