linux常用运维命令

2021-01-12 16:15:25 1426

Linux常用运维查看系统信息命令

1.查看内存使用情况

使用命令:free

[app@root ~]$ free

             total       used       free     shared    buffers     cached

Mem:       8062340    7734868     327472       4480     227936    6066292

-/+ buffers/cache:    1440640    6621700

Swap:      8208380          0    8208380

如果看到的数字太大(按kb显示),可以添加参数-m,贼会按mb显示数值

[app@root ~]$ free -m

             total       used       free     shared  buffers     cached

Mem:          7873       7553        319          4        222       5924

-/+ buffers/cache:       1406       6466

Swap:         8015          0       8015

同理可以添加-g参数,结果显示gb数值

[app@root ~]$ free -g

             total       used       free     shared    buffers     cached

Mem:             7          7          0          0          0          5

-/+ buffers/cache:          1          6

Swap:            7          0          7

这里出现了一些名词,有些是我不知道的,我专门去查了一下它们所代表的含义。total:表示物理内存总量,used:表示已经使用的内存大小,free:表示空闲的内存空间大小,也就是没有被分配的内存空间  shared:表示共享内存  buffers:系统分配但未被使用的buffers 数量  cached:表示cache的大小  同样是做为缓存,buffers和cache又有啥区别呢?    于是又查了些资料,发现buffers实际应该是叫“缓冲”,其英文解释是:A buffer is something that has yet to be “written” to disk.就是说,buffers是将要写入硬盘中的数据缓存。而cache的英文解释:A cache is something that has been “read” from the disk and stored for later use.就是说,cache是从硬盘或者存储设备读进计算机后缓存在内存中的数据。想起看《计算机组成原理》的时候,有看到因特尔的cpu与内存之间有cache,这之间好像有什么区别的样子。继续查资料,发现了page cache 和 buffer cache。简单说来,page cache用来缓存文件数据,buffer cache用来缓存磁盘数据。在有文件系统的情况下,对文件操作,那么数据会缓存到page cache,如果直接采用dd等工具对磁盘进行读写,那么数据会缓存到buffer cache。对于cache和buffer,cached是cpu与内存间的,buffer是内存与磁盘间的,都是为了解决速度不对等的问题。在free中,buffer 是buffer cache的内存,是块设备的读写缓冲区;cache是page cache的内存, 文件系统的cache。关于buffer与chche,这里就不多说了,最后的链接5里讲得挺清楚了。这里还有一个名词,Swap,即虚拟内存。当物理内存不够用的时候,就要释放掉一部分空间,以供当前运行程序使用。这些被释放掉的内存的数据就被临时保存在虚拟内存中。但是,并非所有的数据都全被保存,只有那些使用malloc或new生成的对象,他们在文件中并没有相应的“储备”文件,被称为匿名内存数据,需要临时地存进Swap。故Swap又称匿名数据交换空间

参考:Linux下查看内存的使用情况

2.查看磁盘使用情况

df:列出文件系统的整体磁盘使用量;

du:评估文件系统的磁盘使用量(常用于评估目录所占容量)

[root@root app]# df -h

Filesystem            Size  Used Avail Use% Mounted on

/dev/mapper/vg_root-lv_root

                       50G  4.3G   43G  10% /

tmpfs                 3.9G  228K  3.9G   1% /dev/shm

/dev/sda1             477M   34M  419M   8% /boot

/dev/mapper/vg_root-lv_home

                      927G   47G  833G   6% /home

df参数: 

-a:列出所有的文件系统,包括系统特有的/proc等文件系统 

-k:以KB的容量显示各文件系统 

-m:以MB的容量显示各文件系统 

-h:以人们较易阅读的GB,MB,KB等格式自行显示 

-H:以M=1000K替代M=1024K的进位方式 

-T:连同该分区的文件系统名称(例如ext3)也列出 

-i:不用硬盘容量,而以inode的数量来显示

3.在Linux下查看操作系统和物理机CPU信息

[root@root app]# uname -a     // 查看系统信息

Linux root 2.6.32-504.el6.x86_64 #1 SMP Wed Oct 15 04:27:16 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

[root@root app]# cat /etc/issue  // 查看操作系统版本

CentOS release 6.6 (Final)

Kernel \r on an \m

[root@root app]# cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l //物理机的cpu个数

2

[root@root app]# cat /proc/cpuinfo| grep "cpu cores"| uniq //查看CPU的核数

