1.vim查看和编辑hosts虚拟域名配置,使用文本式打开文件:

sudo vim /etc/hosts

vim是vi发展出来的老式文本编辑器,vim对代码补完、编译、错误跳转等对编程做了完善,更加方便。

如果没有加sudo,可以单独切换到root账户:

su root 或 sudo su

参照:https://www.cnblogs.com/carey9420/p/11991198.html

2.cat查看文件信息,直接将文本输出到客户端;

sudo cat /etc/hosts

输出后如果屏幕信息太多,看完可以使用 reset清屏命令

tac  从最后一行开始显示, tac 是 cat 的倒着写;

tac test.sh

nl   显示的时候,顺道输出行号;

more 一页一页的显示文件内容,less 与 more 类似,但是比 more 更好的是,他可以往前翻页; more和less结合空格键翻页使用

head 只看头几行;

tail 只看尾巴几行。

3.ps 查看进程,查看nginx相关进程是否启动

ps -ef | grep nginx

查看进程后,如果想杀死指定端口号的进程:

kill -USR2 4593 【或者 kill -9 6893 端口号】

4.ps 查看nginx的服务命令数:

ps -aux |grep nginx |wc -l

5.top 查看并监控httpd的服务列表:

top |grep httpd

6.rpm 套件管理器,查看是否有安装过mysql套件:

rpm -qa | grep mysql* 或 rpm -qa|grep -i mysql

7.ln 添加软连接,文件或文件夹映射:

ln -s /workspace/abc/nginx/dev/abc.conf abc.conf

8.chown 设置文件夹的操作权限所有者,-R参数即文件夹里面的所有文件和目录

sudo chown -R www dev_dir 给文件夹dev_dir设置为www权限所有者

chown www:www /var/lib/nginx 赋予www用户/用户组对nginx文件夹的操作权限

9.文件格式转换与修正:

1>. dos2unix 文件名 转换文件Unix格式,当nginx配置 sendfile设置为on时,某些js文件中会出现奇怪的字符或者乱码,应该设置为off

可以使用 dos2unix 命令来转换文件格式为Unix格式,如下:

sudo dos2unix /var/www/dir_name/file_name

