Linux日常部署用到的命令

最近接触线上环境运维,没有图形化界面,很多时候都需要用命令来进行操作服务器。

所有记录下最近常用的一些命令。

查找:

find / -name 1.txt 在根目录下开始寻找1.txt

find /root -name *1.txt 从root目录下开始寻找 带有名称1的txt文件

find  /home/deploy/  -name "*" | xargs grep "user" 查找/home/deploy目录下包含user的文件

删除:

功能说明:删除文件或目录。
语  法:rm [-dfirv][--help][--version][文件或目录...]
补充说明:执行rm指令可删除文件或目录,如欲删除目录必须加上参数”-r”,否则预设仅会删除文件。 
参  数:
 -d或–directory  直接把欲删除的目录的硬连接数据删成0,删除该目录。 
 -f或–force  强制删除文件或目录。 
 -i或–interactive  删除既有文件或目录之前先询问用户。 
 -r或-R或–recursive  递归处理,将指定目录下的所有文件及子目录一并处理。 
 -v或–verbose  显示指令执行过程。 

删除文件夹:

rm -rf  dicName

-r 递归
-f 强制

删除文件:

rm -f fileName

创建目录/文件:

创建目录:mkdir(make directories)

功能说明:建立目录 
语  法:mkdir [-p][--help][--version][-m <目录属性>][目录名称]
补充说明:mkdir可建立目录并同时设置目录的权限。
参  数:
  -m<目录属性>或–mode<目录属性>   建立目录时同时设置目录的权限。
  -p或–parents   若所要建立目录的上层目录目前尚未建立,则会一并建立上层目录。
例:mkdir  test

创建文件 touch

功能说明:改变文件或目录时间。
语  法:touch [-acfm][-d <日期时间>][-r <参考文件或目 录>][-t <日期时间>] [--help]   [--version][文件或目录...] 或 touch [-acfm][--help][--version][日期时 间][文件或目录...] 
补充说明:使用touch指令可更改文件或目录的日期时间,包括存取时间和更改时间。
参  数:
 -a或–time=atime或–time=access或–time=use  只更改存取时间。 
 -c或–no-create  不建立任何文件。 
 -d<时间日期>  使用指定的日期时间,而非现在的时间。 
 -f  此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题。 
 -m或–time=mtime或–time=modify  只更改变动时间。 
 -r<参考文件或目录>  把指定文件或目录的日期时间,统统设成和参考文件或目录的日期时间相同。 
 -t<日期时间>  使用指定的日期时间,而非现在的时间。

例:touch 1.txt

压缩打包/解压缩命令

tar打包命令

命令前加“-”执行命令的结果没有区别,只是两种风格

常用参数

-z    是否同时具有gz属性
-j    是否同时具有bz2属性
-J    是否同时具有xz属性
-x    解压缩、提取打包的内容
-t    查看压缩包内容
-c    建立一个压缩,打包文档
-C    切换到指定目录,表示指定解压缩包的内容和打包的内容存放的目录
-v    显示压缩或者打包的内容
-f    使用文件名,在f后面要接压缩后的文件的名字,只要用到tar命令,-f选项是必须要用的,-f参数在使用的时候一定排在其他参数的后面,在最右边
-p    保留备份数据的原本权限与属性,常用于备份(-c)重要的配置文件
-P    保留绝对路径
 

实例:

将三个文件打包成一个jihe.tar文件

$ tar -cvf jihe.tar ccc.txt bbb.sh aaa.sh

查看jihe.tar文件

$ tar -tf jihe.tar

提取jihe.tar文件到的内容到/opt目录下,如果没有"-C" 指定目录则会提取内容到当前目录

$ tar -xf jihe.tar -C /opt/

压缩命令

linux主要有三种压缩方式:
1.gzip:是公认的压缩这速度最快,压缩大文件的时候与其他的压缩方式相比更加明显,历史最久,应用最广泛的压缩方式
2.bzip:压缩形成的文件小,但是可用性不如gzip
3.xz:是最新的压缩方式,可以自动提供最佳的压缩率

参数作用命名方式
-z用于gzip压缩方式文件名.tar.gz
-j用于bzip2压缩方式文件名.tar.bz2
-J用于xz压缩方式文件名.tar.xz
$ tar -zcvf xxx.apk.tar.gz xxx.apk

$ tar -jcvf xxx.apk.tar.gz xxx.apk

$ tar -Jcvf xxx.apk.tar.gz xxx.apk

如果命令2报错,应该是缺少bzip2的包,执行 $ yum -y install bzip2

三种方式对比后

压缩速度:gz > bz2 > xz
压缩率:xz > bz2 > gz

解压

tar命令式一个很聪明的命令,解压的时候不需要指定解压方式,他会自己根据压缩包格式来选择。

$ tar -xf xxx.apk.tar.gz -C /opt/

补充:

a.在打包和压缩的过程中,我们有时候会看到这样的语句:tar: 从成员名中删除开头的“/”,这个并不是报错,是因为没有加上-P选项,没有保留原来的绝对路径去打包或者压缩,提取打包的内容跟解压一样.

解压的时候同理,如果在压缩文件的时候使用了-P选项,那么在解压的时候也要加上-P选项,不然也会出现”tar: 从成员名中删除开头的“/”

b.在使用tar压缩或者打包的时候,可以通过增加--exclude来达到排除指定的文件的目的

将xxx目录打包,但是不打包xxx目录下的ha.txt文件,如下

