百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

Linux文件和目录管理常用重要命令(二)

ahcoder 2025-01-16 17:34 9 浏览

二、管理文件与目录

在了解目录与路径之后,我们继续学习管理文件与目录的一些命令!文件与目录的管理上,不外乎【显示属性】、【拷贝】、【删除文件】及【移动文件或目录』】等等,由于文件与目录的管理在 Linux 当中是很重要的, 尤其是每个人自己自家目录的数据也都需要注意管理!

1.ls (查看文件和目录)

[root@xiaoluo ~]# ls [-aAdfFhilRS] 目录名称

[root@xiaoluo ~]# ls [--color={none,auto,always}] 目录名称

[root@xiaoluo ~]# ls [--full-time] 目录名称

参数:

-a :全部的文件,连同隐藏文件( 开头为 . 的目录) 一起列出来~

-A :全部的文件,连同隐藏文件,但不包括 . 与 .. 这两个目录,一起列出来~

-d :仅列出目录本身,而不是列出目录内的文件数据

-f :直接列出结果,而不进行排序 (ls 预设会以文件名排序!)

-F :根据文件、目录等信息,给予附加数据结构,例如:

*:代表可执行文件; /:代表目录; =:代表 socket 档案; |:代表 FIFO 文件;

-h :列出文件的打小(例如GB、KB等等)

-i :列出 inode 位置,而非列出文件属性;

-l :长数据串行出,包含文件的属性等等数据;

-n :列出 UID 与 GID 而非使用者与群组的名称 (UID与GID会在账号管理提到!)

-r :将排序结果反向输出,例如:原本文件名由小到大,反向则为由大到小;

-R :连同子目录内容一起列出来;

-S :以文件容量大小排序!

-t :依时间排序

--color=never :不要依据文件特性给予颜色显示;

--color=always :显示颜色

--color=auto :让系统自行依据设定来判断是否给予颜色

--full-time :以完整时间模式 (包含年、月、日、时、分) 输出

--time={atime,ctime} :输出 access 时间或 改变权限属性时间 (ctime)

而非内容变更时间 (modification time)

在 Linux 系统当中,这个 ls 指令可能是最常被执行的命令!因为我们随时都要知道文件或者是目录的相关信息啊。 不过,我们 Linux 的文件所记录的信息实在是太多了, ls 没有需要全部都列出来呢, 所以,当输入ls命令时,默认显示的只有:非隐藏文件的文件名、 以文件名进行排序及文件名代表的颜色显示;

[root@xiaoluo home]# ls -al ~

总用量 216

dr-xr-x---. 31 root root 4096 4月 19 20:40 .

dr-xr-xr-x. 26 root root 4096 4月 21 11:14 ..

drwxr-xr-x. 2 root root 4096 3月 31 14:26 .abrt

-rw-------. 1 root root 13062 4月 21 00:58 .bash_history

-rw-r--r--. 1 root root 18 5月 20 2009 .bash_logout

-rw-r--r--. 1 root root 176 5月 20 2009 .bash_profile

-rw-r--r--. 1 root root 177 4月 8 22:43 .bashrc

drwxr-xr-x. 4 root root 4096 4月 1 12:28 .cache

drwxr-xr-x. 6 root root 4096 4月 1 12:26 .config

-rw-r--r--. 1 root root 100 9月 23 2004 .cshrc

drwx------. 3 root root 4096 3月 31 14:25 .dbus

-rw-------. 1 root root 16 3月 31 14:26 .esd_auth

drwx------. 4 root root 4096 4月 5 12:09 .gconf

drwx------. 2 root root 4096 4月 5 18:56 .gconfd

drwx------. 7 root root 4096 4月 1 12:28 .gnome2

drwx------. 2 root root 4096 4月 1 11:49 .gnome2_private

drwxr-xr-x. 3 root root 4096 3月 31 14:26 .gnote

drwx------. 2 root root 4096 4月 1 11:46 .gnupg

drwxr-xr-x. 2 root root 4096 3月 31 14:26 .gstreamer-0.10

-rw-r--r--. 1 root root 160 4月 1 11:46 .gtk-bookmarks

drwx------. 2 root root 4096 3月 31 14:25 .gvfs