参考:http://www.cnblogs.com/sanshuiqing/p/4512337.html
(类似方法:sed -e ‘s/.$//’ issue2.js > issue.js 转换文件Unix格式;文件行尾都有^M,使用sed命令也可删除:# sed -i ‘s/\r//g’ 文件名  )

2>.查看文件行尾结束符(换行符):cat -A 要查看的文件路径  或者 使用vim打开你要查看的文件,在末行模式输入 :set list

有时候文件每一行的换行符为^M(代码都连接到一起,无换行格式),就可以使用【1>】的文件格式转换解决。

查看文件行号:到vi或者vim编辑器的末行模式下,输入 set number 或者 set nu,按下回车就显示行号了。

10.Linux的image-filter图片处理插件,图片剪切压缩等,搜索yum上面相关安装包

yum search image-filter|grep nginx

11.systemctl系统命令:

systemctl status nginx.service 查看nginx服务的状态
systemctl stop nginx 停止nginx,start、restart
systemctl enable service 将服务添加到开机启动进程里面(反之disable)

系统服务存放位置:/usr/lib/systemd/system 参考 https://blog.csdn.net/y505772146/article/details/82560537

12.系统或项目日志监控,实时打印log新增信息:

tail -f access.log

查看文件最后10行

tail -n 10 文件名

13.检查mysql服务器配置:

chkconfig --list | grep mysqld

查看是否自动启动,如果不是则执行以下,过后重启系统后自动启动:

chkconfig mysqld on【systemctl enable mysqld】

14.服务器远程连接:

一、使用私钥(id_rsa私钥文件):

ssh -I /dev/blind-date/id_rsa root@127.0.0.1

使用账号密码登录远程连接:

➜  ~ ssh root@100.10.10.11
# 之后会出现需要输入password
➜  ~ your password
➜  ~ ok, link success !

15.文件夹/文件重命名

linux下重命名文件或文件夹的命令mv既可以重命名,又可以移动文件或文件夹.

例子:将目录A重命名为B

mv A B

例子:将/a目录移动到/b下,并重命名为c

mv /a /b/c

16.查看和修改自定文件夹的权限及用户组

服务器默认的PHP的session文件夹是root权限和用户组(/var/lib/php/session)

所以先查看一下:

[root@VM_0_10_centos php]# ll
total 8
drwxrwx--- 2 root root 4096 May 14 02:17 session
drwxrwx--- 2 root root 4096 May 14 02:17 wsdlcache

接着修改权限和用户组,然后在查看就正确了:

[root@VM_0_10_centos php]# chown -R nginx.nginx session/
[root@VM_0_10_centos php]# ll
total 8
drwxrwx--- 2 nginx nginx 4096 May 14 02:17 session
drwxrwx--- 2 root  root  4096 May 14 02:17 wsdlcache

17.查看文件系统及使用空间的情况

df -h

文件系统                 容量  已用  可用 已用% 挂载点
/dev/mapper/centos-root  8.3G  4.6G  3.8G   55% /
devtmpfs                 296M     0  296M    0% /dev
tmpfs                    307M     0  307M    0% /dev/shm
tmpfs                    307M  4.5M  303M    2% /run
tmpfs                    307M     0  307M    0% /sys/fs/cgroup
/dev/sda1                497M  109M  389M   22% /boot
vagrant                  113G   99G   15G   88% /vagrant
workspace                113G   99G   15G   88% /workspace
tmpfs                     62M     0   62M    0% /run/user/1000

18.du只显示目录所占用磁盘空间的大小,而不显示其下子目录和文件占用磁盘空间的信息,大小以K为单位

du -s

2830580	.
#检查磁盘空间使用量
[root@iZ94zz3wqciZ ~]# du -a
4	./app.sh
4	./test
4	./php.sh
4	./test2
4	./test3
4	./test4
4	./fun.sh
4	./fun2.sh
4	./echo
352	.
df -h
#列出文件系统的整体磁盘使用量
[root@iZ94zz3wqciZ ~]# df -h
Filesystem     1K-blocks     Used Available Use% Mounted on  
/dev/xvda1      20641404 14778400   4814480  76% /  
tmpfs             509300        0    509300   0% /dev/shm

19.top检测CPU系统状况

top

top - 11:46:11 up 1 day, 12:44,  1 user,  load average: 0.01, 0.09, 0.08
Tasks: 127 total,   1 running, 125 sleeping,   1 stopped,   0 zombie
%Cpu(s):  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :   628584 total,    75468 free,   342708 used,   210408 buff/cache
KiB Swap:  1023996 total,   883956 free,   140040 used.   136060 avail Mem

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
  924 redis     20   0  142952   4636    456 S   0.3  0.7   3:13.16 redis-server
 1013 root      20   0  374644    520    432 S   0.3  0.1   0:38.59 VBoxService
    1 root      20   0  125360   2016    912 S   0.0  0.3   0:09.96 systemd
    2 root      20   0       0      0      0 S   0.0  0.0   0:00.01 kthreadd
    3 root      20   0       0      0      0 S   0.0  0.0   0:00.38 ksoftirqd/0

20.开放服务器端口号,如开放8888端口号

iptables -I INPUT 4 -p tcp -m state --state NEW -m tcp --dport 8888 -j ACCEPT
service iptables save

21.查看和修改系统时间:

1. 查看时间和日期
命令 : "date"

2.设置时间和日期
例如:将系统日期设定成2009年11月3日的命令

命令 : "date -s 11/03/2009"

将系统时间设定成下午5点55分55秒的命令

命令 : "date -s 17:55:55"

3. 将当前时间和日期写入BIOS,避免重启后失效
命令 : "hwclock -w"

注:

date
不加参数可以直接看到当前日期时间

cal
不加参数可以直接看到本月月历

22.终端命令行直接执行PHP代码:

# -r 命令行使用phpinfo()
php -r 'phpinfo();

# -a 交互模式运行PHP
# php -a
Interactive shell
php > echo 2+3;
5

# -e 将PHP脚本作为shell脚本来运行
echo -e '#!/usr/bin/php\n<?php phpinfo(); ?>' > phpscript.php

定位PHP配置文件的路径:

#定位到php.ini的绝对路径
php -i |grep php.ini

#输出以下:
Configuration File (php.ini) Path => /etc/opt/remi/php73
Loaded Configuration File => /etc/opt/remi/php73/php.ini

#修改完后重启php-fpm
systemctl start php71-php-fpm

#查看当前fastcgi进程个数,如果个数接近conf里配置的上限,就需要调高进程数
netstat -napo |grep "php-fpm" | wc -l

23.查看PHP CLI已经安装的扩展:

~# php -m
[PHP Modules]
libevent
posix
pcntl
...

如果某个扩展没安装,像Excel导出需要zip扩展,执行以下命令即可:

yum install php71-php-pecl-zip.x86_64
systemctl restart php71-php-fpm

24.查看开机启动的进程,把不必要启动进程关掉:

# chkconfig --list |grep on

25.查看硬盘分区情况

 
#用于磁盘分区
[root@iZ94zz3wqciZ ~]# fdisk -l  
  
Disk /dev/xvda: 21.5 GB, 21474836480 bytes  
255 heads, 63 sectors/track, 2610 cylinders  
Units = cylinders of 16065 * 512 = 8225280 bytes  
Sector size (logical/physical): 512 bytes / 512 bytes  
I/O size (minimum/optimal): 512 bytes / 512 bytes  
Disk identifier: 0x00078f9c  
  
    Device Boot      Start         End      Blocks   Id  System  
/dev/xvda1   *           1        2611    20970496   83  Linux     //id是83,非lvm  
  
Disk /dev/xvdb: 23.6 GB, 23622320128 bytes           
255 heads, 56 sectors/track, 3230 cylinders  
Units = cylinders of 14280 * 512 = 7311360 bytes  
Sector size (logical/physical): 512 bytes / 512 bytes  
I/O size (minimum/optimal): 512 bytes / 512 bytes  
Disk identifier: 0x27cc1f5a

挂载硬盘扩容方法:http://blog.51yip.com/linux/1778.html

26.系统全局查找指定名称的文件(即文件名查找):

在/目录下查找文件名包含php的文件

find / -name *php*

在当前工作目录中查找名为my.php的所有PHP文件

find -type f -name my.php

在/目录中查找名称为share的所有目录

find / -type d -name share

查找权限设置为644的所有SGID位文件

find / -pem 2644

27.创建文件:

touch 文件名
touch a.cpp

复制文件:

#将文件复制到指定目录下(无询问)

cp 文件名 目录
cp /var/www/a.cpp /usr/(a.cpp)

#将文件复制到指定目录下(有询问)

cp -i 文件名 目录

将文件复制到当前目录下
cp 文件名 .

28.删除文件:

#删除下级目录及文件
rm -rf 目录名

#删除文件
rm -f 文件名

29.修改文件权限:

#修改为最高权限
chmod 777 文件名

#给文件加上执行权限,因为下载和上传的文件默认没有执行权限,需要添加执行权限
chmod +x

#给用户加上执行权限
chmod u+x 文件名

#给用户减去执行权限
chmod u-x 文件名

将vagrant文件夹所属用户组及用户修改为www
chown -R www:www /home/vagrant

详细查看【Linux文件系统上的特殊权限】:https://blog.51cto.com/12050214/1923884

30.输入输出:

#将ls -la命令生成的结果输出到text文件中,同时输出该文件夹大小(用量)
ls -la > text

总用量 2696

#输入重定向
wc < text
将text文本中的内容输入,wc命令是输出文本的行数、单词数、字节数。

31.在Linux环境下,经常需要查看某个文件目录下的文件数有多少,除了进入当前目录下查看,还可以使用命令:

ls -l | grep "^-" | wc -l  (不包含子目录)

// 输出结果:396


// 这里是查看当前目录下的文件列表,也可以指定某一个目录

ls -l my_path/ | grep "^-" | wc -l (不包含子目录)

同样功能的命令行find

// 查看当前目录下的文件和子文件夹的个数指令

find ./ -type f | wc -l(包含子目录)

// 输出结果:23

// 同样这里是查看当前目录下的文件列表,也可以指定某一个目录

find ./my_path/ -type f | wc -l(包含子目录)

find ./ -maxdepth 1 -type f | wc -l(只包含一级目录,maxdepth指定层级)

32.查看套件安装目录,例如查看nginx安装后的目录:

whereis nginx
#nginx: /usr/sbin/nginx /usr/lib64/nginx /etc/nginx /usr/share/nginx /usr/share/man/man8/nginx.8.gz /usr/share/man/man3/nginx.3pm.gz

33.查看本机IP地址信息:

ifconfig | grep "inet " | grep -v 127.0.0.1

输出如下(192.168.124.71 即为本机的内网IP):

inet 192.168.124.71 netmask 0xffffff00 broadcast 192.168.124.255
inet 10.10.10.1 netmask 0xffffff00 broadcast 10.10.10.255

34.查看端口号列表或指定某个端口号使用情况(lsof 不跟随参数则列出所有端口号):

lsof -i:8080

35.有时候Linux服务器开启久了,时间出现了偏差,偏移几分钟或者长,这样就很麻烦,经常要手动去设置、同步:

1、查看当前服务器时间
date -R

2、安装ntpdate服务
yum install ntpdate

3、直接用域名同步中国上海时间 是阿里云的服务器
ntpdate ntp1.aliyun.com
或者使用 ntpdate 210.72.145.44 这个是国家授时中心的IP

如果同步出现这个错误:
the NTP socket is in use, exiting //ntp服务器在使用中
使用 service ntpd stop 命令停止 然后再同步就可以了

同步时间的地址
server 131.107.1.10
server time.asia.apple.com

如果以上方法都不行,就用 date -s 2019-02-20 16:00:00 命令来设置时间

4.使用CRON定时器来执行自动同步
5.或者使用系统服务timedatectl