文件和目录管理

         目录结构文件:就是在一个目录中存放子目录和文件,而在子目录中又会进一步最和文件此类推形成一个树形的文件结构,又被称为“目录树”。

        在Linux系統中也沿用了这种文件结构,所有目录和文在都在根目录下,目录名为“/”。

FHS(文件系统层次标准)定义了在根目录下的主要目录以及每个目录应该存放什么文件。

        下面进入根目录中,査看一下Linux安装后默认的目录,如下所示:

[root@localhost 桌面]# cd /
[root@localhost /]# ls
bin   dev  home  lib64  mnt  proc  run   srv  tmp  var
boot  etc  lib   media  opt  root  sbin  sys  usr

FHS定义的目录结构

目录目录的用途
/bin常见的用户指令
/boot内核和启动文件
/dev设备文件
/etc系统和服务的配置文件
/home系统默认的普通用户的家目录
/lib系统函数库目录
/lost+foundext3文件系统需要的目录,用于磁盘检查
/mnt系统加载文件系统时常用的挂载点
/opt第三方软件安装目录
/proc虚拟文件系统
/rootroot用户的家目录
/sbin存放系统管理命令
/tmp临时文件的存放目录
/usr存放与用户直接相关的文件和目录
/media系统用来挂载光驱等临时文件系统的挂载点

1.绝对路径和相对路径

        1.1绝对路径:由根目录(/)开始写起的目录或文件

        在 Linux下每个目录或文件都可以从根目录处开始寻找,比如: usr/local/src目录。这种从根目录开始的全路径被称为“绝对路径”,绝对路径一定是以“/”开头的。

       1.2当前目录:pwd

        想要确定当前所在的目录,可以使用以下pwd命令查看:

[root@localhost /]# pwd
/
[root@localhost /]# cd ~
[root@localhost ~]# pwd
/root

        1.3特殊目录:(.)和(..)

        在每个目录下,都会固定存在两个特殊目录,分别是一个点(.)和两个点(..)目录。

一个点(.)代表的是当前目录,两个点(..)代表的是当前目录的上层目录。在 Linux下,所有以点开始的文件都是“隐藏文件”,对于这类文件,只使用命令ls-1是看不到的,必须要使用ls -la才可以看到。

[root@localhost mnt]# ls
hgfs
[root@localhost mnt]# 
[root@localhost mnt]# ls -la
总用量 4
drwxr-xr-x.  3 root root   17 8月   1 21:25 .
drwxr-xr-x. 17 root root 4096 8月   6 16:32 ..
drwxr-xr-x.  2 root root    6 8月   1 21:25 hgfs

        1.4相对路径:相对于当前路径的写法

        “相对路径”的关键在于当前在什么路径下。

        假设当前目录在/usr/ocal下那么它的上层目录(/usr目录)可以用../表示,而/sr/ocal的下层目录(src)则可以用./src表示。看下面的例子:

[root@localhost ~]# cd /mnt #现在进入/mnt目录
[root@localhost mnt]# ls -la
总用量 4
drwxr-xr-x.  3 root root   17 8月   1 21:25 .
drwxr-xr-x. 17 root root 4096 8月   6 16:32 ..
drwxr-xr-x.  2 root root    6 8月   1 21:25 hgfs
[root@localhost mnt]# cd .    #进入当前目录
[root@localhost mnt]# pwd
/mnt        #看到我们还是再/mnt目录中
[root@localhost mnt]# cd ..    #进入当前目录的上层目录
[root@localhost /]# pwd #显示当前目录
/

2.文件的相关操作

