前言
从本篇文章开始,每篇文章将写10个Linux命令,个人的写作想法是:
1、常用的Linux命令,那些生僻的、不常用的就不写了
2、从实际考虑,只列出每个命令常见的用法和参数选项,有兴趣了解进一步的用法可以自己上网去查询
vi
Linux环境下的文本编辑器
vi基本上可以分为三种操作状态,分别是命令模式、插入模式、底线命令模式,各功能的功能区分如下:
1、命令模式
控制屏幕光标的移动,字符或光标的删除,移动复制某区段及进入插入模式
2、插入模式
只有在插入模式下,才可以做文字数据输入,按ESC等可以回到命令模式
3、底线命令模式
将存储文件或离开编辑器,也可以设置编辑环境,如寻找字符串、列出行号等
注意,进入vi后是处于命令模式下的,要切换到插入模式才能输入文字。在命令模式下按"i"、"a"或是"o"切换到插入模式。在插入模式下,有一些命令:
i:插入,从目前光标所在之处插入所输入的文字
a:增加,从目前光标所在的下一个字开始输入文字
o:插入新的一行,从行首开始输入文字
在插入模式下,只能一直打字,如果发现字打错了,要先按ESC切换回命令模式,再把光标往回移动,最后删除打错的字符。删除有一些命令:
x:每按一次删除光标所在位置的后面一个字符
#x:例如6x表示删除光标所在位置后面的6个字符
dd:删除光标所在行
这是命令模式,在命令模式下按":"、"/"、"?"都可以进入底线命令模式,底线命令模式下有一些命令:
:set nu:在文章的每一行前面列出行号
/关键字:向后搜索关键字,假如不是想要的,按n继续向后搜索
?关键字:向前搜索关键字,假如不是想要的,按n继续向前搜索
:w:保存文件
ls
用来打印当前目录的清单,可以指定其他目录
-a:列出目录下所有的文件,包括以"."开头的隐藏文件
-l:除了文件名外,还列出文件权限、所有者、大小等详细信息
-r:反向次序排列
-t:以文件修改时间排序
-g:类似-l,但是不列出所有者
-h:以容易理解的文件格式列出(如1K、234M、2G)
例如:
ls -l t*:列出所有文件名以"t"开头的文件信息
cd
切换文件目录至dirName
例如:
cd /:进入系统根目录
cd aa/bb/cc:跳转到指定目录,注意这里"aa"前没有"/",指从当前目录跳转到指定目录
cd ~:进入系统主目录
cd ..:跳转到上一级
pwd
查看当前工作目录的完整路径
mkdir
用来创建指定的名称的目录,要求创建目录的用户在当前目录中具有写权限,并且指定的目录名不能是当前目录中已有的目录
-m:创建目录的时候设定权限
-p:若创建目录的路径中有些路径不存在,可一次性地建立多个目录
例如:
mkdir test1:创建一个空目录test1
mkdir -p test1/test2:递归创建多个目录
mkdir -m 777 test:在创建目录test3的时候给此目录赋予777的权限
rm
删除一个目录中的一个或多个文件或目录,它可以将某个目录及其下所有文件及子目录删除。对于链接文件,只是删除了链接,原有文件均保持不变
-f:强制删除且不给出提示
-r:将参数中列出的目录路和子目录均递归删除
-v:显示详细进行的步骤
例如:
rm -rf *.log:删除任何.log文件并且不询问用户
mv
可以用来移动文件或者将文件改名,常用来备份文件或目录
例如:
mv log1.txt log.txt test3:将log1.txt、log2.txt移动到test3文件夹中
mv dir1 dir2:如果dir2不存在,则将dir1改名为dir2;如果dir2存在,则将dir1移入dir2中
mv * ../:移动当前文件夹下所有文件至上一级目录
mv test3/*.txt test5:将test目录下所有的.txt文件全部移动到test5文件夹下
cp
复制文件或目录
例如:
cp log.log test6:将log.log复制进入test6目录下
cat
cat主要有三个功能:
1、一次性显示整个文件
2、从键盘创建一个文件
3、将几个文件合并为一个文件
顺便提一句,tac这个命令和cat一样,无非是将文件内容从最后一行到第一行显示而已。
-E:在每行结束显示"$"
-n:对输出的所有行进行从1开始的编号
-s:对连续两行的空白行代替为一行
-T:将跳格字符(tab)显示为"^I"
例如:
cat -n log1.log log2.log:将log1.log加上行号后输入到log2.log文件中,log2.log在目录中必须存在
cat -n log1.log > log.log:将log1.log加上行号后输入到log.log文件中,log.log在目录中不存在
tail
用于显示指定文件末尾内容,不指定文件时,作为信息输入进行处理。常用查看日志文件
-f:不断读取,循环刷新,这样可以看到最新的文件内容
-q:不显示处理信息
-v:显示详细的处理信息
-c<数目>:显示的字节数
-n<行数>:显示的行数
例如:
tail -n 5 log1.log:显示log1.log最后5行的内容
tail -f log1.log:循环查看log1.log的内容