文件属性:
ls -l 可以看到文件类型,和文件大小等信息,如果文件是一个目录,那么这个大小仅代表目录在磁盘所占空间,不包含内部文件。
创建:
目录:
mkdir a
mkdir a/b/c/d -p
文件:
touch a.txt
删除:
rm可以删除目录和文件
-r(递归)就是删除目录(包括这个目录下面的目录) -i就是询问是否删除 -f就是强制。如何 i和f同时用,谁在后面谁先生效。
删除一个空目录:rmdir a 或者 rm a -r
如果目录不为空:rm a -r
删除一个目录下面的所有东西,但是保留当前目录:rm a/* -r 如果a下面没有目录就不需要-r
拷贝:
拷贝文件:文件不存在就创建,存在就覆盖
cp 要拷贝a 拷贝到b
拷贝目录:目录不存在就创建;需要加-r进行递归操作
拷贝目录下(不包含本目录):cp a/* b -r(这个*可以是文件名字;如果目录下没有子目录,就不需要-r)
拷贝目录下多个 cp a/x a/y b -r
mv:
文件移动:
mv 移动文件(目录or文件) 目标( 目录)
文件改名:
mv 文件(目录or文件) 新名字(这个文件不存在)
注意:要将abc
目录下子目录a
中的1.txt
改名为2.txt
并且仍保存在a
目录下:mv a/1.txt a/2.txt
文件覆盖:
只能是文件
mv a b(要求ab为文件且存在) a覆盖到b,a被删除
查看文件内容:
cat a:直接把a的内容输出到终端,但是终端是有缓存的,文件太大就不能完全输出。
more:可以翻屏方式查看文件。空格就是向下一屏幕,b就是向上一屏幕,回车就是向下一行,q就是退出more。
less比more多了上下键。
hear -line a:查看文件的前line行,默认是前10行。
tail就是尾部和hear一个逻辑。
软链接和硬链接:
软链接:ln -s [链接文件的路径,最好是绝对路径] [文件链接到哪里,链接后的名字可以随便取,有没有后缀也无所谓]。ls查看,链接为青色就说明是正确的,可以操作,如果是红色就说明出问题了,所以就是建议用绝对路径
硬链接在软链接基础中不需要-s,而且带不带路径无所谓,直接文件名即可。目录不能创建硬链接。本质就是为文件起了一个别名,类似cpp的引用,文件不会发生拷贝
修改文件权限:
chmod……
文字法和数字法(8进制)
修改文件所有者和所属组:
命令前加sudo让普通用户使用管理员权限
sudo chown new_people 文件名
sudo chown new_people:new_group 文件名
sudo chgrp new_group 文件名
tree:
tree [-L n 可以指定目录] 因为linux是有缓存的,太大的话,显示不出来,所以,n代表层数
pwd,touch,which:
pwd:
查看当前用户工作目录
touch:
创建空文件,如果文件存在,更新文件修改日期,对文件没影响
which:
查看指令所在目录
重定向:
echo string 在终端打印string
echo string > 1.txt string写入1.txt(1会覆盖,2如果1.txt不存在会创建到当前目录)
如果不想覆盖就>>追加