# CentOS 入门
# 文件管理
# 根目录下的文件和目录
根据颜色区分:
- 蓝色:表示文件夹
- 灰色:表示普通文件
- 绿色:表示可执行文件
- 红色:表示压缩文件
- 天蓝色:表示链接文件(快捷方式)
常用的目录:
- /bin:bin 是 Binaries (二进制文件) 的缩写,这个目录存放着最经常使用的二进制可执行命令(ls cat mkdir 等),普通用户也可以执行;
- /sbin:s 就是 Super User 的意思,是 Superuser Binaries (超级用户的二进制文件) 的缩写,这里存放的是系统管理员使用的二进制可执行命令。
- /boot:开机引导目录,包括 Linux 内核文件与开机所需要的文件;
- /dev:设备目录,dev 是 Device(设备) 的缩写, 该目录下存放的是 Linux 的外部设备,所有的硬件设备及周边均放置在这个设备目录中,在 Linux 中访问设备的方式和访问文件的方式是相同的;
- /home:用户家目录,在 Linux 中,每个用户都有自己的用户目录,位置为:
/home/用户名
。主要存放个人数据,包括每个用户的设置文件,用户的桌面文件夹,还有用户的数据都放在这里。当然,root 用户除外; - /root:该目录为系统管理员的用户目录,也称作超级权限者的用户家目录。
- /usr:usr 是 unix shared resources(共享资源) 的缩写这是一个非常重要的系统级目录,系统的很多应用程序和文件都放在这个目录下,类似于 windows 下的 program files 目录。
- /usr/bin:非必须的二进制可执行命令
- /usr/sbin:非必须的系统二进制可执行命令,通常是由 root 运行的
- /usr/local/bin:用户编译程序的二进制可执行命令
- /usr/src: 是系统的源码存放目录,此目录一般由软件包管理器(yum、apt)来管理。
- /lib:lib 是 Library(库) 的缩写,这个目录里存放着系统最基本的动态连接共享库(类似代码重用和模块化),其作用类似于 Windows 里的 DLL 文件。几乎所有的应用程序都需要用到这些共享库,bin 及 sbin 指令也会调用对应的 lib 库;
- /tmp:临时文件存放目录;
- /etc:各种配置文件目录,大部分配置属性均放在这里;
- /opt:opt 是 optional(可选) 的缩写,第三方软件安装目录。比如你安装一个 ORACLE 数据库则就可以放到这个目录下。默认是空的。现在习惯性的放置在
usr/local
中; - /var:存放系统执行过程经常改变的文件,其中有一个重要的目录就是
/var/log/目录
,主要存放的是系统日志文件,还有存放 pid 文件的目录var/run/
- /user:只读的用户数据
- /proc:proc 是 Processes(进程) 的缩写,/proc 是一种伪文件系统(也即虚拟文件系统),存储的是当前内核运行状态的一系列特殊文件,这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。
- /mnt:系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在 /mnt/ 上,然后进入该目录就可以查看光驱里的内容了。
- /sys:存放的是系统硬件驱动程序相关的信息。
- /media:linux 系统会自动识别一些设备,例如 U 盘、光驱等等,当识别后,linux 会把识别的设备挂载到这个目录下。
# 重要目录
在 Linux 系统中有几个重要的目录需要注意,不要误删除或者随意更改其内部文件。
- /etc:存放系统配置文件,如果更改了该目录下的某个文件,可能会导致系统无法正常启动
- /etc/passwd:存放用户账号,每个用户都有唯一的用户名和密码,系统就是通过密码来验证用户身份。
- /etc/shadow:存放用户账号的密码信息,一般只允许 root 用户查看。
- /etc/group:存放用户组信息,可以用来创建用户组,添加用户到用户组,删除用户组。
- /bin、/sbin、/usr/bin、/usr/sbin:是系统预设的可执行文件的放置目录,其中 /bin 和 /usr/bin 目录下是供系统用户(除 root 外的通用账户)使用的命令,例如 ls 命令就存放在 /bin/ 目录下,而 /sbin 和 /usr/sbin 目录下是供 root 使用的命令。
- /var 也是一个非常重要的目录,系统上运行各个程序所产生的日志都被记录该目录下(即 /var/log 目录中),另外 mail 指令的预设也放置在这里。
# 目录文件相关的命令和快捷键
命令 | 作用 |
---|---|
pwd | 显示当前目录完成路径,shell 脚本中常用 |
mkdir | 创建目录 |
touch | 创建文件 |
rm (rm -rf ) | 删除文件(目录) |
rmdir | 删除空文件夹 |
find | 查找文件 |
which | 搜索命令文件 |
cp | 拷贝文件 |
mv | 移动文件 |
man /info | 获取帮助 |
快捷键 | 作用 |
---|---|
ctrl + u | 清空至行首 |
ctrl + k | 清空至行尾 |
ctrl + a | 光标移动到命令的最前面 |
ctrl + e | 光标移动到命令的最后面 |
ctrl + l | 清屏(向上滚动一屏,之前的内容还在) |
clear | 清屏(真正的清平,之前的内容会清空) |
ctrl + d | 退出当前终端,与 exit 命令作用相同 |
ctrl + c | 终止执行命令 |
ctrl + z | 暂停当前进程。跟 ctrl + c 有区别,暂停后,使用 fg 命令可以恢复该进程 |
# Linux 文件属性
例如:ls -l :
drwxrwxr-x 2 chenfangxu chenfangxu 4096 Jun 20 16:33 demo
-rwxrwxr-x 1 chenfangxu chenfangxu 68 Jan 16 18:53 demo.sh
# 第一列
包含该文件的类型、所有者、所属组以及其他用户对该文件的权限
# 文件类型
- d 目录
- 普通文件
- l 链接文件(link file)
- b 块设备,比如 /dev/sda 就是这样的文件,磁盘分区文件就是这种类型
- c 串行端口设备文件(又称字符设备文件),比如键盘、鼠标、tty 终端等都是这样的文件
- s 套接字文件(socket),用于进程之间的通信
# 文件权限
文件类型后面的 9 位,每 3 位为一组,均为 rwx 这 3 个参数的组合。
其中:
- r 代表可读
- w 代表可写
- x 代表可执行
前 3 位为所有者(user)权限,中间 3 位为所属组(group)权限,最后 3 位为其他非本群组用户(others)权限
# 第二列
表示文件或目录硬链接数量
# 第三列
表示该文件的所有者
# 第四列
表示该文件的所属组
# 第五列
表示该文件的大小,默认单位为 kb,可以使用 ls -lh 转换成更易读的模式
# 第六列、第七列、第八列
# 推荐阅读
← Linux 版本详述 Shell 概览 →