A directed graph $E = (E^0,E^1,r,s)$ consists of countable sets $E^0$ of vertices and $E^1$ of edges, together with maps $s: E^1 \to E^0$ and $r: E^1 \to E^0$ which describe the direction of the edges. There is an intimate relationship between directed graphs and shifts of finite type and labelled graphs and sofic shift systems (over finite alphabets). A class of $C^*$-algebras called Cuntz-Krieger algebras has been shown to model shifts of finite type. This class of $C^*$-algebras has been generalised by many authors. One such generalisation lies in the work of Alex Kumjian, David Pask and Iain Raeburn who have defined a universal $C^*$-algebra $C^*(E)$ associated to the directed graph $E$. These graph $C^*$-algebras form an important class of examples in the theory of $C^*$-algebras which gives us some insight into the properties of shift spaces over countable alphabets. We begin this talk with an overview of the theory of the $C^*$-algebras associated to directed graphs. We then move on to discuss the links between directed graphs and shift spaces and describe some results which suggest that there is a connection between these graph $C^*$-algebras and subshifts over infinite alphabets. If time permits, we shall give a brief introduction into a new class of $C^*$-algebras over labelled graphs which has been defined by the speaker and David Pask from the University of Newcastle, Australia. It is our hope that this class of $C^*$-algebras will be able to give us much information on the behaviour of general shift spaces.