1、文件管理命令
touch 新建文件,修改文件时间戳
touch file1 file2…… | 建立空文件 |
touch file | 把文件时间同步到当前时间 |
touch -t YYYYMMDDHHmm file | 把文件时间更改到指定时间 |
mkdir (make directory)
mkdir dir1 dir2…… | 建立空目录 |
mkdir -p test/redhat/linux | 建 |
rm 删除文件或者目录
rm file file1…… | 删除文件有提示 |
rm -f file | 强制删除文件不提示 |
rm -r dir dir1…… | 删除目录 |
rm -rf dir | 强制删除目录不提示 |
gedit 图形的文本编辑器
gedit file1 file2…… | 编辑file1 file2 |
gedit在使用时必须有图形 | |
file file1可以不存在 |
vim 文本编辑器
vim file | 进入到vim的浏览模式 |
浏览模式不能编辑文件 | |
在浏览模式中按<i>进入插入模式 | |
在vim中鼠标不能控制光标用上下左右移动光标 | |
按<ESC>退出插入模式 | |
按:wq保存更改 | |
:q 当vim打开文件后未作任何操作可以直接推出 | |
:q! 当vim打开文件后修改文件内容但不想保存可以强制退出 |
vim异常退出
当vim编写文件时在未保存更改内容被强制关闭 | |
vim出现异常 | |
[O] | 只读打开文件 |
[E] | 继续编辑 |
[R] | 恢复未保存内容编辑 |
[D] | 删除.swp文件进入编辑 |
[Q] | 退出当前文件编辑 |
[A] | 退出vim程序 |
vim同时打开多个文件
vim -o westos1 westos2 | 上下模式打开两个文件 |
<ctrl>+<w> <上丨下>来转换控制窗口 | |
vim -p westos1 westos2 | 左右打开两个不同文件 |
tabn 进入到下一个窗口 | |
tabp 进入到上一个窗口 |
cat 显示文件的全部内容
cat -b file | 显示文件内容并显示行号,不显示空行的行号 |
cat -n file | 显示文件内容并显示行号 |
head 查看文件前多少行
head westos | 默认显示文件前10行 |
head -n westos | n 代表数字 显示文件的前n行 |
tail 查看文件后多少行
tail westos | 默认显示文件后10行 |
tail -n westos | n 代表数字 显示文件的后n行 |
less 分页浏览
less westos | 进入到less模式查看westos |
<上><下> | less模式中逐行查看文件内容 |
<pgup><pgdn> | 逐页查看文件内容 |
/关键词 | 搜索关键词 n向下匹配 N向上匹配 |
<v> | 有less模式进入vim 编辑完成:wq退出返回less |
<q> | 退出 |
cp 复制文件
cp 文件 目的地文件
cp 文件1 文件2 目的地文件
cp -r 目录1 目录2
复制原理:按照源文件建立新文件(抄作业)
mv 移动文件
mv file file1 dir
mv dir dir1 dir
mv file 不存在file 重命名
移动原理:相同设备分区中的文件移动是重命名过程,不同分区的文件移动是建立删除过程
ls -i file 查看文件节点号(相当于文件身份证号)
file 文件类型的查看
file westos 查看westos的真实类型
wc 文件容量统计
wc -l | 行数 |
wc -m | 字符数 |
wc -w | 单词数 |
wc -c | 字节数 |
2、Linux中文件的寻址
Linux系统结构
FHS:Filesystem Hierachy Standard Linux层级机构标准
Linux中的一切都是文件
Linux顶级目录 rm -fr /* 此命令千万不要在服务器上运行
系统二级目录
/bin | 系统常规命令 |
/sbin | 系统管理命令 |
/dev | 设备文件 |
/home | 普通用户家目录集合,此目录的子目录为普通用户家目录 |
/root | 超级用户家目录 |
/lib64 | 64位函数库 |
/lib | 系统函数库 |
/proc | 进程信息,系统识别的硬件信息 |
/run | 当前运行的硬件和系统模块 |
/srv | 系统数据(常量) |
/var | 系统数据(变量) |
/tmp | 系统临时文件存放目录 |
/mnt | 临时设备挂载点 |
/media | cdrom临时挂载点 |
/etc | 系统大多数程序的配置目录 |
/opt | 第三方软件安装位置 |
/boot | 系统启动分区,系统启动时读取的文件都在此目录 |
/sys | 关于内核设定目录 |
/usr | unix system resource 仅次于/ 重要 多数系统资源都在此目录 |
相对路经
- 绝对路径名称的简写,省略了用户当前所在的系统位置
- 此名称只有在管理当前所在系统目录中子文件时才能使用
- 系统中不以/开头的文件名称都为相对路径在程序操作时会自动识别当前路径的信息并关联操作目标
绝对路径
- 文件在系统中的真实位置,在任何场景下都可以使用
- 通常以/开头,不会考虑当前系统位置
test:
1.在westosa主机中用超级用户登陆系统
2.在桌面上打开shell并执行以下操作
*建立文件westos1 westos2 westos3 确保这些文件在/mnt目录中
*在桌面上建立文件westos4
*复制上述所有文件到/tmp目录中的westos子目录里
关于文件寻址的命令
pwd | 显示当前的工作目录 |
cd | 切换当前的工作目录 |
"cd ~-" = "cd -" CDIR <--> ODIR | |
".." 当前目录的上级目录 | |
ls | 显示文件信息 |
ls | 显示当前目录中文件的名称 |
ls file | 显示指定文件名称 |
ls dir | 显示指定目录中内容的名称 |
ls -d dir | 显示目录本身的名称 |
ls -l dir | 显示目录中内容的属性 |
ls -ld dir | 显示目录本身属性 |
ls -a dir | 显示目录中所有文件名称包括隐藏文件 |
ls -s | 显示文件大小 |
ls -R dir | 第归显示目录中的内容 |
文件批量处理
* | 匹配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 | |
~ | 默认代表当前用户家目录 |
~username | 指定的用户家目录 |
"~+"="." | 当前目录 |
~- | 当前目录之前所在目录 |
.. | 当前目录的上级目录 |
test
1.用命令和正则表达式按照要求建立文件
*)用一条命令建立12个文件WESTOS_classX_linuxY(X的数值范围为1-2,Y的数值范围为1-6)
*)这些文件都包含在root用户桌面的study目录中
*)用一条命令建立8个文件redhat_versionX(x的范围为1-8)
*)redhat_virsionX这些文件都包含在/mnt目录中的VERSION中
2.管理刚才信建立的文件要求如下
*)用一条命令把redhat_versionX中的带有奇数的文件复制到桌面的SINGLE中
*)用一条命令把redhat_versionX中的带偶数数的文件复制到/DOUBLE中
*)用一条命令把WESTOS_classX_linuxY中class1的文件一动到当前用户桌面的CLASS1中
*)用一条命令把WESTOS_classX_linuxY中class2的文件一动到当前用户桌面的CLASS2中