- 在Linux系统中,所有的内容都被看成是文件在处理。比如:目录文件、设备(磁盘、串口)文件、文本文件、链接文件等等。
- 目录文件中不但包括本身的文件名和其他的属性,还包括了存储在该目录中的子文件的名称、大小等属性,但是不包含子文件中的具体数据内容。所以,对目录文件的操作不会涉及文件的内容,而只是对文件名以及存储位置等进行各种操作。
- 设备文件用来表示Linux系统中的所有硬件设备,有块设备和字符设备两种。快设备指的是设备在读取内容的时候,是按照块为单位读取的,比如磁盘;字符设备则是以字符为单位,比如键盘。所有的设备文件都在/dev目录下面。
- 链接文件,分为硬连接和软连接两种。软连接中存放的是实质是源文件的绝对路径及其文件名字,通过软连接访问源文件的时候,其实只是通过里面的路径和文件名找到了源文件,然后读取源文件中的内容,所以当源文件被删除,或者其路径,或者其文件名发生了变化之后,软连接就会失效。方法:ln -s source_name link_name;而硬连接则是根据源文件的内容再复制备份一份,即使源文件被删除,新生成的硬链接文件同样有效。方法:ln source_name link_name。
- 在ll命名执行之后,出现的一串符号,比如下述情况:
james@ubuntu:~/code/shell$ ll
total 12
drwxrwxr-x 2 james james 4096 Jul 25 15:16 ./
drwxrwxr-x 6 james james 4096 Jul 25 15:07 ../
-rwxrw-r-- 1 james james 103 Jul 25 14:37 1.sh*
lrwxrwxrwx 1 james james 4 Jul 25 15:09 back.sh -> 1.sh*
其中首个字母代表文件的类型。d->目录文件 - ->普通文件 c->设备文件 l->链接文件
后续的9个字符,每三个为一组,分别是:文件所有者的权限u,文件所属组的权限g,其他人的权限o。如果执行下列命令:
james@ubuntu:~/code/shell/test/new$ ll test
-rw-rw-r-- 1 james james 13 Aug 9 11:13 test
james@ubuntu:~/code/shell/test/new$ chmod +x test
james@ubuntu:~/code/shell/test/new$ ll test
-rwxrwxr-x 1 james james 13 Aug 9 11:13 test*
可以发现是给每个权限都加上了 x 。
所以在添加权限的时候,可以用 u+x 代替 +x,限定只有文件所有者才能具备x权限。
- 特殊目录介绍
根目录:使用 / 表示
用户主目录:使用 ~ 表示
当前目录: 使用 . 表示
上一层目录:使用 .. 表示
- 文件操作命令
创建文件 touch filename
查看内容 cat filename
查看文件的后面10行 tail -n 10 filename
查看文件的行数 wc l filename
- 目录操作命令
显示当前所在目录:pwd
创建目录:mkdir
显示目录文件信息,包括文件的属性:ls 注意不同文件的文件名有不同的颜色
- 权限管理命令
chmod +x filename
- 查找命令
查找文件:find / -name filename
查找字符或者字符串:grep string filename
- 显示进程信息
ps 静态显示当前的进程信息
top 动态显示进程信息
- 总结
一共有三种命令,分别是:用户和用户组管理相关命令、文件和目录操作相关命令、系统管理相关命令。此外,在相关命令中有很多选项提供不同的服务。