1. 目录与路径

1.1 相对路径与绝对路径

1.2 目录的相关操作: cd, pwd, mkdir, rmdir

1.3 关于执行文件路径的变量: $PATH

2. 档案与目录管理

2.1 档案与目录的检视: ls

2.2 复制、移动与删除: cp, rm, mv

2.3 取得路径的文件名称与目录名称

3. 档案内容查阅:

3.1 直接检视档案内容: cat, tac, nl

3.2 可翻页检视: more, less

3.3 资料撷取: head, tail

3.4 非纯文字文件: od

3.5 修改档案时间与建置新档: touch

4. 档案与目录的预设权限与隐藏权限

4.1 档案预设权限:umask

4.2 档案隐藏属性: chattr, lsattr

4.4 档案特殊权限:SUID/SGID/Sticky Bit

4.3 档案类型:file

5. 档案的搜寻:which, whereis, locate, find

. 代表此层目录

.. 代表上一层目录

- 代表前一个工作目录

~ 代表『目前使用者身份』所在的家目录

~account 代表 account 这个使用者的家目录

常见的处理目录的指令:

•  cd:变换目录

•  pwd:显示目前的目录

•  mkdir:建立一个新的目录

•  rmdir:删除一个空的目录

•cd (变换目录)

pwd

[root@linux ~]# pwd [-P]

参数:

-P :显示出确实的路径,而非使用连结 (link) 路径。

范例:

[root@linux ~]# pwd

/root <== 显示出目录啦~

[root@linux ~]# cd /var/mail

[root@linux mail]# pwd

/var/mail

[root@linux mail]# pwd -P

/var/spool/mail <== 怎么回事?有没有加 -P 差很多~

[root@linux mail]# ls -l /var/mail

lrwxrwxrwx 1 root root 10 Jun 25 08:25 /var/mail -> spool/mail

# 看到这里应该知道为啥了吧?因为 /var/mail 是连结档,连结到 /var/spool/mail

# 所以,加上 pwd -P 的参数后,会不以连结文件的数据显示,而是显示正确的完整路径啊!

mkdir

[root@linux ~]# mkdir [-mp] 目录名称

参数:

-m :设定档案的权限喔!直接设定,不需要看预设权限 (umask) 的脸色~

-p :帮助你直接将所需要的目录递归建立起来!

范例:

[root@linux ~]# cd /tmp

[root@linux tmp]# mkdir test <== 建立一名为 test 的新目录

[root@linux tmp]# mkdir test1/test2/test3/test4

mkdir: cannot create directory `test1/test2/test3/test4':

No such file or directory <== 没办法直接建立此目录啊!

[root@linux tmp]# mkdir -p test1/test2/test3/test4

# 加了这个 -p 的参数,可以自行帮您建立多层目录!

[root@linux tmp]# mkdir -m 711 test2

[root@linux tmp]# ls -l

drwxr-xr-x 3 root root 4096 Jul 18 12:50 test

drwxr-xr-x 3 root root 4096 Jul 18 12:53 test1

drwx--x--x 2 root root 4096 Jul 18 12:54 test2

# 仔细看上面的权限部分,如果没有加上 -m 来强制设定属性,系统会使用预设属性。

# 那么您的预设属性为何?这要透过底下介绍的 umask才能了解喔! ^_^

rmdir (删除『空』的目录)

[root@linux ~]# rmdir [-p] 目录名称

参数:

-p :连同上层『空的』目录也一起删除

范例:

[root@linux tmp]# ls -l

drwxr-xr-x 3 root root 4096 Jul 18 12:50 test

drwxr-xr-x 3 root root 4096 Jul 18 12:53 test1

drwx--x--x 2 root root 4096 Jul 18 12:54 test2

[root@linux tmp]# rmdir test

[root@linux tmp]# rmdir test1

rmdir: `test1': Directory not empty

[root@linux tmp]# rmdir -p test1/test2/test3/test4

[root@linux tmp]# ls -l

drwx--x--x 2 root root 4096 Jul 18 12:54 test2

# 瞧!利用 -p 这个参数,立刻就可以将 test1/test2/test3/test4 一次删除~

# 不过要注意的是,这个 rmdir 仅能『删除空的目录』

如果要将所有目录下的东西都杀掉呢?! 这个时候就必须使用 rm -rf test

关于执行文件路径的变量: $PATH

[root@linux ~]# echo $PATH

/sbin:/usr/sbin:/bin:/usr/bin:/usr/X11R6/bin:/usr/local/bin:/usr/local/sbin

将 /root 的路径加入 PATH 当中

[root@linux ~]# PATH="$PATH":/root

使用完整文件名来下达指令, 亦即直接使用相对或绝对路径来执行,例如:

