Linux目录和文件——管理目录和文件的命令

摘要:本文主要学习了Linux系统中关于目录和文件的操作。

cd命令

cd命令用来切换工作目录,是Change Directory的缩写。

基本语法

 cd 相对路径或绝对路径

特殊符号

 ~:代表当前登录用户的主目录。
~用户名:表示切换至指定用户的主目录。
-:代表上次所在目录。
.:代表当前目录。
..:代表上级目录。

使用举例

 [root@localhost ~]# cd /
[root@localhost /]# cd /usr/local
[root@localhost local]# cd ..
[root@localhost usr]# cd /home
[root@localhost home]# cd ~
[root@localhost ~]#

pwd命令

pwd命令的功能是显示用户当前所处的工作目录,是Print Working Directory的缩写。

基本语法

 pwd [选项]

选项说明

 -P:显示链接的真实路径。

使用举例

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

ls命令

ls命令的主要功能是显示当前目录下的内容,是最常见的目录操作命令,是List的缩写。

基本语法

 ls [选项] 文件或目录

选项说明

 -a:显示全部的文件,包括隐藏文件(开头为.的文件)也一起罗列出来,这是最常用的选项之一。
-A:显示全部的文件,连同隐藏文件,但不包括.与..这两个目录。
-d:仅列出目录本身,而不是列出目录内的文件数据。
-f:直接列出结果,而不进行排序,ls默认会以文件名排序。
-F:在文件或目录名后加上文件类型的指示符号:
*代表可运行文件,/代表目录,=代表socket文件,|代表FIFO文件。
-h:以人们易读的方式显示文件或目录大小,如1KB、234MB、2GB等。
-i:显示inode节点信息。
-l:使用长格式列出文件和目录信息,包括属性和权限等等。
-n:以UID和GID分别代替文件用户名和群组名显示出来。
-r:将排序结果反向输出,比如,若原本文件名由小到大,反向则为由大到小。
-R:连同子目录内容一起列出来,等于将该目录下的所有文件都显示出来。
-S:按文件容量大小排序,而不是按文件名排序。
-t:按时间排序,而不是按文件名排序。
--color=never:不依据文件特性给予颜色显示。
--color=always:根据文件特性给予颜色显示,默认。
--color=auto:让系统自行依据配置来判断是否给予颜色。
--full-time:以完整时间模式(包含年、月、日、时、分)输出。
--time={atime,ctime}:输出access时间或改变权限属性时间(ctime),而不是内容变更时间(modification time)。

使用举例

 [root@localhost /]# ls
bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var
[root@localhost /]# ls -a
. .. bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var
[root@localhost /]# ls -l
总用量
lrwxrwxrwx. root root 7月 : bin -> usr/bin
dr-xr-xr-x. root root 7月 : boot
...
drwxr-xr-x. root root 7月 : usr
drwxr-xr-x. root root 7月 : var
[root@localhost /]# ls -lh
总用量 32K
lrwxrwxrwx. root root 7月 : bin -> usr/bin
dr-xr-xr-x. root root .0K 7月 : boot
...
drwxr-xr-x. root root .0K 7月 : usr
drwxr-xr-x. root root .0K 7月 : var
[root@localhost /]# ls -lha
总用量 40K
dr-xr-xr-x. root root .0K 7月 : .
dr-xr-xr-x. root root .0K 7月 : ..
lrwxrwxrwx. root root 7月 : bin -> usr/bin
dr-xr-xr-x. root root .0K 7月 : boot
...
drwxr-xr-x. root root .0K 7月 : usr
drwxr-xr-x. root root .0K 7月 : var
[root@localhost /]# ls -lha -S
总用量 40K
drwxr-xr-x. root root .0K 7月 : etc
dr-xr-xr-x. root root .0K 7月 : .
dr-xr-xr-x. root root .0K 7月 : ..
dr-xr-xr-x. root root .0K 7月 : boot
...
dr-xr-xr-x. root root 7月 : proc
dr-xr-xr-x. root root 7月 : sys
[root@localhost /]# ls -lha -t
总用量 40K
drwxr-xr-x. root root 7月 : run
drwxr-xr-x. root root .0K 7月 : etc
...
drwxr-xr-x. root root 8月 opt
drwxr-xr-x. root root 8月 srv
[root@localhost /]#