$ tar -cvf xxx.tar --exclude=aa.txt xxx

压缩文件也是同理,想要排除指定的目录压缩或者打包也是同理

c.使用r选项增加.tar归档文件的内容应该如何怎么操作?

通过tar --help命令查看帮助

-r选项的作用:把要存档的文件追加到档案文件的未尾。例如用户已经作好备份文件,又发现还有一个目录或是一些文件忘记备份了,这时可以使用该选项,将忘记的目录或文件追加到备份文件中

 实例:

# 首先归档
$ tar -cf xxx.tar xxx/

# 追加一个文件到xxx.tar中
$ tar -rf xxx.tar aaa.sh

根据端口号查看进程PID

命令lsof

$ lsof -i:80

命令netstat

$ netstat -nlp|grep :80

命令ps

$ ps -ef|grep <port>

网络测试命令

telnet命令

 telnet为用户提供了在本地计算机上完成远程主机工作的能力,因此可以通过telnet来测试端口的连通性

具体用法格式:telnet ip port

说明:

ip:是测试主机的ip地址

port:是端口,比如80

$ telnet qq.com 80

SSH命令

SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议,在linux上可以通过ssh命令来测试端口的连通性,具体用法格式如下:

用法: ssh -v -p port username@ip

说明:

-v 调试模式(会打印日志).

-p 指定端口

username:远程主机的登录用户

ip:远程主机

curl命令

curl是利用URL语法在命令行方式下工作的开源文件传输工具。也可以用来测试端口的连通性,具体用法:

curl ip:port

说明:

ip:是测试主机的ip地址

port:是端口,比如80

如果远程主机开通了相应的端口,都会输出信息,如果没有开通相应的端口,则没有任何提示,需要CTRL+C断开。

wget方法

wget是一个从网络上自动下载文件的自由工具,支持通过HTTP、HTTPS、FTP三个最常见的TCP/IP协议下载,并可以使用HTTP代理。wget名称的由来是“World Wide Web”与“get”的结合,它也可以用来测试端口的连通性具体用法:

wget ip:port

说明:

ip:是测试主机的ip地址

port:是端口,比如80

如果远程主机不存在端口则会一直提示连接主机。

查看CPU和内存情况

top命令

退出 top 的命令为 q (在 top 运行中敲 q 键一次)。

最下部分的进程列表栏:

以 PID 区分的进程列表将根据所设定的画面更新时间定期的更新。通过 top 内部命令可以控制此处的显示方式:

  PID:进程的ID
  USER:进程所有者
  PR:进程的优先级别,越小越优先被执行
  NInice:值
  VIRT:进程占用的虚拟内存
  RES:进程占用的物理内存
  SHR:进程使用的共享内存
  S:进程的状态。S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值为负数
  %CPU:进程占用CPU的使用率
  %MEM:进程使用的物理内存和总内存的百分比

  TIME+:该进程启动后占用的总的CPU时间,即占用CPU使用时间的累加值。
  COMMAND:进程启动命令名称

top 运行中可以通过 top 的内部命令对进程的显示方式进行控制。内部命令如下表:

  s- 改变画面更新频率

  l - 关闭或开启第一部分第一行 top 信息的表示

  t - 关闭或开启第一部分第二行 Tasks 和第三行 Cpus 信息的表示

  m - 关闭或开启第一部分第四行 Mem 和 第五行 Swap 信息的表示

  N - 以 PID 的大小的顺序排列表示进程列表(第三部分后述)

  P - 以 CPU 占用率大小的顺序排列进程列表 (第三部分后述)

  M - 以内存占用率大小的顺序排列进程列表 (第三部分后述)

  h - 显示帮助

  n - 设置在进程列表所显示进程的数量

  q - 退出 top

  s -改变画面更新周期

查看磁盘使用情况

挂载点

挂载点实际上就是linux中的磁盘文件系统的入口目录,类似于windows中的用来访问不同分区的C:、D:、E:等盘符。

linuxunix这类操作系统将系统中的一切都作为文件来管理。

df命令

作用:用来查看硬盘的挂载点,以及对应的硬盘容量信息。包括硬盘的总大小,已经使用的大小,剩余大小。以及使用的空间占有的百分比等。

参数选项:

  • -a:列出所有的文件系统,包括系统特有的/proc等文件系统
  • -k:以KB的容量显示各文件系统
  • -m:以MB的容量显示各文件系统
  • -h:以人们较易阅读的GB,MB,KB等格式自行显示
  • -H:以M=1000K替代M=1024K的进位方式
  • -T:显示文件系统类型
  • -i:不用硬盘容量,而以inode的数量来显示
  • -l:只显示本机的文件系统

经常使用有

$ df -lh
$ df -h

du命令

作用:使用du命令查看指定目录的使用情况。du命令来查看硬盘内部的目录或者文件的信息。

命令格式:

du [option] 文件/目录

选项:

  •  -h 输出文件系统分区使用的情况,例如:10KB,10MB,10GB等
  •  -s 显示文件或整个目录的大小,默认单位是KB
# 当前目录下硬盘使用大小
du -sh
# 当前目录下子目录的大小
du -sh *
# 指定目录的大小
du -sh /xxx
# 指定目录下子目录大小
du -sh /xxx/*

总结:
       du -sh xxx  显示总目录的大小,但是不会列出目录中的每一个文件
       du -sh xxx/*  列出xxx下每个目录和文件所占的容量

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值