Linux ---- 关于目录基本命令

Linux ---- 关于目录基本命令

我们知道Linux的目录结构为树状结构,最顶级的目录为根目录 /。

其他目录通过挂载可以将它们添加到树中,通过解除挂载可以移除它们。

在开始本教程前我们需要先知道什么是绝对路径与相对路径。

绝对路径:

路径的写法,由根目录 / 写起,例如:/usr/share/doc 这个目录。

相对路径:

路径的写法,不是由 / 写起,例如由 /usr/share/doc 要到 /usr/share/man 底下时,可以写成:cd ../man 这就是相对路径的写法!

接下来我们就来看几个常见的处理目录的命令吧:

ls: 列出目录

cd:切换目录

pwd:显示目前的目录

mkdir:创建一个新的目录

rmdir:删除一个空的目录

cp: 复制文件或目录

rm: 移除文件或目录

mv: 移动文件与目录,或修改文件与目录的名称

ls (列出目录)

在Linux系统当中, ls 命令可能是最常被运行的。

选项与参数:

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

-l :长数据串列出,包含文件的属性与权限等等数据;(常用)

将目录下的所有文件列出来(含属性与隐藏档)

cd (切换目录)

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

语法:

cd [相对路径或绝对路径]

# 切换到用户主目录下

[[email protected] /]# cd home

# 使用 mkdir 命令创建 wulei目录

[[email protected] home]# mkdir wulei

# 进入 wulei目录

[[email protected] home]# cd wulei

# 回到上一级

[[email protected] wulei]# cd ..

# 回到根目录

[[email protected] home]# cd /

# 表示回到自己的家目录,亦即是 /root 这个目录

[[email protected] /]# cd ~

接下来大家多操作几次应该就可以很好的理解 cd 命令的。

pwd ( 显示目前所在的目录 )

pwd 是 Print Working Directory 的缩写,也就是显示目前所在目录的命令。

[[email protected] ~]# pwd [-P]

选项与参数:-P :显示出确实的路径,而非使用连接(link) 路径。

mkdir (创建新目录)

如果想要创建新的目录的话,那么就使用mkdir (make directory)吧。

mkdir [-mp] 目录名称

选项与参数:

-m :配置文件的权限

-p :帮助你直接将所需要的目录(包含上一级目录)递归创建起来

# 进入我们用户目录下

[[email protected] /]# cd home

# 创建一个 test 文件夹

[[email protected] home]# mkdir test

# 创建多层级目录 要加上参数 -p

[[email protected] home]# mkdir -p test1/test2/test3/test4

# 创建权限为 rwx--x--x 的目录。下面有讲到目录权限

[[email protected] home]# mkdir -m 711 test2

[[email protected] home]# ls -l

drwxr-xr-x 2 root root 4096 Aug 31 09:36 test

drwxr-xr-x 3 root root 4096 Aug 31 09:37 test1

drwx--x--x 2 root root 4096 Aug 31 09:40 test2

rmdir ( 删除空的目录 )

rmdir [-p] 目录名称

选项与参数:-p :连同上一级『空的』目录也一起删除

# 看看有多少目录存在?

[[email protected] home]# ls -l

drwxr-xr-x 2 root root 4096 Aug 31 09:36 test

drwxr-xr-x 3 root root 4096 Aug 31 09:37 test1

drwx--x--x 2 root root 4096 Aug 31 09:40 test2

# 单级空目录可直接删除掉,没问题

[[email protected] home]# rmdir test

[[email protected] home]# rmdir test2

# 多级目录因为尚有内容,所以无法删除!

[[email protected] home]# rmdir test1

rmdir: failed to remove ‘test1’: Directory not empty

# 利用 -p 这个选项,立刻就可以将 test1/test2/test3/test4 依次删除。

[[email protected] home]# rmdir -p test1/test2/test3/test4

注意:这个 rmdir 仅能删除空的目录,你可以使用 rm 命令来删除非空目录,后面会讲

