Linux部分文件操作命令使用方法小结

这里主要列一下之前不了解的,已经弄懂的就忽略啦~


locate——查找文件****

用法: locate zh_CN     列出所有包含“zh_CN”字符串的文件和目录。 由于locate命令是从系统中保存文件及目录名称的数据库中搜索文件,虽然系统会定时更新数据库,但对于刚新增或删除的文件、目录,仍然可能会因为数据库尚未更新而无法查得,此时可用root身份运行updatedb命令更新,为此数据库得内容正确。


grep——搜索字符串****

grep 命令可以搜索特定字符串来并显示出来,一般用来过滤先前得结果,避免显示太多不必要得信息。范例如下: grep text .conf //搜索当前目录中扩展名为.conf且包含“text”字符串得文件。 若您是使用一般权限的用户运行,上例的输出结果会包含很多如“拒绝不符权限的操作之类的错误信息,可使用-s参数消除。 grep –s text .conf


tar——打包文件

参数说明:

-c:创建一个新的tar文件;
-v:显示运作过程信息;
-f:在:指定文件名称;
-z:调用gzip压缩命令执行压缩;
-j:调用bzip2压缩命令执行压缩;
-t:参看压缩文件内容;
-x:解开tar文件。

常见用法:

tar cvf data.tar * ← 将目录下所有文件打包成data.tar
tar cvf data.tar.gz * ← 将目录所有文件打包成data.tar再用gzip命令压缩
tar tvf data.tar * ← 查看data.tar文件中包括了哪些文件
tar xvf data.tar * ← 将data.tar解开

 find——查找文件

语法:find path options  [-exec command {} \;]

参数说明:

-name ’字串’ 查找文件名匹配所给字串的所有文件,字串内可用通配符 *、?、[ ]。
-lname ’字串’ 查找文件名匹配所给字串的所有符号链接文件,字串内可用通配符 *、?、[ ]。
-gid n 查找属于ID号为 n 的用户组的所有文件。
-uid n 查找属于ID号为 n 的用户的所有文件。
-group ’字串’ 查找属于用户组名为所给字串的所有的文件。
-user ’字串’ 查找属于用户名为所给字串的所有的文件。
-empty 查找大小为 0的目录或文件。
-path ’字串’ 查找路径名匹配所给字串的所有文件,字串内可用通配符*、?、[ ]。
-perm +/-mode 查找具有指定权限的文件和目录,权限的表示可以如711,644。-说明mode所有1位都要匹配,+说明mode只要有一位匹配即可。
-size n[bckw] 查找指定文件大小的文件,n 后面的字符表示单位,缺省为 b,代表512字节的块。
-type x 查找类型为 x 的文件,x 为下列字符之一:

b 块设备文件
c 字符设备文件
d 目录文件
p 命名管道(FIFO)
f 普通文件
l 符号链接文件(symbolic links)
s socket文件

-xtype x 与 -type 基本相同,但只查找符号链接文件。

以时间为条件查找:

-amin n 查找n分钟以前被访问过的所有文件。
-atime n 查找n天以前被访问过的所有文件。
-cmin n 查找n分钟以前文件状态被修改过的所有文件。
-ctime n 查找n天以前文件状态被修改过的所有文件。
-mmin n 查找n分钟以前文件内容被修改过的所有文件。
-mtime n 查找n天以前文件内容被修改过的所有文件。
-print:将搜索结果输出到标准输出。

例子:

1.在root以及子目录查找不包括目录/root/bin的,greek用户的,文件类型为普通文件的,3天之前的名为test-find.c的文件,并将结构输出,find命令如下:

find / -name "test-find.c" -type f -mtime +3 -user greek -prune /root/bin -print

2.查找当前目录中所有以main开头的文件,并显示这些文件的内容:

find . - name ‘main*’ - exec more {} \;     

3.删除当前目录下所有一周之内没有被访问过的a .out或*.o文件:

find . (- name a.out - o - name ‘*.o’)> - atime +7 - exec rm {} \;

注意:

1.命令中的“.”表示当前目录,此时 find 将从当前目录开始,逐个在其子目录中查找满足后面指定条件的文件。
2.“\(” 和 “\)” 表示括号(),其中的 “\” 称为转义符。之所以这样写是由于对 Shell 而言,(和)另有不同的含义,而不是这里的用于组合条件的用途。
3.上述命令中第一行的最后一个 \ 是续行符。当命令太长而在一行写不下时,可输入一个 \,之后系统将显示一个 >,指示用户继续输入命令。

详细解析:linux中Find命令的使用


scp——Linux之间的文件复制

Linux scp命令用于Linux之间复制文件和目录,从本地复制到远程、从远程复制到本地是两种使用方式。

1、从 本地 复制到 远程

(1)复制文件:

scp local_file remote_username@remote_ip:remote_folder
scp local_file remote_username@remote_ip:remote_file
scp local_file remote_ip:remote_folder
scp local_file remote_ip:remote_file

注:
第1,2个指定了用户名,命令执行后需要再输入密码,第1个仅指定了远程的目录,文件名字不变,第2个指定了文件名;
第3,4个没有指定用户名,命令执行后需要输入用户名和密码,第3个仅指定了远程的目录,文件名字不变,第4个指定了文件名。

例子(与上面分别对应):

scp /home/space/music/1.mp3 root@www.cumt.edu.cn:/home/root/others/music
scp /home/space/music/1.mp3 root@www.cumt.edu.cn:/home/root/others/music/001.mp3
scp /home/space/music/1.mp3 www.cumt.edu.cn:/home/root/others/music
scp /home/space/music/1.mp3 www.cumt.edu.cn:/home/root/others/music/001.mp3

(2)复制目录:

scp -r local_folder remote_username@remote_ip:remote_folder
scp -r local_folder remote_ip:remote_folder

注:
第1个指定了用户名,命令执行后需要再输入密码;
第2个没有指定用户名,命令执行后需要输入用户名和密码;

例子(与上面分别对应):

scp -r /home/space/music/ root@www.cumt.edu.cn:/home/root/others/
scp -r /home/space/music/ www.cumt.edu.cn:/home/root/others/

2、从 远程 复制到 本地

只要将 从 本地 复制到 远程 的命令 的 后2个参数 调换顺序 即可:

scp root@www.cumt.edu.cn:/home/root/others/music /home/space/music/1.mp3
scp -r www.cumt.edu.cn:/home/root/others/ /home/space/music/

详细解析:linux中scp命令的使用

« 返回