您的位置:首页 > 运维架构 > Linux

Linux常用命令---文件管理

2016-09-18 14:31 423 查看

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可以完成数据行的删除、更改、添加、插入、合并或交换等操作
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  linux 命令