Linux服务端常用命令总结

Linux文件处理命令

1.Linux返回上一级目录的命令

cd ..                  返回上一级目录

cd ../..               返回上两级目录

cd或cd ~           返回home目录

cd - 目录名       返回指定目录

pwd命令格式: pwd     功能:显示出当前工作目录的绝对路径。

2.文件解、压缩

压缩打包命令:tar -zcvf /data/wwwroot/###.tar.gz 目标文件夹名 

        将abc文件夹打包压缩为abc.tar.gz:tar -zcvf /data/wwwroot/abc.tar.gz abc 
解压命令:tar -xzvf file.tar.gz 
       将abc.tar.gz解压  tar -xzvf abc.tar.gz

zip/unzip命令
格式:zip 压缩文件.zip 目录或文件
功能:将目录或文件压缩成zip格式。
常用选项:
-r 递归处理,将指定目录下的所有文件和子目录一并处理。

3.目录文件处理命令   

 ls命令格式:ls [选项] [目录或文件]
   功能:对于目录,列出该目录下的所有子目录与文件;对于文件,列出文件名以及其他信息。
   常用选项:
         -a :列出目录下的所有文件,包括以 . 开头的隐含文件。
         -d :将目录像文件一样显示,而不是显示其他文件。

 ls -l filepath 第五列为文件字节数

 [root@*******]$ ls -l  ~/Downloads/jdk-8u60-linux-x64.tar.gz
 -rw-rw-rw- 1 test test181238643 12月  2  2018 /home/test/Downloads/jdk-8u60-linux-x64.tar.gz

 ls -h filepath h表示human, 加-h参数得到人好读的文件大小

 [root@*******]$ ls -lh  ~/Downloads/jdk-8u60-linux-x64.tar.gz
 -rw-rw-rw- 1 test test 173M 12月  2  2018 /home/test /Downloads/jdk-8u60-linux-x64.tar.gz

  ll 文件名 查看一个文件的详细信息   

         ll test/      查看test文件下详细信息    ll显示当前文件下详细信息

  mkdir命令格式:mkdir [选项] dirname…
    功能:mkdir命令用来创建目录。
    常用选项:
           -p –parents 可以是一个路径名称。

           mkdir –p 递归创建目录

           例如:mkdir -p /tmp/a/b 在目录/tmp下递归创建a目录,并在a目录下创建b目录
    rmdir 删除空目录

  cp命令格式:cp [选项] 源文件或目录 目标文件或目录
    功能:复制文件或目录。
    常用选项:
           -f –force 强行复制文件或目录,不论文件或目录是否已经存在。
           -d 复制时保留文件链接。
    cp 复制文件到某个目录下
    cp –r 复制目录
    cp –p 保留文件属性

  将文件复制到多个目录中

  cp /path/to/file /usr/dir1
  cp /path/to/file /var/dir2
  cp /path/to/file /nas/dir3 

 可以通过一句命令实现:echo /usr/dir1 /var/dir2 /nas/dir3 | xargs -n 1 cp -v /path/to/file

 mv命令格式:mv [选项] 源文件或目录 目标文件或目录 
 功能:mv命令对文件或目录重新命名,或者将文件从一个目录移到另一个目录中。 
 常用选项: 
        -f   force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖。 
        -i   若目标文件(destination)已经存在时,就会询问是否覆盖。
 rm命令删除文件或目录:rm /path/to/file.log
        rm –r 删除目录
        rm –f 强制执行

cat/tac命令格式:cat [选项] [文件];cat test.log
功能:查看目标文件的内容。
常用选项:
      -b 对非空输出行编号。
      -n 对输出的所有行编号。
      -s 不输出多行空行。

du命令:du -b filepath 参数-b表示以字节计数,du -h filepath直接得出人好识别的文件大小

功能:显示文件大小

[root@*******]$ du -b log
2768430 log
[root@*******]$ du -h log
2.7M    log
 

Linux权限管理

Linux的文件和目录有以下三种方式:r  、w 、x:可读,可写 、可执行

r-可读(read)

w-可写(write)

x-可执行(execute)

Linux的文件和目录又可以有四个所有者概念:

a、u、g 、o: 所有人、所有者 、所属组 、其他人

u:所有者

g:所属组

o:其他人

a:all(所有人)

举个例子说明一下

 

如上图所示,对于文件test.txt,文件所有者有读写权限,文件所属组和其他人就很只有读的权限。

假如现在修改文件的权限,修改为所有者只有读的权限,所属组有读和写的权限,其他人什么权限都没有。

一般写法:输入chmod u-w,g+x,o-r test.txt

日常写法:chmod 460 test.txt

在linux权限管理中,r对应4,w对应2,x对应1,所以460=r-- + rw- + --- =4+(4+2)+0=460

假如现在再次修改权限,让所有用人都有执行权限

chmod a+x test.txt 或 chmod 571 test.txt

chown 改变文件或目录的所有者

格式:chown newUser 文件名 
让其他人拥有最高权限的最佳做法是使用chown更改文件的所有者。

// 同时改变文件的所有者和所属组
chown user:group 文件名

Linux服务器性能查看命令

1.top-Linux进程监控   top

