1.基本的文件管理(以下操作均在虚拟机中进行)
1.1 建立文件:touch file 建立目录:mkdir test
touch /mnt/file ##用绝对路径的方式在/mnt/中建立file文件
rm -fr /mnt/file ##用绝对路径的方式删除/mnt/中的file文件
mv hello /mnt ##把当前的hello文件移动到/mnt目录中
mv /mnt/hello . ##用绝对路径的表示方式把/mnt中的hello文件移动到当前位置
举例:在桌面建立文件westos和目录linux:
用绝对路径复制文件:cp /etc/passwd /mnt/usermessage
文件的删除指令举例: 删除/mnt目录中的所有文件 rm -f /mnt/* rm为remove的缩写表示删除
tips:-f 在此处的作用为强制删除,即在删除文件时不再进行操作的确认。不使用-f指令时,删除文件将会弹 出是否确认该操作的指令,此时输入y后回车即表示同意此项操作。当然批量删除文件时单一的y指令显 然太过麻烦,而使用-f指令强制操作就会简单许多。
/*表示删除该目录下的全部文件,但当该目录下还有目录时,目录并不会被删除,这时就需要递归操作- r,举例说明比如要删除mnt目录中所有文件和目录,即执行操作rm -fr /mnt/*
文件的重命名指令mv:mv指令除了可以移动文件,也可以进行文件的重命名。如将桌面上的linux目录重命名为test则 执行指令:mv linux test。其中linux 为原文件名称,test为更改后的文件名称。
1.2 切换工作目录:
行提示符 [[email protected] Desktop]$的含义:
kiosk #表示shell的运行人是谁
foundation0 #shell开启主机的主机名称
Desktop #你当前所在文件夹的名字
$ #你的用户身份是什么级别,$表示普通用户,#超级用户
此处的切换工作目录,当前所在文件夹的切换,即对Desktop部分进行切换
切换指令:cd .. #进入当前目录的上层目录
cd- #进入当前目录之前所在目录
1.3 文件的显示指令ls:
ls -a 文件名 #显示文件名目录里所有文件包括以点开头的隐藏文件
ls -R 文件名 #递归显示目录中的所有内容
2 如何在系统中获取帮助
当我们不知道一个指令的用法和作用时,可以通过系统帮助的方式来获得相关内容,获取文件帮助的指令有三种方式:
1.当得到一个命令而我们不知道这个命令的作用时,使用 whatis 命令 的操作:
比如要查看date指令的作用时可以执行: whatis date
2.当知道命令的用途,但是不知道命令的运行格式或者方法时,使用--help操作:
比如要知道cal 的使用方法时可以执行:cal --help
3.man 命令 查看命令的帮助手册,可以获得指令帮助,配置文件帮助等信息:
比如man date #查看date命令的帮助手册
3.指定文件名的操作以及文件查看
3.1.当我们需要建立,查找等针对指定名称格式的文件时,需要用到通配符的操作
* ###匹配0到任意字符
? ###匹配单个字符
[[:alpha:]] ###匹配单个字母
[[:lower:]] ###匹配单个小写字母
[[:upper:]] ###匹配单个大写字母
[[:digit:]] ###匹配单个数字
[[:alnum:]] ###匹配单个数字或字母
[[:punct:]] ###匹配单个符号
[[:space:]] ###匹配单个空格
比如要备份/etc目录中的所有名字带有数字并且以.conf结尾的文件到桌面上的confdir目录中,在桌面建立confdir目 录后执行操作: cp /etc/*[[:digit:]].conf confdir
可以看到符合格式的文件都被复制到了confdir目录中
tips:*在此处的作用是代替文件名中除过数字意外的其他字符,操作指定格式文件时只需要将指定文件的字符 用通配符替代,其他字符用*代替。操作指定字符数的文件名如4个字符的文件名时,可以用?代替 字符,比如删除文件名包含4个字符的文件执行操作: rm -f ????
3.2 批量建立指定文件名格式的文件:
比如用一条命令建立 12 个文件WESTOS_classX_linuxY(X 的数值范围为 1-2 , Y 的数值范围为1-6:
执行操作:touch WESTOS_class{1..2}linux{1..8}
可以看到桌面上建立了WESTOS_classXlinuxY格式的12个文件。指令中{1..2}是指建立的文件名数字后缀从1开始一 直到2的文件,{1..6}也是这样的用法。类似的操作还有:
{1,3,5} ###135
{a,c,e} ###a c e
{1..3}{a..c} ###1a 2a 3a 2a 2b 2c 3a3b 3c
[a-C] ###aA bB cC
[a-c] ###aA或者bB或者c
[1-3] ###1或者2或者3
[145] ###1或者4或者5
3.3文件的查看(以对passwd文件的操作为例)
3.3.1
head ##显示指定文件的前多少行
head -n 1 passwd ##显示文件的第一行
head -n 7 passwd ##显示文件的前7行
head passwd ##默认显示文件的前10行
显示passwd文件的前10行
tail ##显示文件的后多少行
tail -n 1 passwd ##显示文件的最后以行
tail -n 5 passwd ##显示文件的最后5行
tail passwd ##显示文件的最后10行
对打开的文件进行相关的操作指令:
插入:用vim指令打开文件后,在英文输入法下按i键即可进入插入界面,插入结束后按esc退出对文件的插入,输 入:wq即可对文件进行保存退出。类似于wq的退出操作还有:
:q #当vim进入文件没有对文件内容做任何操作可以按"q"退出
:q! #当vim进入文件对文件内容有操作但不想保存退出
:wq #正常保存退出
:wq! #强行保存退出,只针对与root用户或文件所有人生效
3.3.3 当我们查看文件时,显示行数即下划线会使我们更容易进行查看,相关操作为:
用vim操作打开etc目录下的vimrc文件,按i键进入插入模式,将光标移动到文档的最后一行,输入set nu (表 示显示行数),换行输入set cursorlin(表示显示光标所在行的下划线),两行指令均输入正确无误后会发现 指令颜色发生变化表示指令输入正确。wq保存退出后,下次vim打开文件便会显示行数和下划线。
3.3.4 vim的异常退出处理:
当vim异常退出时,就是没有使用wq指令退出而是直接点右上角叉号退出vim界面时
当第二次使用vim打开文件时就会出错:
当异常退出时,系统会自动为文件建立一个。swp文件,第二次打开就会出现以上界面。这时只要根据最后面的几 行提示进行操作,比如按r回车就可以恢复原文件了。
3.3.5 可视化下批量添加字符:
1.把光标停留在想要加入字符所在的列的第一行
2.移动光标选择添加字符所在列
3."I"进入插入模式
4.写入要插入的字符
5.按"ESC"退出插入模式,字符批量添加成功
举例:在pssswd文件的部分行前面添加#######
tips:此处选中行数时使用键盘上的上下左右键比较方便
3,3,6 字符的替换(使用vim打开文件,输入:之后的操作)
%s/原有字符/新字符/g #全文替换
1,5s/原有字符/新字符/g #替换1到5行的字符
g #替换出现的所有关键字,如果不加"g"只替换没行出现的第一个
上图为将passwd文件中的bin字符替换成#########
3.3.7 字符的查找
vim打开文件输入:后,进行/字符的操作,比如查找bin字符操作为:/bin回车,查找出来的字符会高亮显示
3.3.8 文件的双重显示同时查看两个文件:vim打开文件后,输入:/sp 文件名,比如同时打开passwd和vimrc文件:
打开后可按ctrl+w进行两个文件之间的切换
3.3.9 文件字符的统计
wc ##统计文件的字数,字符数,字节数
wc -l ##行数
wc -m ##字符数
wc -c ##字节数
wc -w ##字数
4 文件输入输出的管理
4.1. 显示当前时间 , 显示格式为 hh:mm:ss:date +%H:%M:&S
显示 /etc/passwd 文件的第 15-18 行内容:sed -n "15,18p" /etc/passwd
4.2 管理输出(study用户下操作):
find /etc/ -name passwd > file.out 重定向正确输出到file.out
find /etc/ -name passwd 2> file.err 重定向错误输出到file.err
find /etc/ -name passwd &> file.all 重定向所有输出到file.all
find /etc/ -name passwd > file 2>&1 把输出编号由2转向1