想来接触linux也有3年多了,却一直没有系统的学习过linux,有点惭愧。上个月有幸读到一本有关Linux命令的书----Linux命令速查手册(图灵交互设计丛书12),终于有机会系统的学习Linux命令,这本书本人已经看了3遍了,感觉很有收获,推荐大家去读。同时为了梳理自己看这本书所学知识,我决定写blog记录自己的学习过程。
一、基础命令
1.1 ls 列出目录的文件和子目录
ls,想必大家都熟的不能再熟了。在处理和使用目录中文件之前,都要先了解该目录中有哪些文件,这就是ls命令发挥作用的地方。下面用事例说明该命令的一些用法:
1) appledeMacBook-Pro:~ apple$ ls
Applications Movies homebrew u
最基础的,不多说,列出该目录下所有文件和子目录。
2)appledeMacBook-Pro:~ apple$ ls Applications
Chrome Apps.localized app1 app2
查看某个目录的内容,不必先转到目录,再用ls,可直接查看。如上,直接查看Applications目录中文件
3)appledeMacBook-Pro:Movies apple$ ls 1.mp4 2.avi 3.rmvb appledeMacBook-Pro:Movies apple$ ls *.avi 2.avils还支持使用通配符列出内容,如上,当前文件中有3个文件,但是我只想查看avi结尾的文件,就可使用上述命令。
4)appledeMacBook-Pro:~ apple$ ls -R Movies/
1.mp4 2.avi 3.rmvb test
Movies//test:
4.avi
ls -R (也可以使用ls --recursive),这个命令可以查看子文件夹中的文件,-R的选项会递归地遍历Movies目录,显示该目录和它每个子目录的所有内容。如上,不仅显示了Movies的内容,还将Movies/test中的文件也显示出来了。
5)appledeMacBook-Pro:Movies apple$ ls -a . .localized 2.avi test .. 1.mp4 3.rmvbls -a可以查看隐藏的文件和文件夹。在linux中,.开头的文件是隐藏的,要用ls -a才能显示。
6)appledeMacBook-Pro:Movies apple$ ls -l
total 0
-rw-r--r-- 1 apple staff 0 12 23 20:43 1.mp4
-rw-r--r-- 1 apple staff 0 12 23 20:43 2.avi
-rw-r--r-- 1 apple staff 0 12 23 20:43 3.rmvb
drwxr-xr-x 3 apple staff 102 12 23 20:51 test
ls -l(-format=long)显示权限、所有者等详细信息。再简单分析下,所列出来的信息是什么意思,首先分析每行最开始的10个字符“drwxr-xr-x”,可以这么划分d|rwx|r-x|r-x,第一位的d表示目录,-表示普通文件,然后是第一个rwx表示的是文件所有者的权限(r表示读权限,w表示写权限,x表示执行权限,-表示没有权限,在这里说明文件的所有者拥有读写执行的权力),同理第二个r-x表示组(root)的成员有读和执行的权力,但是不能更改文件,第三个表示主机上其他任何人都有读和执行的权力。
7)appledeMacBook-Pro:Movies apple$ ls -alSh total 0 drwxr-xr-x+ 36 apple staff 1.2K 12 22 17:03 .. drwx------+ 7 apple staff 238B 12 23 20:51 . drwxr-xr-x 3 apple staff 102B 12 23 20:51 test -rw-r--r-- 1 apple staff 0B 11 18 17:09 .localized -rw-r--r-- 1 apple staff 0B 12 23 20:43 1.mp4 -rw-r--r-- 1 apple staff 0B 12 23 20:43 2.avi -rw-r--r-- 1 apple staff 0B 12 23 20:43 3.rmvb
这里用到了组合命令(linux命令行强大原因之一,命令支持组合)
ls -h (--human-readable), 主要是为了方便更好的理解(文件的大小转换成人可以读的方式,就是帮你自动转换存储的单位,G,M,K,B等等)。ls -S,将文件按大小排序。
ls -t,将文件按时间排序。