今日内容
文件处理基础
linux系统的目录结构
windows系统 linux系统
文件夹--------> 目录
根目录:*目录
windows系统:多根结构
C:\a\b\c\d.txt
D:\xxx\yyy\zzz\1.txt
linux系统:单根结构
/a/b/c/d.txt # 第一个/代表根目录,后面的/代表路径分隔符
绝对路径与相对路径
从根开始写的路径就是绝对路径,否则就是相对路径。
绝对路径格式:/a/b/c/1.txt # 开头必须写/目录
优点:绝对路径无论当前在哪个文件夹,都能找到对应的文件。
相对路径格式:a/b/c.txt # 开头不能带/目录
# 相对路径必须在对应的目录里才能找到对应的文件。
优点:简单方便快捷。
系统目录介绍
bin(usr/bin):普通用户可执行的命令
sbin(usr/sbin):超级管理员可执行的命令
boot:操作系统内核文件
usr:系统文件(相当于C:Windows)
lib:系统文件
lib64:系统文件
root:root用户的家目录
home/用户名:此用户的家目录
etc:配置文件
/etc/sysconfig/network-scripts/ifcfg-* # 网络配置文件
/etc/hostname # 主机名,修改主机名为www:hostnamectl set-hostname www
/etc/resolv.conf # dns客户端配置文件
/etc/hosts # 本地域名解析配置文件
/etc/fstab # 系统挂载目录,开机自启动挂载列表
/etc/passwd # 系统所有用户除了密码以外的文件
tmp:系统临时目录(类似于公共厕所),系统会定时删除该目录下长时间没有访问的文件。
var:存放一些变化文件,如下
mysql: /var/lib/mysql
vsftpd: /var/ftp
mail: /var/spool/mail
cron: /var/spool/cron
log: /var/log 系统日志文件存放目录
/var/log/messages系统日志
/var/log/secure系统登录日志
/var/tmp 临时文件(主要是程序产生的临时文件)
文件管理基本命令
查看当前所在目录:pwd
pwd # 查看当前所在目录
切换文件夹:cd
cd 文件夹 # 切换文件夹,可以是绝对目录也可以是相对目录
cd ~ # 切到当前用户的家目录,只输入cd与其作用一致
cd - # 切到上一次的文件夹
cd . # 切到当前目录
cd .. # 切到上一级目录
显示文件夹下所有目录:tree
tree 文件夹 # 用树型方式显示此文件夹下的所有目录
tree -a # 显示所有文件,包括隐藏文件
tree -d # 只显示子目录
tree -L 1 # 只显示一层子级目录
tree -F # 在执行文件,目录,Socket,符号连接,管道名称名称,各自加上"*","/","=","@","|"号。
.文件 # 隐藏文件
详细显示文件夹内的文件信息:ls
ls -l /a/ # 以列表形式显示a文件夹内子文件名的详细信息
ls -l /a/b/1.txt
[-rw-r--r--.] 1 root root 0 6月 23 10:36 /a/b/1.txt
第1个字符
格式 说明
- 普通文件(文本,二进制,压缩包,图片,日志等)
d 目录文件
l 链接文件
2-4字符:属主对其的权限
5-7字符:属组对其的权限
8-10字符:其他人对其的权限
r:读 w:写 x:执行
10个字符后是否加.号:是否是在selinux模式下创建
1:硬链接个数
root:属主
root:属组
0:文件大小,单位字节
6月 23 10:36:文件修改时间
/a/b/1.txt:文件绝对路径
ls -dl /a # 查看a文件夹的详细信息
创建文件:touch
touch 1.txt # 在当前文件夹内创建1.txt文件,相对路径
touch /home/egon/aaa.txt # 在egon文件夹内创建aaa.txt,绝对路径
touch /home/egon/{1..9}.txt # 在egon文件夹内创建名字为1到9的9个文本文件
touch /home/egon/{1..9}{a..c}.txt # 在egon文件夹内创建名字为1a到9a,1b到9b,1c到9c的文本文件
创建文件夹:mkdir
mkdir /aaa # 在根文件夹内创建aaa文件夹mkdir -p /aaa/bbb/ccc # 用递归的方法依次创建aaa,bbb,cccmkdir /aaa/{x,y} # 在aaa文件夹内创建x文件夹和y文件夹mkdir /mmm /nnn # 在根文件夹内创建mmm和nnn文件夹
复制文件:cp
cp /etc/passwd /home/ # 将etc文件夹内的passwd拷贝到home文件夹内cp -r /etc/ /home/ # -r代表递归着拷贝,将etc文件夹内的子文件夹的子文件夹等等全部拷贝到home文件夹内# 复制粘贴touch /a/1.txttouch /b/1.txtcp /a/1.txt /b/ # 如果遇到同名文件,提示,选择y后直接覆盖,源文件依旧存在
移动文件:mv
# 剪切touch /a/1.txttouch /b/1.txtmv /a/1.txt /b/ # 如果遇到同名文件,提示,选择y后直接将a文件夹内的1.txt移动到b文件夹,将之前的1.txt覆盖掉,源文件存在于b文件夹mv /xxx/yyy/ /test/ # 将xxx文件夹内的yyy文件夹移动到test文件夹内mv /xxx/yyy/* /test/ # 将xxx文件夹内的yyy文件夹内所有的子文件全部移动到test内
删除文件:rm
rm -f /xxx/ # -f表示强制执行,强制删除/xxx文件夹rm -f /xxx/yyy/ # 将文件夹yyy删除rm -f /xxx/yyy/* # 将文件夹yyy内所有子文件删除'''rm命令尽量少用,可以用mv代替'''mv /xxx/1.txt /tmp/ # 将1.txt文件移到回收站内
查看文件内容
cat
cat -n # 在显示内容前面标记行数cat -A # 每一行末尾加上$,意思是提醒你有个换行符
less
可以用上下键进行翻页,按q退出
more
在文件比较大的情况下使用,用空格翻页
head
默认查看前十行head -3 # 查看文件的前三行
tail
默认查看后十行tail -3 # 查看文件的后三行tail -f # 动态监测文件新追加的内容echo 111 >> /root/1.txt # >>表示追加,将输出的111追加到1.txt文件内
grep
grep "root" /etc/passwd # 在passwd文件中挑出带有root的整行pa aux | grep bash # 在当前进程中找到包含bash的程序
文本编辑器:vim
vim的操作模式
1.命令模式按a,i,o进入编辑模式按a,写的内容在光标后面按i,写的内容在光标前按o,光标移到下一行按O,光标移到上一行2.编辑模式按esc进入命令模式3.末行模式按esc进入命令模式按冒号开始输入命令
vim编辑器的快捷键
1.命令模式中:$ # 跳到本行末尾0 # 跳到本行开头yy # 复制本行内容2yy # 复制本行以及往下共两行内容p # 粘贴内容插入到光标的下一行P # 粘贴内容插入到光标的上一行u # 撤销本次操作ctrl+r # 取消撤销本次操作dd # 剪切本行内容2dd # 剪切本行以及往下共两行内容G # 光标移到这个文件的最后一行的第一个字符3G # 光标移动到这个文件第三行的第一个字符gg # 光标移到这个文件的第一行的第一个字符H # 光标移到屏幕最上方那一行的第一个字符M # 光标移到屏幕*那一行的第一个字符L # 光标移到屏幕最下方那一行的第一个字符hjkl # 依次分别可以让光标往左、下、上、右移动2.末行模式中::3 # 进入这个文件的第三行:w # 保存:q # 退出 :wq # 保存并退出 :w! # 强制保存 :q! # 不保存并退出 :wq! # 强制保存退出:x # 保存并退出