mkdir命令

mkdir命令用于创建新目录,此命令所有用户都可以使用,是Make Directories的缩写。

基本语法

 mkdir [选项] 目录名

选项说明

 -m:手动配置所创建目录的权限,而不再使用默认权限。
-p:递归创建所有目录。

使用举例

 [root@localhost home]# ls -l
总用量
[root@localhost home]# mkdir /home/test
[root@localhost home]# ls -l
总用量
drwxr-xr-x. root root 7月 : test
[root@localhost home]# mkdir /home/temp/test
mkdir: 无法创建目录"/home/temp/test": 没有那个文件或目录
[root@localhost home]# mkdir -p /home/temp/test
[root@localhost home]# ls -l
总用量
drwxr-xr-x. root root 7月 : temp
drwxr-xr-x. root root 7月 : test
[root@localhost home]#

rmdir命令

rmdir命令用于删除空目录,是Remove Empty Directories的缩写。

基本语法

 rmdir [选项] 目录名

选项说明

 -p:递归删除空目录。

使用举例

 [root@localhost home]# ls -l
总用量
drwxr-xr-x. root root 7月 : temp
drwxr-xr-x. root root 7月 : test
[root@localhost home]# rmdir test
[root@localhost home]# ls -l
总用量
drwxr-xr-x. root root 7月 : temp
[root@localhost home]# rmdir -p temp/test/
[root@localhost home]# ls -l
总用量
[root@localhost home]#

touch命令

touch命令用来创建空文件或者修改文件的时间参数。当文件存在时,会修改此文件的时间参数,当文件不存在时,会在当前位置建立一个空文件。

文件的时间参数

Linux系统中,每个文件主要拥有3个时间参数(通过stat命令进行查看),分别是文件的访问时间、数据修改时间以及状态修改时间:

访问时间(Access Time,简称atime):只要文件的内容被读取,访问时间就会更新。例如,使用cat命令可以查看文件的内容,此时文件的访问时间就会发生改变。

数据修改时间(Modify Time,简称mtime):当文件的内容数据发生改变,此文件的数据修改时间就会跟着相应改变。例如,修改了文件内容,此时间就会发生改变。

状态修改时间(Change Time,简称ctime):当文件的状态发生变化,就会相应改变这个时间。例如,如果文件的权限或者属性发生改变,此时间就会相应改变。

基本语法

 touch [选项] 文件名

选项说明

 -a:只修改文件的访问时间(atime)。
-m:只修改文件的数据修改时间(mtime)。
-c:仅修改文件的时间参数(三个时间参数都改变),如果文件不存在,则不建立新文件。
-d:把文件的时间改为指定的日期。
-t:把文件的时间改为指定的时间,时间书写格式为YYMMDDhhmm。

使用举例

 [root@localhost home]# ls -l
总用量
[root@localhost home]# touch test
[root@localhost home]# ls -l
总用量
-rw-r--r--. root root 7月 : test
[root@localhost home]#

cp命令

cp命令主要用来复制文件和目录以及比对两文件的新旧而予以升级等功能,是Copy的缩写。

基本语法

 cp [选项] 源文件 目标文件

选项说明

 -a:此参数的效果和同时指定-dpr参数相同。
-d:如果源文件为软链接(对硬链接无效),则复制出的目标文件也为软链接。
-f:强行复制文件或目录,不论目标文件或目录是否已存在。
-i:覆盖既有文件之前先询问用户。
-l:对源文件建立硬连接,而非复制文件。
-s:对源文件建立软链接,而非复制文件。
-p:复制后目标文件保留源文件的属性(包括所有者、所属组、权限和时间)。
-r/R:递归处理,将指定目录下的所有文件与子目录一并处理。
-u:目标文件并不存在则复制文件,目标文件存在并且比源文件旧的时候进行覆盖。
-S:在备份文件时,用指定的后缀“SUFFIX”代替文件的默认后缀。
-b:覆盖已存在的文件目标前将目标文件备份。
-v:详细显示命令执行的操作。

使用举例

 [root@localhost home]# ls
