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

路径(PATH):

  • 绝对路径:路径的写法【一定由根目录/写起】,例如/usr/share/doc这个目录
  • 相对路径:路径的写法【不是由/写起】,例如由/usr/share/doc要到/usr/share/man底下时,可以写成:[cd ../man]这就是相对路径的写法。相对路径指的是【相对于目前工作目录的路径】
. 代表此层目录
.. 代表上一层目录
- 代表前一个工作目录
 ~ 代表【目前使用者身份】所在的home目录
~account 代表account这个使用者的home目录

cd(变换目录change directory)

[root@linux ~]# cd [相对路径或绝对路径]    

pwd(显示当前所在的目录print working directory)

[root@linux ~]#  pwd  [-P]
参数:
-P :显示出确实的路径,而非使用连结(link)路径

mkdir(建立新目录make directory)

[root@linux ~]#  mkdir [-mp] 目录名称
参数:
-m :设定档案的权限,直接设定,不需要看预设权限(umask)
-p :帮助你直接将所需要的目录递归建立起来

rmdir(删除【空】的目录remove directory)

[root@linux ~]#  rmdir [-p] 目录名称
参数;
-p :连同上层【空的】目录也一起删除

2.档案与目录管理

2.1档案与目录的检视: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 :让系统自行依据设定来判断是否给予颜色
--fulll-time :以完整时间模式(包含年、月、日、时、分)输出
--time={atime,ctime} :输出access时间或改变权限属性时间(ctime)而非内容变更时间(modification time)

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

[root@linux ~]#  cp [-adfilprsu] 来源档(source) 目的档(destination)
参数:
-a :相当于 -pdr的意思
-d :若来源文件为连结文件的属性(link file),则复制连结文件属性而非档案本身
-f :为强制(force)的意思,若有重复或其它疑问时,不会询问使用者,而强制复制
-i :若目的档(destination)已经存在时,在覆盖时会先询问是否真的动作
-l :进行硬式连结(hard link)的连结档建立,而非复制档案本身
-p :连同档案的属性一起复制过去,而非使用预设属性
-r :递归持续复制,用于目录的复制行为
-s :复制成为符号连结文件(symbolic link),即【快捷方式】档案
-u :若destination比source旧才更新destination
[root@linux ~]#  rm [-fir] 档案或目录
参数:
-f :就是force的意思,强制移除
-i :互动模式,在删除前会询问使用者是否动作
-r :递归删除
[root@linux ~]#  mv [-fiu] source destination
参数;
-f :force强制的意思,强制直接移动而不询问
-i :若目标档案(destination)已经存在时,就会询问是否覆盖
-u :若目标档案已经存在,且source比较新,就会更新(update)

3.档案内容查阅

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

  • cat (concatenate)
[root@linux ~]# cat [-AEnTv]
参数:
-A :相当于 -vET 的整合参数,可列出一些特殊字符
-E :将结尾的断行字符 $ 显示出来;
-n :打印出行号;
-T :将 [tab] 按键以 ^I 显示出来;
-v :列出一些看不出来的特殊字符
  • tac (反向列示)
  • nl (添加行号打印)
[root@linux ~]# nl [-bnw] 档案
参数:
-b:指定行号指定的方式,主要有两种:
      -b a :表示不论是否为空行,也同样列出行号;
      -b t :如果有空行,空的那一行不要列出行号;
-n:列出行号表示的方法,主要有三种:
      -n ln :行号在屏幕的最左方显示;
      -n rn :行号在自己字段的最右方显示,且不加  ;
      -n rz :行号在自己字段的最右方显示,且加  ;
-w:行号字段的占用的位数。

3.2可翻页检视:more,less

  • more (一页一页翻动)
 [root@linux ~]# more /etc/man.config
#
# Generated automatically from man.conf.in by the
# configure script.
#
# .5p
#
.......中间省略.......
--More--(%) <== 重点在这一行

重点在最后一行,最后一行会显示出目前显示的百分比, 而且还可以在最后一行输入一些有用的指令!在 more 这个程序的运作过程中,你有几个按键可以按的:

空格键 (space):代表向下翻一页;

Enter :代表向下翻『一行』;

/字符串:代表在这个显示的内容当中,向下搜寻『字符串』;

:f :立刻显示出文件名以及目前显示的行数;

q :代表立刻离开 more ,不再显示该档案内容。

  • less (一页一页翻动)

