Linux下的文件管理
文件管理命令
-
Touch —新建文件,修改时间戳
touch A B C …… ##建立空文件A、B、C
touch file ##建立文件file且把文件的时间同步到当前时间
touch -t YYYYMMDDHHmm file ##把文件A的时间更改到指定时间
-
mkdir—建立目录
mkdir A B …… ##建立空目录A、B
mkdir -p A/b/c ##建立多层目录。如:目录A下的目录b和目录b下的目录c
-
rm—删除文件或目录
rm file1 file2 …… ##删除文件file1 、file2,但是会有提示是否删除 rm -f file1 file2 …… ##强行删除文件file1 、file2 ,不会有提示 rm -r A B …… ##删除目录A、B,会有提示是否删除 rm -rf A B …… ##删除目录A、B,不会有提示
-
gedit—图形的文件编辑器
gedit file1 file2…… ##编辑file file2…… ##gedit 在使用时必须有图形 ##file1 file2…… 这个文件可以不存在
-
vim—文本编辑器
vim file ##进入vim的浏览模式 ##浏览模式不能编辑文件,在浏览模式中输入<i>进入插入模式 ##在vim中鼠标不能控制光标,需要用上下左右移动光标,按<Esc>退出插入模式。 ##按:wq保存更改 vim异常退出 ##当vim编写文件时在未保存的情况下被强制关闭,vim出现异常 [0] #只读打开文件 [E] #继续编辑 [R] #恢复未保存内容编辑 [D] #删除.swp文件进入编辑 [Q] #退出当前文件编辑 [A] #退出vim程序
vim同时打开多个文件
vim -o file1 file2 ##上下打开两个不同的文件
##用<ctrl>+<w> 上|下 来转换控制两个窗口
vim -p file1 file2 ##左右打开两个不同的文件
##用:Tab n 进入上一个窗口
##用:Tab N 进入下一个窗口
-
cat—显示文件全部内容
cat file ##显示文件file的全部内容 cat -b file ##显示文件file的全部内容并且显示行号,但是不显示空行的行号 cat -n file ##显示文件file的全部内容并且显示行号,也显示空行的行号
-
history > westos ##将history的执行结果存放到westos中
-
head—查看文件内容的前多少行
head file ##默认显示文件内容前10行 head -n file ##显示文件内容前n行,n代表数字
-
tail—查看文件的后多少行
tail file ##默认显示文件内容后10行 tail -n file ##显示文件内容后n行,n代表数字
-
less—分页浏览
less file ##进入到less模式查看file ##less模式中 #<上><下> 逐页查看文件内容 #<pgup><pgdn> 逐行查看文件内容 #/关键字 搜索关键字,n向上匹配,N向下匹配 #<v> 由less模式进入到vim模式编辑完成,按:wq退出返回到less #在less中按<q>退出
-
cp—复制文件
cp file file1 ##将文件file复制出一个新的文件file1 cp file file1 dir ##将文件file file1复制到目录dir中 cp -r dir1 dir2 ##将目录dir1复制到dir2目录中
-
mv—移动文件
mv file file1 dir ##将文件file file1移动到目录dir中 mn dir1 dir2 dir ##将目录dir1和dir2移动到目录dir中 mn dir1 dir ##如果dir这个目录不存在,这条命令的作用就是将dir1重命名为dir mv移动的原理:相同设备分区中的文件移动是重命名的过程,不同分区的文件移动是建立删除的过程
-
file—文件类型的查看
file westos ##查看westos的真实类型
-
wc—文件容量统计
wc -l westos ##统计westos文件的行数 wc -m westos ##统计westos文件的字符数 wc -w westos ##统计westos文件的单词数 wc -c westos ##统计westos文件的字节数
Linux中文件的寻址
-
Linux系统结构
1、FHS (Filesystem Hierarchy Standard)是Linux结构层级标准,FHS实际上仅是规范在根目录“/ ”下面各个主要目录应该放什么样的文件。
FHS定义了两层规范,第一层是“ / ” 下面的各个目录应该要放什么文件数据,例如 /etc应该要放置设置文件,/bin与 /sbin则应该要放置可执行文件等等;第二层则是针对 /usr及 /var这两个目录的子目录来定义,例如 /var/log放置系统登录文件、/usr/share放置共享数据等等。
由于FHS仅是定义出最上层(/)及子层(/usr, /var)的目录内容应该要放置的文件数据,因此,在其他子目录层级内,就可以随开发人员自行配置了。
## Linux中“/ ”是顶级目录。rm -rf /* 此命令一定不能在服务器上进行
2、Linux系统的二级目录/bin ##系统常规命令 /sbin ##系统管理命令 /dev ##设备文件 /home ##普通用户家目录集合,此目录中的子目录为普通用户 /root ##超级用户家目录 /lib64 ##64位函数库 /lib ##系统函数库 /proc ##进程信息,系统识别的硬件信息 /run ##当前运行的硬件和系统模块 /srv ##系统数据(常量) /var ##系统数据(变化) /tmp ##系统临时文件存放目录 /mnt ##临时设备挂载点 /media ##cdrom临时挂载点 /etc/ ##系统大多数程序的配置目录 /opt ##第三方软件安装位置 /boot ##系统启动分区,系统启动时读取的文件都在此目录中 /sys ##关于内核设定目录 /usr ## unix system resource 重要程度仅次于“ / ”,多数系统资源都在此目录中
3、相对路径与绝对路径
绝对路径:文件在系统中的真实位置,在任何场景下都可以使用,通称以“ / ”开头,不会考虑当前系统位置
相对路径:相对路径是绝对路径的简写,省略了用户当前所在的系统位置,此名称只有在管理当前所在系统目录中子文件时才能使用,系统不以“ / ”开头的文件名称都为相对路径在程序操作时会自动识别当前路径的信息并关联操作目标。
关于文件寻址的命令
-
pwd —显示当前的工作目录
-
cd—切换当前的工作目录
cd . ##切换到当前目录 cd .. ##切换到当前目录的上级目录 cd ~ ##切换到当前用户的家目录 cd ~username ## 直接切换到指定用户的家目录 cd ~+ ##切换到当前目录 cd ~- ##切换到当前目录之前所在的目录 cd ##切换到指定目录 cd - ##当前目录与当前目录之前的目录相互切换
-
ls—显示文件信息
ls ##显示当前目录中文件的名称 ls file ##显示指定文件file的名称 ls dir ##显示指定目录dir中第一层内容的名称 ls -R dir ##第归显示dir目录中的内容名称 ls -d dir ##显示目录本身的名称 ls -l file ##显示文件的属性 ls -l dir ##显示dir目录中第一层内容的属性 ls -lR dir ##第归显示dir目录中内容的属性 ls -ld dir ##显示目录本身的属性 ls -a dir ##显示目录中所有文件名称包括隐藏文件 ls -s file ##显示file文件的大小
-
文件的批量处理
* ##匹配0~任意字符 ? ##匹配单个字符 [[:alpha:]] ##匹配单个字母 [[:lower:]] ##匹配单个小写字母 [[:upper:]] ##匹配单个大写字母 [[:digit:]] ##匹配单个数字 [[:alnum:]] ##匹配单个数字或字母 [[:punct:]] ##匹配单个符号 [[:space:]] ##匹配单个空格
-
字符集合表示方法
[ ] ##条件或者关系是模糊匹配,对象和其中几个匹配就可操作,不用和每一个都匹配 ##[1-10] 1到10 ##[! d-f ] | [^d-f ] 除了d-f以外 { } ##点明机制,精确指定集合中的每一个元素 ##{1..10} 1-10 ##{a..c} a-c