Linux文件系统组成和基本操作
文件系统的组成
- 文件和目录构成单根倒树状结构
- 文件系统从根目录开始,表示为一个单独的"/"字符
- 命名区分大小写
- 路径之间以"/"分隔
重要目录
- /root:超级用户root的家目录;
- /home/username:普通用户的家目录;
- /usr:安装的软件、共享库等目录;
- /usr/bin:用户命令,存放的路径;
- /usr/sbin:系统管理员命令;
- /usr/local:本地自定义软件安装目录;
- /etc:系统的配置文件;
- /var:系统服务的数据,例如数据库文件、日志文件和网站内容等;
- /tmp:系统临时文件目录;
- /boot:系统启动所需要的文件;
- /dev:包含一些特殊的设备文件,供系统用于访问硬件;
- /proc和/sys:反应当前系统运行状态;
文件和目录名
- 文件及目录的名字不能多于255个字符
- 所有字符都要求是有效的,不能使用"/"作为文件名
- 文件或目录名中不要使用特殊字符
- 如果文件名中含有特殊字符时应该使用单引号引起来
- 在Linux中命名区分大小写
绝对路径和相对路径
- 绝对路径
- 以根开头的路径
- 文件位置的全路径
- 在任何位置都可以引用
- 相对路径
- 不以斜线开头
- 当前工作目录的相对位置
- 在特定的位置才可以引用
基本操作
pwd:显示当前工作目录
[erik@localhost ~]$ pwd
/home/erik
[erik@localhost ~]$
cd:改变到一个绝对或相对目录
-
cd ..:回退到上一层目录
-
cd -:回退到上一次所在的工作目录
-
cd/cd ~:改变的哦啊当前用户的主目录
-
cd ~username:改变到某个用户的主目录
[erik@localhost ~]$ cd /etc [erik@localhost etc]$ cd .. [erik@localhost /]$ cd ~ [erik@localhost ~]$
ls:列出当前目录或者指定目录下的内容
-
ls -a:包含隐藏文件
-
ls -l:显示扩展信息
-
ls -R:递归所有目录
-
ls -ld:显示目录和符号链接信息
[erik@localhost ~]$ ls Desktop Documents Downloads Music Pictures Public Templates Videos [erik@localhost ~]$ ls -a . .bash_profile Desktop .ICEauthority Pictures .. .bashrc Documents .local Public .bash_history .cache Downloads .mozilla Templates .bash_logout .config .esd_auth Music Videos [erik@localhost ~]$ ls -R .: Desktop Documents Downloads Music Pictures Public Templates Videos
./Desktop:
./Documents:
./Downloads:
./Music:
./Pictures:
./Public:
./Templates:
./Videos: [erik@localhost ~]$ ls -ld drwx------. 14 erik erik 4096 Mar 26 06:23 . [erik@localhost ~]$ ll total 0 drwxr-xr-x. 2 erik erik 6 Mar 23 05:33 Desktop drwxr-xr-x. 2 erik erik 6 Mar 23 05:33 Documents drwxr-xr-x. 2 erik erik 6 Mar 23 05:33 Downloads drwxr-xr-x. 2 erik erik 6 Mar 23 05:33 Music drwxr-xr-x. 2 erik erik 6 Mar 23 05:33 Pictures drwxr-xr-x. 2 erik erik 6 Mar 23 05:33 Public drwxr-xr-x. 2 erik erik 6 Mar 23 05:33 Templates drwxr-xr-x. 2 erik erik 6 Mar 23 05:33 Videos [erik@localhost ~]$
touch:创建一个空文件或者更新一个文件的时间戳
- 如果文件不存在,则创建空文件
- 如果文件已存在,则更新文件的时间戳
- atime(access time):文件最后一次被访问的时间
- mtime(modify time):文件最后一次被修改的时间(文件内容发生变化)
- ctime(change time):文件最后一次被改变的时间(文件属性发生变化,例如文件的权限、大小)
- Birth:文件被创建的时间(红帽没有开启该时间)
cp:拷贝文件和目录
-
格式:cp [option] file destination
-
如果destination是一个目录,可以一次拷贝多个文件到这个目录,cp [option] file1 file2 destination
-
destination说明:
- 如果目标是一个目录,该拷贝把文件放到该目录下
- 如果目标是一个文件,该拷贝覆盖目标文件
- 如果目标不存在,该拷贝被重命名
-
拷贝目录使用cp -r
[root@localhost erik]# touch test.txt [root@localhost erik]# ls Desktop Downloads Pictures Templates Videos Documents Music Public test.txt [root@localhost erik]# pwd /home/erik [root@localhost erik]#ls /opt rh [root@localhost erik]# cp test.txt /opt/ [root@localhost erik]# ls /opt rh test.txt [root@localhost erik]#
mv:移动或者重命名文件和目录 ○ mv的源文件和目标文件在同一个目录就是重命名,不在同一个目录就是移动 ○ 格式:mv [option] file destination ○ 如果目标是一个目录可以同时移动多个文件,mv [option] file1 file2 destination
[root@localhost erik]# touch test1.txt
[root@localhost erik]# ls
Desktop Downloads Pictures Templates test.txt
Documents Music Public test1.txt Videos
[root@localhost erik]# mv test1.txt /opt
[root@localhost erik]# ls /opt/
rh test1.txt test.txt
[root@localhost erik]#
rm:删除文件
-
格式:rm [option] <file...
-
rm -i file:交互式删除,默认存在
-
rm -r directory:递归删除
-
rm -f file:强制删除
[root@localhost opt]# rm test.txt rm: remove regular empty file 'test.txt'? yes [root@localhost opt]# ls rh test1.txt [root@localhost opt]#
[root@localhost /]# rm /opt/test1.txt rm: remove regular empty file '/opt/test1.txt'? yes [root@localhost /]# ls /opt rh [root@localhost /]#
mkdir:创建空目录
○ mkdir -p:递归创建目录 ○ rmdir:删除空目录
[root@localhost /]# mkdir /opt/test1
[root@localhost /]# ls /opt/
rh test1
[root@localhost /]#
file:查看文件类型(Linux中没有文件后缀名)
[root@localhost /]# file /opt/test1/
/opt/test1/: directory
[root@localhost /]#