在 more 的时候,我们并没有办法向前面翻, 只能往后面看,但若使用了 less 时,就可以使用 [pageup] [pagedown] 等按键的功能来往前往后翻看文件。
除此之外,在 less 里头可以拥有更多的『搜寻』功能喔!不止可以向下搜寻,也可以向上搜寻。基本上,可以输入的指令有:

空格键 :向下翻动一页

[pagedown]:向下翻动一页

[pageup] :向上翻动一页

/字符串 :向下搜寻『字符串』的功能

?字符串 :向上搜寻『字符串』的功能

n :重复前一个搜寻 (与 / 或 ? 有关!)

N :反向的重复前一个搜寻 (与 / 或 ? 有关!)

q :离开 less 这个程序

3.3资料撷取:head,tail

  • head (取出前面几行)
[root@linux ~]# head [-n number] 档案
参数:
-n:后面接数字,代表显示几行的意思
  • tail (取出后面几行)
[root@linux ~]# tail [-n number] 档案
参数:
-n:后面接数字,代表显示几行的意思

3.4非纯文字文件:od

[root@linux ~]# od [-t TYPE] 档案
参数:
-t:后面可以接各种『类型 (TYPE)』的输出,例如:
    a :利用预设的字符来输出;
    c :使用 ASCII 字符来输出
    d[size] :利用十进制(decimal)来输出数据,每个整数占用 size bytes ;
    f[size] :利用浮点数值(floating)来输出数据,每个数占用 size bytes ;
    o[size] :利用八进位(octal)来输出数据,每个整数占用 size bytes ;
    x[size] :利用十六进制(hexadecimal)来输出数据,每个整数占用 size bytes ;

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

我们在 ls 这个指令的介绍时,有稍微提到每个档案在 linux 底下都会记录三个主要的变动时间, 那么三个时间是哪三个呢?

  • modification time (mtime):当该档案的『内容数据』变更时,就会更新这个时间! 内容数据指的是档案的内容,而不是档案的属性
  • status time (ctime):当该档案的『状态 (status)』改变时,就会更新这个时间,举例来说, 像是权限与属性被更改了,都会更新这个时间
  • access time (atime):当『该档案的内容被取用』时,就会更新这个读取时间 (access)。 举例来说,我们使用 cat 去读取 ~/.bashrc ,就会更新 atime 了

档案的时间是很重要的,因为,如果档案的时间误判的话,可能会造成某些程序无法顺利的运作。那么万一我发现了一个档案来自未来(例如 GMT 时间),那该如何让该档案的时间变成『现在』的时刻呢? 很简单啊!就用『touch』这个指令即可!

[root@linux ~]# touch [-acdmt] 档案
参数:
-a :仅修订 access time;
-c :仅修改时间,而不建立档案;
-d :后面可以接日期,也可以使用 --date="日期或时间"
-m :仅修改 mtime ;
-t :后面可以接时间,格式为[YYMMDDhhmm]

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

4.1档案预设权限:umask

基本上, umask 就是指定 『目前使用者在建立档案或目录时候的属性默认值』。

[root@linux ~]# umask

[root@linux ~]# umask -S
u=rwx,g=rx,o=rx

4.2档案隐藏属性:chattr,lsattr

  • chattr (设定档案隐藏属性)
[root@linux ~]# chattr [+-=][ASacdistu] 档案或目录名称
参数:
+ :增加某一个特殊参数,其它原本存在参数则不动。
- :移除某一个特殊参数,其它原本存在参数则不动。
= :设定一定,且仅有后面接的参数
A :当设定了 A 这个属性时,这个档案(或目录)的存取时间 atime (access)
S :这个功能有点类似 sync 的功能!就是会将数据同步写入磁盘当中!将不可被修改,可避免例如手提式计算机容易有磁盘 I/O 错误的情况发生!可以有效的避免数据流失!
a:当设定 a 之后,这个档案将只能增加数据,而不能删除,只有 root才能设定这个属性。
c:这个属性设定之后,将会自动的将此档案『压缩』,在读取的时候将会自动解压缩,但是在储存的时候,将会先进行压缩后再储存(看来对于大档案似乎蛮有用的!)
d :当 dump(备份)程序被执行的时候,设定 d 属性将可使该档案(或目录)不具有 dump 功能
i :这个 i 可就很厉害了!他可以让一个档案『不能被删除、改名、设定连结也无法写入或新增资料!』对于系统安全性有相当大的帮助!
j:当使用 ext3 这个档案系统格式时,设定 j 属性将会使档案在写入时先记录在journal 中!但是当 filesystem 设定参数为 data=journalled 时,由于已经设定了日志了,所以这个属性无效!
s :当档案设定了 s 参数时,他将会被完全的移除出这个硬盘空间。
u :与 s 相反的,当使用 u 来设定档案时,则数据内容其实还存在磁盘中,可以使用来 undeletion.
注意:这个属性设定上面,比较常见的是 a 与 i 的设定值,而且很多设定值必须要身为root 才能够设定的喔!
  • lsattr (显示档案隐藏属性)
