Linux目录结构为树状结构,最顶级为‘/’ .,其他目录挂载到树中,
先了解一下绝对路径和相对路径:
>>绝对路径: 由根目录 / 写起,如: /data/hosts
>>相对路径: cd ../man --不从根目录开始
目录操作常用命令:
- 目录下所有子目录和文件 : ls
- 当前所在目录 : pwd
- 切换目录 :cd /目录
- 创建目录 : mkdir directory
- 移动或修改 :mv
- 删除空文件或者目录 : rmdir directory
- 删除文件或目录 : rm
- 复制文件或目录 : cp
文件操作常用命令:
- 当前目录下创建文件 : touch
- 查看文件 : cat
- vi/vim 编辑器 : 详见下文
- 查看文件前几行 :head
- 查看文件后几行 :tail
ls :
语法 : ls /data
选项与参数:
- -a :全部的文件,连同隐藏档( 开头为 . 的文件) 一起列出来(常用)
- -d :仅列出目录本身,而不是列出目录内的文件数据(常用)
- -l :长数据串列出,包含文件的属性与权限等等数据;(常用)
pwd :
pwd 是 Print Working Directory 的缩写,也就是显示目前所在目录的命令。
语法 : pwd
cd :
切换目录
语法 :cd 目录
选项与参数:
- cd :根目录也就是/root
- cd .. : 返回上一级
- cd . : 当前目录
- cd ~ : 根目录也就是/root
mkdir :
创建新目录
语法:mkdir 目录名
选项与参数:
- -p:递归创建目录
栗子:[root@oldboy--01 data]# mkdir -p a/d/c
---当前目录下床架a目录/d目录/c目录
rmdir :
删除空目录
选项与参数:
- -p:递归删除空目录
rm :
删除一个目录中的一个或多个文件或目录
选项与参数:
- -f, --force 忽略不存在的文件,从不给出提示。
- -i, --interactive 进行交互式删除
- -r, -R, --recursive 指示rm将参数中列出的全部目录和子目录均递归地删除。
- -v, --verbose 详细显示进行的步骤
- -d:直接把欲删除的目录的硬连接数据删除成0,删除该目录;
cp :
原名:copy,即拷贝文件和目录
选项与参数:
-
-a:相当於 -pdr 的意思,至於 pdr 请参考下列说明;(常用)
-
-d:若来源档为连结档的属性(link file),则复制连结档属性而非文件本身;
-
-f:为强制(force)的意思,若目标文件已经存在且无法开启,则移除后再尝试一次;
-
-i:若目标档(destination)已经存在时,在覆盖时会先询问动作的进行(常用)
-
-l:进行硬式连结(hard link)的连结档创建,而非复制文件本身;
-
-p:连同文件的属性一起复制过去,而非使用默认属性(备份常用);
-
-r:递归持续复制,用於目录的复制行为;(常用)
-
-s:复制成为符号连结档 (symbolic link),亦即『捷径』文件;
-
-u:若 destination 比 source 旧才升级 destination !
mv :
移动文件与目录,或修改名称
语法 mv test1 test2 --test1要移动的文件或目录 test2 移动到的目录
选项与参数:
- -f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖;
- -i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!
- -u :若目标文件已经存在,且 source 比较新,才会升级 (update)
touch :
新建文件
语法 touch 文件名
命令参数:
-a 或--time = atime--time =access或--time=use 只更改存取时间
-c 或--no-create 不建立任何文档
-d 使用指定的日期时间,而非现在的时间
-m 或--time=mtime或--time=modify 只更改变动时间
-r 把指定文档或目录的日期时间,统统设成和参考文档和目录的日期时间相同
-t 使用指定的日期,而非现在的时间
cat:
由第一行开始显示文件内容
语法:
cat [-AbEnTv]
选项与参数:
- -A :相当於 -vET 的整合选项,可列出一些特殊字符而不是空白而已;
- -b :列出行号,仅针对非空白行做行号显示,空白行不标行号!
- -E :将结尾的断行字节 $ 显示出来;
- -n :列印出行号,连同空白行也会有行号,与 -b 的选项不同;
- -T :将 [tab] 按键以 ^I 显示出来;
- -v :列出一些看不出来的特殊字符
head :
取出文件前面几行
语法: head -n 文件名
tail :
取出文件后面几行
语法:tail -n 文件名
vi/vim :
基本上 vi/vim 共分为三种模式,分别是命令模式(Command mode),输入模式(Insert mode)和底线命令模式(Last line mode)。 这三种模式的作用分别是:
命令模式:
用户刚刚启动 vi/vim,便进入了命令模式。
此状态下敲击键盘动作会被Vim识别为命令,而非输入字符。比如我们此时按下i,并不会输入一个字符,i被当作了一个命令。
以下是常用的几个命令:
- i 切换到输入模式,以输入字符。
- x 删除当前光标所在处的字符。
- : 切换到底线命令模式,以在最底一行输入命令。
若想要编辑文本:启动Vim,进入了命令模式,按下i,切换到输入模式。
命令模式只有一些最基本的命令,因此仍要依靠底线命令模式输入更多命令。
输入模式
在命令模式下按下i就进入了输入模式。
在输入模式中,可以使用以下按键:
- 字符按键以及Shift组合,输入字符
- ENTER,回车键,换行
- BACK SPACE,退格键,删除光标前一个字符
- DEL,删除键,删除光标后一个字符
- 方向键,在文本中移动光标
- HOME/END,移动光标到行首/行尾
- Page Up/Page Down,上/下翻页
- Insert,切换光标为输入/替换模式,光标将变成竖线/下划线
- ESC,退出输入模式,切换到命令模式
底线命令模式
在命令模式下按下:(英文冒号)就进入了底线命令模式。
底线命令模式可以输入单个或多个字符的命令,可用的命令非常多。
在底线命令模式中,基本的命令有(已经省略了冒号):
- :wq 保存退出
- :q 保存文件
- :q! --修改不保存退出
按ESC键可随时退出底线命令模式。