aaa test
[root@localhost home]# cp test temp
[root@localhost home]# ls
aaa temp test
[root@localhost home]# cp aaa bbb
cp: 略过目录"aaa"
[root@localhost home]# ls
aaa temp test
[root@localhost home]# cp -a aaa bbb
[root@localhost home]# ls
aaa bbb temp test
[root@localhost home]# cp -s test link
[root@localhost home]# ls
aaa bbb link temp test
[root@localhost home]#

mv命令

mv命令既可以在不同的目录之间移动文件或目录,也可以对文件和目录进行重命名,是Move的缩写。

基本语法

 mv [选项] 源文件 目标文件

选项说明

 -f:强制覆盖,如果目标文件已经存在,则不询问,直接强制覆盖。
-i:交互移动,如果目标文件已经存在,则询问用户是否覆盖,默认。
-n:如果目标文件已经存在,则不会覆盖移动,而且不询问用户。
-v:显示文件或目录的移动过程。
-u:若目标文件已经存在,但两者相比,源文件更新,则会对目标文件进行升级。

使用举例

 [root@localhost home]# ls
aaa bbb link temp test
[root@localhost home]# ls aaa
demo
[root@localhost home]# mv aaa/demo demo
[root@localhost home]# ls
aaa bbb demo link temp test
[root@localhost home]# ls aaa
[root@localhost home]# ls bbb
demo
[root@localhost home]# mv bbb/demo hello
[root@localhost home]# ls
aaa bbb demo hello link temp test
[root@localhost home]# ls bbb
[root@localhost home]# mv temp demo
mv:是否覆盖"demo"? n
[root@localhost home]# ls
aaa bbb demo hello link temp test
[root@localhost home]# mv -f temp demo
[root@localhost home]# ls
aaa bbb demo hello link test
[root@localhost home]#

rm命令

rm命令可以永久性地删除文件系统中指定的文件或目录,是Remove的缩写。在使用rm命令删除文件或目录时,系统不会产生任何提示信息。

注意,rm命令是一个具有破坏性的命令,因为rm命令会永久性地删除文件或目录,这就意味着,如果没有对文件或目录进行备份,一旦使用rm命令将其删除,将无法恢复,因此,尤其在使用rm命令删除目录时,要慎之又慎。

基本语法

 rm [选项] 文件或目录

选项说明

 -f:强制删除(force),系统将不再询问,而是直接删除目标文件或目录。
-i:在删除文件或目录之前,系统会给出提示信息,可以有效防止不小心删除有用的文件或目录。
-r:递归删除,主要用于删除目录,可删除指定目录及包含的所有内容,包括所有的子目录和文件。

使用举例

 [root@localhost home]# ls
aaa bbb demo hello
[root@localhost home]# rm demo
rm:是否删除普通文件 "demo"?y
[root@localhost home]# ls
aaa bbb hello
[root@localhost home]# rm -f hello
[root@localhost home]# ls
aaa bbb
[root@localhost home]# rm bbb
rm: 无法删除"bbb": 是一个目录
[root@localhost home]# rm -r bbb
rm:是否删除目录 "bbb"?y
[root@localhost home]# ls
aaa
[root@localhost home]# rm -r aaa
rm:是否进入目录"aaa"? n
[root@localhost home]# ls
aaa
[root@localhost home]# rm -rf aaa
[root@localhost home]# ls
[root@localhost home]#

