diff --git a/pySim-shell.py b/pySim-shell.py
index 0069661..edd8112 100755
--- a/pySim-shell.py
+++ b/pySim-shell.py
@@ -443,6 +443,11 @@
 		"""Close a logical channel."""
 		(data, sw) = self._cmd.card._scc.manage_channel(mode='close', lchan_nr=opts.chan_nr)
 
+	def do_status(self, opts):
+		"""Perform the STATUS command."""
+		fcp_dec = self._cmd.rs.status()
+		self._cmd.poutput_json(fcp_dec)
+
 
 option_parser = argparse.ArgumentParser(prog='pySim-shell', description='interactive SIM card shell',
                                         formatter_class=argparse.ArgumentDefaultsHelpFormatter)
diff --git a/pySim/commands.py b/pySim/commands.py
index 689cbea..4640fe1 100644
--- a/pySim/commands.py
+++ b/pySim/commands.py
@@ -359,6 +359,10 @@
 			ret = {'successful_3g_authentication': data}
 		return (ret, sw)
 
+	def status(self):
+		"""Execute a STATUS command as per TS 102 221 Section 11.1.2."""
+		return self._tp.send_apdu_checksw('80F20000ff')
+
 	def deactivate_file(self):
 		"""Execute DECATIVATE FILE command as per TS 102 221 Section 11.1.14."""
 		return self._tp.send_apdu_constr_checksw(self.cla_byte, '04', '00', '00', None, None, None)
diff --git a/pySim/filesystem.py b/pySim/filesystem.py
index 8cdb23e..aaf333b 100644
--- a/pySim/filesystem.py
+++ b/pySim/filesystem.py
@@ -1145,6 +1145,11 @@
 
         return select_resp
 
+    def status(self):
+        """Request STATUS (current selected file FCP) from card."""
+        (data, sw) = self.card._scc.status()
+        return self.selected_file.decode_select_response(data)
+
     def read_binary(self, length:int=None, offset:int=0):
         """Read [part of] a transparent EF binary data.
 
