--- layout: post title: Linux目录与文件 tags: Linux 命令 categories: Linux --- * TOC {:toc} >`.` > >代表此层目录 > >`..` > >代表上一层目录 > >`-` > >代表前一个工作目录 > >`~` > >代表『目前使用者身份』所在的家目录 > >`~account` > >代表 account 这个使用者的家目录(account是个帐号名称) --- ## `cd ` **变换目录** --- ## `pwd` **显示目前所在的目录** [root@www ~]# `pwd [-Pl]` 选项与参数: `-P`:显示出真实的路径,而非使用连结 (link) 路径。 `-l ` : 显示逻辑路径(默认) --- ## `mkdir` **创建新目录** [root@www ~]# `mkdir [-mp]` 目录名称 选项与参数: `-m` :配置文件的权限喔!直接配置,不需要看默认权限 (umask) 的脸色~ `-p` :帮助你直接将所需要的目录(包含上一级目录)递归创建起来! --- ## `rmdir` **删除『空』的目录** [root@www ~]# `rmdir [-p]` 目录名称 选项与参数: `-p` :连同上一级『空的』目录也一起删除 --- ## `$PATH` **环境变量** 不同身份使用者默认的PATH不同,默认能够随意运行的命令也不同(如root与vbird); PATH是可以修改的,所以一般使用者还是可以透过修改PATH来运行某些位於/sbin或/usr/sbin下的命令来查询; 使用绝对路径或相对路径直接指定某个命令的档名来运行,会比搜寻PATH来的正确; 命令应该要放置到正确的目录下,运行才会比较方便;本目录(.)最好不要放到PATH当中。 --- ## `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 而非使用者与群组的名称 `-r` :将排序结果反向输出 `-R` :连同子目录内容一起列出来; `-S` :以档案容量大小排序! `-t` :依时间排序 `--color=never` :不要依据档案特性给予颜色显示; `--color=always` :显示颜色 `--color=auto` :让系统自行依据设定来判断是否给予颜色 `--full-time` :以完整时间模式 (包含年、月、日、时、分) 输出 `--time={atime,ctime}` :输出 access 时间或 改变权限属性时间 (ctime) 而非内容变更时间 (modification time) --- ## `cp` **复制文件或目录** [root@www ~]# `cp [-adfilprsu]` 来源档(source) 目标档(destination) [root@www ~]# `cp [options]` source1 source2 source3 .... directory 选项与参数: `-a ` :相当於 -pdr 的意思,至於 pdr 请参考下列说明;(常用) `-d` :若来源档为连结档的属性(link file),则复制连结档属性而非文件本身; `-f` :为强制(force)的意思,若目标文件已经存在且无法开启,则移除后再尝试一次; `-i` :若目标档(destination)已经存在时,在覆盖时会先询问动作的进行(常用) `-l` :进行硬式连结(hard link)的连结档创建,而非复制文件本身; `-p` :连同文件的属性一起复制过去,而非使用默认属性(备份常用); `-r` :递回持续复制,用於目录的复制行为;(常用) `-s` :复制成为符号连结档 (symbolic link),亦即『捷径』文件; `-u` :若 destination 比 source 旧才升级 destination ! 最后需要注意的,如果来源档有两个以上,则最后一个目的档一定要是『目录』才行! --- ## `rm` **移除文件或目录** [root@www ~]# `rm [-fir]` 文件或目录 选项与参数: `-f` :就是 force 的意思,忽略不存在的文件,不会出现警告信息; `-i` :互动模式,在删除前会询问使用者是否动作 `-r` :递回删除啊!最常用在目录的删除了!这是非常危险的选项!!! --- ## `mv` **移动文件与目录,或更名** [root@www ~]# `mv [-fiu]` source destination [root@www ~]# `mv [options]` source1 source2 source3 .... directory 选项与参数: `-f` :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖; `-i` :若目标文件 (destination) 已经存在时,就会询问是否覆盖! `-u` :若目标文件已经存在,且 source 比较新,才会升级 (update) --- ## `basename`,`dirname` **取得路径的文件名称与目录名称** [root@www ~]# `basename` /etc/sysconfig/network network <== 很简单!就取得最后的档名~ [root@www ~]# `dirname` /etc/sysconfig/network /etc/sysconfig <== 取得的变成目录名了! --- ## `cat` **查看文件** [root@www ~]# `cat [-AbEnTv]` 选项与参数: `-A` :相当於 -vET 的整合选项,可列出一些特殊字符而不是空白而已; `-b` :列出行号,仅针对非空白行做行号显示,空白行不标行号! `-E` :将结尾的断行字节 $ 显示出来; `-n` :列印出行号,连同空白行也会有行号,与 -b 的选项不同; `-T` :将 [tab] 按键以 ^I 显示出来; `-v` :列出一些看不出来的特殊字符 ## `tac` **反向显示** --- ## `nl` **添加行号显示** [root@www ~]# `nl [-bnw]` 文件 选项与参数: `-b` :指定行号指定的方式,主要有两种: > `-b a` :表示不论是否为空行,也同样列出行号(类似 cat -n); > > `-b t` :如果有空行,空的那一行不要列出行号(默认值); `-n` :列出行号表示的方法,主要有三种: > `-n ln` :行号在萤幕的最左方显示; > > `-n rn` :行号在自己栏位的最右方显示,且不加 0 ; > > `-n rz` :行号在自己栏位的最右方显示,且加 0 ; `-w` :行号栏位的占用的位数。 --- ## `more` **一页一页翻动** [root@www ~]# `more` /etc/man.config 在more查看文件时可在最底行输入: 空白键 (`space`):代表向下翻一页; `Enter` :代表向下翻『一行』; `/`字串 :代表在这个显示的内容当中,向下搜寻『字串』这个关键字; `:f` :立刻显示出档名以及目前显示的行数; `q` :代表立刻离开 more ,不再显示该文件内容。 `b` 或 `[ctrl]-b` :代表往回翻页,不过这动作只对文件有用,对管线无用。 --- ## `less` **一页一页翻动** [root@www ~]# `less` /etc/man.config 在more查看文件时可在最底行输入: 空白键(`space`) :向下翻动一页; [`pagedown`]:向下翻动一页; [`pageup`] :向上翻动一页; `/`字串 :向下搜寻『字串』的功能; `?`字串 :向上搜寻『字串』的功能; `n` :重复前一个搜寻 (与 / 或 ? 有关!) `N` :反向的重复前一个搜寻 (与 / 或 ? 有关!) `q` :离开 less 这个程序; --- ## `head` **取出前面几行** [root@www ~]# `head [-n number]` 文件 选项与参数: `-n` :后面接数字,代表显示几行的意思 --- ## `tail` **取出后面几行** [root@www ~]# `tail [-n number]` 文件 选项与参数: `-n` :后面接数字,代表显示几行的意思 `-f` :表示持续侦测后面所接的档名,要等到按下[ctrl]-c才会结束tail的侦测 --- ## `od` **非纯文字档** [root@www ~]# `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 --- ## `touch` **修改文件时间或建置新档** [root@www ~]# `touch [-acdmt]` 文件 选项与参数: `-a` :仅修订 access time; `-c` :仅修改文件的时间,若该文件不存在则不创建新文件; `-d` :后面可以接欲修订的日期而不用目前的日期,也可以使用 --date="日期或时间" `-m` :仅修改 mtime ; `-t` :后面可以接欲修订的时间而不用目前的时间,格式为[YYMMDDhhmm] --- ## `file` **查看文件类型** [root@www ~]# `file` 文件