-rw-------. 1 root root 624 4月 1 11:46 .ICEauthority

-rw-r--r--. 1 root root 785 4月 1 11:46 .imsettings.log

drwx------. 3 root root 4096 4月 1 12:26 .kde

-rw-------. 1 root root 46 4月 20 23:50 .lesshst

drwxr-xr-x. 3 root root 4096 3月 31 14:25 .local

drwxr-xr-x. 4 root root 4096 4月 1 11:49 .mozilla

-rw-------. 1 root root 1711 4月 19 20:23 .mysql_history

drwxr-xr-x. 2 root root 4096 3月 31 14:26 .nautilus

drwx------. 2 root root 4096 3月 31 14:26 .pulse

-rw-------. 1 root root 256 3月 31 14:25 .pulse-cookie

-rw-------. 1 root root 3244 4月 1 12:34 .recently-used.xbel

drwxr-xr-x. 3 root root 4096 3月 31 14:26 .redhat

drwx------. 2 root root 4096 3月 31 14:25 .ssh

drwxr-xr-x. 2 root root 4096 3月 30 11:20 .targetcli

-rw-r--r--. 1 root root 129 12月 4 2004 .tcshrc

drwx------. 3 root root 4096 4月 1 12:18 .thumbnails

-rw-------. 1 root root 511 4月 5 00:04 .viminfo

-rw-------. 1 root root 52 3月 31 14:18 .xauth58xele

-rw-------. 1 root root 52 4月 19 19:34 .xauthAQSudj

-rw-------. 1 root root 52 4月 1 20:09 .xauthFR3WoT

-rw-------. 1 root root 52 3月 31 21:56 .xauthGPcuIJ

-rw-------. 1 root root 52 3月 31 22:06 .xauthhgV2Ad

-rw-------. 1 root root 0 3月 30 15:26 .Xauthority

2. cp (复制命令)

要复制文件,我们就要用到cp(copy)命令。不过cp命令的用途非常的广泛,除了单纯的复制之外,还可以建立连接文件(相当于windows下的快捷方式),比较两个文件的新旧而予以更新,以及复制整个目录等等。

[root@xiaoluo ~]# cp [-adfilprsu] 源文件(source) 目的文件(destination)

[root@xiaoluo ~]# cp [options] source1 source2 source3 .... directory

参数:

-a :相当于 -pdr 的意思;

-d :若来源文件为链接文件的属性(link file),则复制链接文件属性而非档案本身;

-f :为强制 (force) 的意思,若有重复或其他疑问时,不会询问使用者,而强制复制;

-i :若目的文件(destination)已经存在时,在覆盖时会先询问是否真的动作!

-l :进行硬式连结 (hard link) 的连结文件建立,而非复制文件本身;

-p :连同文件的属性一起复制过去,而非使用默认属性;

-r :递归持续复制,用于目录的复制行为;

-s :复制成为符号链接文件 (symbolic link),亦即『快捷方式』文件;

-u :若 destination 比 source 旧才更新 destination !

最后需要注意的,如果来源档有两个以上,则最后一个目的文件一定要是『目录』

下面我们来写一些实例来看一下cp命令的常用用法:

实例一:将家目录下的 .bashrc 复制到 /tmp 下,并更名为 bashrc[root@xiaoluo home]# cd /tmp[root@xiaoluo tmp]# cp ~/.bashrc bashrc[root@xiaoluo tmp]# cp -i ~/.bashrc bashrc cp:是否覆盖"bashrc"? n# 重复作两次动作,由于 /tmp 底下已经存在 bashrc 了,加上 -i 参数,# 则在覆盖前会询问使用者是否确定!可以按下 n 或者 y !# 但是,反过来说,如果不想要询问时,则加上 -f 这个参数来强制直接覆盖!实例二:将 /var/log/wtmp 复制到 /tmp 底下[root@xiaoluo tmp]# cp /var/log/wtmp .[root@xiaoluo tmp]# ls -l /var/log/wtmp wtmp -rw-rw-r--. 1 root utmp 204288 4月 21 11:22 /var/log/wtmp-rw-r--r--. 1 root root 204288 4月 21 13:33 wtmp# 注意到了吗?!在不加任何参数的情况下,文件的所属者会改变,连权限也跟着改变了