cpu cores       : 2

 

[root@root app]# cat /proc/cpuinfo| grep "processor"| wc -l //查看逻辑CPU的个数

4

 

[root@root app]# cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c //查看CPU型号

4  Intel(R) Xeon(R) CPU E7- 4807  @ 1.87GHz

4.查看当前目录下文件的修改时间

使用三个命令:

ls -lc 列出所有文件的 ctime (最后更改时间)

ls -lu 列出所有文件的 atime(最后存取时间)

ls -l 列出所有文件的 mtime (最后修改时间)

使用示例:

dev09@dev80:~/soft/apache-ant-1.8.2$ ls -l

总用量 360

drwxrwxr-x 2 dev09 dev09   4096 Jun 24  2021 bin

drwxrwxr-x 9 dev09 dev09   4096 Jun 24  2021 docs

drwxrwxr-x 3 dev09 dev09   4096 Jun 24  2021 etc

-rw-rw-r-- 1 dev09 dev09  11597 Mar  8  2021 fetch.xml

-rw-rw-r-- 1 dev09 dev09   4445 Mar  8  2021 get-m2.xml

-rw-rw-r-- 1 dev09 dev09    128 Mar  8  2021 INSTALL

在这里会显示总用量,以及每个文件或者文件夹的信息。-rw-rw-r– 1表示的是权限,这里总共是10个字符,分别代表的含义如下:-10个字符确定不同用户能对文件干什么-第一个字符代表文件(-)、目录(d),链接(l)-其余字符每3个一组(rwx),读(r)、写(w)、执行(x)-第一组rwx:文件所有者的权限是读、写和执行- 第二组rw-:与文件所有者同一组的用户的权限是读、写但不能执行- 第三组r–:不与文件所有者同组的其他用户的权限是读不能写和执行。

dev09表示的是创建和修改的用户名,接着是大小,后面是时间,最后是文件名。如果想看具体的文件名或者文件夹的修改时间怎么办?可以在后面添加文件名参数,比如:

dev09@dev80:~/soft/apache-ant-1.8.2$ ls -l fetch.xml

-rw-rw-r-- 1 dev09 dev09 11597 Mar  8  2021 fetch.xml

这里显示的是fetch.xml文件的最后修改时间。另外,如果要查看当前文件夹的所有文件及其信息,可以使用ll命令,这是在JDK目录下运行ll的结果:

dev09@dev80:~/jdk/jdk1.7.0_25$ ll

总用量 19732

drwxr-xr-x 8 dev09 dev09     4096 Jun  6  2021 ./

drwxrwxr-x 4 dev09 dev09     4096 Jun 19 20:20 ../

drwxr-xr-x 2 dev09 dev09     4096 Jun  6  2021 bin/

-r--r--r-- 1 dev09 dev09     3339 Jun  6  2021 COPYRIGHT

drwxr-xr-x 4 dev09 dev09     4096 Jun  6  2021 db/

drwxr-xr-x 3 dev09 dev09     4096 Jun  6  2021 include/

drwxr-xr-x 5 dev09 dev09     4096 Jun  6  2021 jre/

drwxr-xr-x 3 dev09 dev09     4096 Jun  6  2021 lib/

-r--r--r-- 1 dev09 dev09       40 Jun  6  2021 LICENSE

drwxr-xr-x 4 dev09 dev09     4096 Jun  6  2021 man/

-r--r--r-- 1 dev09 dev09      114 Jun  6  2021 README.html

-rw-r--r-- 1 dev09 dev09      444 Jun  6  2021 release

-rw-r--r-- 1 dev09 dev09 19852231 Jun  6  2021 src.zip

-rw-r--r-- 1 dev09 dev09   123324 Jun  6  2021 THIRDPARTYLICENSEREADME-JAVAFX.txt

-r--r--r-- 1 dev09 dev09   172252 Jun  6  2021 THIRDPARTYLICENSEREADME.txt

那ls和ll有什么区别呢。那就是ll的信息会更详细一些,而ls知识列出一个列表,ll能列出权限相关的内容,就和ls -l的功能有些相似了。

 


提交成功!非常感谢您的反馈,我们会继续努力做到更好!

这条文档是否有帮助解决问题?

非常抱歉未能帮助到您。为了给您提供更好的服务,我们很需要您进一步的反馈信息:

在文档使用中是否遇到以下问题: