2.1 文件和目录管理
2.1.1 绝对路径和相对路径
- 绝对路径
从根目录开始的全路径,一定以 / 开头
比如 /usr/local/src - 查看当前目录: pwd
- 特殊目录:(.)和(..)
linux以点开始的文件都是隐藏文件,可以使用
ls -al 查看,(.)代表当前目录,(..)代表上一级目录 - 相对路径
相对路径的关键在于当前在什么路径下。例如当前在/usr/local下,他的上场目录可以用../表示,下层src目录可以用 ./src 表示。(.)和(..)也属于相对路径。
2.1.2 文件相关的操作
- 创建文件
touch test.txt - 删除 rm test.txt
- 移动或者重命名: mv
后面需要两个参数,一个是要被移动的文件,一个是移动到的目录:
mv test.txt /home
还可以重命名:
mv test.txt test.doc
还可以移动的同时重命名:
mv test.txt /home/test.doc
- 查看文件: cat
cat test.txt
cat -n test.txt #加-n可以显示行号
- 查看文件头
head install.log #默认显示前10行的内容
head -n 20 install.log # -n指定显示的行数
- 查看文件尾
tail install.log #默认显示后10行
tail -n install.log # -n指定显示的行数
tail -f install.log #动态的查询新内容
- 文件格式转换:dos2unix
2.1.3 目录的相关操作
- 进入目录:cd
- 创建目录:mkdir
- 删除目录:
rmdir 只能删除空目录
rm -r 删除目录
rm -rf
- 文件和目录复制
cp test.txt /home 复制文件
cp -r test /home 复制目录
3.1.4 文件时间戳
touch 创建文件时,如果存在会更新时间
ll 可以查看文件的信息,包括时间戳
2.2 文件和目录的权限
- 查看文件或目录的权限:ls -al
- 改变文件权限:chmod
chmod 754 test.sh
chmod -R 754 somedir 修改目录的权限 - 改变文件的拥有者:chown
chown jack test.txt 将test.txt 文件拥有者变为jack
chown :jack test.txt 将文件的用户组变为jack
chown -R jack somedir 将目录的拥有者变为jack - 改变文件的拥有组:
chgrp jack test.txt
chgrp -R jack somedir - 查看文件类型:file
ls -l 通过查看第一个字符判断文件类型:
d 代表目录,l 代表连接文件,b代表块文件,c代表字符文件,s代表socket文件,-代表普通文件,p代表管道文件。
file 命令可以直接查看文件类型:
file test.txt
test.txt: ASCII text
2.3 查找文件
- find
格式
find PATH -name FILENAME
example:
find /root -name test.txt
模糊匹配:
find /root -name *.conf
find /root -name te*
- 数据库查找:locate
updatedb #先更新数据库、
locate test.txt #再查找文件
- 查找执行文件
which passwd #which用于从系统PATH变量定义的目录查找可执行文件的绝对路径
whereis passwd #还可以找出相关man文件
2.4 文件压缩和打包
- gzip/gunzip
压缩:
gzip hello.txt 结果:hello.txt.gz
解压:
gunzip hello.txt.gz
- tar
压缩:
tar -zcvf test.tar.gz /test #tar可以压缩文件和目录
解压:
tar -zxvf test.tar.gz
解压到指定目录:
tar -zxvf test.tar.gz -C /tmp
- bzip2
产生以 .bz2结尾的压缩文件。
压缩:
bzip -z test.txt
解压:
bzip -d test.txt.bz2