# 这是个很重要的特性!要注意!还有,连文件建立的时间也不一样了!# 如果您想要将文件的所有特性都一起复制过来,可以加上 -a 参数即可!

[root@xiaoluo tmp]# cp -a /var/log/wtmp wtmp2

[root@xiaoluo tmp]# ls -l /var/log/wtmp wtmp2

-rw-rw-r--. 1 root utmp 204288 4月 21 11:22 /var/log/wtmp

-rw-rw-r--. 1 root utmp 204288 4月 21 11:22 wtmp2

# 此时我们看到在加上 -a 这个参数以后,文件的所有属性都会被复制过来。

实例三:复制 /etc/ 这个目录下的所有内容到 /tmp 底下

[root@xiaoluo tmp]# cp /etc/ /tmp

cp: 略过目录"/etc/"    -->> 如果我们复制的是目录,此时必须要加上 -r 这个参数才行

[root@xiaoluo tmp]# cp -r /etc/ /tmp

# 还是要再次的强调! -r 是可以复制目录,但是,档案与目录的权限会被改变

# 所以,也可以利用 cp -a /etc /tmp 来下达指令!    使用-a 参数相当于同时使用了 -pdr 参数

3.rm (删除文件或目录)

[root@xiaoluo ~]# rm [-fir] 文件或目录

参数:

-f :就是 force 的意思,强制移除;

-i :互动模式,在删除前会询问使用者是否动作

-r :递归删除!最常用在目录的删除了

下面我们通过一些实例来看一下rm命令的使用

[root@xiaoluo tmp]# rm bashrc rm:是否删除普通文件 "bashrc"?y[root@xiaoluo tmp]# rm wtmp wtmp2rm:是否删除普通文件 "wtmp"?yrm:是否删除普通文件 "wtmp2"?y

[root@xiaoluo tmp]# rm -rf etc/  -->> 这个就会强制将etc这个目录以及里面的所有子目录、文件删除掉

4.mv (移动文件与目录、文件重命名)

[root@xiaoluo ~]# mv [-fiu] source destination[root@xiaoluo ~]# mv [options] source1 source2 source3 .... directory参数:-f :force 强制的意思,强制直接移动而不询问;-i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!-u :若目标文件已经存在,且 source 比较新,才会更新 (update)

实例一:复制一档案,建立一目录,将档案移动到目录中

[root@xiaoluo tmp]# cp ~/.bashrc bashrc

[root@xiaoluo tmp]# mkdir mvtest

[root@xiaoluo tmp]# mv bashrc mvtest/

[root@xiaoluo tmp]# cd mvtest/

[root@xiaoluo mvtest]# ls

bashrc

# 将某个档案移动到某个目录去,就是这样做!

实例二:将刚刚的目录名称更名为 mvtest2

[root@xiaoluo tmp]# mv mvtest mvtest2  <== 这样就更名了!

# 其实在 Linux 底下还有个命令令,名称为 rename ,

# 该命令就是专门用来对文件或者目录进行重命名的镇明路!可以参阅 man rename 了解其更多的用法 !

5.basename (获取路径的文件名) dirname (获取路径的目录名)

完整的文件名最长我们可以为4096个字符。那么我们怎么样知道哪个代表的是文件名?哪个代表的是目录名呢?其实我们通过斜线 / 就可以来分辨。当然Linux下的basename、dirname这两个命令也可以帮助我们来获得文件名和目录名。例如:

[root@xiaoluo ~]# basename /etc/inittab inittab  -->>这个就是我们的文件名

[root@xiaoluo ~]# dirname /etc/inittab /etc    -->>这个就是我们的目录名

上一篇:Linux文件和目录管理常用重要命令(一)

其他文章推荐反垃圾邮件网关如何过滤Locky勒索邮件

详解收发不畅原因及解决之道

相关推荐

Linux 6.15将更新媒体子系统:高通Iris驱动首次亮相

IT之家3月24日消息,科技媒体phoronix昨日(3月23日)发布博文,报道称Linux6.15内核将于本周启动合并窗口,首批提交的PullRequest请求之一,就...

Ubuntu 25.04发行版登场:Linux 6.14内核,带来多项技术革新

