AbstractIn this paper we use the puncturing and shortening techniques on two already-known classes of optimal cyclic codes in order to obtain three new classes of optimal linear codes achieving the Griesmer bound. The weight distributions for these codes are settled. We also investigate their dual codes and show that they are either optimal or almost optimal with respect to the sphere-packing bound. Moreover, these duals contain classes of almost maximum distance separable codes which are shown to be proper for error detection. Further, some of the obtained optimal linear codes are suitable for constructing secret sharing schemes with nice access structures.