Erwägungen:
1.
Mit Eingabe vom 28. Mai 2021 erhob der Beschwerdeführer im Zusammenhang mit der Berechnung seines Existenzminimums beim Bezirksgericht Zürich Beschwerde gegen das Betreibungsamt Zürich 4. Mit Beschluss vom 9. Juni 2021 trat das Bezirksgericht auf die Beschwerde nicht ein.
Dagegen erhob der Beschwerdeführer am 17. Juni 2021 Beschwerde beim Obergericht des Kantons Zürich. Mit Urteil vom 15. Juli 2021 wies das Obergericht die Beschwerde ab.
Am 22. Juli 2021 (Postaufgabe) hat der Beschwerdeführer Beschwerde an das Bundesgericht erhoben.
2.
Soweit der Beschwerdeführer nebst dem genannten Urteil vom 15. Juli 2021 auch den Entscheid des Obergerichts des Kantons Zürich vom 15. März 2021 (Verfahren RT210018-O/U; betreffend definitive Rechtsöffnung) anfechten möchte, ist darauf nicht einzutreten. Diesen Entscheid hat der Beschwerdeführer bereits erfolglos angefochten (Urteil 5D_36/2021 vom 19. März 2021). Eine zweite Anfechtung ist nicht möglich.
Nach <ref-law> ist in der Beschwerdebegründung in gedrängter Form darzulegen, inwiefern der angefochtene Akt Recht verletzt. Die beschwerdeführende Partei hat in gezielter Auseinandersetzung mit den für das Ergebnis des angefochtenen Entscheides massgeblichen Erwägungen aufzuzeigen, welche Rechte bzw. Rechtsnormen die Vorinstanz verletzt haben soll (<ref-ruling> E. 2 S. 88 f.; <ref-ruling> E. 2 S. 116).
3.
Das Obergericht hat erwogen, es sei nicht zu beanstanden, dass das Bezirksgericht mangels konkreter Anträge und mangels hinreichender Begründung auf die Beschwerde nicht eingetreten sei.
Auf diese Erwägung geht der Beschwerdeführer vor Bundesgericht nicht ein. Stattdessen macht er geltend, Geld für Unterhaltszahlungen sei ihm direkt vom Lohn abgezogen worden und niemand wisse, wo das Geld angekommen sei. Soweit er damit geltend machen möchte, er schulde nichts, und er im Übrigen vorbringt, die Betreibung sei ungerechtfertigt und zu löschen, so ist dies nicht Gegenstand des vorliegenden Verfahrens, das im Ausgangspunkt einzig die Berechnung seines Existenzminimums betrifft. Insbesondere geht es vorliegend nicht um die Rechtsöffnung (vgl. oben E. 2). Der Beschwerdeführer beruft sich ausserdem auf seinen Anspruch auf unentgeltliche Rechtspflege. Inwiefern dieser Anspruch im vorliegenden Verfahren verletzt worden sein soll, legt er nicht dar.
4.
Die Beschwerde ist damit offensichtlich unzulässig und sie enthält offensichtlich keine hinreichende Begründung. Auf sie ist im vereinfachten Verfahren durch das präsidierende Mitglied der Abteilung nicht einzutreten (Art. 108 Abs. 1 lit. a und b BGG).
5.
Bei diesem Ausgang des Verfahrens trägt der Beschwerdeführer die Gerichtskosten (<ref-law>). Sofern sich seine Ausführungen zur unentgeltlichen Rechtspflege auf das bundesgerichtliche Verfahren beziehen sollten, so wäre ein entsprechendes Gesuch infolge Aussichtslosigkeit der Beschwerde abzuweisen (<ref-law>).

Demnach erkennt das präsidierende Mitglied:
1.
Auf die Beschwerde wird nicht eingetreten.
2.
Die Gerichtskosten von Fr. 500.-- werden dem Beschwerdeführer auferlegt.
3.
Dieses Urteil wird den Verfahrensbeteiligten und dem Obergericht des Kantons Zürich, II. Zivilkammer als obere kantonale Aufsichtsbehörde über Schuldbetreibung und Konkurs, schriftlich mitgeteilt.
Lausanne, 3. August 2021
Im Namen der II. zivilrechtlichen Abteilung
des Schweizerischen Bundesgerichts
Das präsidierende Mitglied: Escher
Der Gerichtsschreiber: Zingg