IT之家4月18日消息,科技媒体linuxiac昨日(4月17日)发布博文,报道称代号为PluckyPuffin的Ubuntu25.04发行版正式上线,搭载最新Linu...

WordPress 6.8 版本发布:聚焦性能升级,代号“Cecil”

WordPress6.8版本发布:聚焦性能升级,代号“Cecil”全球最受欢迎的内容管理系统(CMS)WordPress正式推出最新版本6.8,代号“塞西尔”(Cecil),以此致敬传奇钢琴家...

Linus Torvalds接受微软Hyper-V升级 下一代Linux启动会更快

虽然Windows的粉丝和Linux的粉丝经常喜欢进行激烈的键盘大战,但操作系统的制造商们自己也了解彼此的优缺点。毫无疑问,微软也明白这一点,事实上,它甚至鼓励用户尝试Linux,尽管是使用...

Debian 12发布:Linux内核升级6.1(debian更新内核)

IT之家6月11日消息,Debian是最古老的GNU/Linux发行版之一,也是许多其他基于Linux的操作系统的基础,包括Ubuntu、Kali、MX和树莓派OS等。这...

Linux Mint预告新功能:升级Nemo搜索、LMDE 7支持OEM安装

IT之家4月10日消息,LinuxMint发布了最新月度简讯,宣布增强Nemo文件管理器的文件搜索功能、Cinnamon桌面环境开始支持Wayland、LMDE7(LinuxM...

Linux 6.2合并大量网络系统更新:推进Wi-Fi 7和800 Gbps网络

IT之家12月15日消息,Linux6.2合并窗口期内已经确认将会合并大量网络子系统更新。和以往版本相同,Linux6.2内核更新周期在网络功能上有大量的改进,更多的细节可以访问这条...

Linux内核升级实践指南(linux内核怎么升级)

Linux内核升级是一个需要谨慎操作的过程,但掌握正确方法后可以显著提升系统性能、安全性或硬件兼容性。以下是一份详细的实践指南,涵盖主流方法及注意事项:一、准备工作查看当前内核版本bashuname...

Linux又将迎来大版本更新 5.20版可能会被称为Linux 6.0

如果你错过了昨天Linux5.19的发布公告,那么这一消息需要回顾一下:被称为Linux5.20的开发中的内核很可能会被称为Linux6.0。根据LinusTorvalds对现代版本的划分,L...

周六的娱乐就是安装一台OracleLinux虚拟机(一)

每个人有每个人的娱乐方式。老父亲可能喜欢摆弄一些机械工具修修补补。我趁着周六安装一套OracleLinux,寓学于乐。在oracle网站上,下载VirtualBox,现在最新版本是7.0.8。在安装过...

Linux系统下Gaussian 16的安装(linux系统如何安装新软件)

Gaussian是目前使用最多的量子化学计算软件,当前最新的版本为Gaussian16C.01。理论上来说Gaussian并不需要安装,因为高斯一般是不出售源代码的,只有二进制文件,以Gaussi...

「Linux基础」VMWare虚拟机安装CentOS后配置静态ip

在VMWare中安装本地虚拟机CentOS7操作系统,动态IP地址会经常变化,不便于管理与实验。为了便于实验,考虑设置成静态IP地址,目标是本地局域网可以通过NAT网关互相访问,且能连接互联网。由于是...

Win10虚拟机,Hyper-V安装CentOS,一次成功

打开控制面板,选择程序选择启用或关闭Windows功能选中Hyper-V下所有的组件。提示我们需要,重启计算机,保存我们的文件,之后点击“立即重新启动”选择开始菜单,输入Hy,就可以打开虚拟机管理器了...

如何在Windows 10中的Hyper-V虚拟机上安装CentOS Linux

注意双重引导的一种可行且相当不错的替代方法是在虚拟机上安装各种操作系统。Microsoft正式支持CentOS作为Hyper-V的来宾OS,并且在安装时可以很好地集成。自CentOS6.4版以来,用...

安装Linux虚拟机的5个理由,以及不安装的5个原因

虚拟机(VM)允许你在不永久更改计算机的情况下探索Linux。如果你对Linux很好奇,但犹豫是否要尝试,VM提供了一个安全、灵活的解决方案。如果这是你第一次听说虚拟机,虚拟机就像“计算机中的计算机”...