文件/目录处理命令
建立目录:mkdir
-
命令英文原意:make directories
-
命令格式:
mkdir [-p] [目录名]
mkdir -p japan/bols
在当前目录下创建japan目录并在japan下创建bols目录
切换目录:cd
-
命令英文原意:change directory
-
命令格式:
cd [目录]
cd /home/leaderjs
-
常用操作:
cd
cd ~ 进入当前用户的家目录
cd - 进入上次目录
cd .. 进入上一级目录 (..被机械地赋值为上一级目录,".." = "上一级目录"
cd . 进入当前目录 (.被机械地赋值为当前目录,"." = "当前目录"
-
相对路径:
参照当前所在目录,进行查找 如: cd ../usr/local/src
-
绝对路径:
从根目录开始指定,一级一级递归查找。在任何目录下,都能进入指定位置 如: cd /etc/
查看文件内容:cat、more、less
删除文件或目录:rm
-
命令英文原意: remove
-
命令格式:
rm -rf [文件或目录]
-r 目录
-f 强制force
复制文件或目录:cp
-
命令英文原意:copy
-
命令格式:
cp [选项][原文件或目录] [目标目录]
-r 目录
-p 连带文件属性复制
-d 若原文件是链接文件,则复制链接属性
-a 相当于 -pdr
-v verbose显示执行过程
剪切(移动)或改名命令:mv
-
命令英文原意:move
-
命令格式:
mv [原文件或目录] [目标目录]
剪切:mv japan /tmp/
改名: mv japan japan1
(改名即原文件和目标文件在同一目录下)
创建链接(快捷方式):ln
-
命令英文原意:link
-
命令格式:
ln -s [绝对路径的原文件][创建快捷方式的位置]
注意:位置后加/
是好习惯!
文件搜索命令
文件搜索命令:locate
-
命令格式:
locate 文件名
注意:
locate并不是数据库全局搜索,
var/lib/mlocate
一天一更新所以找不到最近时间的文件,需要先执行updatedb
命令。 locate有不搜索目录,例如 /tmp/;具体信息在/etc/updatedb.conf中看。
命令查找命令:whereis
-
意思:可以找到命令的可执行文件和命令的文档
-
命令格式:
whereis [选项][命令]
-b 只搜索命令的可执行文件
-m 只搜索命令的帮助文档
whoami [] whatis []
命令查找命令:which
-
意思可以找到命令的所在位置,如果有别名(全名)就显示别名。
which ls
PATH环境变量:
定义的是系统搜索命令的途径 [root@localhost ~]# echo $PATH /usr/lib/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
注意:执行ls时,它会在上述路径中搜索,找到就执行,找不到就报not found;
所以自己写的命令执行时要用绝对路径,或者添加到PATH环境变量中。
搜索命令:find
-
意思在系统中搜索符合条件的文件,使用通配符,是完全匹配。
-
命令格式:
find [搜索范围][搜索条件] [文件/所有者/时间/大小...]
搜索条件:
- -name 按名称搜索
- -iname 按名称搜索不区分大小写
- -user 按所有者搜索
- -nouser 查找没有所有者的文件(没有所有者的文件是垃圾文件,但是有两个特例:1.内核产生可能没有所有者,如/proc和/sys;2.外来文件,如U盘>拷来的win文件。)
- 按修改时间搜索:
- -atime -10 查找10天内访问过的文件
- -ctime 10 查找10天当天修改属性的文件
- -mtime +10 查找10天前修改文件内容的文件
- -mmin 如:find /var/log/ mtime +10
按文件大小搜索(k是小写字母,M是大写字母):
- find . -size 25k 查找当前目录中25k大小的文件
- find . -size +25k 查找当前目录中大于25k的文件
- find . -size -25k 查找当前目录中小于25k的文件
按i节点搜索:
- find . -inum 262422 查找结点是262422的文件
逻辑组合'与''或':
- find /etc -size +10k -a -size -50k 查找大于10k并且小于50k的文件
- find /etc -size -10k -o -size +50k 查找小于10k或大于50k的文件
- find /etc -size -10k -exec ls -lh {};
-exec __ {} \;
对结果进行操作
搜索字符串命令:grep
-
意思:在文件中搜索符合条件的字符串,使用正则表达式包含匹配。
-
命令格式:
grep [选项] 字符串 文件名
选项:
- -i 忽略大小写
- -v 反转,查找除指定字符串的 举例:grep -i "hello" /home/leaderjs/test1.txt
通配符:
*
匹配任意内容?
匹配任意一个字符[]
匹配任意一个中括号内的字符 例如:find /root -name "ab[cd]" 搜名是abc或abd的文件
查看帮助文档命令:man
-
命令格式:
man [命令]
在查找到的页面:
- 输入/-d 即可查看包含d的文档
- 按 n 跳转到下一个;按 N 跳转到上一个
- 查看命令拥有的级别: man -f 命令 = whatis 命令
- 按级别查看帮助文档: man -5 passwd
- 查看和命令相关的所有的命令: man -k 命令 = apropos 命令 apropos passwd
其他帮助命令:
- ls --help
- help cd 只能获取shell的内部命令帮助 注:whereis cd 查看是否是shell内部命令,可以找到/bin下的可执行文件的不是内部命令。
压缩与解压缩命令:要写清楚扩展名
- zip 压缩文件名 原文件
- zip -r 压缩目录名 原目录
- unzip 压缩文件名
- gzip 原文件 :压缩为.gz格式的压缩文件,原文件会消失
- gzip -c 原文件 :将压缩结果输出到屏幕,原文件保留。
- gzip -c 原文件 > 压缩文件 :原文件保留
- gzip -r 目录 :压缩目录下所有的子文件,但是不能压缩目录
- gzip -d 压缩文件 :可以加-r
- gunzip 压缩文件 :可以加-r
- bzip2 原文件 :压缩为.bz2格式,不保留原文件
- bzip2 -k 原文件:保留原文件 不能压缩目录
- bzip2 -d 压缩文件:
- bunzip2 压缩文件 :