首先,要知道在linux中命令的格式基本是一下形式:
# 命令名 [-选项] 参数
需要注意的是,命令名、选项或者参数之间都是至少要有一个空格,多个空格没有关系,选项不是必需的。当有多个选项时,可以写在一起。因为Linux基本是由C语言编写的,所以无论命令名或选项,Linux都是严格区分大小写的。
1.列出文件夹下文件列表,命令如下:
# ls -选项 文件名或者目录名
如果单单使用# ls
命令则显示当前文件夹下的文件列表
和ls常用的选项组合如下图:
在默认情况下蓝色代表目录,白色代表普通文件,红色代表压缩文件或者软件包,绿色代表可执行文件,浅蓝色代表链接文件,黄色代表设备文件等。但是这并不是在所有情况下都是有效的,之所以能以颜色区分,是因为在执行命令“ls -l”时,实际上是执行了默认执行了ls --color=auto
命令。
如果要想确切地知道到底是文件还是目录,可以通过ls –l
命令,首行字母为"d"则为目录;首行字母为"-"的即为文件;首行字母为"l"的为软链接文件。
2.改变当前所在目录位置命令:cd
# cd 路径
linux中所有文件或者目录都挂载在“/”目录下,所以如果一个文件或者目录的详细位置是从“/”开始的话,这样的路径称为绝对路径,如/etc/init.d/lvm。如果路径不是从根写起,则称之为相对路径,例如,现在所处的位置为/etc目录中,如果现在要进入xxw目录中,则可以执# cd xxw
ps:直接在命令行中输入cd命令而不加任何参数,可以马上回到用户的主目录(~)
3.查看当前路径命令:pwd
pwd命令能够显示当前所处的路径。
这个命令比较简单,如果有时在操作过程中忘记了当前的路径,则可以通过此命令来查看路径,其执行方式为:
# pwd
/home/samlee
4.改变文件创建时间及创建空文件命令:touch
# touch 文件名
一般来说,建立一个文件都会使用一个文本编辑器,但是也可以使用touch命令来创建一个空白的文件。
例如,现在要在/home目录下创建一个名为test的空白文件,可以执行命令:# touch /home/test
实际上,对于touch命令来说,其最主要的功能是改变文件的时间,那么一个文件拥有哪些时间属性呢?对于一个文件来说,主要有三种时间属性,分别为:
(1)mtime:这个时间记录的是文件内容被修改的时间。
(2)ctime:这个时间记录的是文件的属性(所有者、所属组、文件名)或者权限被修改的时间。
(3)atime:这个时间记录的是文件的内容被读取的时间。
使用# touch 已存在文件名
则可以改变文件的mtime、ctime、atime为当前时间。
5.创建文件夹
# mkdir 文件名
有时候我们需要一次性地建立多级目录,则可以使用-p参数:
# mkdir -p /home/dir1/dir2/dir3
6.删除文件和目录:rm
# rm [-选项] 文件名或者目录名
当使用rm命令删除目录时,应该加上-r选项# rm -r /home/directory
否则系统会显示不能删除目录的信息。
如果我们要在每一次执行此命令前都要进行确认操作是否进行,则可以加上-i 选项:# rm -i /home/file
。
rm命令选项如下图:
7.复制命令:cp
cp命令能够复制一个文件或者生成一个不同名但是内容相同的文件。
cp命令的执行方式:
如果是复制文件,则执行方式为:
# cp源文件名 目标路径
如果是生成不同名但是内容相同的文件,则下达方式为:
# cp源文件名 目标文件名
例如,现在需要将/etc/passwd文件复制到/home目录中,可以执行如下操作:
# cp /etc/passwd /home
这时在/home目录中即有一个文件passwd,现在想生成一个passwd_new文件,要求内容与passwd文件内容相同,则可以执行命令:
# cp passwd passwd_new
cp命令部分选项:
8.移动文件(目录)命令:mv
mv命令用来移动一个文件(目录)或者是给文件(目录)改名。
mv命令的执行方式为:
如果是移动文件,则执行方式为:
# mv要移动的文件 目标路径
如果是给文件改名,则执行方式为:
# mv原文件名 新文件名
例如,在/目录下有一个文件为test,要将其移动到/home目录中,可以执行如下操作:
# mv /test /home
此时就将test文件移动到/home目录中了,现在需要将其改名为test_new,则可以执行如下操作:
# mv /home/test /home/test_new
这样就将test文件成功改名为test_new。
9.显示文件内容命令:cat
cat命令的常见用法是查看一个文件的内容,例如,现在想查看一下/etc/passwd文件的内容,可以执行命令:
# cat /etc/passwd
这样不用打开文件就可以看到passwd文件的内容了,但是cat命令的一个缺点是它在显示文件内容时不能做任何停留,所以如果遇到了一个文件内容超过整个屏幕的时候我们只能看到其最后部分,解决的办法是使用管道符(见第9章)和分屏显示命令:
# cat /etc/passwd | more
还可以通过cat命令和输出重定向命令将一个文件的内容输出到另一个文件中去,即我们常说的将两个文件进行合并:
# cat /etc/passwd >> /home/passwd_bak
这样passwd文件的内容就会追加到passwd_bak文件中,从而达到两个文件合并的目的。
10. 从头开始查看文件内容命令:head
head命令能够从头开始显示文件内容,并且能够设定查看的行数。
head命令的执行方式为:
# head [-n] 文件名
n为数字,即设定的行数。
head命令能够从文件开始处查看一个文件的指定的行数,如想要查看/etc/passwd文件的前五行,可以执行命令:
# head -5 /etc/passwd
如果没有指定行数的话,默认是显示前十行。
11. tail命令
tail命令能够从文件结尾开始显示文件内容,并且指定查看的行数。
tail命令的执行方式:
# tail [-n] 文件名
tail命令能够从一个文件的结尾处向上查看一个文件的指定的行数,它正好与head命令相反,是倒序进行查看的,如想要查看/etc/passwd文件的后面5行,可以执行命令:
# tail -5 /etc/passwd
与head命令一样,如果没有指定行数的,默认是显示后面十行。
12. 分屏显示文件命令:more(less)
more命令能够对文件内容或者查询结果进行分屏显示。more命令的执行方式为:
# more 文件名
more命令可以单独使用,也可以和配合管道符使用。它的主要作用是能够将屏幕输出的结果分屏显示。例如使用cat命令查看/etc/passwd文件时,只能看到最后的内容,为了能够看到文件所有内容,可以执行命令:
# more /etc/passwd
或者是配合管道符命令:
# cat /etc/passwd | more
这时就可以分屏来查看文件内容了,可以通过回车键向下一行行滚动,但是它的缺点是不能够进行向上滚动,如果想向上翻屏,需要使用less命令,less命令的用法与more命令完全相同,唯一不同点是less命令能够向上翻屏。可以通过上下箭头进行上下一行行滚动,也可以通过page up/page down命令向上/向下进行一屏一屏滚动。
14. 文件比较命令:diff
diff命令能够比较两个文件的差异,diff命令的执行方式为:
# diff [-选项] 文件一 文件二
如果想比较出两个文件内容的不同,使用diff命令非常方便。例如,现在将/etc/passwd文件复制到/home目录下,并且将其复制生成文件passwd_new,再将passwd_new文件进行修改,然后使用diff命令比较出两个文件的不同,操作如下:
# cp /etc/passwd
# cp /home/passwd /home/passwd_new
# diff /home/passwd /home/passwd_new
这样就很容易看到两个文件的不同了。
diff命令后还可以加一个目录名和文件名或者两个都是文件名,换句话说,如果上述命令执行方式处的文件一(或者是文件二)是目录,文件二(或者是文件一)不是目录,这样diff就会在目录中找到与文件名相匹配的文件进行比较,例如:
# diff /home file
这样diff会在/home目录中找到是否有file文件,然后与后面的file文件进行内容比较。
15. 排序命令:sort
sort命令能够对文件内容或者查询结果进行排序。
sort命令的执行方式为:
# sort [-选项] 文件名
sort命令可以对指定文件中的所有行进行排序,它的排序是根据从指定的行抽取的一个或者多个关键字来进行排序的。
例如,现在想根据/etc/passwd文件中的第三列来将passwd文件进行排序后输出,应该下达如下命令:
# sort -t “:” -k 3 /etc/passwd
其中-t选项指定了每列的分割符,-k选项指定了以第几列进行排序。
sort命令选项很多,表7-6列出了其常用选项:
表7-6 sort命令选项
16. 统计命令: wc
wc命令可以对文件的行数、单词数和字符数进行统计。
wc命令执行方式为:
# wc [-选项] 文件名
wc命令是一个对文件进行统计的非常好的命令,例如,现在需要统计当前系统内有多少用户,因为/etc/passwd文件中保存了所有的用户,并且每个用户的信息为一行,所以可以执行命令:
# wc -l /etc/passwd
这样就能够得到当前Ubuntu系统中的用户数,wc命令还经常和管道符进行联合使用,对前一个命令的查询结果进行统计。
sort命令的常用选项如表7-7所示。
表7-7 wc命令选项