cp ( 复制文件或目录 )

[[email protected] ~]# cp [-x] 要复制的目录 目标目录

[[email protected] ~]# cp [-x] 要复制的目录1 要复制的目录2 要复制的目录3... 目标目录

选项与参数:

-a:相当于 -pdr 的意思,至于pdr 请参考下列说明;(常用)

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

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

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

-f:为强制(force)的意思,若目标文件已经存在且无法开启,则移除后再尝试一次;

-i:若目标档(destination)已经存在时,在覆盖时会先询问动作的进行(常用)

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

-s:复制成为符号连结档 (symbolic link),亦即『捷径』文件;

-u:若 destination 比 source 旧才升级 destination !

# 找一个有文件的目录,我这里找到 root目录

[[email protected] ~]# ls

install.sh

[[email protected] ~]# cd /home

# 复制 root目录下的install.sh 到 home目录下

[[email protected] home]# cp /root/install.sh /home

[[email protected] home]# ls

install.sh

# 再次复制,加上-i参数,增加覆盖询问?

[[email protected] home]# cp -i /root/install.sh /home

cp: overwrite ‘/home/install.sh’? y # n不覆盖,y为覆盖

# 再次复制,不加上-i参数,增加覆盖询问?

[[email protected] home]# cp /root/install.sh /home

cp: overwrite ‘/home/install.sh’? n

[[email protected] home]# ls

install.sh

#所以默认为 -i

rm ( 删除文件或目录 )

rm [-fir] 文件或目录

选项与参数:

-f :就是 force 的意思,忽略不存在的文件,不会出现警告信息;

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

-r :递归删除啊!最常用在目录的删除了!这是非常危险的选项!!!

# 将刚刚在 cp 的实例中创建的 install.sh删除掉!

[[email protected] home]# rm -i install.sh

rm: remove regular file ‘install.sh’? y

# 和rm一样,加不加 -i 都会询问

# 尽量不要在服务器上使用 rm -rf /

mv ( 移动文件与目录,或修改名称 )

[[email protected] ~]# mv [-fiu] source destination

[[email protected] ~]# mv [options] source1 source2 source3 .... directory

选项与参数:

-f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖;

-i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!

-u :若目标文件已经存在,且 source 比较新,才会升级 (update)

# 复制一个文件到当前目录

[[email protected] home]# cp /root/install.sh /home

[[email protected] home]# ls

install.sh

# 创建一个文件夹 test

[[email protected] home]# mkdir test

# 将复制过来的文件移动到我们创建的目录,并查看

[[email protected] home]# mv install.sh test

[[email protected] home]# ls

test

[[email protected] home]# cd test

[[email protected] test]# ls

install.sh

# 将文件夹重命名,然后再次查看!

[[email protected] test]# cd ..

[[email protected] home]# mv test mvtest

[[email protected] home]# ls

mvtest

Linux ---- 关于目录基本命令相关教程

