《linux 文件目录》- touch/rm/mv/cat/head/tail/cp/mkdir/chmod/chown/find/locate/which/whereis/tar
一:基本
- / 根目录下目录结构定义
-
-
/bin 常见的用户指令 ls/echo ...... 等 /boot 内核和启动文件 /dev 设备文件 /etc 系统和服务配置文件 /home 用户家目录 /lib 系统函数库目录 /lost+fond ext3文件需要目录,用于磁盘检查 /mnt 系统加载文件常用挂载点 /opt 第三方软件安装目录 /proc 虚拟文件系统 /root root用户家目录 /sbin 存放系统管理命令 /tmp 临时文件目录存放 /usr 存放直接与用户相关文件 /media 临时文件系统挂载点
-
二:文件操作
- touch (创建文件)
- 如果文件存在,则刷新 创建/修改 时间。
- rm (删除文件)
- -r 删除目录
- -f 删除时不需要询问
- mv (移动或重命名)
- -i 重名文件询问是否覆盖
- -f 重名文件直接覆盖
- head (查看文件头)
- -n 指定行数
- tail (查看文件尾)
- -f 实时监控文件末尾
三:目录操作
- mkdir (创建目录)
- -p 逐级创建目录
- cp (复制文件)
- -r 复制目录
四:文件/目录权限
- 文件权限
-
-
ls -al drwxr----- 2 homework homework 4096 11月 7 10:26 apollo 文件权限/类别 连接数 所有者 所有组 文件大小(K) 创建/修改时间 文件名
-
- chmod (改变文件权限)
- chmod -r 权限 文件
- r(读) = 4;w(写) = 2;x(执行) = 1;
- chown (改变文件所有者)
- chown -R 所有者:所有组 文件
- file (查看文件类型)
-
-
[@:~]$ file smarty.conf smarty.conf: ASCII text
-
四:文件查找
- find (一般查找)
- 根据文件名查找
- find /home -name xxx.jpg (/home 目录下递归查找所有文件名字为 xxx.jpg 的文件)
- 根据文件大小查找
- find /home -size +512k (/home 目录下递归查找大于512k的文件)
- find /home -size -512k (/home 目录下递归查找小于512k的文件)
- 指定深度范围查找
- find /home/lihong1/www/ka/public -maxdepth 1 -size +3k (/home 目录下查找一层大于3k的文件)
- 根据时间查找
- find /home -cmin 10 (查找 /home 中十分钟左右修改的)
- find /home -cmin +10 (查找 /home 中十分钟以上修改的)
- find /home -cmin -10 (查找 /home 中十分钟以内修改的)
- find /home -ctime 10 (查找 /home 中十天左右修改的)
- find /home -ctime +10 (查找 /home 中十天以上修改的)
- find /home -ctime -10 (查找 /home 中十天以内修改的)
- 根据文件权限查找
- find /home -perm 777 (查找 /home 文件权限为 777 的文件) (必须是 rwxrwxrwx)
- find /home -perm -007 (查找 /home other 有读写权限的文件) (******rwx 满足任意即可)
- 权限不足直接可以过滤
- find /home -name xxx.jpg 2 > /dev/null
- locate (数据库查找)
- 原理
- 与 find 不同,locate 命令依赖于一个数据库文件
- Linux 每天会检索下系统中的文件,记录到数据库中。
- 所以, locate 比 find 更为迅速
- 使用
- 在使用命令之前,需先使用 updatedb 刷新文件,因为可能新加入的文件并没有被记录
-
-
-
homework@1 ~ $ locate npm-debug.log /home/homework/xxx.log
-
-
五:查找可执行文件
- which (查找二进制执行文件绝对路径)
-
-
homework@1 $ which echo /bin/echo
-
- whereis (除了能找到二进制执行文件,还能找到 man 文件)
-
-
homework@1 $ whereis echo echo: /bin/echo /usr/share/man/man1p/echo.1p.gz /usr/share/man/man1/echo.1.gz
-
六:压缩/解压
- 压缩
- tar -cvf /tmp/etc.tar /etc 仅打包,不压缩!
- tar -zcvf /tmp/etc.tar.gz /etc 打包后,以 gzip 压缩
- tar -jcvf /tmp/etc.tar.bz2 /etc 打包后,以 bzip2 压缩
- 解压
-
-
- *.tar 用 tar -xvf 解压 [ -C 可以指定解压目录位置] - *.gz 用 gzip -d/gunzip 解压 - *.tar.gz 用 tar -xzf 解压 - *.tgz 用 tar -xzf 解压 - *.bz2 用 bzip2 -d/bunzip2 解压 - *.tar.bz2 用 tar -xjf 解压 - *.Z 用 uncompress 解压 - *.tar.Z 用 tar -xZf 解压 - *.rar 用 unrar e 解压
- *.zip 用 unzip 解压
-
-