文件、目录管理(一)

本文介绍了Linux系统中的目录结构,详细讲解了ls命令的使用,包括列出文件和目录的各种选项。接着讨论了文件类型、alias命令来设置指令别名,以及如何理解和使用相对与绝对路径。还详细阐述了cd命令、mkdir/rmdir命令创建和删除目录,以及rm命令的安全删除操作。此外,文章还提到了环境变量PATH的重要性和如何查看与修改,最后介绍了cp命令用于复制文件和目录的用法。
摘要由CSDN通过智能技术生成

2.1 系统目录结构

# ls /
bin  boot  data  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  software  srv  sys  tmp  usr  var
  • 常用的目录有:
bin、sbin       软连接(/bin/ 、/sbin/ 、/usr/bin/ 、/usr/sbin/ 用来存放各种命令)

boot        与系统启动相关的目录

dev     存放与设备相关的文件

etc     系统配置文件所在目录

home        普通用户家目录

lib、lib64      存放系统的库文件(ldd命令可以查看库文件)

media       媒介目录,默认为空

mnt     临时挂载目录,默认为空

opt     空目录(早期存放Oracle的目录)

proc        系统进程目录

root        root用户家目录

run     进程产生的临时目录文件,关机后会自动清除

srv     系统服务所产生的文件,默认为空

sys     存放系统内核相关的文件

tmp     系统临时文件目录

usr     系统用户文件目录

var     存放日志文件(.log)

2.2 ls命令

ls:列出目标目录中所有子目录和文件。

语法:ls [参数] [目录名]

  • 常用参数:
-a      列出目录下的所有文件,包括以“.”开头的隐藏文件

-l      除了文件名之外还将文件的权限、所有者、文件大小等信息详细列出来

-t      以文件编辑时间进行排序

-i      显示文件的索引节点号

-d      只列出目录名称,不显示目录其他信息

-S      以文件大小进行排序

注:以上选项可以组合起来使用!


2.3 文件类型

-   普通文件(文本文档、二进制文件)

d   directory,即目录文件

c   字符串设备文件,比如键盘、鼠标等

b   block,块文件

l   软链接文件

s   socket,套接文件,用于进程间通信

2.4 alias命令

alias:设置指令的别名。

语法: alias [别名]=[指令名称]

设置别名:

# alias zx='ls -lha'

取消别名(unalias):

# unalias zx

2.5 相对和绝对路径

绝对路径:从/开始的路径。

相对路径:相对于你当前位置的路径(不是以/开头的路径)。

pwd命令:显示当前所在目录的绝对路径。


2.6 cd命令

cd:切换目录。

  • 用法:
cd -    进入上次所在目录,类似于遥控器的“交替”命令

cd ~    进入当前目录的家目录

cd .    当前目录

cd ..   进入上一级目录

cd /var/log/    进入 /var/log 目录
  • 概念:

家目录:是存放root以外的其他所有用户的用户目录,自己的文件全部放在家目录下。

根目录:逻辑驱动器的最上一级目录,家目录包含在根目录中。

  • 补充:
whoami  查看当前用户的名字

id  查看uid、gid以及组

echo $HOME  查看用户的家目录($HOME是系统自带环境变量)

pwd 查看当前用户所在目录

2.7 mkdir/rmdir命令


mkdir命令

mkdir:创建目录。

语法:mkdir [-mp] [目录名称] ,其中-m、-p为其参数。

-m  指定目录的权限

-p  强制创建目录或者创建级联目录

rmdir命令

rmdir:删除目录

语法:rmdir [目录名称],可同时删除多个目录,用空格分隔。

rmdir 只能删除空目录,即使加上-p参数也只能删除一串的空目录。

缺陷:rmdir -p同样可以级联删除一大串目录,但是级联的目录中其中一个目录里还有目录或者文件时就无法删除了。


2.8 rm命令

rm:删除目录或文件。

语法:rm [参数] [文件/目录]

rm 可以删除一个目录中的一个或多个文件或目录,也可以将某个目录及其下属的所有文件及其子目录均删除掉。对于链接文件,只是删除整个链接文件,而原有文件保持不变。

  • 参数:
-r  删除目录用的选项

-f  强制删除文件或目录

-d  直接把欲删除的目录的硬连接数据删除成0,删除该目录

-i  删除已有文件或目录之前先询问用户

-v  显示指令的详细执行过程

rm命令可以用-i选项,这个选项在使用文件扩展名字符删除多个文件时特别有用。使用这个选项,系统会要求你逐一确定是否要删除。这时,必须输入y并按Enter键,才能删除文件。如果仅按Enter键或其他字符,文件不会被删除。

注意:-rf可以组合起来使用。使用rm -rf 命令要格外小心,因为一旦删除了一个文件,就无法再恢复它。


2.9 环境变量PATH

which命令可以查找命令和别名,是否依赖环境变量。

echo $PATH用来查看当前环境变量(在环境变量中,可以直接查找文件,不需要使用绝对路径)。在没有将目录添加进环境变量PATH前,不使用绝对路径就无法找到文件。

删除、更改环境变量有两种方法:

  1. 直接复制保留的部分,添加到环境变量中:
# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/tmp/

# PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
  1. 修改/etc/profile文件:
# vi /etc/profile
PATH=$PATH:/tmp/                #删除此行

2.10 CP命令

cp:用来将一个或多个源文件或者目录复制到指定的目的文件或目录。cp命令默认带-i参数。

它可以将单个源文件复制成一个指定文件名的具体的文件或一个已经存在的目录下。cp命令还支持同时复制多个文件,当一次复制多个文件时,目标文件参数必须是一个已经存在的目录,否则将出现错误。

语法:cp [参数] [源文件] [目标文件]

  • 参数:
-a  此参数的效果和同时指定 -dpR 参数相同

-d  当复制符号连接时,把目标文件或目录也建立符号连接,并指向与源文件或目录连接的原始文件或目录

-f  强制复制文件或目录。不论目标文件或目录是否已经存在

-i  安全选项,覆盖文件之前会先询问用户

-l  对源文件建立硬链接,而不是复制文件

-p  保留源文件或目录的属性

-R/r    递归处理,将指定目录下的所有文件与子目录一并处理(复制目录时必须加-r选项,否则不能复制)

-s  对源文件建立符号连接,而不是复制文件

-b  覆盖已存在的文件前将目标文件备份

-v  详细显示命令执行的过程
  • 补充:

touch:创建一个空文件,如果之前没有这个文件,就会创建这个文件;如果有这个文件,则会改变这个文件的访问时间。

echo:用于打印指定的内容。

>:起写入作用(重定向),把前面的输出写入到后面的文件中。

cat:用于读取一个文件,并显示内容在当前屏幕上。

tree:以树形形式显示目录下面有哪些文件或子目录,系统默认没有tree命令。

!$: 表示上一条命令的最后一个参数。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值