创建文件
• #touch 文件名称 .... 同时创建多个文件
• #touch aaa bbb ccc
• [root@localhost ~]# ls
• aaa bbb ccc
• windows下面文件和目录是可以重名的,后缀不同
• 但是Linux下面是不可以的,在已经存在该文件的情况下,使用touch aaa,会更新文件的修改时间
• [root@localhost ~]# ll aaa
• -rw-r--r--. 1 root root 0 Mar 1 04:20 aaa
• [root@localhost ~]# touch aaa
• [root@localhost ~]# ll aaa
• -rw-r--r--. 1 root root 0 Mar 1 04:23 aaa
• 在创建时这三个时间是一样的,touch同名文件的时候修改的是modify时间
• access time
• modify time
• change time
创建目录
• #mkdir directory_name
• #mkdir dir1 dir2 ...同时创建多个目录
• [root@localhost tmp]# mkdir z/a
• mkdir: cannot create directory `z/a': No such file or directory
• [root@localhost tmp]# mkdir -p -v z/a
• mkdir: created directory `z'
• mkdir: created directory `z/a'
• -p→ 创建级联目录
• -v→ 创建级联目录的过程显示出来→ verbose(显示详细信息)
• [root@localhost tmp]# netstat -a -u -t -p -l
• 单个字符的选项可以写在一起
• [root@localhost tmp]# netstat -autpl
• 单词选项不能和其他选项放在一起,单词选项大部分以双横杠开头,有一部分是没有横杠的
•[root@localhost tmp]# ls --help
拷贝文件
• #cp 源文件 … 目标目录
• 拷贝文件的过程中修改文件名称
• #cp 源文件 目标目录/文件名称
• [root@localhost tmp]# touch aaa
• [root@localhost tmp]# cp aaa abc
• [root@localhost tmp]# ls abc
• abc
• [root@localhost tmp]# cp aaa a/aaa
• [root@localhost tmp]# ls a
• a aaa
• [root@localhost tmp]# cp aaa a/bbb
• [root@localhost tmp]# ls a
• a aaa bbb
拷贝目录
• -r/-R recursive
• [root@localhost a]# cp a b
• cp: omitting directory a
• [root@localhost a]# cp -r a b
剪切文件(目录)
• #mv move
• #mv 源文件 … 目标目录
• 剪切过程中也可以改名
• #mv 源文件 目标目录/文件名称
删除文件(目录)
• #rm 文件 …(同时删除多个文件)
• #rm –r/-R 目录 …(同时删除多个目录)
• 默认情况下每次删除都要有提示
• [root@localhost a]# rm aaa
• rm: remove regular empty file aaa'?
• #rm -rf 文件,目录 //强制删除
• -f→ --force
查看文件
• ls list
• #Cat 查看普通文件内容的
• #cat filename … (可以查看多个文件,但是一般每次就查看一个文件)
• #cat -n filename //显示行号
编辑文件
• Linux中最著名的三种文件编辑器
– Vim
– gedit
– nano
vim的使用
• 三种模式:
– 命令模式
• 常用操作的快捷键
– 编辑模式
• 编写内容的地方
– 尾行模式
• 查找,设置(都是一次生效,下次失效)
• a→ append (追加) //测试其他快捷键要回到命令模式,ESC
• |
• ESC→ 从编辑模式进入命令模式
• i→ insert (插入)
• o→ 当前光标所在行下一行输入
• O→ 当前光标所在行上一行输入
• I→ 行首输入
• A→ 行尾输入
• r→ 替换单个字符,返回命令模式
• R→ 进入替换模式,连续替换内容,知道ESC退到命令模式
• x 删除当前光标所在字符,只删一个
• d+w 删除单词(光标一定要在单词的最开始,否则删除光标及之后的字符)
• D 删除光标之后的所有字符
• d+^(或者d+shift+6) 删除光标之前的所有字符
• dd 删除光标当前所在行
• 数字+dd 删除多行
• 编辑模式
– ctrl+u 删除光标之前的所有字符
• 剪切:
– dd
• 复制:
– yy 复制光标所在行
– 数字+yy 复制多行
• 粘贴:
– p 粘贴到光标所在下一行
– P 粘贴到光标所在上一行
• 撤销:
– u
• 回滚:
– ctrl+r 取消撤销动作
• 光标的移动:
– 数字+上下左右箭头 向上下左右移动N行/字符
– ctrl+左右箭头 向左右移动,以空格为隔断
– gg 定位到文本开头
– G 定位到文本的文本结尾
• 可视化模式:(命令模式的一种)
– v 可视→ 不规则的块选择
– ctrl+v 可视块→ 规则的块选择
– V 可视行
添加注释:
– 用可视块模式选择第一列→ 大写i → 输入注释符# → 两次ESC
• 尾行模式
• 查找:
• /keyword 回车 上翻N 下翻n
• 设置:
• 设置行号
• :set nu
• :set nonu //取消行号
•
• 设置查找的时候不区分大小写(正常情况下是区分大小写的,演示一个user/User的)
• :set ic
• :set noic //取消不区分
• #!/bin/bash
• if [ -e /tmp/test/passwd ];then
• echo "file is exist";
• else
• echo "file is not exist";
• fi
• #chmod +x a.sh 赋予脚本可执行权限
• #./a.sh 执行脚本
• 设置tab键的长度
– :set ts=4 //设置完立即生效
• 设置自动缩进(下面两个命令是一起使用,会自动根据语法缩进)
– :set si
– :set ci
•
• #!/bin/bash
• for i in 1 2 3 4 5
• do
• echo $i
• done
• 永久生效:(只对vim生效,对其他不生效,修改vim的配置文件)
• #vim /etc/vimrc
• #vim ~/.vimrc
• set nu
• set ic
• set ci
• set si
• set ts=4
• :w → 只保存不退出(w!强制保存)
• :wq → 保存退出(wq!强行保存退出)
• :x → 保存退出
• ZZ → 保存退出
• :q → 退出(但是有时候直接q,不能退出,添加!,强制退出)
• :q! → 强制退出
• :w 想存的路径 → 另存为
• :r ~/.vimrc → 能够读取另一 个文件内容
• :数字 → 光标定位到数字行
• :sp → 横着打开另一个文件
• :vsp → 竖着打开另一个文件
• ctrl+ww 切换窗口到下一个
• ctrl+w+方向键 切换到另一个窗口
• 替换的操作:
• %s/var/VAR/g
• % 表示所有行
•
• 3s/var/VAR/g 只替换第三行的内容
• 3,8s/var/VAR/g 替换3-8行中的内容
• s/var/VAR/g 只替换当前光标所在行的var
•
• /被替换的文本/替换以后的文本/
• %s;var;VAR;g 也可以
• g→ global 一行全局替换
• 添加注释
• :22,26s/^/#/ ^ 每一行的开头 (22-26行添加注释)