文件的基本管理
Linux 只有一个/根目录
使用 tree 命令查看 linux 目录结构,如果没有这个命令,需要手工安装一下
[root@caicai ~]# yum install tree #安装 tree 命令
查看/tmp 目录结构
[root@caicai ~]# tree /tmp/ #查看tmp下的树结构
查看根下有哪些文件:
[root@caicai ~]# ls /
bin dev home lib64 mnt proc run srv tmp var
boot etc lib media opt root sbin sys usr
文件管理方式有多种:
改变目录: cd
创建/修改/移动/删除: touch mkdir mv vi rm cp
命令之:touch ; touch [tʌtʃ] 触摸;接触;
作用:常用来创建空文件,如果文件存在,则修改这个文件的时间
语法:touch 文件名
[root@caicai ~]# cd /opt/ # 进入到/opt/目录下
[root@caicai opt]# touch a.txt # 创建a.txt 的文件
[root@caicai opt]# touch file1 file2 # 创建file1 file2 的目录
[root@caicai opt]# touch file{6..20} #创建 file6 到 file20 的文件
[root@caicai opt]# ls
a.txt file10 file12 file14 file16 file18 file2 file6 file8 rh
file1 file11 file13 file15 file17 file19 file20 file7 file9
用 vim 命令创建一个新文件
[root@caicai mnt]# vim xuegod-1.txt
用重定向创建一新文件
[root@caicai mnt]#echo aaa > xuegod.txt
命令之:mkdir
作用:创建目录
语法:mkdir (选项) 文件夹名子
[root@caicai opt]# mkdir dir1 # 创建dir1 目录
[root@caicai opt]# mkdir dir2 dir3 /home/dir4 # 创建 多个 目录
[root@caicai opt]# ls /home/
dir4 user1
[root@caicai opt]# mkdir /tmp/a/b/c
mkdir: 无法创建目录"/tmp/a/b/c": 没有那个文件或目录
[root@caicai opt]# mkdir -p /tmp/a/b/c #在创建一个目录的时候,如果这个目录的上一级不存在的话,要加参数-p
[root@caicai opt]# tree /tmp/a/b/c
删除文件和目录
用到的命令:rm
作用:可以删除一个目录中的一个或多个文件或目录,对于链接文件,只是删除整个链接文件,而原文件保持不变的
语法:rm (选项) 处理对象
选项:
-f 强制删除,没有提示
-r 删除目录,递归删除,把目录下的文件和文件夹也删除
例子:
[root@caicai opt]# rm -rf a.txt
[root@caicai opt]# rm -rf a.txt dir
[root@caicai opt]# rm -rf file*
rm -rf (慎用,一定要在删除以前确定一下所在目录,防止误删除重要数据)
复制文件
命令:cp 源文件/目录 目标文件/目录
选项:-R/r:递归处理,将指定目录下的所有文件与子目录一并处理。复制目录时会使用 r 参数;
例子:
[root@caicai ~]# cp /etc/passwd /opt/ #复制文件
[root@caicai ~]# cp -r /boot/grub2 /opt/ #复制目录
[root@caicai ~]# cp -r /boot/grub2 /etc/passwd /opt #复制多个文件到目录
选项:\ :覆盖文件,不提示
例子:
[root@caicai ~]# \cp -r /boot/grub2 /etc/passwd /opt #\反斜杠,覆盖文件,不提示
选项:-p:复制文件会保留文件属性
例子:
[root@caicai ~]# touch c.txt
[root@caicai ~]# chmod a+w c.txt #添加写权限
[root@caicai ~]# ll c.txt #有写权限
[root@caicai ~]# cp c.txt /opt/ #复制到目录
互动:复制到目录后,这个文件会带上 w 写权限吗?
[root@caicai ~]# ll /opt/c.txt #检查,没有写权限
[root@caicai ~]# \cp -p c.txt /opt # -p 选项会保留文件属性
[root@caicai ~]# ll /opt/c.txt #检查,有写权限
[root@caicai opt]# mkdir dir1 dir2 dir3
[root@caicai opt]# \cp -rp/opt/!(dir1 | dir2) /root/ #除了 dir1 或 dir2 以外其他文件
都复制到 root 目录下
移动文件
[root@caicai ~]# cd /opt
[root@caicai opt]# mv passwd bbbpasswd #重命名
[root@caicai opt]# mv bbbpasswd /opt/passwd #在移动文件的时候支持改名操作
[root@caicai opt]# touch file1 file2 file3 file4
[root@caicai opt]# mv /opt/!(file1 | file2) /root/ #除了 file1 或 file2 以外其他文件都
移动到 root 目录下
查看文件
命令之:cat
语法:cat 文件名
作用:查看文件内容,一次显示整个文件的内容
例子: [root@caicai ~]# cat /etc/passwd
命令之:more
作用:以分页形式显示文件内容
语法:more + 文件名
说明: 按下回车刷新一行,按下空格刷新一屏,输入 q 键退出
例:
[root@caicai ~]# cat /proc/cpuinfo | more
[root@caicai ~]# ifconfig | more
[root@caicai ~]# more /proc/cpuinfo
命令之:less
作用:和 more 功能一样
语法:less +文件名
说明:linux 中 more 与 less 的区别
more:不支持后退,但几乎不需要加参数,空格键是向下翻页,Enter 键是向下翻一行,在不需要后
退的情况下比较方便
less:支持前后翻滚,既可以向上翻页(pageup 按键),也可以向下翻页(pagedown 按键)。,空
格键是向下翻页,Enter 键是向下翻一行
命令之:head
作用: 用于显示文件的开头的内容。在默认情况下,head 命令显示文件的头 10 行内容
语法:head(选项)文件名
参数: -n 显示从文件头开始的行数
[root@caicai opt]# head /etc/passwd
[root@caicai opt]# head -n 3 /etc/passwd #显示前 3 行
命令之:tail
作用: 用于显示文件中的尾部内容。默认在屏幕上显示指定文件的末尾 10 行
语法:tail (选项)文件名
参数:
-n 显示文件尾部多少行的内容(n 为数字) -f 动态显示数据(不关闭),常用来查看日志
[root@caicai ~]# tail -n 3 /var/log/secure #查看最后 3 行记录
[root@caicai ~]# tail -3 /var/log/secure #查看最后 3 行记录
[root@caicai ~]# tail -f /var/log/secure #在一个终端执行此命令动态查看文件内容
[root@caicai ~]# tailf /var/log/secure #在一个终端执行此命令动态查看文件内容
[root@caicai ~]# ssh root@192.168.1.63 #在另一个终端远程登录 Linux,登录成功后
[root@caicai ~]# tail -f /var/log/secure #可以动态查看到登录成功的日志