I want to get the osm of a specific city of USA. I can only get the whole state now. But how can I get the osm data for a specific city.
I have previously used http://extract.bbbike.org. If you know the approximate latitude and longitude coordinate pairs for your city, it is very easy to use.
Downtown Minneapolis in osm.xml format
http://www.openstreetmap.org/?lat=44.97649&lon=-93.26969&zoom=15&layers=M Export>OpenStreetMap XML Data
**NOTE if your area [Bounding Boxing] exceeds 50,000 nodes you WILL require to use the planet.osm file see DMan answer for this method
Mike Migurski provides city-level abstracts of OSM at metro.teczno.com, including for Minneapolis.
Try using inViu routes. It's a free GPS tracking Android app that uses OSM. The data from the app can be exported as a GPX file.
The developers are huge supporters of OSM. https://www.enaikoon.com/en/module/footer-blocks/about-us/openstreetmap/
You can download inViu routes in Google Play: http://tiny.cc/i49jpw