目录
文件管理命令
touch 新建文件,修改文件的时间戳
mkdir 新建目录
rm 删除文件或目录
gedit 图形的文本编辑器
vim 文本编辑器
vim异常退出
cat 显示文件的全部内容
head 查看文件的前几行
tail 查看文件的后几行
less 分页查看文件内容
cp 复制文件
mv 移动文件
file 文件类型查看
wc 文件容量统计
Linux中的文件的寻址
Linux系统结构
绝对路径和相对路径
关于文件寻址的命令
pwd 显示当前的工作目录
cd 切换当前的工作目录
ls 显示文件信息
文件批量处理
字符表示方法
字符集合表示方法
文件管理命令
touch 新建文件,修改文件的时间戳
touch file #创建一个新文件file,并把文件时间同步到当前时间
touch file1 file2 #创建多个文件file1,file2
touch -t YYYYMMDDHHmm file #将文件创建时间更改到指定时间YYYYMMDDHHmm
mkdir 新建目录
mkdir dir #创建新的空目录dir
mkdir dir1 dir2 #创建多个新的空目录dir1,dir2
mkdir -p linux/study/unit1 #建立多层目录
rm 删除文件或目录
rm file file1 #删除指定文件并有删除提示
rm -f file #强制删除文件没有删除提示
rm -r dir1 dir2 #删除目录
rm -fr dir #删除目录
gedit 图形的文本编辑器
gedit #打开一个图形式文本编辑器
gedit file #创建一个名为file的文本文件并打开图形式文本编辑器
vim 文本编辑器
vim file #进入到vim的文件浏览模式
在vim的浏览模式中不能编辑文件内容,按 i 进入插入模式(即编辑模式);
在vim中鼠标不能控制光标,需要通过上下左右键来移动光标;
按Esc退出退出插入模式;
按:wq保存更改并退出文件位置;
按:q对文件不做任何操作直接退出
按:q!对文件修改内容后但不想保存可以强制退出
vim异常退出
当vim编写文件时,在未保存更改内容的情况下被强制关闭,vim出现异常
[0] 只读打开文件
(E) 继续编辑
(R) 恢复未保存内容编辑
(D) 删除.swp文件进入编辑
(Q) 退出当前文件编辑
(A) 退出vim程序
cat 显示文件的全部内容
cat file #显示文件file的内容
cat -b file #显示文件内容并显示行号,不显示空行的行号
cat -n file #显示文件内容并显示行号
head 查看文件的前几行
head file #默认显示文件前10行
head -n file #n表示数字,显示文件file的前n行内容
tail 查看文件的后几行
tail file #默认显示文件file的后10行内容
tail -n file #n表示数字,显示文件的后n行内容
less 分页查看文件内容
less file #进入less模式查看文件file的内容
cp 复制文件
复制的原理:
按照源文件建立新文件,相当于你抄别人作业(bushi)。你抄完别人作业,你自己有一份完整的作业,同时被抄作业的可怜虫自己的作业也还在。(想当年都是别人抄我作业doge)
cp file1 file2 #复制file1的内容到file2中,但不重写file2
cp file1 file2 dir #复制file1和file2到目录dir中
cp -r dir1 dir2 #复制目录dir1到目录dir2中
mv 移动文件
移动的原理:
相同设备分区中的文件移动是重命名过程;
不同分区的文件移动是建立删除的过程;
移动文件会重写文件内容,复制文件则不同
mv file1 file2 dir #移动file1和file2到目录dir中
mv dir dir1 #移动dir到dir1中
mv file 不存在的file #给file重命名为不存在的file的名称(好绕口)
file 文件类型查看
file file1 #查看file1的文件类型
wc 文件容量统计
wc -l file #统计文件file的行数
wc -m file #统计文件file的字符数
wc -w file #统计文件file的单词数
wc -c file #统计文件file的字节数
Linux中的文件的寻址
Linux系统结构
FHS(Filesystem Hierarchy Standard)是Linux系统的层级结构标准3,在Linux中一切都是文件。
/ 根是Linux的顶级目录,rm -fr /*命令千万不能在服务器上执行(跟DBA删库有异曲同工之妙啊,真是妙蛙种子)
系统的二级目录
/bin #系统常规命令
/sbin #系统管理命令
/dev #设备文件
/home #普通用户家目录集合,此目录中的子目录为普通用户家目录
/root #超级用户家目录
/lib64 #64位函数库
/lib #系统数据库
/proc #进程信息,系统识别的硬件信息
/run #当前运行的硬件和系统模块
/srv #系统数据(常量)
/var #系统数据(变化)
/tmp #系统临时文件存放目录
/mnt #临时设备挂载点
/media #cdrom临时挂载点
/etc #系统大多数程序的配置目录
/opt #第三方软件安装位置
/boot #系统启动分区,系统启动时读取的文件都在其中
/sys #关于内核设定目录
/usr #unix system resource 重要性仅次于 / ,多数系统资源都在该目录中
绝对路径和相对路径
绝对目录:
文件在系统中的真实位置,在任何场景下都可以使用。通常以 / 开头,不会考虑当前系统位置。
相对路径:
绝对路径名称的简写,省略了当前用户所处的系统位置,此名称只有在管理当前所在系统目录中子文件时才能使用,系统中不以 / 开头的文件名都为相对路径,在程序操作时会自动识别当前路径的信息并关联操作目标。
关于文件寻址的命令
pwd 显示当前的工作目录
cd 切换当前的工作目录
cd #切换当前工作目录
cd ~- = cd - #切换上一级目录
cd .. #切换当前目录的上级目录
ls 显示文件信息
ls #显示当前目录中文件的名称
ls file #显示指定文件名称
ls dir #显示目录中内容的名称
ls -d dir #显示目录本身的名称
ls -l file #显示文件属性
ls -l dir #显示目录中内容的属性
ls -ld dir #显示目录本身的属性
ls -a dir #显示目录中所有文件名称包括隐藏文件
ls -s #显示文件大小
ls -R dir #递归显示目录中的内容
文件批量处理
字符表示方法
* #匹配任意字符
? #匹配单个字符
[[:alpha:]] #匹配单个字母
[[:lower:]] #匹配单个小写字母
[[:upper:]] #匹配单个大写字母
[[:digit:]] #匹配单个数字
[[:alnum:]] #匹配单个数字或字母
[[:punct:]] #匹配单个符号
[[:space:]] #匹配单个空格
字符集合表示方法
[] #条件/关系是模糊匹配,对象和括号中的内容匹配就进行相应操作
#[1-10]指1-10 [!2-4][^a-z]除了括号中的内容
{} #点名机制,精准确定集合中的每一个元素
#{1..4}指1,2,3,4 {a..d}指a,b,c,d
~ #默认代表当前用户家目录
~username #指定的用户家目录
~+ = . #当前目录
~- #当前目录之前所在的目录
.. #当前目录的上级目录