[root@linux ~]# lsattr [-aR] 档案或目录
参数:
-a :将隐藏文件的属性也秀出来;
-R :连同子目录的数据也一并列出来!
.档案搜寻:which,whereis,locate,find
  • which (寻找『执行档』)
[root@linux ~]# which [-a] command
参数:
-a :将所有可以找到的指令均列出,而不止第一个被找到的指令名称
  • whereis (寻找特定档案)
[root@linux ~]# whereis [-bmsu] 档案或目录名
参数:
-b :只找 binary 的档案
-m :只找在说明文件 manual 路径下的档案
-s :只找 source 来源档案
-u :没有说明档的档案!
  • locate
[root@linux ~]# locate filename
  • find
[root@linux ~]# find [PATH] [option] [action]参数:
. 与时间有关的参数:
-atime n :n 为数字,意义为在 n 天之前的『一天之内』被 access 过的档案;
-ctime n :n 为数字,意义为在 n 天之前的『一天之内』被 change 过状态的档案;
-mtime n :n 为数字,意义为在 n 天之前的『一天之内』被 modification 过的档案;
-newer file :file 为一个存在的档案,意思是说,只要档案比 file 还要新,就会被列出来
. 与使用者或群组名称有关的参数:
-uid n :n 为数字,这个数字是使用者的账号 ID,亦即 UID ,这个 UID 是记录在/etc/passwd 里面与账号名称对应的数字。
-gid n :n 为数字,这个数字是群组名称的 ID,亦即 GID,这个 GID 记录在/etc/group
-user name :name 为使用者账号名称喔!例如 dmtsai
-group name:name 为群组名称喔,例如 users ;
-nouser :寻找档案的拥有者不存在 /etc/passwd 的人!
-nogroup :寻找档案的拥有群组不存在于 /etc/group 的档案!当您自行安装软件时,很可能该软件的属性当中并没有档案拥有者,这是可能的!在这个时候,就可以使用 -nouser 与 -nogroup 搜寻。
. 与档案权限及名称有关的参数:
-name filename:搜寻文件名称为 filename 的档案;
-size [+-]SIZE:搜寻比 SIZE 还要大(+)或小(-)的档案。这个 SIZE 的规格有:
c: 代表 byte, k: 代表 1024bytes。所以,要找比 50KB还要大的档案,就是『 -size +50k 』
-type TYPE:搜寻档案的类型为 TYPE 的,类型主要有:一般正规档案 (f),装置档案 (b, c), 目录 (d), 连结档 (l), socket (s),及 FIFO (p) 等属性。
-perm mode:搜寻档案属性『刚好等于』 mode 的档案,这个 mode 为类似  !
-perm -mode :搜寻档案属性『必须要全部囊括 mode 的属性』的档案,举例来说,我们要搜寻 -rwxr--r-- ,亦即  的档案,使用 -perm -,当一个档案的属性为 -rwsr-xr-x ,亦即  时,也会被列出来,因为 -rwsr-xr-x 的属性已经囊括了 -rwxr--r-- 的属性了。
-perm + 时,但一个档案属性为 -rw-------也会被列出来,因为他有 -rw.... 的属性存在!
. 额外可进行的动作:
-exec command :command 为其它指令,-exec 后面可再接额外的指令来处理搜寻到的结果。
-print:将结果打印到屏幕上,这个动作是预设动作!

