- ls (list files):列出目录及文件名
- -a:全部文件,连同隐藏文件(开头为.的文件)
- -d:列出目录本身,而不是列出目录内的文件
- -l:长数据列出,包含文件的属性与权限等数据
- cd (change directory):切换目录,可以使用绝对路径或者相对路径
| cd /root/vision |
| cd ./vision |
| cd ~ |
| cd .. |
- pwd(print work directory):显示目前的目录
- mkdir(make directory):创建一个新的目录
| mkdir -m 771 test1 #-m 配置文件属性 |
| mkdir -p test1/test2/test3 #-p 创建多层目录 |
- rmdir (remove directory):删除一个目录
rmdir -p 目录名称 #从该目录起,一次删除多级空目录,没有参数就只删除某一个文件夹
- cp(copy file):复制目录或者文件
cp [-adfilprsu] 来源档(source) 目标档(destination)
-a:相当於 -pdr 的意思,至於 pdr 请参考下列说明;(常用)
-d:若来源档为连结档的属性(link file),则复制连结档属性而非文件本身;
-f:为强制(force)的意思,若目标文件已经存在且无法开启,则移除后再尝试一次;
-i:若目标档(destination)已经存在时,在覆盖时会先询问动作的进行(常用)
-l:进行硬式连结(hard link)的连结档创建,而非复制文件本身;
-p:连同文件的属性一起复制过去,而非使用默认属性(备份常用);
-r:递归持续复制,用於目录的复制行为;(常用)
-s:复制成为符号连结档 (symbolic link),亦即『捷径』文件;
-u:若 destination 比 source 旧才升级 destination ! - rm(remove):删除文件或目录
- mv(move file):移动文件与目录,或修改文件与目录的名称
| mv [-fiu] source destination |
| mkdir mvtest |
| mv testfile mvtest |
| mv mvtest mvtest2 |
| -A :相当於 -vET 的整合选项,可列出一些特殊字符而不是空白而已; |
| -b :列出行号,仅针对非空白行做行号显示,空白行不标行号! |
| -E :将结尾的断行字节 $ 显示出来; |
| -n :列印出行号,连同空白行也会有行号,与 -b 的选项不同; |
| -T :将 [tab] 按键以 ^I 显示出来; |
| -v :列出一些看不出来的特殊字符 |
- tac 从最后一行开始显示,是cat倒着写
- nl 带行号输出
| -b :指定行号指定的方式,主要有两种: |
| -b a :表示不论是否为空行,也同样列出行号(类似 cat -n); |
| -b t :如果有空行,空的那一行不要列出行号(默认值); |
| -n :列出行号表示的方法,主要有三种: |
| -n ln :行号在荧幕的最左方显示; |
| -n rn :行号在自己栏位的最右方显示,且不加 0 ; |
| -n rz :行号在自己栏位的最右方显示,且加 0 ; |
| -w :行号栏位的占用的位数。 |
- more 一页一页显示文件内容
- less 类似more,但可以往前翻页
| 空格键 :向下翻动一页; |
| [pagedown]:向下翻动一页; |
| [pageup] :向上翻动一页; |
| /字串 :向下搜寻『字串』的功能; |
| ?字串 :向上搜寻『字串』的功能; |
| n :重复前一个搜寻 (与 / 或 ? 有关!) |
| N :反向的重复前一个搜寻 (与 / 或 ? 有关!) |
| q :离开 less 这个程序; |
| head [-n number] 文件 |
| head -n 20 文件 |
分为硬连接和软链接。
硬连接:文件名不同,但是文件内容一样,指向同一索引节点号(inode index)。删除其中一个不对另外的产生影响。软连接:类似创建文件的快捷方式,软连接放入的是原文件的路径
| ln f1 f2 #创建f1的一个硬连接f2 |
| ln -s f1 f3 #创建f1的一个软连接f3 |
一般模式命令 | 作用 |
---|
u | 复原前一个动作(类似撤销) |
[Ctrl]+r | 重做上一个动作 |
yy | 复制游标所在的那一行 |
y1G | 复制游标所在行到第一行的所有数据 |
yG | 复制游标所在行到最后一行的所有数据 |
dd | 删除游标所在的那一整行 |
ndd | n 为数字。删除光标所在的向下 n 行,例如 20dd 则是删除 20 行 |
d1G | 删除光标所在到第一行的所有数据 |
dG | 删除光标所在到最后一行的所有数据 |
p, P | p 为将已复制的数据在光标下一行贴上,P 则为贴在游标上一行! 举例来说,我目前光标在第 20 行,且已经复制了 10 行数据。则按下 p 后, 那 10 行数据会贴在原本的 20 行之后,亦即由 21 行开始贴。但如果是按下 P 呢? 那么原本的第 20 行会被推到变成 30 行。 |
编辑模式命令 | 进入输入模式类型 |
---|
i,I | 前者目前光标所在位置进入,后者是在目前光标所在行第一个非空格符处开始输入 |
a,A | a 为『从目前光标所在的下一个字符处开始输入』, A 为『从光标所在行的最后一个字符处开始输入』 |
o,O | o 为在目前光标所在的下一行处输入新的一行; O 为在目前光标所在的上一行处输入新的一行! |
r, R | r 只会取代光标所在的那一个字符一次;R会一直取代光标所在的文字,直到按下 ESC 为止 |
指令行模式命令 | 作用 |
---|
:w | 将编辑的数据写入硬盘档案中 |
:w! | 若文件属性为『只读』时,强制写入该档案。不过,到底能不能写入, 还是跟你对该档案的档案权限有关啊! |
:q | 离开 vi (常用) |
:q! | 若曾修改过档案,又不想储存,使用 ! 为强制离开不储存档案。 |
:wq | 储存后离开,若为 :wq! 则为强制储存后离开 |
:w [filename] | 将编辑的数据储存成另一个档案(类似另存新档) |
| apt [options] [command] [package ...] |
- options:**可选,选项包括-h(帮助),-y(当安装过程提示选择全部为 “yes”),-q(不显示安装的过程)等等。
- command:**要进行的操作。
- package:**安装的包名。
| #!/bin/bash # #!是一个约定,告诉系统这个脚本需要什么解释器来执行 |
| echo "hello world!" |
| chmod +x ./test.sh |
| ./test.sh |