文件与目录篇

文件属性与权限

chgrp

名称 chgrp -- change group
语法 chgrp [-fhv] [-R [-H|-L|-P]] group file ...
描述 chgrp为每个file文件设置group用户组.
参数

  • -f force选项使得命令忽略执行过程中的 错误
  • -H 如果有-R参数, 则输出
  • -R 递归的对目录和目录下的文件进行同样的操作

  • -v 使得chgrp执行时打印执行信息

chown

名称 chown -- change file owner and group
语法
chown [-fhv] [-R [-H|-L|-P]] owner[:group] file ...
chown [-fhv] [-R [-H|-L|-P]] :group file ...
描述 chown为指定的文件修改其所有者的用户ID或者所有组的ID. 该命令中用户和组至少有一个.
参数

  • -f 不报告任何错误
  • -R 递归的改变目录和目录下的文件的所有者.

  • -v 使得chown执行时打印执行信息

chmod

名称 --change file modes or Access Control Lists
语法
chmod [-fv] [-R [-H|-L|-P]] mode file ...
描述 chmod为指定的文件修改其mode bit. 它也可以用于修改ACLs
参数

mode有2种方法,一种是绝对值.一种是 语义值.

目录操作

cd

cd是SHELL 脚本的内置命令.相当于SHELL语言的库函数吧.

cd ~reimu
# 表示回到reimu用户的主文件夹
cd ..
#回到父目录
cd ~
#回到当前用户的主文件夹
cd -
#回到上次的位置
cd /etc/init.d
#到一个绝对路径
cd lib/
#到一个相对路径

pwd

返回当前工作文件夹的路径
语法 pwd [-L|-P]

  • -L 显示当前工作文件夹的逻辑路径
  • -L 显示当前工作文件夹的物理路径,即符号链接则映射回原来真正的位置

rmdir

删除空目录
语法 rmdir [-p] directories
参数

  • -p 连同上层空目录也一起删除

mkdir

创建目录
语法 mkdir [-mp] directories
参数

  • -m 配置文件夹的权限,直接设置,不考虑系统umask
  • -p 递归的创建不存在的上层目录
mkdir -m 711 -p test1/test2/test3/test4

ls

列出目录下文件及其信息
语法 mkdir [-ABCFGHLOPRSTUW@abcdefghiklmnopqrstuwx1] [file ...]
参数

  • -a 全部文件,连同隐藏文件一起列出来
  • -A 全部文件,但是不包括. 和..
  • -f 不排序
  • -F 根据文件类型在文件名后面显示附加信息, *代表可执行文件,@代表符号链接, =代表socket, /代表目录, |代表管道
  • -h 将文件大小以人类易读的方式显示
  • -i 列出inode号码
  • -l 列出文件的属性权限等信息
  • -n 列出文件的UID和GID 而不是用户名和组名称
  • -r 反向排序
  • -R 递归的显示所有子目录的文件
  • -S 以文件大小排序
  • -t 以文件时间排序

cp

复制文件及文件夹

rm

删除文件及文件夹

mv

移动文件及文件夹

basename

语法 basename string [suffix]
取得文件的不包含路径的文件名

dirname

取得路径的目录名

文件内容查阅

cat

连接并打印文件
语法 cat [-AbEnTv] [file ...]
参数

  • -e -E 打印不可打印的字符
  • -n 打印行号

nl

打印行号和内容 line numbering filter

more

less

翻页查看工具

head

取出文件的前面几行

tail

取出后面几行

od

binary file dump

grep

touch

修改文件时间或创建新文件

umask

显示或设置用户的umask

chattr

lsattr

file

查看文件类型

file ~/.bashrc

文件的搜索和查询

which

查找可执行的命令的位置
语法 which [-a] command
参数 将所有由Path目录中找到的命令均列出,而不是第一个被找到的命令。

whereis

从文件索引数据库中查找文件
语法 whereis [-bmsu] 文件或目录名
参数

  • -b 只找二进制格式文件
  • -m 只在说明文档manual路径下找
  • -s 只找source源文件
  • -u 查找不在上述三个选项中的其他特殊文件

locate

从数据库中查找文件
语法 locate [-ir] pattern
参数

  • -i 忽略大小写
  • -r 后面pattern为正则表达式

find

递归的搜索文件
语法