ls 查看文件列表
常用选项
- -a 显示所有文件,包括隐藏目录
- -i 显示文件索引号
- -l 显示详细信息
- -d 查看目录的属性,而不是目录内的文件
- -h 人性化显示信息
$ ls -alh /ect
drwxr-xr-x 10 root root 4.0K Jul 28 09:47 .
dr-xr-xr-x. 19 root root 4.0K Jul 29 11:02 ..
drwxr-xr-x. 5 root root 4.0K Jun 24 10:35 backup
touch 新建文件
$ touch filename
cat,tac,more,less,head,tail 查看文件
几个查看文件的命令:
- cat 快速查看文件
- tac 快速查看文件(按行倒序)
- more 带向后翻页查看文件 空格翻页 回车换行 q退出
- less 可以向前向后翻页查看文件
- head 查看前10行信息
- tail 查看结尾10行信息
$ cat filename
$ tac filename
$ more filename
$ less filename
$ head -n 5 filename #查看前5行
$ tail -n 5 filename #查看后5行
$ tail -f filename #监控文件变化,一般用于监控日志文件
mkdir 创建一个新目录
常用选项
- -p 递归创建目录
$ mkdir -p ~/project/testdir
$ mkdir /tmp/test.conf
mkdir 删除一个空目录
$ mkdir /tmp/emptydir
cd 切换工作目录
$ cd /var
$ cd /tmp/testdir
pwd 显示当前工作目录
$ pwd
/home/userdir
cp 复制文件(目录)
常用选项
- -r 递归复制目录
- -p 复制时保持文件的属性
#将文件从/tmp目录复制到/home/user1下,保持文件的属性不变
$ cp -rp /tmp /home/user1
mv 移动文件(目录)
$ mv ~/a.txt ~/txt #将文件~/a.txt移动到~/txt下
$ mv ~/a.txt ~/b.txt #将文件a.txt改名为b.txt
rm 删除文件(目录)
常用选项
- -r 递归删除
- -f 不显示提示,强制删除
#删除a.txt
$ rm ~/a.txt
#删除tmp目录所有文件
$ rm -rf /tmp
#毁灭系统
$ rm -rf /
ln 生成链接文件
软连接类似windows的快捷方式,可以指向目录和文件,权限是lrwxrwxrwx
硬链接有相同索引,互为别名,指向同一个硬盘地址
ls -l 显示的第二列数字即硬链接数量,可以用 ls -i 查看文件的索引号
find / -inum 索引号 可以找到该文件所有硬链接
常用选项
- -s 生成软连接
# 软连接
$ ln -s /etc ~/link
$ls ~
lrwxrwxrwx 1 root root 4 Jul 29 16:37 link -> /etc
# 硬链接
$ ln /file ~/flink
find 文件查找
文件查找参数较多,以下只列出常用参数,其他的使用过程如果用到可以查
基本的语法:find 在哪个目录查找 参数 查找内容
常用参数
- -name 查找文件名
- -iname 不区分大小写查找文件名
- -size [n,+n,-n] 按文件大小查找 无单位n表示块大小,一个块为512字节;单位有M,G,k
- -user 按照所属用户查找
- -amin [n,+n,-n] 按访问时间查找,n表示分钟
- -cmin [n,+n,-n] 按文件属性修改时间查找,n表示分钟
- -mmin [n,+n,-n] 按文件内容修改时间查找,n表示分钟
- -a 表示条件并且关系(and)
- -o 表示条件或者关系 (or)
- -not 表示条件非关系 (not)
- -exec 对搜索结果执行操作 后面跟{} \ ;
- -ok 对搜索结果执行操作 后面跟{} \ ; 需要逐个确认
- -type [f,d,l] 按照文件类型 f-文件 d-目录 l-软连接
- -inum 查找文件索引
# 在根目录下查找名称包含init的文件
$ find / -name *init*
# 在/root目录下查找所有目录并删除
$ find /root/* -type d -ok rm -rf {} \;
# 查找属主为user1或者属主为user2的所有软连接
$ find / -user \( user1 -o -user user2 \) -a type l
# 查找大于100MB的文件
$ find / -size +100M
其他文件查找工具 locate
在文件数据库中查找文件,有一定的延时性,有些文件没有收录就不能查找到,但查找速度很快。
可以使用updatedb命令手动更新数据库文件。
# 如果没有装mlocate,就没有locate命令
$ yum install mlocate
$ updatedb
$ locate filename
命令查找 whereis
$ whereis passwd
grep 在文件中查找输出匹配行
grep 选项 指定字符串 文件
常用参数
- -i 不区分大小写
- -v 排除指定字符串
$ grep -i root /etc/passwd