Linux的基本操作及命令
文本编辑 vim
vim 也有创建文件的作用
命令模式:执行命令,不能写东西
i a 进入插入模式 编辑
dd 删除当前行
yy 2yy nyy 复制 从光标算起,复制n行
p 粘贴 默认粘贴在光标的下一行
u 撤销
^r 恢复
gg跳转到文档首部
G跳转到文档尾部
dgg删除到文档首
dG删除到文档末
x删除光标所在位置的内容
cc剪切
末行模式:(Esc键退出插入模式,:进入末行模式)
:wq 保存退出
:w 保存
:q 退出
:wq! 强制保存退出
:q! 强制退出
:set nu 显示行号
:set nonu 取消行号
:4,7 d 删除指定的行
/ 字符串 查找指定的字符串
:%s/zs/lucy 替换(先删除指定内容,再补充。)
:r /root/haha 读取指定的文件内容
练习
去掉DNS域名解析,去到 /etc/ssh/sshd_config,找到 #UseDNS yes,yes 改为 no ; UseDNS no
:wq 保存退出
systemctl restart sshd 重启sshd
创建普通文件 touch
创建一个普通的空文件 改变文件的时间(touch已存在文件改变文件修改 时间)
命名只要不写特殊的名字都可以创建(/,已存在的)不超过255字符
同时创建多个文件
touch 1 2
touch {1,2}
touch a{1,2,3,4}
创建目录文件 mkdir
-m :配置文件的权限喔!直接配置,不需要看默认权限 (umask) 的脸色(我们后期会讲到权限的一些知识)
-p :帮助你直接将所需要的目录(包含上一级目录)递归创建起来!
编辑文件 将屏幕内容重定向到文件
nano 图形化
echo 标准输出
> 覆盖重定向 将内容写入文件,并覆盖已有内容
>> 追加重定向 将内容添加写入文件,不覆盖已有内容
事例:
我们在在a文件中nano输入字符how are you
接着我们再用echo和重定向对其进行输入 me too,对比看其二者的区别
这时候我们发现>>只是在文件a中增加了me too ,而>是将原本的所有内容覆盖了
查看文件内容
1、cat
cat haha
cat haha >jack 将文件haha里的内容输入到一个新的jack文件里去
cat -n haha 显示行号
/dev/null 黑洞机制
/dev/null属于字符特殊文件,它属于空设备,是一个特殊的设备文件,它会丢弃一切写入其中的数据,写入它的内容都会永远丢失,而且没有任何可以读取的内容。
什么也读取不到,就像一个黑洞一样。
所以我们一般会把/dev/null当成一个垃圾站,不要的东西丢进去。比如来清除文件中的内容。
cat haha >/dev/null
2、tac haha 逆序显示
3、more /var/log/messages 逐行显示文件内容(查看日志文件 支持向后翻阅 enter)
4、less /var/log/messages 支持前后翻阅 上下键
5、man手册默认调用less命令打开
6、head /etc/passwd 打开文件的头几行,默认是前10行
head -n 表示可以指定行数 前n行
7、tail 打开文件的后几行,默认是后10行
tail -n 后n行。
练习
/ 下有一个文件aa 文件内容为 aa is a good boy ,在yang的主目录里面创建文件,文件名为filename,文件内容为aa文件的内 容。
文件的删除
普通文件的删除 rm(移除文件或目录)
-f :就是 force 的意思,忽略不存在的文件,不会出现警告信息;
-i :互动模式,在删除前会询问使用者是否动作
-r :递归删除啊!最常用在目录的删除了!这是非常危险的选项!
rmdir (删除空的目录)只能用来删除目录
-p :连同上一级『空的』目录也一起删除
复制
cp (复制文件或目录)
cp haha /test 复制当前目录里面的haha文件到/test下
cp haha /test/hehe 复制当前目录里面的haha文件到/test下并重命名为hehe
cp /test/hehe /home/redhat 复制普通文件
cp -r /test /home 复制目录文件,递归复制
cp -p haha /test 保留源文件的属性,包括所属主、所属组、权限、时间