cd 绝对路径/相对路径
# 根目录 [root@localhost ~]# cd / # 家目录 [root@localhost /]# cd [root@localhost /]# cd ~ # 父级目录 [root@localhost /]# cd .. # 返回上一次目录 [root@localhost /]# cd -
绝对路径:
[root@localhost ~]# cd /etc/opt/
相对路径:
[root@localhost ~]# cd Public/
常见选项:
-a包含隐藏文件
-l显示额外信息
-R目录递归
-ld目录和符号链接信息
-S按从大到小排序
touch 路径和名字
[root@localhost ~]# touch /root/data/file
mkdir
路径和目录名
[root@localhost ~]# mkdir /root/data
常见选项:
-p当创建目录没有上一级时,自动创建
例:在/home下创建a1文件夹,在a1文件夹中,直接创建b1/c1文件夹,最终文件层级结构为/home/a1/b1/c1
[root@localhost ~]# mkdir -p /home/a/b/c
是英文单词 copy
的缩写,用于复制文件和目录。它是一个常用且功能强大的命令,可以帮助我们在文件系统中创建副本或者说备份文件。
cp
命令的语法如下:
cp 源文件 目标文件夹 cp 源文件 目标文件 cp -t 目标文件夹 源文件
例:将c中的文件d复制到a中
[root@localhost ~]# cp /home/a/b/c/d /home/a/
练习1:将d1复制到桌面
常见选项:
练习2:将a文件夹下面的所有文件复制到桌面
-r/-R
:递归复制目录及内部的所有内容
[root@localhost ~]# cp -r /home/a /root/Desktop/
-f
:强制覆盖文件,如果目标位置已经存在同名文件,cp
命令默认会询问是否覆盖。可以使用 -f
选项来强制覆盖目标文件而不进行询问。
cp -f boat.ini /opt/games/gta6/model/objs/boat2.ini # centos7无反应
move 的缩写,可以移动文件或目录,将其从一个位置移到另一个位置。当然,它还能给文件或目录重命名。
mv
命令的基本语法如下:
mv 源文件或目录 目标文件或目标
例:
将/root/data/a/b/c文件夹中的文件file1移动到/root/data/a中
将/root/data/a/b中的文件c及其包含的文件、文件夹移动到/root/data/a中
将/root/data/a/b中的文件c及其包含的文件、文件夹移动到/root/data/a中,并将其文件夹改名为cc
[root@centos-1 ~]# mv /root/data/a/b/c/file1 /root/data/a/ [root@centos-1 ~]# mv /root/data/a/b/c /root/data/a/ [root@centos-1 ~]# mv /root/data/a/b/c /root/data/a/cc
例:
重命名文件/root/data/a/file1为file2
重命名文件夹/root/data/a/c为d
[root@centos-1 ~]# mv /root/data/a/file1 /root/data/a/file2 [root@centos-1 ~]# mv /root/data/a/c /root/data/a/d
常见选项参数:
-i
:覆盖目标文件前询问用户是否确认。
-f
:强制执行移动或重命名操作,当发生覆盖时是不进行确认提示,就不会询问是否覆盖,简而言之,强制覆盖。
-u
:当源文件比目标文件的创建时间更加新时,才执行覆盖操作
remove的所需,用于删除一个文件或者目录。
rm
命令的基本语法如下:
rm 文件名/目录名
常见选项参数:
-i
删除前逐一询问确认。
-f
即使原档案属性设为唯读,亦直接删除,无需逐一确认。
-r
将目录及以下之档案亦逐一删除。
例:
删除文件/root/data/a/file2
删除文件夹/root/data/a/cc
[root@centos-1 data]# rm /root/data/a/file1 # 删除目录必须添加-r或-rf [root@centos-1 data]# rm -r /root/data/a/cc/
删除当前目录下的所有文件及目录
rm -r *
注意:文件一旦通过rm命令删除,则无法恢复,所以必须格外小心地使用该命令。(centos7以上版本有些可以留在回收站)
vim的安装:
yum install -y vim
操作系统中常用的一种文本文件查看和处理命令,它的主要作用是连接文件并且将它们输出到标准输出设备(通常是屏幕)。
cat
命令的基本语法如下:
cat [选项] 文件名
常见选项参数:
-n
:显示每行行号;
-b
:显示非空行行号;
-s
:压缩空白行为一行;
-v
:显示制表符和非打印字符;
-E
:在每行结束处显示$符号。
例:
# cat /etc/profile # cat -n /etc/profile # cat -nb /etc/profile
more命令用于逐页显示文件内容,通常用于查看大型文件的内容,可以一次显示一页,按下空格键显示下一页,按下回车键显示下一行,按下Q键退出查看。
more
命令的基本语法如下:
more [选项] 文件名
常见选项参数:
+n
:从笫n行开始显示。
-n
:定义屏幕大小为n行。
+/pattern
:在每个档案显示前搜寻该字串(pattern),然后从该字串前两行之后开始显示
-c
:从顶部清屏,然后显示。
-d
:提示“Press space to continue,’q’ to quit(按空格键继续,按q键退出)”,禁用响铃功能。
-l
:忽略Ctrl+l(换页)字符。
-p
:通过清除窗口而不是滚屏来对文件进行换页,与-c选项相似
-s
:把连续的多个空行显示为一行。
-u
:把文件内容中的下画线去掉。
常用操作命令:
Enter
:向下n行,需要定义。默认为1行。
Ctrl+F
:向下滚动一屏。
空格键
:向下滚动一屏。
Ctrl+B
:返回上一屏。
=
:输出当前行的行号。
f
:输出文件名和当前行的行号。
V
:调用vi编辑器。
!命令
:调用Shell,并执行命令 。
q
:退出more。
例:
显示文件中从第3行起的内容。
more +3 /etc/profile
设定每屏显示行数。
more -3 /etc/profile
列一个目录下的文件,由于内容太多,我们应该学会用more来分页显示。
ls /etc | more -5
用于查看文件的开头部分的内容,有一个常用的参数 -n 用于显示行数,默认为 10,即显示 10 行的内容。
head
命令的基本语法如下:
head [参数] 文件名
常见选项参数:
-q
隐藏文件名
-v
显示文件名
-c
<数目> 显示的字节数。
-n
<行数> 显示的行数。
例:
显示 /etc/profile 文件的开头 10 行
head /etc/profile 或 head -n 10 /etc/profile
显示 /etc/profile 文件的开头 5 行
head -n 5 /etc/profile
显示 /etc/profile 文件的前20个字节
hed -c 20 /etc/profile
用于查看文件的内容,有一个常用的参数 -f 常用于查阅正在改变的日志文件。
tail -f filename 会把 filename 文件里的最尾部的内容显示在屏幕上,并且不断刷新,只要 filename 更新就可以看到最新的文件内容。
tail
命令的基本语法如下:
tail [参数] 文件名
常见选项参数:
-f
循环读取
-q
不显示处理信息
-v
显示详细的处理信息
-c
<数目> 显示的字节数
-n
<行数> 显示文件的尾部 n 行内容
--pid=PID
与-f合用,表示在进程ID,PID死掉之后结束
-q, --quiet, --silent
从不输出给出文件名的首部
-s, --sleep-interval=S
与-f合用,表示在每次反复的间隔休眠S秒
例:
显示 /etc/profile 文件的最后 10 行
tail /etc/profile
要跟踪名为 /var/log/messages 的文件的增长情况
tail -f /var/log/messages
显示文件 /etc/profile 的内容,从第 20 行至文件末尾
tail -n +20 /etc/profile
显示文件 /etc/profile 的最后 10 个字符
tail -c 10 /etc/profile
ls -a > list.txt
图形文件编辑器
所有的 Unix Like 系统都会内建 vi 文书编辑器,其他的文书编辑器则不一定会存在。 但是目前我们使用比较多的是 vim 编辑器。 vim 具有程序编辑的能力,可以主动的以字体颜色辨别语法的正确性,方便程序设计。
什么是vim?
Vim 是从 vi 发展出来的一个文本编辑器。代码补全、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。 简单的来说, vi 是老式的字处理器,不过功能已经很齐全了,但是还是有可以进步的地方。 vim 则可以说是程序开发者的一项很好用的工具。
vi/vim的使用
基本上 vi/vim 共分为三种模式,命令模式(Command Mode)、输入模式(Insert Mode)和命令行模式(Command-Line Mode)。
1)命令模式:用户刚刚启动vi/vim,便进入了命令模式
此状态下敲击键盘动作会被 Vim 识别为命令,而非输入字符,比如我们此时按下 i,并不会输入一个字符,i被当作了一个命令。
以下是普通模式常用的几个命令:
i
-- 切换到输入模式,在光标当前位置开始输入文本。
x
-- 删除当前光标所在处的字符。
:
-- 切换到底线命令模式,以在最底一行输入命令。
a
-- 进入插入模式,在光标下一个位置开始输入文本。
o
:在当前行的下方插入一个新行,并进入插入模式。
O
-- 在当前行的上方插入一个新行,并进入插入模式。
dd
-- 删除当前行。ndd
yy
-- 复制当前行。nyy
p
-- 粘贴剪贴板内容到光标下方。
P
-- 粘贴剪贴板内容到光标上方。
u
-- 撤销上一次操作。
Ctrl + r
-- 重做上一次撤销的操作。
:w
-- 保存文件。
:q
-- 退出 Vim 编辑器。
q!
-- 强制退出Vim 编辑器,不保存
hjkl
--上下左右
0 $
--行首行尾
gg G
--页首页尾
3G
--进入第三行
v
--进入可视化模式
2)输入模式
在命令模式下按下 i 就进入了输入模式,使用 Esc 键可以返回到普通模式。在命令模式下按下 i 就进入了输入模式,使用 Esc 键可以返回到普通模式。
在输入模式中,可以使用以下按键:
字符按键以及Shift组合,输入字符
ENTER,回车键,换行
BACK SPACE,退格键,删除光标前一个字符
DEL,删除键,删除光标后一个字符
方向键,在文本中移动光标
HOME/END,移动光标到行首/行尾
Page Up/Page Down,上/下翻页
Insert,切换光标为输入/替换模式,光标将变成竖线/下划线
ESC,退出输入模式,切换到命令模式
3)底线命令模式
在命令模式下按下 :(英文冒号)就进入了底线命令模式。 底线命令模式可以输入单个或多个字符的命令,可用的命令非常多。
在底线命令模式中,基本的命令有(已经省略了冒号):
:w
:保存文件。
:q
:退出 Vim 编辑器。
:wq
:保存文件并退出 Vim 编辑器。
:q!
:强制退出Vim编辑器,不保存修改。
:set nu
:显示行号
:set list
:显示控制字符
:set nonu
:取消显示行号
/string
:查找字符,安n选下一个
范围 s/原内容/新内容/全局
:查找替换,例:1,5 s/root/yu/g
按 ESC 键可随时退出底线命令模式。
简单的说,我们可以将这三个模式想成底下的图标来表示:
因异常退出vim,导致相同路径下有.(源文件名).swap临时文件被系统生成,打开源文件如下图所示(无法编辑):
解决方法:
使用ls -a,找到.(源文件名).swap
使用rm删除该隐藏临时文件