Linux常用命令4

31.工作用遇到的nginx

     平时都是RPM包装的nignx。今天在操作公司的nginx时,是编译安装的而我不太熟。登上去发现service nginx status 没有。也就是 /etc/init.d/目录下没有nginx。好,那应该有相应的nginx命令来气启停服务吧。嗯,事实证明,确实有。也找到了。尴尬的是,使用命令是,要带路径。不带路径不可以。

    Linux常用命令4   

    Linux常用命令4   

    Linux常用命令4

好吧,这是一个难得的经验。现在真的缺的是经验啊。

32.删除文件后,磁盘空间没有被释放

     处理线上磁盘满问题,无意中遇到一个问题。就是执行 rm -f 命令后,根分区的磁盘目录没有被释放出来。之后去网上查找资料哦,明白了原因。

      简单来讲,就是你想要删除的文件,还在被程序占用进行读取。

      在Linux或者Unix系统中,通过rm或者文件管理器删除文件,只是将它会从文件系统的目录结构上解除链接(unlink),也就是说只是删除了文件和系统目录结构的链接;如果文件在删除时是被打开的(有一个进程正在使用该文件,文件被进程锁定或者有进程一直在向这个文件写数据等)状态,那么进程将仍然可以读取该文件,也就是说没有删除掉文件在读取的状态,所以磁盘空间也就会一直被占用。

一个文件在文件系统中的存放分为两个部分:数据部分和指针部分,指针位于文件系统的meta-data中,数据被删除后,这个指针就从meta-data中清除了,而数据部分存储在磁盘中,数据对应的指针从meta-data中清除后,文件数据部分占用的空间就可以被覆盖并写入新的内容,之所以出现删除文件后,空间还没释放,就是因为有进程还在一直向这个文件写入内容,导致虽然删除了文件,但文件对应的指针部分由于进程锁定,并未从meta-data中清除,而由于指针并未被删除,那么系统内核就认为文件并未被删除,因此通过df命令查询空间并未释放也就不足为奇了。

解决措施有以下几种:

1)通过lsof|grep deleted命令获取到已经被删除但是仍然被应用程序占用的文件列表,然后kill掉还在占用所删除文件的进程。需要注意的是:如果有很多进程都在使用所删除文件,那么采用第1种方式kill进程就有点麻烦了,而且风险也比较大。因为kill进程是通过截断proc文件系统中的文件可以强制要求系统回收分配给正在使用的的文件。必须要确定不会对运行中的进程造成影响时才能使用,应用程序对这种方式支持的并不好,当一个正在使用的文件被截断可能会引发不可预知的问题。

2)或停掉或重启使用这个所删除文件的应用,让OS自动回收磁盘空间。

3)也可以重启操作系统,不过这并不是最好的方法

4)对待这种进程不停对文件写日志的操作,要释放文件占用的磁盘空间,最好的方法是在线清空这个文件。通过这种方法,磁盘空间不但可以马上释放,也可保障进程继续向文件写入日志。

在线清空文件(比如/home/wangshibo.log)的方式:

a)# echo" " > /home/wangshibo.log

b)# cat/dev/null > /home/wangshibo.log

c)# >/home/wangshibo.log

记得上次遇到,好像是把服务重启了。然后好了。

33.服务器配置文件中的地址 0.0.0.0 地址的意义

就是表示所有的IP地址.

比如一个tomcat配置文件中,如果监听的IP地址设置了0.0.0.0 就表示你的这个tomcat服务器监听在本机的所有IP地址上,通过任何一个IP地址都可以访问到.

如果本地的IP地址有 192.168.1.10, 172.16.2.10,那么访问你这个tomcat就可以 http://192.168.1.10:8080/http://172.16.2.10:8080/ 都可以访问

34.dhcpd.conf文件中的几个参数

     办公区的网络搭建完成,需要为内网搭建dhcp服务器。因为有是那个网段,所以要有三个dhcp服务器。那么需要什么呢,三个网卡,不同的网卡对应不同的dhcp。也可以做子网卡,这里不介绍。那么三个dhcp怎么配呢?只要在dhcpd.conf文件中依次写三个就可以了。下面介绍几个参数。

      range:ip地址范围

      optiondomain-name-servers 114.114.114.114, 8.8.8.8.; //客户端得到的地址DNS服务器地址

      option routes172.16.33.254    //客户端得到的网关

      default-lease-time43200 ; 默认ip租期,以秒为单位。也就是客户端分配到ip后的有效使用时间。

      max-lease-time43200;    //最大租期,这个值要比上面的大,否则最后会以这个为准

          Linux常用命令4

35.ll命令看到的文件最前面字段的文件属性的含义

d:表示是一个目录(directory),事实上在ext2fs中,目录是一个特殊的文件。

-:表示这是一个普通的文件。

l: 表示这是一个符号链接(symbollink)文件,实际上它指向另一个文件。

b、c:分别表示区块(block)设备和字符(character)设备,是特殊类型的文件。

s、p:这些文件关系到系统的数据结构和管道(pipe),通常很少见到。

         Linux常用命令4

36.网卡配置文件中的DNS1字段

在网卡的配置文件 ens-160中,可以写这样一个字段

DNS1=114.114.114.114

DNS2=8.8.8.8

上面两条的含义是指定DNS服务器,并且其信息会同步到/etc/resolv.conf文件中。

37.Linux中卸载软件包

rpm  -e package   // 卸载软件,如果因为存在依赖关系,就会停止卸载

rpm -e package--nodeps  //忽略依赖关系, 会导致其他软件包不可用

也可以用 yumremove 或者 yum erase,不过其具体区别还不清楚。

38.软链接创建与删除

 创建软链接,前面是源目录,后面是新的目录

ln -s /data/repo_mirror/ /data/cobbler/repo_mirror/

删除软链接,切记不要带 / ,否则是删除目录内容,源目录就会被删除掉

rm  -f  /data/cobbler/repo_mirror

创建硬链接,目录不能有硬链接,终于明白生产环节中大多数都是软链接了。

ln  -d  existfile newfile

删除硬链接,和删除普通文件一样

rm  -rf   newfile

39.Linus强制踢出用户

这里为了做实验,自己本机连了两个终端与服务器。首先用w命令,看一下当前有谁在连接。

        Linux常用命令4

之后我使用命令,把pts/0 踢掉。

# pkill -kill -tpts/0

命令执行完后,会看到另一个终端以已经断开了。

并且这时候再看,只剩下一个了。

下面解释一下上面各信息的参数。

USER:显示登陆用户帐号名。用户重复登陆,该帐号也会重复出现。

TTY:用户登陆所用的终端。

FROM:显示用户在何处登陆系统。

[email protected]:是LOGIN AT的意思,表示登陆进入系统的时间。

IDLE:用户空闲时间,从用户上一次任务结束后,开会记时

JCPU:一终端代号来区分,表示在摸段时间内,所有与该终端相关的进程任务所耗费的CPU时间。

PCPU:指WHAT域的任务执行后耗费的CPU时间。

WHAT:表示当前执行的任务。

40.Windows Server 允许被外部ping

一次在装WindowsServer 2012时,发现Windows Server 2012不允许被外部ping。查找资料后可以通过命令行来设置。

netsh firewall seticmpsetting 8   //允许被外部ping

netsh firewall set icmpsetting8 disable    //不允许被外部ping