[root@linux ~]# /root/ls

[root@linux ~]# ./ls

档案与目录的检视: ls

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

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

[root@linux ~]# 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)

范例一:将家目录下的所有档案列出来(含属性与隐藏文件)

[root@linux ~]# ls -al ~

total 252

drwxr-x--- 9 root root 4096 Jul 16 23:40 .

drwxr-xr-x 24 root root 4096 Jul 16 23:45 ..

-rw------- 1 root root 1491 Jun 25 08:53 anaconda-ks.cfg

-rw------- 1 root root 12543 Jul 18 01:23 .bash_history

-rw-r--r-- 1 root root 24 Dec 4 2004 .bash_logout

-rw-r--r-- 1 root root 191 Dec 4 2004 .bash_profile

-rw-r--r-- 1 root root 395 Jul 4 11:45 .bashrc

-rw-r--r-- 1 root root 68495 Jun 25 08:53 install.log

-rw-r--r-- 1 root root 5976 Jun 25 08:53 install.log.syslog

drwx------ 2 root root 4096 Jul 4 16:03 .ssh

-rw------- 1 root root 12613 Jul 16 23:40 .viminfo

# 这个时候您会看到以 . 为开头的几个档案,以及目录文件 ./../.ssh 等等,

# 不过,目录文件都是以深蓝色显示,有点不容易看清楚就是了。

范例二:承上题,不显示颜色,但在文件名末显示出该文件名代表的类型(type)

[root@linux ~]# ls -alF --color=never ~

total 252

drwxr-x--- 9 root root 4096 Jul 16 23:40 ./

drwxr-xr-x 24 root root 4096 Jul 16 23:45 ../

-rw------- 1 root root 1491 Jun 25 08:53 anaconda-ks.cfg

-rw------- 1 root root 12543 Jul 18 01:23 .bash_history

-rw-r--r-- 1 root root 24 Dec 4 2004 .bash_logout

-rw-r--r-- 1 root root 191 Dec 4 2004 .bash_profile

-rw-r--r-- 1 root root 395 Jul 4 11:45 .bashrc

-rw-r--r-- 1 root root 68495 Jun 25 08:53 install.log

-rw-r--r-- 1 root root 5976 Jun 25 08:53 install.log.syslog

drwx------ 2 root root 4096 Jul 4 16:03 .ssh/

-rw------- 1 root root 12613 Jul 16 23:40 .viminfo

# 注意看到显示结果的第一行,嘿嘿~知道为何我们会下达类似 ./command

# 之类的指令了吧?因为 ./ 代表的是『目前目录下』的意思啊!至于什么是 FIFO/Socket ?

# 请参考前一章节的介绍啊!

范例三:完整的呈现档案的修改时间 *(modification time)

[root@linux ~]# ls -al --full-time ~

total 252

drwxr-x--- 9 root root 4096 2005-07-16 23:40:13.000000000 +0800 .

drwxr-xr-x 24 root root 4096 2005-07-16 23:45:05.000000000 +0800 ..

-rw------- 1 root root 1491 2005-06-25 08:53:37.000000000 +0800 anaconda-ks.cfg

-rw------- 1 root root 12543 2005-07-18 01:23:33.000000000 +0800 .bash_history

-rw-r--r-- 1 root root 24 2004-12-04 05:44:13.000000000 +0800 .bash_logout

-rw-r--r-- 1 root root 191 2004-12-04 05:44:13.000000000 +0800 .bash_profile

-rw-r--r-- 1 root root 395 2005-07-04 11:45:16.000000000 +0800 .bashrc

-rw-r--r-- 1 root root 68495 2005-06-25 08:53:34.000000000 +0800 install.log

-rw-r--r-- 1 root root 5976 2005-06-25 08:53:28.000000000 +0800 install.log.syslog

drwx------ 2 root root 4096 2005-07-04 16:03:24.000000000 +0800 .ssh

-rw------- 1 root root 12613 2005-07-16 23:40:13.000000000 +0800 .viminfo

# 请仔细看,上面的『时间』字段变了喔!变成较为完整的格式。

# 一般来说, ls -al 仅列出目前短格式的时间,有时不会列出年份,

# 藉由 --full-time 可以查阅到比较正确的完整时间格式啊!

复制、移动与删除: cp, rm, mv

