1. 复制文件cp
cp命令用来复制文件或目录。
cp命令默认不能复制目录,复制目录必须使用-R选项
当复制多个文件时,最后一个参数必须为已经存在的目录
cp a a.bak
2. 移动文件mv
mv命令用来移动文件或者目录至另一个文件或目录,还可以将目录或文件重命名
mv只接受2个参数,第一个为移动或重命名的文件或目录;第2个为新文件名或目录
PS:当mv接收2个参数或多个参数时,如果最后一个参数对应的是目录而该目录存在,mv会将各参数指定的文件或目录移动到此目录中,如果目录中文件已经存在,将会进行覆盖
mv a b //重名命
mv a b/ //移动到文件夹
3.创建文件或修改文件时间touch
Linux中touch命令可以改变文档或目录时间,包括存取时间和更改时间,也可以用于创建新文件
touch aa //创建新文件aa
touch aa //如果没有指定Time变量值,touch命令就使用当前时间来改变aa文件的时间属性
4. 删除文件rm
rm可以删除文件或目录,并且支持通配符,使用r或R选项可以删除指定的文件或目录及其下面的内容
如果目录中存在其他文件则会递归删除。如果删除软链接,对应的文件或目录不会被删除
如果删除硬链接后文件存在,其他的硬链接文件内容仍可以访问
rm a //删除文件
rm -r b/ //删除目录
5. 查看文件
cat、less、tac、tail、head、more任意一个都可以
5-1.cat
查看文件会显示整个文件内容,cat只能查看文本内容的文件(如果查看二进制文件,则会显示乱码)
cat也可以创建文件和合并文件
tac为cat 的逆序输出
cat aa //查看文件
cat >bb //创建文件 Ctrl+D结束
cat >>bb //追加文件 Ctrl+D结束
5-2. more&less
使用cat查看文件时,如果文件过长会出现滚屏的问题,可以使用more或less来查看
more使用space键可向后翻页,b向前翻页,h显示帮助
less允许用户向前或向后翻页,b往前翻页,指定数字然后按p,可以移动到文件的百分比表示的位置
5-3. tail
tail和less类似,可以指定显示文件的最后多少行,并可以滚动显示日志
6. 查找文件或目录 find
find可以根据给定的路径和表达式查找指定的文件或目录
find如果不加参数,表示查找当前路径下的所有文件和目录
find -name "*.txt" ~ //表示在用户根目录下查找后缀名为txt的文件,如果没有任何输出,则表示系统中不存在此文件
7. 过滤文本文件 grep
grep是强大的文本搜索工具命令,用于查找文件中符合指定格式的字符串,支持正则表达式
grep区分大小写
grep root /rtc/passwd
8. 比较文件差异 diff
diff命令的功能是逐行比较两个文本文件,列出其不同之处
如果diff文件后更的是目录,则会对该目录中的同名文件进行比较,但不会比较其中子目录
9.在文件或目录之间创建链接 ln
ln命令用在连接文件或目录,如果同时指定两个以上的文件或目录,且最后一个的目的地是一个已经存在的目录,则会把前面指定的所有文件或目录复制到该目录中。否则报错
ln命令会保持每一处链接文件的同步性,改动其中一处其他地方的文件都会发生变化
ln分为软链接(类似于快捷方式,可跨分区)和硬链接(在目的位置上生成一个和源文件大小相同的文件,必须在同一文件系统)
10. 显示文件类型 file
file命令用来显示文件的类型,对于每个给定的参数,该命令试图将文件分类为文本,可执行,压缩,其他可理解数据格式
11. 分割文件split
split用于分割文件,
分割文本文件,按指定的行数分割,每个分割后的文件都包含相同行数
分割非文本文件,按指定的大小分割,分割后的文件有相同的大小
split后的文件可以使用cat命令组装在一起
PS:当把一个大文件拆分为多个小文件后,检验文件完整性,使用MD5sum命令
命令:split,例子:
以行数拆分 -l参数:
split –l 50 //原始文件 拆分后文件名前缀
说明:以50行对文件进行拆分,最后一个文件的行数没有50行以实际行数进行分配,比如有一个名为 wlan_date.txt的文件,公有120行,进行拆分:
split -l 50 wlan_date.txt wlan
拆分后会生成 wlanaa wlanab wlanac 三个文件,wlanaa wlanab两个文件分别50行,wlanac文件剩下20行
以大小拆分 -b参数:
split –b 50 //原始文件 拆分后文件名前缀
12. 合并文件 join
如果需要将两个文件根据某种规则连接起来,join可以完成这个功能,该命令可以找出两个文件中指定列内容相同的行,并加以合并
另外的两种文件合并方式;
方法一:使用cat命令从文件中读入两个文件,然后将重定向到一个新的文件。这种方法可以一次性合并任意多个文件。用法示例:
将file1.txt和file2.txt和file3.txt合并到file.txt
$ cat file1.txt file2.txt file3.txt> file.txt
方法二:只使用cat命令读入一个文件,然后使用>>将文本流追加到另一个文件的末位。
用法示例:
将file1.txt追加到file2.txt的末尾
$ cat file1.txt >> file2.txt
13.文件权限umask
umask用于指定在建立文件时预设的权限掩码。权限掩码是3个八进制的数字所组成,将现有的存取权限减掉权限掩码后,即可以产生建立文件时预设的权限
文件的基数为666,目录为777
- chmod改变文件权限位时,设定哪个位,那么哪个位就有权限
- umask是设置哪个位,哪个位就没有权限
umask参数中数字的范围是000~777,umask计算方法分为目录和文件:
- 目录和文件的最大权限模式为777,即所有用户都具有读、写和执行权限
- 得到当前环境umask的值,例如0022
- 对于目录权限为755,对于文件权限为644(文件默认没有执行权限)
14.文本操作awk&sed
awk命令用于Linux下的文本处理,数据可以来自文件或标准输入
sed命令为Linux下编辑工作自动化编辑器,使用sed可以完成数据行的删除、更改、添加、插入、合并或交换等操作