Linux常用命令(一)

一、初始常用命令

1、主机提示符

[用户名@主机名 当前目录名 ]提示符
[root@localhost ~ ]#  #为 root用户提示符
[niuxitong@localhost ~]$  $为普通用户提示符

2、重启、关键命令

# shutdown -r  now 立刻重启  (最安全)
# reboot  立刻重启
# init 6  重启 
先执行 # sync  将数据同步到硬盘中 (关机前使用)
# shutdown -h now 立刻关机 (最安全)    
# shutdown -h 20 系统在20分钟后关机
# shutdown -h 20:00 晚上8点关机
(一般重启前都会用who 看看谁在线 或者 ps -aux 看先哪些进程在使用)

3、修改主机名

(1)临时生效
# hostname  localhost   
断开再次连接

此方法只能临时生效, 服务器重启失效
(2)永久生效
# hostnamectl set-hostname localhost 
# reboot  重启
其实此命令也是把配置文件/etc/hostname里的内容修改了

(3)手工修改文件/etc/hostname 
# vim /etc/hostname   把里面的默认主机名修改成你自己的 如localhost 
# reboot  重启

4、查看服务器信息

(1)查看内核版本  # uname -r 
(2)查看centos版本号 # cat /etc/centos-release
(3)查看系统位数(32位or64位) #getconf LONG_BIT
(4)查看与设置日期名

# date		-- 显示时间
# date	-s “2017-05-01”		-- 修改时间为 2017-05-01 00:00:00
# date  -s “2017-05-01 08:20:00” -- 修改时间为 2017-05-01 08:20:00
# date -R      显示时区
# clock -w   // 将日期写入CMOS,永久保存,避免重启后失效

5、常用网络命令

(1)查看所有端口号 服务 # netstat  -lnpt

# netstat -lnpt | grep nginx
# netstat -lnpt | grep mysql
# netstat -lnpt | grep php-fpm

二、文件及目录操作命令

1、目录操作命令

