文件操作主要有:拷贝、移动、删除等
cat命令和less命令:用于显示文件内容
cat命令一次性在终端里显示文件等所有内容,以/var/log文件下的syslog为例:
cat -n syslog 英语在显示文件的内容上加上行号
less命令:分页显示文件内容。less syslog后显示如下:
less只读取里文件的前几行,需要通过一下快捷键翻看其它页的内容:
1⃣️ 空格键:前进一个屏幕(页)
2⃣️ 回车键:前进一行
3⃣️ d:前进半个屏幕(半页)
4⃣️ b:后退一个屏幕(页)
5⃣️ y:后退一行
6⃣️ u:后退半个屏幕(半页)
7⃣️ q:停止读取文件,退出less命令
查看时的高级用法:
1⃣️ =:等号用于显示你在文件中的什么位置
2⃣️ h:用于显示帮助文档,q键退出帮助文档
3⃣️ /:进入搜索模式,输入要搜索的文字,按下回车键会把所有符合的结果都标识出来。n:跳到下一个符合的标识结果;shift+n(N):跳到上一个符合的标识结果
head命令和tail命令:显示文件的开头和结尾
head命令在默认情况下会显示文件的头10行
指定显示行数用-n参数,显示5行例子:head -n 5 syslog
tail命令除了跟head命令一样外还有配合-f参数来实时追踪文件的更新:
tail -f syslog 默认会每过1s检查文件是否有新内容。可以增加间隔检查的秒数:
tail -f -s 4 syslog: 每隔4s检查一次文件是否有更新
Ctrl+c用来终止tail -f命令。
ctrl+c组合快捷键命令在同时按下时可以终止大部分终端命令和正在执行的程序。
touch命令和mkdir命令:用于创建文件和目录
touch命令:创建一个空白文件
touch new_file
touch new_file new_file2 可以同时创建多个文件
touch "new file" 创建的文件名有空格号时,要加双引号
mkdir命令:创建一个目录(make directory的缩写)
mkdir new_folder
mkdir new_folder1 new_folder2 可以同时创建多个目录
mkdir "new folder" 创建的目录里有空格的话要加上双引号
mkdir -p one/two/three 递归创建目录结构,如下图所示:
可以通过 ls -F 这个-F参数使得ls命令可以在显示子目录的时候在它的文件名之后加上一个斜线(“/”)字符。而文件后面的星号(“*”)字符表示这是一个可执行程序
cp命令和mv命令:拷贝文件和移动文件
cp命令:copy的缩写 拷贝文件和目录。
拷贝文件
cp new_file new_file_copy 创建new_file的副本new_file_copy(在当前目录下)
cp new_file one/ 复制文件 new_file 到另外一个目录
cp new_file one/new_file_copy 创建new_file的副本new_file_copy到新的文件夹one中 (在当前目录下的one/目录下)
拷贝目录
cp -R one_folder one_folder_copy 将one_folder拷贝为one_folder_copy
cp -R one_folder one/one_folder_copy 将one_folder拷贝到one目录下并命名为 one_folder_copy
通配符*:*是常用的正则表达式的符号,被称为“通配符”,即百搭,可以替换任意字符串。
cp *.txt folder 把当前目录下所有txt文件拷贝到folder这个字目录当中
cp ha* folder 把当前目录下凡以ha开头的文件都拷贝到folder目录中
mv命令:move的缩写。有两个功能:1⃣️ 移动文件(或目录)2⃣️ 重命名文件(或目录)
移动文件、目录
mv new_file one 将new_file文件移动到one这个目录中
mv new_folder one 将new_folder目录移动到one这个目录中
mv *.txt one 将当前目录下的所有txt文件移动到one这个目录中
重命名文件、目录
mv new_file renamed_file 将文件new_file重命名为renamed_file
mv new_file one/renamed_file 将文件new_file移动到目录one下,并重命名为 renamed_file
mv new_folder renamed_folder 将目录new_folder重命名为renamed_folder
mv new_folder one/renamed_folder 将目录new_folder移动到目录one下,并重命名为 renamed_file
rm命令:删除文件和目录
rm命令:remove的缩写。
rm new_file_copy 删除当前目录下的new_file_copy
rm file1 file2 file3 可以同时删除多个文件
-i 参数:inform的缩写向用户确认是否删除
rm -i renamed_file 确认是否删除renamed_file
-f 参数:force的缩写,表示“强制,强迫”。不会询问是否删除,强制删除
rm -f renamed_file 强制删除file文件
-r 参数:recursive的缩写,表示“递归的”。可以使用rm命令删除目录,并且递归删除其包含的子 目录和文件
rm -r one_folder 删除one这个目录,包含其子目录和文件。
ln命令:创建链接
ln命令:link的缩写,表示“链接”。用于在文件之间创建链接(创建快捷方式)。链接有2中类型:1⃣️ physical link:物理链接或硬链接。2⃣️ symbolic link:符号链接或软链接。
硬链接:使链接的2个文件共享同样的文件内容,即修改任意这个2个文件中的一个,则修改的 是同一块内容。对于硬链接来说,删除任意一方对共同指向的文件内容没有影响。
touch file1 创建一个空白的文件file1
ln file1 file2 创建file2,使之成为file1的硬链接
ls -i -i参数可以显示文件的inode即上图中的393453
软链接:即Windows系统下的快捷方式,原理相似。-s参数是symbolic(符号的)的缩写。如下 图,当删掉file1则file2会变成死链接,删除file2则file1不受影响。
touch file1 创建一个空白的文件file1
ln -s file1 file2 创建file2,使之成为file1的软链接
ls -i -i参数可以显示file1文件的inode393448,file2文件393451。
ls -l查看处 file2 -> file1,表示file2指向file1。