linux检测?linux判断文件是否存在
linux硬盘检测健康状态
定期检查硬盘的健康状态是每个系统管理员必须要做的事情。说到硬盘的健康状态,这里就得先说一下S.M.A.R.T.了。
SMART是一种磁盘自我分析检测技术,早在90年代末就基本得到了普及
每一块硬盘(包括IDE、SCSI)在运行的时候,都会将自身的若干参数记录下来
这些参数包括型号、容量、温度、密度、扇区、寻道时间、传输、误码率等
硬盘运行了几千小时后,很多内在的物理参数都会发生变化
某一参数超过报警阈值,则说明硬盘接近损坏
此时硬盘依然在工作,如果用户不理睬这个报警继续使用
那么硬盘将变得非常不可靠,随时可能故障
SMART是和主板BIOS上相应功能配合的
要使用SMART,必须先进入到主板BIOS设置里边启动相关设置
一般从Pentium2级别起的主板,都支持SMART
BIOS启动以后,就是操作系统级别的事情了
很遗憾,Windows没有内置SMART相关工具(需要安装第三方工具软件)
好在Linux上很早就有了SMART支持了
如果把Linux装在VMware等虚拟机上,在系统启动时候可以看到有个服务启动报错:smartd
这个服务器就是smart的daemon进程(因为vmware虚拟机的硬盘不支持SMART,所以报错)
可以使用下面的命令来确认硬盘是否打开了SMART支持
复制代码
代码如下:
smartctl-i/dev/sda
正常情况下应该会得到下面这样的信息
复制代码
代码如下:
[root@localhost~]# smartctl-i/dev/sda
smartctl version 5.38 [i686-redhat-linux-gnu] Copyright(C) 2002-8 Bruce Allen
Home page is a href="
复制代码
代码如下:
=== START OF INFORMATION SECTION===
Model Family: Seagate Barracuda 7200.10 family
Device Model: ST3160815AS
Serial Number: 5RA6A1K9
Firmware Version: 4.AAB
User Capacity: 160,041,885,696 bytes
Device is: In smartctl database [for details use:-P show]
ATA Version is: 7
ATA Standard is: Exact ATA specification draft version not indicated
Local Time is: Sat Jul 7 17:18:02 2012 CST
SMART support is: Available– device has SMART capability.
在这里,如果看到SMART support is: Disabled,则表示SMART未启用
如果我们需要执行如下命令,启动SMART:
复制代码
代码如下:
smartctl–smart=on–offlineauto=on–saveauto=on/dev/sda
查看硬盘当前的健康状态使用如下命令
复制代码
代码如下:
[root@localhost~]# smartctl-H/dev/sda
smartctl version 5.38 [i686-redhat-linux-gnu] Copyright(C) 2002-8 Bruce Allen
Home page is a href="
复制代码
代码如下:
=== START OF READ SMART DATA SECTION===
SMART overall-health self-assessment test result: PASSED
请注意result后边的结果:PASSED,这表示硬盘健康状态良好
如果这里显示Failure,那么最好立刻给服务器更换硬盘。
执行如下命令可以看到详细的参数:
复制代码
代码如下:
[root@localhost~]# smartctl-A/dev/sda
smartctl version 5.38 [i686-redhat-linux-gnu] Copyright(C) 2002-8 Bruce Allen
Home page is a href="
复制代码
代码如下:
=== START OF READ SMART DATA SECTION===
SMART Attributes Data Structure revision number: 10
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
1 Raw_Read_Error_Rate 0x000f 100 253 006 Pre-fail Always– 0
3 Spin_Up_Time 0×0003 097 097 000 Pre-fail Always– 0
4 Start_Stop_Count 0×0032 100 100 020 Old_age Always– 818
5 Reallocated_Sector_Ct 0×0033 100 100 036 Pre-fail Always– 0
7 Seek_Error_Rate 0x000f 085 060 030 Pre-fail Always– 369003829
9 Power_On_Hours 0×0032 084 084 000 Old_age Always– 14527
10 Spin_Retry_Count 0×0013 100 100 097 Pre-fail Always– 0
12 Power_Cycle_Count 0×0032 100 100 020 Old_age Always– 817
187 Reported_Uncorrect 0×0032 100 100 000 Old_age Always– 0
189 High_Fly_Writes 0x003a 100 100 000 Old_age Always– 0
190 Airflow_Temperature_Cel 0×0022 052 046 045 Old_age Always– 48(Lifetime Min/Max 47/52)
194 Temperature_Celsius 0×0022 048 054 000 Old_age Always– 48(0 11 0 0)
195 Hardware_ECC_Recovered 0x001a 074 062 000 Old_age Always– 188295533
197 Current_Pending_Sector 0×0012 100 100 000 Old_age Always– 0
198 Offline_Uncorrectable 0×0010 100 100 000 Old_age Offline– 0
199 UDMA_CRC_Error_Count 0x003e 200 200 000 Old_age Always– 0
200 Multi_Zone_Error_Rate 0×0000 100 253 000 Old_age Offline– 0
202 TA_Increase_Count 0×0032 100 253 000 Old_age Always– 0
上边列出的参数表中可供进行技术分析和参考,使用下边的命令可以输出完整结果:
复制代码
代码如下:
smartctl-a/dev/sda
LinuxC代码快速检测IP是否连接linuxc代码
linux基本操作命令?
linux系统中操作指令大全有哪些呢?下面是具体介绍:
linux系统中操作指令有很多,最常用操作指令是:cd命令、cd命令、grep命令、find命令、cp命令、mv命令、rm命令、ps命令、kill命令、killall命令、file命令、tar命令、cat命令、chgrp命令、chown命令、chmod命令、pwd命令、vim命令、gcc命令、time命令。
1、cd命令
这是一个非常基本,用于切换当前目录,它的参数是要切换到的目录的路径,可以是绝对路径,也可以是相对路径。
2、ls命令
这是一个非常有用的查看文件与目录的命令。
3、grep命令
该命令常用于分析一行的信息,若当中有我们所需要的信息,就将该行显示出来,该命令通常与管道命令一起使用,用于对一些命令的输出进行筛选加工等等。
4、find命令
find是一个基于查找的功能非常强大的命令,相对而言,它的使用也相对较为复杂,参数也比较多。
5、cp命令
该命令用于复制文件,copy之意,它还可以把多个文件一次性地复制到一个目录下。
6、mv命令
该命令用于移动文件、目录或更名,move之意。
7、rm命令
该命令用于删除文件或目录,remove之间。
8、ps命令
该命令用于将某个时间点的进程运行情况选取下来并输出,process之意。
9、kill命令
该命令用于向某个工作(%jobnumber)或者是某个PID(数字)传送一个信号,它通常与ps和jobs命令一起使用。
10、killall命令
该命令用于向一个命令启动的进程发送一个信号。
11、file命令
该命令用于判断接在file命令后的文件的基本数据。
12、tar命令
该命令用于对文件进行打包,默认情况并不会压缩,如果指定了相应的参数,它还会调用相应的压缩程序(如gzip和bzip等)进行压缩和解压。
13、cat命令
该命令用于查看文本文件的内容,后接要查看的文件名,通常可用管道与more和less一起使用,从而可以一页页地查看数据。
14、chgrp命令
该命令用于改变文件所属用户组。
15、chown命令
该命令用于改变文件的所有者,与chgrp命令的使用方法相同,只是修改的文件属性不同。
16、chmod命令
该命令用于改变文件的权限。
pwd命令
功能:显示当前所在的工作目录的绝对路径。
18、vim命令
该命令主要用于文本编辑,它接一个或多个文件名作为参数,如果文件存在就打开,如果文件不存在就以该文件名创建一个文件。
19、gcc命令
对于一个用Linux开发C程序的人来说,这个命令就非常重要了,它用于把C语言的源程序文件,编译成可执行程序。
20、time命令
该命令用于测算一个命令(即程序)的执行时间。
linuxc都包含什么?
linux:库编辑器编译器都是分别安装的运用灵活windows:一般是集成开发环境,包含了上述东西c都有个标准库,那个是一样的,其他的就不一定一样了,linux下的库可以等你需要时再安装进系统,还有相关文档说明linux下有c++的其实linux下有个很强大的glibc库,他将c重新封装,直接可以用c进行面向对象的开发
c和linux的区别?
C和LinuxC基本上没有什么区别。
我们意义上的普通C,是标准ANSIC,是任何C编译器都应该遵循的C语言协议。
而LinuxC其实特指的是Linux上的GCC编译器,GCC编译器完全遵循ANSIC,并在此基础上又做了一些扩展,例如:
1)对ASM语法的支持
2)编译器支持内联函数
3)支持__attribute__机制
linux下C开发用什么开发工具?
linux一般不用集成开发黄静,像windows下的vsdevc++等集成开发工具
相对于windows,linux编辑器编译器等是独立的,所以可以先用vim编辑器写出cc++java等代码然后通过gccg++分别对c文件和cpp文件进行编译,这样就可以编译成可执行文件,或者动态链接库等等
所以linux开发大多数是用命令来执行操作的,也就是linux都是命令
什么是C语言和linux?
linux的是一操作系统,其本质是一系列的任务调度,内存管理,虚拟文件系统等算法的集合.它告诉你的计算机怎么充分利用你机器上的资源.linux内核的源代码是用C语言写的(源代码也见于pub.kernel.org).C语言是一门编程语言,其本质是把一些C语言关键词描述的算法转换为计算机可以直接运行的二进制机器语言的整体.想把C语言写成的代码编译成二进制机器语言要使用C编译器(Ccompiler),C编译器是一个软件,它可以把C语言写成的代码转换成机器可以执行的二进制文件.世界上有多款这样的软件,如gcc.linux内核及linux环境下可用的所有软件都是用gcc编译的.简而言之,linux是一个操作系统,是一个各种应用程序工作的环境.linux的内核,即这个操作系统的核心代码,是用c语言编写,并用gcc编译的.linux内核是一套描述系统工作方式的算法,C语言是其实现途径.C语言也可以用来编译其它的代码.
如何使用Linux命令行检测DVD刻录机的名字和读写速度
提问:我想要知道我的DVD刻录机的名字和在烧录时的速度。该使用什么Linux命令行工具来连测DVD刻录机的设备名和速度?
如今大多数消费PC和笔记本电脑都配备了DVD刻录机。在Linux中,光盘驱动器,如CD/DVD驱动器的名字是在引导时内核基于udev规则来命名的。有几种方法来检测刻录机的设备名称和它的写入速度。
方法一
找出与DVD刻录机相关的设备名称最简单的方法是使用dmesg命令行工具,它打印出内核的消息缓冲区。在dmesg的输出中,寻找一个安装好的DVD刻录机:
$ dmesg| egrep-i--color'dvd|cd/rw|writer'
上述命令的输出会告诉你你的Linux系统上是否检测到了DVD刻录机以及它被分配的名字。本例中,DVD刻录机的设备名称为“/dev/sr0”。虽然此方法不会告诉你的写入速度
方法二
第二个获得你DVD刻录机的信息是使用lsscsi命令,它只是列出了所有可用的SCSI设备。
在基于Debian Linux上安装 lsscsi:
$ sudo apt-get install lsscsi
在基于Red Hat Linux上安装:
$ sudo yum install lsscsi
如果成功检测到,lsscsi命令的输出会告诉你DVD刻录机的名称:
$ lsscsi
这也不会告诉你刻录机更多的细节,比如写入速度。
方法三
第三种获取有关你DVD刻录机的信息是参考/proc/sys/dev/cdrom/info。
$ cat/proc/sys/dev/cdrom/info
CD-ROM information, Id: cdrom.c 3.20 2003/12/17drive name: sr0drive speed: 24drive# of slots: 1Can close tray: 1Can open tray: 1Can lock tray: 1Can change speed: 1Can select disk: 0Can read multisession: 1Can read MCN: 1Reports media changed: 1Can play audio: 1Can write CD-R: 1Can write CD-RW: 1Can read DVD: 1Can write DVD-R: 1Can write DVD-RAM: 1Can read MRW: 1Can write MRW: 1Can write RAM: 1
本例中,输出会告诉你DVD刻录机(/dev/sr0)与x24的CD刻录速度(即24x153.6 Kbps)兼容,且相当于x3的DVD写入速度(即3x1385 KBps的)兼容。这里的写入速度是最大可能的速度,而实际的写入速度当然取决于使用的介质(例如:DVD-RW、DVD+ RW、DVD-RAM等)。
方法四
另一种方法是使用一种称为wodim命令行程序。在大多数的Linux发行版,这个工具以及它的软链接cdrecord都是默认安装的。
# wodim-prcap(or cdrecord-prcap)
如果不带任何参数调用时,wodim命令会自动检测到DVD刻录机,并显示出详细的功能以及它的最大读取/写入速度。例如,你可以找出刻录机支持哪些媒体(如CD-R、CD-RW、DVD-RW、DVD-ROM、DVD-R、DVD-RAM、音频CD),以及有哪些如何读/写速度。上面的例子中输出显示,DVD刻录机对于CD拥有X24最大写入速度,对于DVD有X3的最大写入速度。
需要注意的是wodim命令报告的写入速度会随您插入到DVD刻录机的CD/DVD介质的改变而改变,这反映了媒体规范。
方法五
还有一个方法来检查DVD刻录机的写入速度的是一个名为dvd+rw-mediainfo的工具,这是dvd+rw工具包(DVD+-RW/R媒体工具链)的一部分。
在基于Debian发行版上安装 dvd+rw-tools
$ sudo apt-get install dvd+rw-tools
在基于Red Hat发行版上安装 dvd+rw-tools:
$ sudo yum install dvd+rw-tools
不像其他工具, dvd+rw-mediainfo命令不会产生任何输出,除非你插入DVD光盘到刻录机中。所以,当你插入DVD光盘后,运行以下的命令。用你自己的设备名称替换“/dev/sr0”。
$ sudo dvd+rw-mediainfo/dev/sr0
dvd+rw-mediainfo工具会探测插入的媒体(本例中是“DVD-R”),以找出对媒体的实际写入速度。谢谢阅读,希望能帮到大家,请继续关注,我们会努力分享更多优秀的文章。