1、pwd     -- 显示当前目录名称
2、cd  -- 切换目录(change directory
# cd  - 返回到上次进来的目录
3、ls  -- 打印目录下的内容(list

语法: ls [选项 [-a l d]] [指定目录]
-a 显示所有文件, 包括隐藏文件
-l 长数据串列出,包含文件的属性与权限等数据
 -d  只列出目录属性不显示其下的内容
-R  :递归显示目录下所有的内容和子目录内容

# ls 列出当前目录下的内容
# ls |grep redis-3.0.7.tar.gz  当列表内容过多时,此方法用于搜索指定文件是否存在
# ls  -l  /test/  -- 列出test目录下的内容的属性
# ls  -dl  testdir   列出testdir目录的属性而不显示其下的内容的属性
drwxr-xr-x 5 root root 4096 4月  16 16:01 testdir 

补充知识:文件或目录的属性

drwxr-xr-x   2 root root     4096 07-04 00:17 bin
-rw-r--r--   1 root root 84733045 07-04 16:43 xampp-linux.gz
依次表示:
类型、权限,硬链接个数,所有者,所属组,文件大小,时间,文件名
drwxr-xr-x 共10个字符
第一个字符d 代表文件类型,常见的三种文件类型:
d -- 目录(directory), - (一个横杠) --表示是二进制文件, l -- 软链接文件(link)
后面九个rwxr-xr-x可以分成三部分,表示三部分用户权限:
r -- 表示read 可读权限 值为4
w -- 表示write 可写权限 值为2
x -- 表示execute 可执行权限 值为1 

其中:
rwx 表示所有者拥有rwx 可读可写可执行三种权限
r-x 表示所属组拥有r-x 可读可执行权限(没有的用-表示)
r-x 其他人 

4、mkdir  -- 创建新目录(新建文件夹)(make directories)
# mkdir -p /test/test       --递归创建多个目录

5、touch   -- 创建新文件(新建文件)
# touch /test/newfile.txt
向文档里写入数据:(>> 向文件的最后一行写入内容, > 覆盖文件的原内容)
# echo "再写入一段内容" >> /test/newfile  
# echo "这是覆盖的内容,原来内容没有了" > /test/newfile

6、cp -- 复制文件或目录(copy)
语法:cp [-r -p]  [原文件或目录] [目标文件或目录]
参数:-r 复制目录  -p 保留文件属性
# cp file1 file2 dir1 将文件file1 file2复制到目录dir1
# cp -r dirl dir2  将dir1连同里面的内容复制到目录dir2里
# cp dir1/* dir2    将dir1里的所有文件复制到dir2里
# cp –r dir1/*  dir2   将dir1 里所有的目录及文件拷贝到 dir2中

7、mv  -- 剪切移动文件、更名(move)
语法:mv  [-i -f] [源文件或目录][目标目录]
参数: -i 覆盖提示,-f 强制覆盖
# mv file1 file3  将文件file1更名为file3
# mv file2 dir2   将文件file2移动到目录dir2下
# mv -f file5 /test/ 将文件强行移动到test目录下,如果已经存在,就强行覆盖
# mv /www/newdir /test/newdir_xin  -- 移动的同时修改名称
# mv ./mydriA/*  ../../  把mydirA目录下的所有内容 移动到当前之前的两级目录上
# mv ./* ../../  把当前目录的所有内容移动到前两级目录上。

8、rm -- 删除文件或目录(remove)
语法:rm [-r f ] [文件或目录]
-r 删除目录
   -f 强制删除文档或目录。
# rm file3  删除文件file3
# rm -r dir1 删除目录dir1
# rm -f ./* 删除当前目录下的所有文件
# rm -rf ./* 删除当前目录下的所有文件和目录
在终端删除文件或目录时,会有一个询问的过程,然后输入y 同意删除 n 放弃删除,如果不想要此询问过程可以用 -f参数。

9、rmdir  -- 删除目录且只能删除空目录
# rmdir  emptydirname  删除空目录

10、cat    -- 显示文件内容  (tac 倒序显示内容)
语法:cat [-n] [文件名]
# cat /etc/issue
# cat -n /etc/services    //显示行号( -n 功能同vim中的 :set nu)

11、tac    -- 倒序显示文件内容
# cat /etc/passwd

12、more  -- 分页显示文件内容
语法:more [文件名]

(空格) 或 f 显示下一页

    (Enter键) 显示下一行

     q 或者 Q 退出

# more /etc/services

13、less -- 分页显示文件内容 可以向上翻页
# more /etc/services
 q 或者 Q 退出

14、head -- 查看文件的前几行
语法: head  [-n 具体数字] [文件名] 
# head –n 20 /etc/services   显示前20行

15、tail --查看文件的最后几行

语法:tail [-n 具体数字] [文件名]
-num 显示文件的最后num行
-f
动态显示文件内容
# tail –n 30 /etc/services

常用于实时监测系统日志文件的变化,如:
tail  -n -f    2020-05-01.log

16、ln -- 创建文件的链接文件(软和硬链接)(link)

语法:ln –s [源文件] [目标文件]
-s 创建软连接使用,后缀名任意,一般用.soft不加 -s 创建硬链接,后缀名任意,一般用.hard
 特别强调:ln只能创建文件的链接而不是目录的链接
创建文件 /etc/issue 文件的软链接,放置在根目录/下
# ln -s /etc/issue  /issue.soft
创建文件 /etc/issue 文件的硬链接,放置在根目录/下
# ln /etc/issue /issue.hard
ln testfile.txt  ../yinglianjie.hard   创建此硬链接到上级目录
说明:软连接就是windows下的快捷方式;硬链接类似于源文件的备份,两者有任一文件改动,另一个文件也随之改动,当源文件被删除时,不影响硬链接文件的访问

例: ls –al /dev/
lrwxrwxrwx   1 root root           3 4月  16 19:10 cdrom -> sr0  
lrwxrwxrwx   1 root root           3 4月  16 19:10 cdrw -> sr0
brw-rw----   1 root cdrom    11,   0 4月  16 19:10 sr0     
这里的 cdrom cdrw 都是 sr0的快捷方式 (sr0是设备文件如光驱)

软连接的特性:
(1)软链接的权限都是rwxrwxrwx 777
(2)没有文件大小,只是一个链接符号
(3)cdrom -> sr0  箭头指向原文件

硬链接特性:
-rw-r--r--   2 root root        10 4月  16 20:23 yinglianjie.hard
(1)等效于对文件的拷贝  cp –p  + 同步更新(修改硬链接里的内容,原文件里的内容也同步更新)
(2)可通过i节点识别
(3)不能夸分区

2 文件目录权限命令

1、chmod  -- 改变文件或目录权限

语法:chmod[{ugo}{+-=}{rwx}][文件或目录][mode=421][文件或目录]
+ 增加权限;- 减少权限; = 赋予权限
三种用于:u所有者; g所属组; o其他人

常用 chmod R 777  dirname    -------  为dirname目录及其子目录赋777权限

rwx三种权限,对于文件和目录不同:

r -- 可读权限,可以查看(cat, more, head, tail)文件内容;可以列出(ls,ll)目录中的文件内容
w -- 可写权限,可以修改(echo,vim)文件内容;可以在目录中创建、删除文件(touch,mkdir,rm)
x -- 可执行权限 ,可以执行文件;可以进入目录(cd )

一个文件用于777权限,并不代表普通用户可以删除它,要看这个目录是否有允许删除的权限。

三种权限的数字表示
r – 4  w – 2  x – 1 
三种用户权限的数字表示 (每中用户的权限数值取和)
rwx r-x r --    754
rwx rwx rwx  777 (这就是我们通常所说的最高权限)
# chmod g+w file1 //给文件file1所属组赋予写权限
# chmod 777 dir1  //设定目录dir1为所有用户都具有全部权限
常用参数 -R或--recursive  递归处理

2、chown  -- 改变文件或目录的所有者(change file ownership)

语法:chown [用户][文件或目录]
# chown nobody file1  //改变文件file1的所有者为nobody
# chown zhangsan  dirname  //改变目录dirname的所有者为zhangsan

3、chgrp  -- 改变文件或目录的所属组

语法:chgrp [用户组] [文件或目录]
# chgrp adm file1  //改变文件file1的所属组为adm

4、umask  -- 显示、设置文件的缺省权限
语法:umask [-S]
-S 表示 以rwx形式显示新建文件或者目录缺省权限
# umask
# umask -S

5、chattr  -- 改变文件属性 特殊命令

    语法: chattr –i  filename

3、文件搜索命令

1、find  -- 查找文件或目录

语法:find [搜索路径][搜索关键字]

# find /test/    //如果省略了搜索关键词,则会搜索/test/下的所有文件和递归子目录的所有内容。(这样很占用资源)

#例:在/etc下

# find /etc -name init  //查找名为init的文件或目录

# find /etc -name init*  //查找名称以init开头的文件或目录

# find /etc -size +204800  //在根目录下查找大于100MB的文件

# find / -user zhangsan  //在根目录下查找所有者为zhangsan的文件

# find / -mtime -1 #查找在系统中最后24小时里修改过的文件

常用关键字:

-name 文件名  有两个通配符:*匹配任意字符,?匹配一个字符

    -name init*

    -name init???

    -size 文件大小(单位:数据块block;1block=512字节=0.5KB , 1M=1024KB = 2048block)

            大于 +  小于 -  (等于,直接写数字, 如 find /etc  -size 10240  不常用)

    -type 按文件类型  f 二进制文件  l 软链接文件  d目录

    -user 所有者 (hehe , root, 等 用户)

    -group 所属组

    -ctime(创建日期、属性被修改日期) -atime(访问日期) mtime(修改日期,内容被修改)   --以天为单位

    -cmin()  -amin()  -mmin()  --以分钟为单位

    在时间之内 - 超过时间 +

1、连接符:-a   逻辑与(and)  -o 逻辑或(or)

2、连接符: find ...-exec (或者 -ok  会有一个询问过程) 命令 {} \; 这里的{} 表示find 查询的结果,\ 斜杠表示转义符 ;分号为结束符

    find /etc -name inittab -exec ls -l {} \;

-rw-r--r-- 1 root root 1666 07-03 22:24 /etc/inittab

2、locate  -- 在文件资料库中查找文件或目录

语法:locate [搜索关键字]

# locate file   //列出所有跟file相关的文件

# locate services

此查询对于新创建的文件或目录查找不到,经常与updatedb命令联合使用

# touch /test/locate_file   //创建一个locate_file的文件

# locate locate_file   //查找此文件  结果为 没有找到

如果我们 创建完一个文件后,先用updatedb更新一下,就能找到

# updatedb    //更新系统数据库

# locate locate_file  //这是找到了

3、updatedb  -- 建立整个系统目录文件的数据库 

语法:updatedb

执行权限:root

# updatedb  //更新 系统数据库(也就是整个系统的情况)

4、grep  -- 在文件内容中搜寻字符串匹配的行并输出

语法:grep [-i  -v][指定字串][源文件]

-i 不区分大小写   -v 排除指定字符串

# grep ftp  /etc/services   //输出services文件中关于ftp的内容

# grep myslq /root/install.log   // 查找安装日志中关于mysql的内容

5、whereis -- 除了显示命令所在目录,还显示出帮助文档所在位置:

语法:whereis [命令名称]

# which ls  //返回  /bin/ls

# whereis ls  //返回  /bin/ls /usr/share/man/man1p/ls.1p.gz /usr/share/man/man1/ls.1.gz

4 压缩解压命令

1、tar  -- 把一个目录打包成并压缩成 .tar.gz格式的压缩文件。 或者解压一个 .tar.gz的文件

用于压缩时:

语法:tar [-zcvf][新名].tar.gz   [源目录]

      -z 打包同时压缩

      -c 产生.tar打包文件(压缩时必须用)

      -v 显示详细信息(可以省略)

      -f 指定压缩后的文件名

# tar zcvf aitifen3-0501.tar.gz  aitifen3 // 将目录aitifen3 压缩成.tar.gz格式的文件

# tar -zcvf testfile.tar.gz  testfile  //将文件testfile打包并压缩成test.tar.gz格式的文件

    # tar -cvf newdir2.tar  newdir2   //将目录newdir2打包(.tar)

    用于解压时: 

    语法:tar  [-zxvf] xxxx.tar.gz  [-C 释放目录 默认为当前目录]   

      -z 解压缩

      -x 解包.tar文件(解压时必须用)

      -v 显示详细信息(可以省略)

      -f 指定解压文件

# tar zxvf aitifen3-0501.tar.gz   //将此压缩文件解压到当前目录下

# tar -zxvf dir1.tar.gz  -C ceshi_test/   //把文件解压到当前目录下的 ceshi_test目录下

# gunzip newdir3.tar.gz  //先从压缩文件中把包解压出来  newdir3.tar

# tar -xf newdir3.tar  // 再把包再次解压出最终目录

排除某个文件或记录
tar -zcvf   vymeet.tar.gz  ./vymeet      --exclude=file1 --exclude=dir1

 

2、gzip  -- 把文件压缩成.gz格式的文件(GNU zip)

语法:gzip 选项[文件]

特点:1、只能压缩文件不能压缩目录; 2、不保留源文件

# gzip file1   //把文件file1压缩成file1.gz的压缩文件

# gzip newfile   //把文件压缩成newfile.gz

3、gunzip  -- 解压缩.gz格式的压缩文件(GNU unzip)

语法:gunzip 选项[解压的文件]

# gunzip file1.gz  //把压缩文件file1.gz解压出来

# gunzip /test/newfile.gz  //把test目录下的压缩文件解压出来

4、zip  -- 压缩文件或目录,压缩成.zip (默认windows和linux通用格式)

语法:zip 选项[-r(目录用之)] [压缩后文件名称] [原文件或目录]

特点,1、文件和目录都可以压缩;2、压缩后源文件还保留

# zip services.zip  /etc/services

# zip newfile3.zip  newfile3  //将文件newfile3 压缩成newfile3.zip

# zip -r newdir3.zip  newdir3  //将目录newdir3 压缩成newdir3.zip 

5、unzip  -- 解压.zip格式的压缩文件

语法:unzip [压缩文件]

# unzip test.zip

# unzip newfile2.zip // 解压压缩文件newfile3.zip

# unzip newdir3.zip  // 解压压缩目录newdir3.zip

6、bzip2  -- 把文件压缩成.bz2格式的文件(压缩率很高,gzip的升级)

语法:bzip2 选项[-k(压缩后保留源文件)] [文件]

特点:1、只能压缩文件,不能压缩目录; 2、可以通过-k来保留原文件

# bzip2 -k file1   //压缩这个文件并保留源文件

7、bunzip2  -- 解压.bz2格式的压缩文件

语法:bunzip2 选项[-k(解压后保留源文件)] [文件]

# bunzip2 -k file1.bz2   //解压这个文件,并保留源文件

5 帮助命令

1、man  -- 获取帮助信息(manual)

语法:man [命令或配置文件] [| more 可以分页显示信息]

# man ls   //查看ls命令的帮助信息

# man ls | more  //分页查看ls命令的帮助信息

# man services  //查看配置文件services的帮助信息

# man date   //  查看date命令的用法  

[q]键退出

2、help    -- 获得shell内置命令的帮助信息

    语法: 命令 --help

# ls --help   查看 ls

    # help  shell内置命令 

3、info  -- 获取帮助信息(information)

语法:info [任何关键字]

# info ls   //查看ls命令的帮助信息

4、whatis  -- 获取索引的简短说明信息

语法:whatis apropos [任何关键字]

# whatis ls

# apropos fstab  //相当于 man -k

# makewhatis  //建立whatis和apropos搜索使用的数据库,当使用这两个命令发生错误时,就是 whatis database没有建立

5、which   -- 打印命令所在目录

    语法:which  命令名

    # which touch           => /bin/touch

    # which yum             => /usr/bin/yum

    # which shutdown        => /sbin/shutdown:4.6 vim常用命令

6、磁盘管理命令

1、df       -- 查看磁盘空间使用情况
用于查看挂载磁盘的总容量、使用容量、剩余总容量等,不加任何参数默认为KB为单位显示。
参数 : -i   查看inodes的使用情况
- h   表示以合适的单位显示,如 GB
- k 或 -m  表示以 Kb 或Mb为单位显示 
-all  查看全部 

2、top    -- 查看CPU占用情况

 


 

 

三、Vim常用命令

vim 一般分三种模式『一般模式』、『编辑模式』与『命令行模式』 

1、一般模式下常用命令

初始打开文件的模式就是一般模式,主要用于对文档进行查看、复制、粘贴、删除等操作。但是不能写入新内容
(1):set nu   显示行号   :set  nu! 取消行号
(2):100  光标移动到100行

30 直接回车  ,向下移动30行 
(3)上下翻一页
[Ctrl] + [f] -- 『向下』移动一页,相当于 [Page Down]按键
[Ctrl] + [b] -- 『向上』移动一页,相当于 [Page Up] 按键

(4)上下翻半页
[Ctrl] + [d] -- 屏幕『向下』移动半页
[Ctrl] + [u] -- 屏幕『向上』移动半页

 

:w  -- 保存修改过的文件(常用)
:q! -- 不保存修改的文档                                  
:wq -- 保存文件后离开,若为:wq! 则问强制储存后离开(常用)
:w! -- 如文件属性为只读,强制写入该文件,当然,还与权限有关。

(5)查找替换类

/word -- 向光标之下寻找一个名称为 word 的字符串(常用)
?word -- 向光标之上寻找一个名称为 word 的字符串(常用)

删除类:

X -- 为向前删除一个字符(相当于[backspace]退格键)

x -- 为向后删除一个字符(相当于[del]按键)

dd  -- 删除(剪切)光标所在行一整行(常用)

8dd -- 删除(剪切)光标所在行向下8行--(常用)

复制、粘贴类:

yy  -- 复制光标所在的这一行(常用)

P(大写) 将复制的内容粘贴到光标所在的这一行!(常用)

nyy -- 复制光标所在的向下n列(常用)

p   -- 为将已复制的数据在光标下一行粘贴,

yG  -- 复制光标所在列到最后一列的所有数据(常用)

y1G -- 复制光标所在列到第一列的所有数据

y0  -- 复制光标所在的那个字符到该行行首的所有数据:

y$  -- 复制光标所在的那个字符到该行行尾的所有数据

 

n -- 代表『重复前一个搜索的动作』搜索指定字符串的下一个出现位置。

N -- 代表『重复前一个搜索的动作』,『反向』进行前一个搜索动作

:%s/old/new/g  -- 全文替换指定字符串(常用)

:n1,n2s/old/new/g -- 在第n1与n2行之间将old取代为new(常用)

2、编辑模式下常用命令

一般模式下按 i 或 o 或 a 任意键进入『编辑模式』 模式:在一般模式中可以进行删除、复制、粘贴等等的动作,但是却无法编辑文件内容的! 要等到你按下『i, I, o, O, a, A, r, R』等任一键后进入编辑模式(也叫插入模式)。画面的左下方会出现『 INSERT 或 REPLACE 』的字样,此时才可以进行编辑。而如果要回到一般模式时按下『Esc』键即可

可用操作:

i 在光标所在字符前插入

a 在光标所在字符后插入

o 在光标所在行下一行插入新行

I 在光标所在行行首插入

A 在光标所在行行尾插入

O 在光标上所在行上一行插入新行

[Esc] -- 退出编辑模式,回到一般模式中(常用)

3、命令行模式

一般模式下按 : 或  / 或 ?o任意键进入『命令行模式』 模式在这个模式当中, 可以提供你『搜索资料』的动作,而读取、存盘、大量取代字符、离开 vi 、显示行号等等的动作则是在此模式中达成的

可用操作:

:w  -- 保存修改过的文件(常用)

:q! -- 不保存修改的文档                                  

:wq -- 保存文件后离开,若为:wq! 则问强制储存后离开(常用)

:w! -- 如文件属性为只读,强制写入该文件,当然,还与权限有关。

:n1,n2 w [filename]  -- 将 n1 到 n2 的内容储存成 filename 这个档案。

:w [filename]  -- 将编辑的数据储存成另一个档案(类似另存新档)

:r [filename]  -- 在编辑的数据中,读入另一个档案的数据。亦即将 『filename』 这个档案内容加到光标所在行后面

:! command -- 暂时离开 vi 到命令行模式下执行 command 的显示结果!

:set nu  -- 显示行号,设定之后,会在每一行的前缀显示该行的行号

:set nonu  -- 与 set nu 相反,为取消行号!

:map ^P I#<ESC>

:n1,n2s/^/#/g  -- 连续添加注释

:n1,n2s/^#//g  -- 连续删除注释

:n1,n2s/^/\/\//g

 

 

四、LNMP常用命令

1、Nginx常用命令

重启命令:
//如果设置启动脚本,并且通过chkconfig --add nginx 加到service服务后,可以通过一下命令重启
# service nginx start     (systemctl start nginx.service)
# service nginx stop        (systemctl stop nginx.service)
# service nginx restart    (systemctl restart nginx.service)
# service nginx status    (systemctl status nginx.service)

或者也可以使用:
# /etc/init.d/nginx start
# /etc/init.d/nginx stop
# /etc/init.d/nginx restart
# /etc/init.d/nginx status

初始安装后没有加载环境变量前只能使用
# /usr/local/nginx/sbin/nginx 来启动服务
# /usr/local/nginx/sbin/nginx -s stop  停止服务
# /usr/local/nginx/sbin/nginx -s reload  平滑重启(必须在开启的状态下才可以)
# /usr/local/nginx/sbin/nginx -t   查看nginx配置是否正确
//设置环境变量后,直接通过
# nginx  来代替上面的 /usr/local/nginx/sbin/nginx 即可

常用网络命令
# netstat -tlnp      //查看端口,仅显示服务中的
# netstat -antup      //查看所有端口
# netstat -antup|grep nginx      //查看nginx端口
# ps aux               //查看所有进程
# ps aux | grep nginx     //查看nginx的进程
# kill  3228                            //杀死进程平滑停止 3228为nginx主进程的PID(可以通过ps aux | grep nginx 命令查看,第一条master对应的是)
或 killall nginx                        //杀死进程平滑停止

2、MySQ常用命令

#
# /etc/init.d/mysqld 
Usage: mysqld  {start|stop|restart|reload|force-reload|status}  [ MySQL server options ]
# /etc/init.d/mysqld  start    //开启
# /etc/init.d/mysqld  stop     //停止
# /etc/init.d/mysqld  restart  //重启(强制重启)
# /etc/init.d/mysqld  reload   //平滑重启(在开启的状态下)
# /etc/init.d/mysqld  status   //查看状态

加入环境变量以后可以使用 
# service mysqld   {start|stop|restart|reload|force-reload|status}
或者
# systemctl {start|stop|restart|reload|force-reload|status}  mysqld.service

# netstat -tlnp        //查看所有端口号
# ps aux | grep mysqld      //查看进程
# kill  9203              //通过杀死进程结束mysql  

操作常用命令

# 本地连接数据库
# mysql -u root -p
Enter password:  
也可以直接写成
# mysql -uroot -p'niu123456'

# 远程连接数据库(如在118.24.241.124上连接106.12.2.195上的)
# mysql -u root -p -h106.12.2.195 -P3306    //-h用于指定登录主机的IP地址,-P(大写)用于指定远程主机的端口
Enter password:

mysql> show databases;          //显示所有数据库
mysql> use mysql;               //选择mysql数据库
mysql> show tables;             //显示当前mysql数据库中的所有数据表
mysql> desc user;               //显示user表的所有字段
mysql> show create table user\G;  //显示user表的建表语句
mysql> show create database mysql\G;  //显示mysql数据库的建库语句
mysql> select version();        //查看当前数据库的版本
mysql> select user();           //查看当前是哪个用户
mysql> select database();       //查看当前是哪个数据库
mysql> show status;             //查看mysql当前状态
mysql> show variables;          //查看mysql的参数
mysql> show variables like '%dir';
mysql> show processlist;         //查看当前mysql服务器的队列 
mysql> grant all on *.* to niuxitong identified by 'niu123456'; //创建一个普通用户niuxitong   *.* 前一个*表示所有数据库 ,后一个*表示所有表    密码用单引号括起来

mysqldump -u root -p 'niu123456' mysql > /mydata/databack/mysql-001.sql;   //为名为mysql的数据库做备份。导出sql文件保存到/mydata/databack/mysql-001.sql文件中
mysql -u root -p 'niu123456' mysql < /mydata/databack/mysql-001.sql;  还原数据库 
  

3、PHP常用命令

重启命令
/etc/init.d/php-fpm  start    开启服务
/etc/init.d/php-fpm  stop    停止服务
/etc/init.d/php-fpm  status    查看状态
/etc/init.d/php-fpm  restart    重启服务
/etc/init.d/php-fpm  reload    平滑重启
加入系统服务以后可以使用
service php-fpm  start/stop/status/restart/reload

安装路径
# netstat -ntpl     查看9000端口是否开启(PHP使用的是9000端口)
/etc/init.d/php-fpm    php启动文件
/usr/local/php    PHP安装目录
/usr/local/php/bin/  可执行目录
/etc/php.ini      PHP配置文件

五、系统管理命令

1、系统状态监控(查看)命令

1、w        命令查看当前系统负载情况

从左往右依次是:当前时间、系统运行时间、登录用户、平均负载
load average:0.00, 0.01, 0.05依次表示1分钟、5分钟、15分钟内的负载值。
值越大说明服务器压力越大,一般第一个值只要不超过服务器CPU数量就没关系

2、查看cup个数命令
#  cat /proc/cpuinfo   显示cpu详细
#  cat /proc/cpuinfo | grep -c "process"   显示cup个数(逻辑个数也就是几核)
# cat /proc/cpuinfo | grep "physical id" | sort | uniq|wc -l   查看物理个数。

3、vmstat        监控系统的状态。

(1)procs  显示进程的相关信息
r(run) 表示运行或等待,CPU的进程数,该值如果长期大于CPU个数,说明CPU资源不足
b(block)等待资源的进程数,指的是I/O,内存等 。该数如果长时间大于1 ,就需要关注一下。

(2)memory 显示内存的相关信息 
swpd:表示切换到交换区中的内存数量,单位为KB 
free:表示当前空闲的内存数量单位为KB 
buff:表示(即将写入磁盘的)缓冲大小
cache:表示(从磁盘中读取的)缓存大小

(3)swap   显示内存的交换情况
si:表示由交换区写入内存的数据量
so:表示由内存写入交换区的数据量 

(4)io  显示磁盘的使用情况
bi:表示从块设备读取数据的量(读磁盘)
bo:表示从块设备写入数据的量 (写磁盘)

(5)system  显示采集间隔内发生的中断次数
in:表示在某一时间间隔内观测到的每秒设备的中断次数
cs:每秒产生的上下文切换次数

(6)cpu  显示CPU的使用状态  
us:显示用户下所花费cpu的时间百分比
sy:显示系统花费cpu的时间百分比
id:表示cpu处于空闲状态的时间百分比
wa:表示I/O等待所占cpu的时间百分比
st:表示被偷走的cpu所占百分比 (一般都为0,不用关注)

4、top        显示进程所占的系统资源

可以清晰的显示系统负载(load average)、进程数(Tasks)、内存(swap)等
可以很清晰的查看哪些进程占用CPU的情况(如MySQL、nginx、php-fpm)从而可以知道网站到底哪里占cup大

5、sart    监控系统状态


最后一行代表平均值
# sar  -n DEV  查看网卡流量

常用参数:
rxpck:表示每秒进入收取的包数  ()
txpck :表示每秒发出去的包数
rxkB: 表示每秒收取的数据量
txkB: 表示每秒发送的数据量 
如果某一天网站丢包严重,就可以用此命令查看 , 如果rxpck大于4000 或者 rxkB大于5000000 表示服务器很可能收到攻击。
# sar -n DEV 1 5  实时监控流量
# sar -n DEV -f /var/log/sa/sa25    查看25号的流量信息
# sar -q  查看历史负载

6、nload   查看网卡流量
Incoming   进入网卡的流量     Outgoing 出网卡的流量

7、free   查看内存使用情况

8、ps  命令查看系统进程 
# ps aux | grep -c redis  表示查看redis的进程情况

9、netstat  查看网络状况

# netstat -an | grep 80  查看当前连接web服务的有哪些IP
 

2、抓包工具(命令)

1、tcpdump    
# tcpdump  命令会不停的刷屏,越快说明网卡上的数据包越多。
# tcpdump -nn -i  eth0    表示查看网卡eth0 上的数据包
# tcpdump -nn -i eth0  prot  80  只抓取80端口的数据包

2、wireshark   
# yum  -y install wireshark   默认没安装,需要安装

3、网络相关命令

1、ifconfig  查看网络ip

2、查看防火墙状态命令

方法一:
# firewall-cmd  --state     
出现not running 说明防火墙已经关闭

方法二: 
# systemctl status firewalld
或者:
# systemctl status firewalld.service
出现dead状态,即防火墙未开启。

3、开启防护墙命令

# systemctl start firewalld.service
或者
# systemctl start firewalld

4、关闭防火墙命令
 

方法一:
# systemctl stop firewalld.service

方法二:
# vim /etc/sysconfig/selinux
     把 SELINUX = enforcing 的值修改为 SELINUX= disabled
# systemctl stop firewalld.service

方法三:永久关闭
# sed -i 's/SELINUX=.*/SELINUX=disabled/g' /etc/selinux/config
# setenforce 0    
 
出现 setenforce: SELinux is disabled 永久关闭  
 
 
还不放心,再执行下面两个命令
# systemctl   stop  firewalld.service    //停止firewall
# systemctl  disable firewalld.service            //禁止firewall开机启动

5、查看所有端口命令

# netstat -nlpt

6、开发指定端口号

先开启防火墙
# firewall-cmd --permanent --zone=public --add-port=3306/tcp

再关闭防火墙

 

4、磁盘管理命令
 

1、df  查看已挂载的磁盘容量、使用情况等

2、du  查看某个目录或文件占用空间大小
# du -s /home/wwwroot/qinser

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值