linux命令使用(二):文件管理
2017-02-15 本文已影响25人
3e1094b2ef7b
一、查看文件和目录
1. pwd
显示当前工作目录
2. cd
改变当前工作目录
3、ls
ls -a
:列出所有目录、子目录、文件和隐藏文件
ls -l
:以长列表格式显示文件、目录的详细信息
ls -R
:列出从当前目录开始的所有子目录、文件并且一层层往下显式
ls -F
:列出文件、目录名并显示出文件类型
ls -t
:以修改时间为时间倒序来列出文件、子目录
4、file
file filename
:显示文件类型
二、创建和删除文件、目录
1、创建文件
touch filename
// filename不存在则创建一个新的空文件,filename存在则更新该文件的修改访问时间。
2、创建目录
mkdir [-p] directory_name
// -p 上级目录不存在时可以级联建立目录
3、删除文件
rm [-i/f] filename(s)
// -i 删除前询问是否删除
// -f 强制删除
4、删除目录
rmdir directory_name(s) 删除空目录
rm -r[i/f] directory_name(s)
// -r 删除非空目录
// -i 删除前询问是否删除
// -f 强制删除
三、显示文本文件内容
1、cat
不分屏显示文本内容。
cat filename(s)
2、more
分屏显示文本内容。
more filename(s)
spacebar / f:向下翻页
b:向上翻页
Enter:向下翻行
q:退出
n:查找下一个符合string指定的信息
h:显示帮助菜单
/string:查找符合string指定的信息
3、head
查找文件的前多少行。
head [-n] filename(s)
4、tail
查找文件的末尾多少行。
tail [-n] filename(s)
四、拷贝和移动文件、目录
1、cp
拷贝复制文件、目录。
// 拷贝文件:
cp [-i] source_file destination_file
cp [-i] source_file(s) destination_directory
// -i:当目标文件存在时,会询问是否覆盖;没有-i选项则不询问直接覆盖
// 拷贝目录:
cp -r source_directory(s) destination_directory(s)
2、mv
移动或重命名文件、目录。
mv [-i] source_file target_file // 重命名原文件为目标文件
mv [-i] source_file target_directory // 移动文件到目标目录
五、查找文件
1、find
file path expression [action]
:查找文件和目录
前提条件:要对被查找的目录及其所有子目录有读权限才能查找
// 查找选项:通过文件属性来查找
-name 按文件名
-user 按用户(文件属主)
-size 按大小
-mtime 按最后一次修改时间
-atime 按最后一次访问时间
-type 按文件类型 f:file d:directory
-perm 按权限
// 例子
find / -name b* // 查找根目录下,所有文件名以b开头的文件
find . -mtime 10 -print // 查找当前目录下,10天前那一天修改的文件和目录,并显示出来
find /etc -user 0 -size +400 -print // 查找/etc目录下,user ID为0的用户创建的大于400k的文件,并显示出来
find ~ -perm 777 > ~/holes // 查找用户主目录下,777权限的文件和目录,并放到用户主目录下的holes目录下
find /export/home -type f -atime +365 -exec rm {}\;
// 查找/export/home目录下,最后一次访问时间距今天大于365天的文件,找到后并执行删除操作。
// 因为是进程的执行,所以要加\
2、locate
locate [-d <数据库文件>][--help][--version][keywords]
locate指令用于查找符合条件的文件,它会去保存文件与目录名称的数据库内查找合乎范本样式条件的文件或目录。
-d<数据库文件>
或--database=<数据库文件>
:设置locate指令使用的数据库。
locate指令预设的数据库位于/var/lib/slocate目录里,文件slocate.db,您可使用这个参数另行指定。
--help / -h
:在线帮助。
--version
:显示版本信息。
locate查找的速度快很多,因为它是通过inode(文件索引)来找。它会把文件索引维护在一个数据库里面,它在数据库去找。
比较麻烦的是需要更新数据updatedb;
// 例子
locate . b*
六、过滤与统计
1、grep
对文件或输出结果进行过滤,查出包含某些字符串的结果。
它对大小写敏感。
grep [option(s)] string filename
// -i 忽略大小写
// -v 反向匹配(查出不包含字符串的结果)
例1
例2
// 例2 说明:
xargs:“参数”。
若前面有多个结果,则将每个结果都交给后面的命令去执行。
2、wc
对文件或输出结果进行统计。
wc [option(s)] filename(s)
// -l 统计多少行
// -w 统计多少个单词
// -c 统计多少个字符
例1
// 例1 说明:
who:显示当前登录系统的用户信息。
/etc/passwd:包含该系统的所有登录用户名。
例2