linux 档案类型s,Linux学习(四)档案与目录管理相关推荐

  1. linux目录表及功能n鸟哥,鸟哥linux学习之-资料与目录管理

    鸟哥linux学习之--文件与目录管理 目录与路径 相对路径:由当前目录算起 绝对路径:由根目录算起,linux的根目录为"/" 几个目录符号: . 表示当前目录 .. 表示上一层 ...

  2. C#多线程学习(四) 多线程的自动管理(线程池) (转载系列)——继续搜索引擎研究...

    在多线程的程序中,经常会出现两种情况: 一种情况:   应用程序中,线程把大部分的时间花费在等待状态,等待某个事件发生,然后才能给予响应                   这一般使用ThreadPo ...

  3. 信创操作系统--麒麟Kylin桌面版(项目四 文件与目录管理:浏览、管理、查找、共享、解压缩等)

    信创操作系统–麒麟Kylin桌面版(项目四 文件与目录管理:浏览.管理.查找.共享.解压缩等) 目录 1. 浏览目录和文件 2. 新建.删除.复制以及移动文件 2.1 新建文件 2.2 删除文件 2. ...

  4. linux系统命令学习系列-文件和目录管理

    复习上节内容: 1. 定时执行任务命令crontab –e, crontab –l,crontab –r 2. 作业:定义一个定时任务,每分钟向/tmp/test.txt文件输出hello world ...

  5. linux文件类型elf,[Linux]四种ELF对象文件类型

    ELF(Executable and Linking Format)是一种对象文件(.o or .obj,目标文件)的格式,用于定义不同类型的对象文件(Object files)中都放了什么东西.以及 ...

  6. Linux Shell 脚本攻略学习--四

    linux中(chattr)创建不可修改文件的方法 在常见的linux扩展文件系统中(如ext2.ext3.ext4等),可以将文件设置为不可修改(immutable).某些文件属性可帮助我们将文件设 ...

  7. linux 进程调度类型 总结,Linux进程模型总结

    来源于网络 原创不详 Linux进程通过一个task_struct结构体描述,在linux/sched.h中定义,通过理解该结构,可更清楚的理解linux进程模型.   包含进程所有信息的task_s ...

  8. 嵌入式linux文件系统类型,嵌入式Linux 的Cramfs 根文件系统配置的解决方案

    当系统启动并执行到系统初始化脚本/etc/init.d/rcS 时,mount 命令将/mnt/yaffs 目录挂载 为ramfs 类型的随机存储文件系统,并在此文件系统上建立Qtopia 和Qtop ...

  9. [转]C#多线程学习(四) 多线程的自动管理(线程池)

    在多线程的程序中,经常会出现两种情况: 一种情况:   应用程序中,线程把大部分的时间花费在等待状态,等待某个事件发生,然后才能给予响应                   这一般使用ThreadPo ...

最新文章

  1. 谷歌参展攻略!AI皮影戏、3D作画、与AI共舞...嗨翻魔都(附视频)
  2. delphi listview怎么自动宽度_自动门日常使用出现这些问题应尽快维修以免因小失大...
  3. 收藏 | 计算机视觉四大基本任务(分类、定位、检测、分割)
  4. JAVA零碎要点008---tomcat启动的时候报错了严重: End event threw exception java.lang.reflect.InvocationTargetExcepti
  5. 025:模版变量使用详解
  6. win7系统 winload.efi 文件损坏 报 0xc0000428 错误 不重装系统解决方法
  7. win10更新卡到57%怎么办
  8. 2020PayPal提现有哪些渠道?听说注册义乌个体户也可以!
  9. 输入一个正整数n(n<360),输出n度的正弦余弦值
  10. Alibaba(实习准备)—SOFARPC学习总结
  11. 0x0FF0ED76 (ucrtbased.dll) (Project5.exe 中)处有未经处理的异常: 将一个无效参数传递给了将无效参数视为严重错误的函数。 出现了
  12. 开关电源变换器稳态原理分析(电感伏秒平衡及电容电荷平衡)
  13. 【降维打击】希尔伯特曲线
  14. conenct的用法(2种方法)
  15. 华为手环7和小米手环7的区别 哪个好
  16. 《Windows程序设计》读书笔七 鼠标
  17. C++ 类的相关语法,符号:和::的用法
  18. 如何在打开 CANoe 时添加相应的 license?
  19. 苹果mp3软件_音频格式转换软件
  20. 不是微型计算机硬件组装需要做到的,微型计算机的硬件组装.ppt

热门文章

  1. Domino URL Command 详解
  2. springboot统一异常处理类及注解参数为数组的写法
  3. Sublime text 2/3 [Decode error - output not utf-8] 完美解决方法
  4. Oracle Ora 错误解决方案合集
  5. jquery ajax返回Internal server error 500错误解决方案
  6. 解决类似umount target is busy挂载盘卸载不掉问题
  7. 使用jQuery提交表单
  8. 浅析jQuery原理并仿写封装一个自己的库
  9. [LeetCode题解] ZigZag Conversion
  10. 自动化运维系列之Cobbler (资源)