Linux目录和文件——管理目录和文件的命令的更多相关文章

  1. Linux用户和权限——管理用户和用户组的命令

    Linux用户和权限——管理用户和用户组的命令 摘要:本文主要学习了在Linux系统中管理用户和用户组的命令. useradd命令 useradd命令可以用来创建新用户. 基本语法 useradd [ ...

  2. Linux打包和压缩——管理打包和压缩的命令

    Linux打包和压缩——管理打包和压缩的命令 摘要:本文主要学习了Linux的打包命令和压缩命令. tar命令 tar命令可以用来进行打包和解打包,压缩和解压缩. 基本语法 打包和压缩的语法: tar ...

  3. Linux 用户和用户组管理-用户信息文件

    用户信息文件存在在/etc/passwd中,vi /etc/passwd 其中,有七列以:分隔的信息 第一列表示用户(account),第二列表示密码标志(真正的密码存在在/etc/shadow中), ...

  4. Linux系统的日志管理、时间同步、延迟命令at

    方便查看和管理 /var/log/messages ?系统服务及日志,包括服务的信息,报错等等 /var/log/secure ? ? ? ? 系统认证信息日志 /var/log/maillog ? ...

  5. Linux学习之日志管理(二十一)

    Linux学习之日志管理 目录 日志管理 日志服务 rsyslogd的新特点 启动日志服务 常见日志的作用 日志文件的一般格式 rsyslogd日志服务 /etc/rsyslog.conf配置文件 服 ...

  6. linux RPM/YUM包管理

    linux RPM/YUM包管理 目录 linux RPM/YUM包管理 RPM RPM包管理 查询rpm包 卸载rpm包 安装rpm包 YUM 查看yum服务器是否有需要安装的软件 下载安装指定的y ...

  7. Linux 文件与目录管理

    Linux 文件与目录管理 我们知道Linux的目录结构为树状结构,最顶级的目录为根目录 /. 其他目录通过挂载可以将它们添加到树中,通过解除挂载可以移除它们. 在开始本教程前我们需要先知道什么是绝对 ...

  8. Linux磁盘管理之元数据、文件和目录、链接文件03

    一.存储设备分区简述 文件系统最终目的是把大量数据有组织的放入持久性的存储设备,如硬盘.硬盘存储能力具有持久性,不会因为断电而消失,存储量大,但读取速度慢.操作系统读取硬盘的时候,不会一个一个扇区读取 ...

  9. Linux文件和目录管理常用重要命令

    一.目录与路径 1.相对路径与绝对路径 因为我们在Linux系统中,常常要涉及到目录的切换,所以我们必须要了解 "路径" 以及 "相对路径" 与 "绝 ...

随机推荐

  1. 多线程学习三:Thread API,ThreadLocal,synchronized,volatile和Condition

    一.Thread API: setDefaultUncaughtExceptionHandler(Thread.UncaughtExceptionHandler eh) 首先要了解什么是Thread. ...

  2. kafka集群在消息消费出现无法找到topic分区的处理解决

    最近几天在做spark数据同步过程中,中间通过kafka集群处理消息,每次同步到一半就会出现同步不了 查看日志如下: 最开始看到这个问题很懵逼,完全找不到解决问题的切入口,期间也询问了架构师-因为这个 ...

  3. js文件中模块化导入swiper.js文件方法

    es6导入: 在js文件顶端 import Swiper from "../../assets/javascripts/swiper.min"; import '../../ass ...

  4. [转]Outlook API

    本文转自:https://www.cnblogs.com/yl153/p/6711519.html 1.Outlook简介 若要从Outlook 外控制Outlook对象,必须在编写代码的工程中建立对 ...

  5. 删除带外键的表【foreign key constraint fails】报错

    title: 删除带外键的表[foreign key constraint fails]报错 date: 2018-08-02 21:59:06 tags: 数据库 --- 遥想当时正在学hibern ...

  6. jQuery—获取表单标签的数据值

    获取设置input标签的值 <input class="form-control" type="text" id="username" ...

  7. 【CobaltStrike】对CobaltStrike内置功能模块的了解

    对CobaltStrike内置功能模块的了解 0x00 右键功能列表 Interact 打开beacon Access dump hashes 获取hash Elevate 提权 Golden Tic ...

  8. kettle教程---kettle作业调度,根据更新时间增量更新

    本文接上一篇,只写到读取日志.在平时工作当中,会遇到这种情况,而且很常见.比如:增量抽取(每隔2个小时抽取截至到上次抽取时间的记录) 本文中会用到作业,先来熟悉下作业的概念 简单地说,一个转换就是一个 ...

  9. 数据库 查询第31-40行数据,ID不连续

    一.SQLServer 大致分为两种情况:ID连续和ID不连续. 1.ID连续的情况: select * from A where ID between 31 and 40 2.ID不连续的情况: ( ...

  10. 人工智能+Python:十大Markdown语法简明教程

    Markdown 是一种轻量级的标记语言,用户可以使用诸如 * # 等简单的标记符号以最小的输入代价生成极富表现力的文档,目前也被越来越多的写作爱好者,撰稿者广泛使用.本文希望用直观的方法来讲述Mar ...