linux杂记(七)linux档案与目录管理指令的更多相关文章

  1. linux:档案与目录管理

    几个常见的目录处理命令: cd(change directory):变更目录 pwd(print working directory):显示当前目录[目录为连结档,则只显示连结档的路径]([-P]不以 ...

  2. 鸟哥的linux私房菜 - 第5/6/7/9章(在线求助 man page、Linux档案权限与目录配置、Linux档案与目录管理、压缩与打包)

    第五章.在线求助 man page X window与文本模式的切换 Ctrl+Alt+F1~F6:文字接口登入tty1~tty6终端机: Ctrl+Alt+F7:图形接口桌面. 注销当前用户:exi ...

  3. Linux档案与目录管理

    Linux档案与目录管理1. 目录与路径1.1 相对路径与绝对路径1.2 目录的相关操作: cd, pwd, mkdir, rmdir cd [相对路径或绝对路径]cd ~ [用户]: 切换家目录cd ...

  4. Linux 档案与目录管理

    『 cd /etc 』这个情况,这也就是所谓的『绝对路径』,他是从根目录连续写上来的一个情况,所以不论你在哪一个路径现执行这一个指令,都会将你移动到该路径下.那如果我是使用『 cd etc 』呢?那表 ...

  5. Linux学习(四)档案与目录管理

    1. 目录与路径  1.1 相对路径与绝对路径  1.2 目录的相关操作: cd, pwd, mkdir, rmdir  1.3 关于执行文件路径的变量: $PATH2. 档案与目录管理  2.1 档 ...

  6. linux档案和目录管理(后续)

    资料来自鸟哥的linux私房菜 四:档案和目录的预设权限和隐藏权限 umask:预设权限,相比与chomd的4,2,1权限,档案满分为666,目录满分为777,umask可以预设消除部分权限,比如一个 ...

  7. 01 Linux档案与目录管理

      1. 目录与路径 1.1绝对路径和相对路径         绝对路径:一定有根目录/写起,例如:/usr/share/doc         相对路径:不是由根目录/写起,例如:由/usr/sha ...

  8. 鸟哥私房菜基础篇:Linux 档案与目录管理习题

    猫宁!!! 参考链接:http://linux.vbird.org/linux_basic/0220filemanager.php 鸟哥是为中国信息技术发展做出巨大贡献的人. 1-什么是绝对路径与相对 ...

  9. linux 私房菜 CH7 Linux 档案与目录管理

    路径 ``` . 此层目录 .. 上一级目录 前一个工作目录 ~ 当前用户的家的目录 ``` 变换目录 cd 显示目录 pwd [-P] -P 显示出确实的路径,而非使用链接 (link) 路径. 创 ...

随机推荐

  1. iOS 打开系统设置

    NSURL*url=[NSURL URLWithString:@"prefs:root=WIFI"]; [[UIApplication sharedApplication] ope ...

  2. 开源一个监控数据采集Agent:OpenFalcon-SuitAgent

    OpenFalcon-SuitAgent 项目地址:github 版本说明 本系统版本划分如下 alpha:内部测试版(不建议使用于生产环境) beta:公开测试版(不建议使用于生产环境) final ...

  3. Centos6.7 安装ReviewBoard2.5.7 问题记录

    pip install ReviewBoard 1.修改pip源,默认源网络不畅 pip install -i http://pypi.douban.com/simple simplejson 2.p ...

  4. Android 原生listview item伸展收缩效果

    Android原生listview做的一个item的伸缩效果.*永远不要让你老大有机会改需求 package com.example.yunkanglast; import java.io.Seria ...

  5. hadoop笔记之Hive入门(什么是Hive)

    Hive入门(一) Hive入门(一) 什么是Hive? Hive是个数据仓库,数据仓库就是数据库,但又与一般意义上的数据库有点区别 实际上,Hive是构建在hadoop HDFS上的一个数据仓库. ...

  6. SVN+post-commit 搭建自动同步版本库

    一.需求. 本地文件上传到测试环境svn,测试环境同步到生产环境rsync.开发环境与测试环境与生产环境分离. 二.搭建SVN服务器. yum -y install subversion && ...

  7. 数据库课本SQL第三章答案

    3 .用 sQL 语句建立第二章习题 5 中的 4 个表. 答: 对于 S 表: S ( SNO , SNAME , STATUS , CITY ) ; 建 S 表: CREATE TABLE S ( ...

  8. SQL Server 一些重要视图2

    1. sys.dm_tran_session_transactions 为每一个没有关闭的事务返回一行.session_id 可以与sys.dm_exec_connections.session_id ...

  9. Open source and free log analysis and log management tools.

    Open source and free log analysis and log management tools. Maintained by Dr. Anton Chuvakin Version ...

  10. 2016 Multi-University Training Contest 1 总结

    算是组队后第一次打比赛吧. 09题开始就有人过了,看到题目,这不是轮廓线DP的裸题么?!!,一发WA告终,然后发现题目是有改动的.还是太心急了. 然后我读了第一题,是最小生成树求期望距离,我把题意说了 ...