ls -l shows a first field that looks like -rwxrwxrwx. The first character of that indicates the file type (- for a file, d for a directory, l for a symbolic link, b or c for a block or character device node, etc.). The remaining characters describe the file permissions symbolically; each group of three characters indicates the permissions for three classes of users. A - in any of those positions means the corresponding permission is not granted.
For each class, three kinds of permission can be granted:
Some utilities can use an octal (base 8) number like 777 instead of the symbolic notation, and it's also a common shorthand to use the octal numbers. The digits go in the same order as the symbolic permissions listed above. The number in parentheses indicates what contribution that permission makes to the octal digit, so if read and write permissions are granted, the corresponding digit is 4+2=6.