Linux学习笔记(五):linux环境变量和文件目录管理

  1. Linux的环境变量$PATH:
    和windows一样,Linux也有环境变量。环境变量PATH的作用是:当我们执行一个命令时,比如说ls ,系统或依照PATH的设置去每个PATH定义的目录下面查询文件名为ls的可执行文件,如果在PATH定义的目录中含有多个文件名为ls的可执行文件,那么先查询到的同名命令先执行。ls的位置在/bin/ls,当我们将/bin加入到$PATH中了之后,我们便可以在任何目录下面执行ls,而不需要它的绝对路径。

    一些与$相关的命令:
    echo $PATH :列出当前用户的所有PATH。(说明每个用户的PATH不一样)

    PATH = “$PATH” :/root 将/root目录加入到PATH中。

    需要注意的是,如果ls文件在/root下面,而不在/bin目录下面,且/root不再PATH中,那么即使你工作目录为/root,你输入ls命令时还是会提示命令未找到。这说明了linux在查找命令时的唯一依据就是PATH,并不会查找当前目录,想要执行不再PATH目录中的命令,需要使用绝对地址或者相对地址。例如上例使用 ./ls 。你也可以将 . 加入PATH中,这样执行命令就可以自动查找当前工作目录了,但是这样很不安全,不推荐这样做。

  2. Linux的目录管理
    linux的目录管理主要就是一系列命令来完成,包括“显示属性”、“复制”、“删除文件”、“移动文件或目录”等命令:

    (1)ls :查看文件与目录。
    这可能是linux最常用的命令了,主要有下面几种用法:
    ls -a :全部文件,连同隐藏文件一起列出来。
    ls -d :仅列出目录本身,而不是列出目录内的文件数据。
    ls -l : 列出长数据串,包含文件属性与权限等数据。(只显示非隐藏文件)
    ls -al :列出长数据串,包含文件属性与权限等数据。(显示包含隐藏文件的所有文件)

    (2)cp : 复制文件或目录。
    cp -a : 相当于 -pdr 的意思,至于 pdr 请参考后文。
    cp -i : 若目标文件已存在,在覆盖时会先询问操作的进行(常用)
    cp -r : 递归持续复制,用于目录的复制行为(常用)。
    cp -p : 连同文件的属性一起复制过去,而非使用默认属性(备份常用)
    cp -u : 若源文件比目标文件才复制过来
    默认情况下:
    1、cp的源文件与目的文件的权限是不同的,目的文件的所有者通常会是命令操作者本身。
    2、cp 的源文件是连接文件时,默认为复制连接文件的源文件,若只需要复制连接文件属性,则需加 -d 参数。
    3、将多个文件一次复制到同一个目录中去,最后面为目录,前面的文件用空格隔开。

那么P171现在有一个问题:在linux中,使用普通账号fzh去完整复制/var/log/wtmp文件在/tmp下面,并更名为 fzh_wtmp,这是可以实现的吗?
答案是不能实现的,即使加上 -a 参数,复制过来的目标文件的所有者与用户组依然是和默认情况一样,为fzh,因为fzh这个账户是没有权限更改文件的所有者和用户组的,所以,复制出来的文件只能是按照cp命令的默认情况来复制的,即使加上-a参数,也是无法完成完整复制的。

(3)rm : 移除文件或目录。
cp -f : 就是 force 的意识,忽略不存在的文件,不会出现警告信息。
cp -i : 互动模式,在删除前会询问用户操作。
cp -r: 递归删除,最常用于目录删除,这是一个非常危险的参数!!!!

rm -r是一个重量级且危险的命令,在root账户下,rm默认都是加上了 -i 参数,所以要一直按y才会删除,这事一种保护操作,如果确定要删除此文件夹下所有文件而不需要询问,可以使用反斜杠命令: \rm -r /tmp/etc (命令前面加上反斜杠,可以忽略掉alias指定参数。)

删除**“-aaa”**之类的文件
在linux下,- 后面一般连接参数,但是有些文件名前面带有-,例如删除命令 rm -aaa 这就会让命令误判,以为 -aaa是参数,避免这种情况的方法有两种:
1:在文件前面加上目录名,例如 rm ./-aaa 。
2: 使用 rm – -aaa 也可以。

(4)mv:移动文件、目录,或者更名。
mv -f : force,强制的意思,如果目标文件已存在,不会询问就会覆盖。
mv -i : 交互式,会出现信息提醒。
-u: 目标文件已存在时,源文件比较新,才会更新。

例如 重命名一个test文件: mv test test1 这样就可以了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值