1、绝对路径和相对路径
- 绝对路径:由根目录/写起,如:/usr/share/doc这个目录
- 相对路径:不由/写起,如由/usr/share/doc要到/usr/share/man时,可以使用cd ../man
2、目录的相关操作
几个比较特殊的目录:
- .代表此层目录
- ..代表当层目录
- -代表前一个工作目录
- ~代表“目前用户身份”所在的主文件夹
- ~account 代表account是这个用户的主文件夹
几个常见处理目录的命令:
- cd: 切换目录
- pwd:显示当前目录
- mkdir:新建一个新的目录
- rmdir:删除一个空的目录
- rm:删除目录及目下所有文件
具体用法:
cd 相对目录/绝对目录
pwd [-p] : -p 显示出当前的路径,而费用连接(link)路径
mkdir [-mp] 目录名称: -m配置文件的权限。-p直接将所需的文件目录递归的建立起来。
rmdir [-p] 目录名称: -p连同上层空的目录也一起删除
3、执行文件的路径的变量:$PATH
ls命令的完整路径名为 /bin/ls,但是我们却能在任何路径下使用该命令,这是因为/bin路径已经加入到环境变量PATH中了。
使用echo $PATH可以打印出环境变量包含的路径.
4、复制、删除与移动cp,rm,mv
cp(复制文件或目录):
cp [-adfilprsu] 源文件 目标文件
cp [options] source1 source2 source3 …. directory
参数:
-a : 相当于 -pdr的意思。
-d:若源文件为连接文件的属性,则复制连接文件属性而非文件本身
-f:为强制的意思,若目标文件已经存在且无法开启,则删除后在尝试一次
-i:若目标文件存在时,则覆盖时会先询问操作的进行
-l:进行硬连接的连接文件创建,而非复制文本本省
-p:连同文件的属性一起复制过去,而使用默认属性
-r:递归持续复制,用于目录的复制行为,
-s:复制成为符号链接文件,即快捷方式文件
-u:若destination比source旧时才更新destination
注意:进行备份操作时注意特殊的权限文件,例如密码文件或者一些配置文件,不能直接cp,加上-a或者-p参数连同文件权限一同复制才可以,否则其他人也会对该文件进行操作。
rm(移除文件或目录):
rm [-fir]文件或目录
参数:
-f:就是force的意思,忽略不存在的文件,不会出现警告的信息。
-i:互动模式,在删除之前会询问是否操作
-r:递归删除。常用在目录删除
mv(移动文件与目录,或更名)
mv [-fiu] source destination
mv [-options] source1 source2 source3 …. directory
参数:
-f:就是force的意思,如果目标文件已经存在,不会询问直接覆盖
-i:互动模式,若目标文件已经存在,就会询问是否覆盖
-u:若目标文件已经存在,且source比较新才会更新。
5、取得路径的文件名与目录名称
basename和dirname
6、文件内容查看
cat:由第一行开始显示文件内容
tac:从最后一行开始显示
nl:显示的时候,顺便输出行号
more:一页一页显示文件内容
less:与more类似,但是可以往前翻页
head:只看头几行
tail:只看结尾几行
od:以二进制的方式读取文件内容
直接查看文件内容
cat(concatenate)
cat [-AbEnTv] 文件名
参数:
-A:相当于-vET的整合参数,可以列出一些特殊字符
-b:列出行号,仅针对非空白行做行号显示,空白行不标行号
-E:将结尾的断行字符$显示出来
-n:打印出行号,连同空白行也会有行号,与-b不同
-T:将[Tab]键以^T显示出来
-v:列出一些看不出来的特殊字符
tac(反向列示)
nl(添加行号打印)
nl [-bnw] 文件
参数:
-b:指定行号指定的方式,主要两种:
-b a :表示不论是否有空行,也同样列出行号(类似 cat -n)
-b t :表示有空行,空的那一行不要列出行号(默认)
-n:列出行号表示的方法
-n ln:行号在屏幕的最左方显示
-n rn:行号在自己字段的最右方显示,且不加0
-n rz:行号在自己字段的最右方显示,且加0
-w:行号字段占用的位数
可翻页查看
more(一页一页翻动)
继续按下列按键:
- 空格键(Space):代表向下翻一页
- Enter:代表向下滚动一行
- /字符串:代表在这个显示的内容中,向下查询“字符串”这个关键字;
- :f:立刻显示出文件名以及目前显示的行数
- q:代表立刻离开more,不在显示该文件内容
- b或者[ctrl]-b : 代表往回翻页,不过这操作。
less(一页一页翻动)
- 空格键:向下翻动一页
- pagedown:向下翻一页
- pageup:向上翻一页
- /字符串:向下查询字符串
- ?字符串:向上查询字符串
- n:重复前一个查询
- N:反向重复前一个查询
- q:离开
数据选取
显示前n行:head [-n number] 文件
显示后n行:tail [-n number] 文件
非纯文本文件:od
od [-t TYPE] 文件
参数:
t:后面可以接各种类型的输出:如:
- a:利用默认的字符来输出
- c:使用ASCII字符来输出
- d[size] : 利用十进制来输出数据,每个整数占用size bytes;
- f[size] : 利用浮点数来输出数据,每个整数占用size bytes;
- o[size] : 利用八进制来输出数据,每个整数占用size bytes;
- x[size] : 利用十六进制来输出数据,每个整数占用size bytes;
7、修改文件时间或创建新文件:touch
文件时间:
- modification time(mtime)
当该文件的内容数据被更改时,更改此时间。内容数据指的是文件的内容,而不是文件的属性。 - status time(mtime)
该文件的状态改变时,更新此时间。比如权限和属性被更改。 - access time(atime)
该文件内容被取用时,更新改时间。比如用cat读取时。
ls显示出来的是mtime。
touch [-acdmt] 文件
参数:
-a:仅修改访问时间。
-c:仅修改文件时间,若文件不存在则不创建新文件
-d:后面可以接修改的日期而不用当前的日期
-m:仅修改mtime
-t:后面可以接修改的时间而不用目前的时间。
默认状态下,若touch后有接文件,则该文件的三个时间都会更新为当前时间。若不存在则会主动创建一个新的文件夹。