[root@localhost /]# cd /tmp
[root@localhost tmp]# touch test.txt
[root@localhost tmp]# ls -l
总用量 0
-rw-r--r--. 1 root root    0 8月   6 18:27 test.txt
[root@localhost tmp]# touch test.txt
[root@localhost tmp]# ls -l
总用量 0
-rw-r--r--. 1 root root    0 8月   6 18:28 test.txt
[root@localhost tmp]# rm test.txt
rm:是否删除普通空文件 "test.txt"?y
[root@localhost tmp]# ls
anaconda.log      ssh-TjlIAOBPQdoQ        VMwareDnD
hsperfdata_root   storage.log             vmware-root
ifcfg.log         systemd-private-lxtgo4  yum.log
ks-script-3s0B7_  systemd-private-nIbExQ  yum_save_tx.2021-08-05.15-20.lUucKz.yumtx
packaging.log     systemd-private-tEOw9g
program.log       vmware-config-45481.0
[root@localhost tmp]# touch test.txt
[root@localhost tmp]# ls 
anaconda.log      ssh-TjlIAOBPQdoQ        vmware-config-45481.0
hsperfdata_root   storage.log             VMwareDnD
ifcfg.log         systemd-private-lxtgo4  vmware-root
ks-script-3s0B7_  systemd-private-nIbExQ  yum.log
packaging.log     systemd-private-tEOw9g  yum_save_tx.2021-08-05.15-20.lUucKz.yumtx
program.log       test.txt
[root@localhost tmp]# ls /mnt
hgfs
[root@localhost tmp]# mv test.txt /mnt/
[root@localhost tmp]# ls /mnt
hgfs  test.txt
[root@localhost tmp]# ls
anaconda.log      ssh-TjlIAOBPQdoQ        VMwareDnD
hsperfdata_root   storage.log             vmware-root
ifcfg.log         systemd-private-lxtgo4  yum.log
ks-script-3s0B7_  systemd-private-nIbExQ  yum_save_tx.2021-08-05.15-20.lUucKz.yumtx
packaging.log     systemd-private-tEOw9g
program.log       vmware-config-45481.0
[root@localhost tmp]# cd /mnt/
[root@localhost mnt]# ls
hgfs  test.txt
[root@localhost mnt]# mv test.txt test.doc
[root@localhost mnt]# ls
hgfs  test.doc
[root@localhost mnt]# mv test.doc /tmp/test.txt
[root@localhost mnt]# ls /tmp/
anaconda.log      ssh-TjlIAOBPQdoQ        vmware-config-45481.0
hsperfdata_root   storage.log             VMwareDnD
ifcfg.log         systemd-private-lxtgo4  vmware-root
ks-script-3s0B7_  systemd-private-nIbExQ  yum.log
packaging.log     systemd-private-tEOw9g  yum_save_tx.2021-08-05.15-20.lUucKz.yumtx
program.log       test.txt
[root@localhost ~]# head anaconda-ks.cfg 
#version=RHEL7
# System authorization information
auth --enableshadow --passalgo=sha512

# Use CDROM installation media
cdrom
# Run the Setup Agent on first boot
firstboot --enable
ignoredisk --only-use=sda
# Keyboard layouts
[root@localhost ~]# head -n  anaconda-ks.cfg 
head: anaconda-ks.cfg: 无效的号码%s
[root@localhost ~]# head -n anaconda-ks.cfg 
head: anaconda-ks.cfg: 无效的号码%s
[root@localhost ~]# head anaconda-ks.cfg 
#version=RHEL7
# System authorization information
auth --enableshadow --passalgo=sha512

# Use CDROM installation media
cdrom
# Run the Setup Agent on first boot
firstboot --enable
ignoredisk --only-use=sda
# Keyboard layouts
[root@localhost ~]# head -n 10 anaconda-ks.cfg 
#version=RHEL7
# System authorization information
auth --enableshadow --passalgo=sha512

# Use CDROM installation media
cdrom
# Run the Setup Agent on first boot
firstboot --enable
ignoredisk --only-use=sda
# Keyboard layouts
[root@localhost ~]# tail -f anaconda-ks.cfg 
@guest-agents
@guest-desktop-agents
@input-methods
@internet-browser
@multimedia
@print-client
@x11

%end

^Z
[1]+  已停止               tail -f anaconda-ks.cfg
[root@localhost ~]# mkdir touch_dir1
[root@localhost ~]# touch touch_file1
[root@localhost ~]# 
[root@localhost ~]# ll
总用量 8
-rw-------. 1 root root 1036 8月   2 02:33 anaconda-ks.cfg
-rw-r--r--. 1 root root 1087 8月   1 18:36 initial-setup-ks.cfg
drwxr-xr-x. 2 root root    6 8月   6 21:16 touch_dir1
-rw-r--r--. 1 root root    0 8月   6 21:17 touch_file1
[root@localhost ~]# mkdir org_dir
[root@localhost ~]# mkdir bak_dir
[root@localhost ~]# cd org_dir/
[root@localhost org_dir]# touch a b c
[root@localhost org_dir]# cp * ../bak_dir/
[root@localhost org_dir]# touch time_stamp
[root@localhost org_dir]# ll
总用量 0
-rw-r--r--. 1 root root 0 8月   6 21:18 a
-rw-r--r--. 1 root root 0 8月   6 21:18 b
-rw-r--r--. 1 root root 0 8月   6 21:18 c
-rw-r--r--. 1 root root 0 8月   6 21:20 time_stamp
[root@localhost org_dir]# touch a
[root@localhost org_dir]# ll
总用量 0
-rw-r--r--. 1 root root 0 8月   6 21:20 a
-rw-r--r--. 1 root root 0 8月   6 21:18 b
-rw-r--r--. 1 root root 0 8月   6 21:18 c
-rw-r--r--. 1 root root 0 8月   6 21:20 time_stamp
[root@localhost org_dir]# cp a ../bak_dir/
cp:是否覆盖"../bak_dir/a"? yy

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值