cd /root/vision #使用绝对路径 cd ./vision #使用相对路径 cd ~ #回到家目录 cd .. #回到目前的上一级目录
pwd -p #显示确实路径而非使用连接(link)路径
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):删除文件或目录
rm -f #force 强制的意思,忽略不存在的文件,不会出现警告信息 rm -i #互动模式,在删除前会询问使用者是否动作 rm -r #递归删除,最常用在目录的删除,这是非常危险的选项
mv [-fiu] source destination mkdir mvtest mv testfile mvtest #移动testfile到新建mvtest文件夹 mv mvtest mvtest2 #修改文件夹名称
cat [-AbEnTv]
-A :相当於 -vET 的整合选项,可列出一些特殊字符而不是空白而已; -b :列出行号,仅针对非空白行做行号显示,空白行不标行号! -E :将结尾的断行字节 $ 显示出来; -n :列印出行号,连同空白行也会有行号,与 -b 的选项不同; -T :将 [tab] 按键以 ^I 显示出来; -v :列出一些看不出来的特殊字符
nl [-bnw] 文件
-b :指定行号指定的方式,主要有两种: -b a :表示不论是否为空行,也同样列出行号(类似 cat -n); -b t :如果有空行,空的那一行不要列出行号(默认值); -n :列出行号表示的方法,主要有三种: -n ln :行号在荧幕的最左方显示; -n rn :行号在自己栏位的最右方显示,且不加 0 ; -n rz :行号在自己栏位的最右方显示,且加 0 ; -w :行号栏位的占用的位数。
空格键 :向下翻动一页; [pagedown]:向下翻动一页; [pageup] :向上翻动一页; /字串 :向下搜寻『字串』的功能; ?字串 :向上搜寻『字串』的功能; n :重复前一个搜寻 (与 / 或 ? 有关!) N :反向的重复前一个搜寻 (与 / 或 ? 有关!) q :离开 less 这个程序;
head [-n number] 文件 #number表示几行的意思,默认是10行 head -n 20 文件
分为硬连接和软链接。
硬连接:文件名不同,但是文件内容一样,指向同一索引节点号(inode index)。删除其中一个不对另外的产生影响
ln f1 f2 #创建f1的一个硬连接f2 ln -s f1 f3 #创建f1的一个软连接f3
软连接:类似创建文件的快捷方式,软连接放入的是原文件的路径
进入文件,一般模式
vim 文件名 #进入文件的一般模式,文件不存在则创建新文件
一般模式命令 | 作用 |
---|---|
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] | 将编辑的数据储存成另一个档案(类似另存新档) |
:set u #显示行号 :set nonu #不显示行号
apt [options] [command] [package ...]
#!/bin/bash # #!是一个约定,告诉系统这个脚本需要什么解释器来执行 echo "hello world!" # echo用于向窗口输入文本 chmod +x ./test.sh #是脚本具有执行权限 ./test.sh #执行脚本,一定要写成./test.sh,而不是tesh.sh,