top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器,显示当前系统正在执行的进程的相关信息,包括进程ID、内存占用率、CPU占用率等

2.vmstat – 虚拟内存统计

 vmstat 命令用于显示虚拟内存、内核线程、磁盘、系统进程、I/O 块、中断、CPU 活动 等的统计信息。缺省情况下, vmstat 命令在 Linux 系统下不可用,你需要安装一个包含了 vmstat 程序的 sysstat 软件包。命令格式的常见用法是:

# vmstat
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
 r  b   swpd   free  inact active   si   so    bi    bo   in   cs us sy id wa st
 1  0      0 810420  97380  70628    0    0   115     4   89   79  1  6 90  3  0

3.netstat-网络状态统计

netstat -t/-u/-l/-r/-n【显示网络相关信息,-t:TCP协议,-u:UDP协议,-l:监听,-r:路由,-n:显示IP地址和端口号】
netstat -tlun【查看本机监听的端口】
netstat -an【查看本机所有的网络】
netstat -rn【查看本机路由表】

列出所有端口:netstat -a 
列出所有的TCP端口:netstat -at 
列出所有的UDP端口:netstat -au 
列出所有处于监听状态的socket:netstat -l 
列出所有监听TCP端口的socket:netstat -lt 
列出所有监听UDP端口的socket:netstat -lu 
找出程序运行的端口:netstat -ap | grep ssh 
找出运行在指定端口的进程:netstat -an | grep ‘:80’

root@iZ94ccp83dlZ network-scripts]# netstat -an
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 127.0.0.1:8005          0.0.0.0:*               LISTEN     
tcp        0      0 127.0.0.1:8006          0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:8009            0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:8010            0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:3690            0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:8080            0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:8081            0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN     
...

4.利用进程来查看

命令里 ps -aux  | grep xxx 是查看某个进程或者服务是否存在。

kill可以关闭该服务

5.iotop-监控Linux磁盘I/O

iotop命令同样也非常类似于top命令和Htop程序,不过它具有监控并显示实时磁盘I/O和进程的统计功能。在查找具体进程和大量使用磁盘读写进程的时候,这个工具就非常有用。

# iotop

Linux查看日志常用命令

1.查看日志常用命令

    tail:  

       -n  是显示行号;相当于nl命令;例子如下:

            tail -100f test.log      实时监控100行日志

            tail  -n  10  test.log   查询日志尾部最后10行的日志;

            tail -n +10 test.log    查询10行之后的所有日志;

    head:  

        跟tail是相反的,tail是看后多少行日志;例子如下:

            head -n 10  test.log   查询日志文件中的头10行日志;

            head -n -10  test.log   查询日志文件除了最后10行的其他所有日志;

    cat: 

        tac是倒序查看,是cat单词反写;例子如下:

            cat -n test.log |grep "debug"   查询关键字的日志

            cat filename  一次显示整个文件

2. 应用场景一:按行号查看---过滤出关键字附近的日志

     1)cat -n test.log |grep "debug"  得到关键日志的行号

     2)cat -n test.log |tail -n +92|head -n 20  选择关键字所在的中间一行. 然后查看这个关键字前10行和后10行的日志:

            tail -n +92表示查询92行之后的日志

            head -n 20 则表示在前面的查询结果里再查前20条记录

3. 应用场景二:根据日期查询日志

      sed -n '/2014-12-17 16:17:20/,/2014-12-17 16:17:36/p'  test.log

      特别说明:上面的两个日期必须是日志中打印出来的日志,否则无效;

                      先 grep '2014-12-17 16:17:20' test.log 来确定日志中是否有该 时间点

4.应用场景三:日志内容特别多,打印在屏幕上不方便查看

    (1)使用more和less命令,

           如: cat -n test.log |grep "debug" |more     这样就分页打印了,通过点击空格键翻页

    (2)使用 >xxx.txt 将其保存到文件中,到时可以拉下这个文件分析

            如:cat -n test.log |grep "debug"  >debug.txt

Linux系统根目录下各个目录的作用 

/bin 二进制可执行命令。该目录下存放着普通用户的命令

/dev 系统的设备文件,即设备的驱动程序

/home 存放用户文件的主目录,用户数据

/lib 存放着和系统运行相关的库文件

/mnt 存放临时的映射文件,通常是一些用来安装其他设备的子目录

/boot 存放启动linux的核心文件

/media 存放着可移除的设备,比如软盘,光盘

/misc 储存着一些特殊的字符的定义

/net 存放着和网络相关的一些文件

/proc 存放着用户与内核的交互信息

/sbin 系统的管理命令,这里存放的是系统管理员使用的程序

/srv 系统启动服务时可以访问的数据库目录

/tmp 临时文件,重启后自动清空

/var 存放系统产生的经常变化的文件

/etc 系统所有的配置文件都在这个目录中

/opt (option : 自由选择)主要给源码安装软件时选择的安装目录位置

/root 超级用户的目录

/selinux 主要用来加固操作系统,提高系统的安全性

/sys 管理设备文件

/usr 最大的目录,存放着应用程序和文件

/lost-found 这个目录平时是空的,当系统非正常关机时在操作的文件便会储存在这里
 

猜你喜欢

转载自blog.csdn.net/wade3015/article/details/85073961