linux 关于目录的命令,Linux ---- 关于目录基本命令相关推荐

  1. Linux下的tree命令 --Linux下目录树查看

    Linux下的tree命令 --Linux下目录树查看 有时我们需要生成目录树结构,可以使用的有ls -R,但是实际效果并不好 这时需要用到tree命令,但是大部分Linux系统是默认不安装该命令的, ...

  2. linux里面查找替换命令,LINUX 查找替换命令 总结

    find /var/ -name "*.php" > /home/tmp 在/var/目录下查找 所有以.php后缀结尾的文件  结果很多,就 > 输出结果到/home ...

  3. linux系统vi替换命令,linux:vi 替换命令

    转自:http://www.cnblogs.com/afant/archive/2009/03/11/1408745.html :s/^.*$/\L&/100 ##将100行内的小写转换成大写 ...

  4. Linux下python的命令,linux下python相关命令

    若本机已安装python2,尽量不要动现有的python2,额外安装python3即可. 1.安装python3.6(centos下安装python3自带pip和setuptools) # 安装依赖环 ...

  5. linux关闭后台运行命令,linux后台运行、关闭、查看后台任务常用命令

    一.& 加在一个命令的最后,可以把这个命令放到后台执行,如: [root@bqh-01 ~]# watch -n 3 "sh 1.sh"  #每3s在后台执行一次1.sh脚 ...

  6. linux安装DNS服务命令,linux配置dns服务器配置命令

    linux配置dns服务器配置命令 Linux系统的DNS服务器怎么配置,配置命令有哪些?下面跟yjbys小编一起来了解一下吧! 一.实验目的 熟悉Linux系统中DNS服务器的配置方法.理解配置过程 ...

  7. linux创建更改目录,如何使用Linux中的单个命令创建新目录并更改它 | MOS86

    如果您终于在终端上花费了任何时间,可以使用mkdir命令创建一个目录,然后再将cd命令更改到该目录.但是,有一种方法可以使用一个命令来执行这两个操作. 您可以手动在命令行上同时运行两个命令,但是我们将 ...

  8. linux目录命令改目录名,Linux命令详解——文件和目录常用命令-linux修改文件名...

    文件和目录常用命令 查看目录内容 ls 切换目录 cd 创建和删除操作 touch rm mkdir 拷贝和移动文件 cp mv 查看文件内容 cat more grep 其他 echo 重定向 &g ...

  9. linux切换目录使用命令,linux命令切换目录的使用方法

    1.cd - 作用是快速切换到前一个目录,如下: amosli@amosli-pc:~$ cd learn/fd/ amosli@amosli-pc:~/learn/fd$ cd - /home/am ...

最新文章

  1. 微服务四大网关性能对比
  2. 双十一,你买了哪些大呼过瘾的编程书?
  3. tem在c语言中的作用,Temtem状态有什么效果 Temtem各状态效果介绍_游侠网
  4. mysql表分区列_如何基于char列对MySQL表进行分区?
  5. ConcurrentHashMap的源码分析-put方法第二阶段
  6. Swing和JavaFX:使用JFXPanel
  7. 域用户更改密码提示拒绝访问_AD域中的ACL攻防探索
  8. HomeBrew 安装 国内源
  9. php 文件列表 浏览,简易文件目录浏览器PHP代码
  10. 基于JAVA+SpringMVC+Mybatis+MYSQL的养老院管理系统
  11. 【Keras】完整实现‘交通标志’分类、‘票据’分类两个项目,让你掌握深度学习图像分类...
  12. paip.提升性能--- mysql 建立索引 删除索引 很慢的解决.
  13. MybatisPlusExcepection: can not find lambda cache for this property [XX] for entity [xxx]
  14. pdfFactory Pro2022最新下载虚拟打印机
  15. 刘辉 清华大学计算机,长郡学子又揽佳绩!CCF NOI 2017冬令营金牌数全国第一
  16. 深入java虚拟机 视频_深入理解Java虚拟机全套完整视频教程
  17. php教学反思,教学反思
  18. 《Miss Talk》第04期:对话凯叔讲故事 曲艳颂
  19. session session session
  20. 使用Intel NCS2 算力棒 安装部署记录Windows 10, Intel openvino_toolkit_p_2019.1.148

热门文章

  1. ubuntu16.04中使用搜狗输入法Qt5无法输入中文解决方式
  2. IOS--CALayer的介绍及使用技巧
  3. 文件上传之Apache commons fileupload使用
  4. fedora virtualbox 挂载USB设备
  5. python颜色列表代码seaborn_在Python中Seaborn – 根据色调名称更改条形颜色
  6. ZZULIOJ 1062:最大公约数
  7. windows apche php mysql zend_Windows XP上安装配置 Apache+PHP+Mysql+Zend
  8. 链接聚合是将一组物理接口_如何增加带宽,提升网络可靠性?
  9. java移除input焦点_java – Eclipse editText在按下完成后删除焦点(光标)
  10. 信息学奥赛一本通 2017:【例4.2】输出偶数