最近开始深入的学习linux与shell编程,完成了入门阶段的学习,故总结一下这个过程中学习的内容
1.浏览文件系统
浏览目录,我们首先得认识俩个问题,绝对路径与相对路径。
cd 目的文件路径 可以方便的进入到该文件夹目录下
绝对路径:
从虚拟根目录开始,用 / 分割。
这样就实现了进入了根目录下的home文件夹
相对路径
cd ..
表示到达父亲目录
cd .
表示当前目录
2.文件和目录列表
列表命令ls是最基本的罗列当前目录下文件及文件夹的命令,我在这里只总结几种比较常用的参数用法
ls -F 可以区分出列表中的每一项是什么类型的文件,一般目录文件后面会带一个/
ls -a 将隐藏文件和普通文件还有目录一起显示出来
ls -R 会将当前目录下的目录进行递归展开。
ls -l 会显示更多的关于文件的信息
对应的每一项的内容分别为
文件类型 文件权限 硬链接个数 属主 属组 文件的大小 最后一次修改的时间 文件名或者目录名
当然命令也是可以组合使用的
ls -sail
-s列出块的大小,-a列出所有文件,-i列出节点号,-l列出详细信息
因为处理文件的内容过多不好辨识,我们还可以进行匹配
ls -l derby 这样我们就会罗列出带有带有derby的所有文件,但是这个是全字匹配
我们可以用通配符常用的有
*:代表零个或者多个字符
?:代表一个字符
掌握这种方法,可以在文件名不太清楚的情况下进行匹配。
3.处理文件
touch命令
touch 文件名
用来新建一个空文件
touch -t YYYYMMDDHHMM 文件名 用来修改文件的最后一次处理时间
cp命令
cp source destination
将源文件复制成目的文件
cp -i source destination
复制时保留源文件的访问时间和修改时间
cp -R source destination 递归的复制目录
cp -f source destination 强制复制,可以省去处理重复复制提示
cp -l source destination 建立硬链接
cp -s souce destination 建立软链接
mv命令
mv t1 t2
将t1重命名为t2
你也可以用这个命令移动文件位置,但是移动软链接会使链接失效
rm命令
rm -i 文件名 删除文件,会提示是否删除
rm -f 文件名 强制删除
4.处理目录
mkdir 目录名 新建一个目录、
rmdir --ignore-fail-on-non-empty 目录名 删除一个目录
rm -r dir 递归的删除目录及其包含的所有文件
5.查看文件内容
stat test 查看test的所有状态信息
file test 查看test的文件类型(1:文本文件 2.可执行文件 3.数据文件)
cat
cat test 查看文件里的内容
cat -n test 加上行号查看
cat -b test 只给有文本的行加上行号
cat -s test 将多个空白行压缩成一个空白行查看
cat -T test 不显示制表符
cat命令是有缺陷的,如果文件过大,会加载的停不下来
可以分页显示的命令
more test 支持文本文件中的基本移动
less test 支持更多的功能
tail -n test 显示test 的最后n行
head -n test 显示test 的前n行