文件管理
● cp 复制文件
cp /路径(原文件) /路径(复制文件)/文件重命名(可选)
-i:覆盖前询问
-r:递归复制目录及内部内容
-a:归档,相当于-dr --preserv=all
-d:只复制链接,不复制原文件
-v:查看复制过程
-f:强制覆盖(复制文件并重新命名时,若文件名存在,将原文件删除再建)
-u:只复制源比目标文件更新或目标不存在的文件
-b:如目标存在,覆盖前先备份,形式为filename~
--backup=numbered:目标如存在,覆盖前先备份加数字后缀
--preserv
=mode:权限
=ownership:所有者所属组
=timestamp:时间
-p:等同于--preserv=mode,ownership,timestamp
● 文件类型
-:普通
b:块文件
s:套接文件
l:软连接文件
d:文件夹,目录
c:字符文件
p:管道文件
~bash.rc:别名存放目录
alias cp ='cp -i' 定义别名
\cp:使用原始cp命令,不使用别名
● mv (move)移动/重命名文件
-i:交互式
-f:强制
-b:若目标存在,覆盖前先备份
● rm 删除
rm [ OPTION ]... FILE...
-i:交互式,删除时询问
-f:强制删除,不提示
-r:递归删除,从父目录开始
目录操作
● tree 显示目录结构
-d:只显示文件夹
-L:制定显示的层级数(tree -d /路径 -L 层级数)
-P:建立多级目录,如上级目录不存在,则自动建立。
● mkdir 建目录
-p:存在于不报错,且可自动创建所需的各目录
-v:显示详细信息
-m:创建目录时直接指定权限
● rmdir 删除空目录
-p:递归删除父空目录,从下级向上级删除
-v:显示详细信息
索引节点
● 节点编号
ls -il:查看文件节点编号
\df -i:查看节点编号使用率
硬链接、软连接
● 硬链接:
ln filename [ linkname ]
● 软连接
ln -s filename [ linkname ]
确定文件内容
● file [ OPTIONS ]<filename>
-b 列出文件辨识结果时,不显示文件名称
-f filelist 列出文件filelist中文件名的文件类型
-F 使用指定分隔符号替换输出文件名后默认的”:”分隔符
-L 查看对应软链接对应文件的文件类型
vim 文本编辑器
vim [ OPTION ]... FILE...
+# 打开文件后,让光标处于第#行的行首,+默认行尾
+/PATTERN 让光标处于第一个被PATTERN匹配到的行的行首
–b file 二进制方式打开文件
–d file1 file2… 比较多个文件
-m file 只读打开文件
● 三种主要模式:
●命令(Normal)模式:默认模式,移动光标,剪切/粘贴文本
●插入(Insert)或编辑模式:修改文本
●扩展命令(extended command )模式:保存,退出等
常见命令:
w 写(存)磁盘文件
wq 写入并退出
x 写入并退出
q 退出
q! 不存盘退出,即使更改都将丢失
r filename 读文件内容到当前文件中
w filename 将当前文件内容写入另一个文件
!command 执行命令
r!command 读入命令的输出
● 模式转化
命令模式 --> 插入模式
i insert, 在光标所在处输入
I 在当前光标所在行的行首输入
a append, 在光标所在处后面输入
A 在当前光标所在行的行尾输入
o 在当前光标所在行的下方打开一个新行
O 在当前光标所在行的上方打开一个新行
● 关闭文件
>扩展命令模式:
:q 退出
:q! 强制退出,丢弃做出的修改
:wq 保存退出
:x 保存退出
>命令模式:
ZZ 保存退出
ZQ 不保存退出
● 字符间跳转:
h: 左 l: 右 j: 下 k: 上
COMMAND:跳转由#指定的个数的字符
● 单词间跳转:
w:下一个单词的词首
e:当前或下一单词的词尾
b:当前或前一个单词的词首
COMMAND:由#指定一次跳转的单词数
● 当前页跳转:
H:页首 M:页中间行 L:页底
zt:将光标所在当前行移到屏幕顶端
zz:将光标所在当前行移到屏幕中间
zb:将光标所在当前行移到屏幕底端
● 行首行尾跳转:
^ 跳转至行首的第一个非空白字符
0 跳转至行首
$ 跳转至行尾
● 行间移动:
#G 或者扩展命令模式下:# 跳转至由第#行
G 最后一行
1G, gg 第一行
● 句间移动:
) 下一句 ( 上一句
● 段落间移动:
} 下一段 { 上一段
● 命令模式翻屏操作
Ctrl+f 向文件尾部翻一屏
Ctrl+b 向文件首部翻一屏
Ctrl+d 向文件尾部翻半屏
Ctrl+u 向文件首部翻半屏
● 命令模式操作
>字符编辑:
x 删除光标处的字符
#x 删除光标处起始的#个字符
xp 交换光标所在处的字符及其后面字符的位置
~ 转换大小写
J 删除当前行后的换行符
>替换命令(r, replace)
r 替换光标所在处的字符
R 切换成REPLACE模式
> 删除命令:
d 删除命令,可结合光标跳转字符,实现范围删除
d$ 删除到行尾
d^ 删除到非空行首
d0 删除到行首
dw
de
db
#COMMAND
dd:删除光标所在的行
#dd 多行删除
D:从当前光标位置一直删除到行尾,等同于d$