【Linux知识点总结:Linux常用命令】

第二章    Linux常用命令

1、进入shell界面:Linux系统提供的命令需要在shell环境下运行,因此需要从图形界面切换到shell界面(即命令行界面)。

(1)启动终端的方法:快捷方式:Ctrl+Alt+T

(2)关闭终端的方法:Ctrl+D

2、shell命令格式:

(1)命令提示符:username@hostname: direction$(用户名@主机名:当前目录$)

【Linux知识点总结:Linux常用命令】_第1张图片

(2)命令格式:

bash命令的一般格式:命令名  [选项] [参数1] [参数2]

说明:

①命令名必须是小写英文字母。

②选项部分是可选的,即该项对命令行来讲不是必需的,依具体情况而定。

③选项是对命令的特别定义,以“-”开始且多个选项可用“-”连接。(例如:ls - l)

④命令行参数通常是命令执行过程中所使用的文件名。

(3)输入命令:

①shell可以鉴别输入命令的大小写。

②如果命令太长一行无法放下时,可以在行尾输入“\”字符并按Enter键进行换行,此时shell会返回大于号(>)作为提示符表示该命令行尚未结束,允许继续输入有关信息。


【简单命令】

(1)who命令:

who命令将列出所有正在使用系统的用户、所用终端名和注册到系统的时间。

whoam i命令将列出使用该命令的当前用户的相关信息。


(2)echo命令:

echo命令将命令行的参数显示到屏幕上。

例如:$echo Happy New Year!(输出:Happy New Year!)

说明:echo命令通常用于shell脚本中作为输出提示信息的手段。如果echo的参数用引号括起来,则参数按原样输出;如果echo的参数不用引号括起来,则字符串中各个单词将作为字符串输出,各单词间以一个空格分隔。

例如:

$echo'This is a    command'    (a与command间有4各空格)

输出:This is a    command(原样输出)

 $echoThis is a    command

输出:This is a command(各单词间只有一个空格)


(4)cal命令:

cal命令显示公元1-9999年中任意一年或者一个月的日历。如果使用该命令时不带任何参数,则显示当前月份的日历。如果在cal命令后只有一个参数,则该参数被解释为年份而不是月份。当有两个参数时,则第一个参数表示月份,第二个参数表示年份且两个参数间有空格分隔。

例如:$cal 10 (将列出公元10年的日历)

例如:$cal 10 2006 (将列出2006年10月份的日历)


(5)clear命令: clear命令用于清除屏幕上的信息。

(6)passwd命令: passwd命令用于修改账户的登录密码。

$passwd

Changingpassword for user meng.[用户名是meng]

Changingpassword for meng

(current)UNIX Password:[提示输入旧密码]

NewUNIX password:[要求输入新密码]

Retypenew UNIX password:[重新输入新密码 两次密码一致 系统接受新密码]

【文件操作命令】

(1)cat命令: cat命令用于连接文件并打印到标准输出设备上,经常用来显示文件的内容。

①格式:cat [选项] 文件

②功能:

显示文件内容:将文件内容输出到标准输出上。($cat filename)

连接文件内容:($cat filename1 filename2 > filename3:将filename1和filename2的内容合并起来并将他们放到filename3)

创建新的文件:只能创建新文件,不能编辑已存在文件。($cat >filename)

使用cat重定向:就是使shell改变它所认定的标准输出,或者改变标准输出的目标。

③选项:

$cat - b: 对所有非空输出行进行编号。

$cat - n: 对所有输出行进行编号。

$cat - s: 将多个相邻的空行合并成一个空行。

④举例:

$cat m1: 显示文件m1的内容。

$cat m1 m2:同时显示文件m1和m2的内容。

$cat m1 m2 > m3:将文件m1和m2的内容合并后放到文件m3中。


(2)more命令:more命令显示文件内容,每次显示一屏。

①格式:more [选项] 文件

②功能:该命令每次显示一屏文本,满屏后停下来并且在屏幕底部出现提示信息,给出至今已显示的该文件的百分比。

③选项:

$more - n: 这个选项指定整数表示一屏显示多少行。
 
$more - s: 将文件中连续的的空行合并成一个空行。

$more - c或者-p: 不进行滚屏操作,显示下一屏幕前先清屏。

$more + n: 从指定的数字行开始显示。


④举例:
$more -dc file: 显示文件内容,在显示之前先清屏并在屏幕下方显示完整的百分比。

$more -c -10 file: x显示文件内容,每10行显示一次而且在显示之前先清屏。


(4)less命令:

说明:less命令与more命令相似也是用来分屏显示文件内容。但是less命令允许用户向前或向后浏览文件,而more命令只能向前浏览。


(5)head命令:head命令在屏幕上显示指定文件的开头若干行。

①格式:head [选项] file

②功能:head命令在屏幕上显示指定文件的开头若干行,行数由参数值来确定默认值是10。

③选项:

$head -c: 显示文件前面的N字节,如果为N前面带有"-"则显示文件最后N字节以外的所有内容。

$head -n: 显示文件前面的N行,如果为N前面带有"-"则显示文件最后N行以外的所有内容。

$head -q: 隐藏文件的文件名,不显示文件的标题。

$head -v: 始终显示给定文件的标题。

④举例:

$head -5 file: 显示文件file的前5行。

$head -v file: 显示文件的内容并且给出文件名标题。

$head -q file: 显示文件的内容但隐藏文件名标题。


(6)tail命令:tail命令在屏幕上显示指定文件的末尾若干行。

①格式:tail [选项] file

②功能:tail命令在屏幕上显示指定文件的末尾10行。如果表示字节或行数的N值前有"+",则表示从文件开头的第N项开始显示。

③选项:

$tail -c: 输出最后N个字节。
$tail -f: 当文件增长时输出附加的数据。
$tail -n: 输出最后N行。
$tail -q: 隐藏文件的文件名,不显示文件的标题。
$tail -v: 始终显示给定文件的标题。

④举例:

$tail file: 显示文件file的最后10行。

$tail +20 file: 显示文件的内容,从第20行到文件末尾。

$tail -c -10 file: 输出文件file最后10个字符。


(7)touch命令:touch命令可以修改指定文件的时间标签或者创建一个空文件。

①格式:touch [选项] file

②功能:touch命令将会修改指定文件的时间标签,将已存在文件的时间标签更新为系统当前的时间(默认方式),它们的数据将原封不动的保留下来。如果文件尚未存在则建立一个空的文件。

③选项:

$touch -a: 仅改变指定文件的存取时间。

$touch -c: 不创建任何文件。

$touch -m: 仅改变指定文件的修改时间。

$touch - t: 使用指定的日期时间而非现在的时间,设定时间与日期,格式与date相同,YYYYMMDDhhmmss

④举例:

$touch filename: 在当前目录下建立空文件filename


【匹配、排序及显示指定内容的命令】

(1)grep命令:在文本中查找指定的词或短语,该命令只显示查找到的文本行,不修改文件。

该命令组包含三个命令:grep、egrep、fgrep:

grep: 每次只能搜索一个指定的模式。
egrep(grep - E):可以使用拓展的字符串模式进行搜索。
fgrep(grep  - F):快速搜索命令,检索固定字符串但不识别正则表达式。


①格式:grep [选项] 查找内容串 [ 文件名1,文件名2,····]

②选项:

grep -c: 显示文件中符合搜索内容的行的总数。

grep -i: 搜索时不区分字母的大小写。

grep -n: 在输出符合搜索内容的行之前,顺便输出该行的行号。

grep -v: 反向选择,显示不符合搜索内容的文本行。




③举例:grep 'the' test


(2)sort命令:sort命令对文本文件的各行进行排序。

①格式:sort [选项] 文件列表 

②功能:sort命令将逐行对指定文件中的所有行进行排序,并将结果显示在标准输出上。

③选项:

$sort -m: 对已经排好序的文件统一进行合并但不做排序。

$sort -c: 检查给定的文件是否已经排好序,若没有则显示错误消息,不排序。

$sort -u: 与c选项一起使用,严格的按顺序检查,去除对排序后的重复行。

改变排序规则的选项:

$sort -d: 按字典顺序进行排序。

$sort -f: 忽略字母的大小写。

$sort -i: 忽略非打印字符。

$sort -r: 按逆序进行排序。默认排序顺序是按升序排序的。

$sort -k n1,n2: 指定文本行的第n1字段开始至第n2字段(不包括n2字段)中间的内容作为排序关键字。n1列为主要关键字,n2列作为次要关键字。

④举例:

$head filename1 > filename2: 将文件filename1的前10行定向到文件filename2中。

$sort filename2: 对filename2文件进行排序。

$sort -k 2,3 filename: 以行的第二列作为主要关键字,第三列作为次要关键字第三个字段,对filename文件进行排序。


(3)uniq命令:该命令从排好序的文件中去掉重复行。

①格式:uniq [选项] [输入文件[输出文件]]

②功能:uniq命令读取输入文件并比较相邻的行,去掉重复的行并将结果写到输出文件中。输入文件和输出文件必须不同。

③选项:

$uniq -c: 显示输出时,在每行的行首加上该行在文件中出现的次数。

$uniq -d: 只显示文件中重复行的。

$uniq -u: 只显示文件中不重复的行。

④举例:

$uniq -u test: 显示文件test中不重复的行。


(4)find命令:查找符合条件的文件或目录。 

选项:

$find -name

举例:
①知道文件名字,忘记存放位置:  find / -name "filename"

②知道部分文件名,查找位置:
find /etc-name *gc*: 查找包含gc的
find /etc-name gc*: 查找gc开头的



【 比较文件内容的命令】

(1)comm命令:comm命令对两个已经排序的文件进行逐行比较。

①格式:comm [-123] file1 file2

②功能:comm命令对两个已经排好序的文件进行比较,comm从这两个文件中读取正文行进行比较,最后生成三列输出:仅在file1中出现的行、仅在file2中出现的行、在两个文件中都出现的行。

③选项;

$comm -1: 表示不显示第一个文件出现的内容。

$comm -2: 表示不显示第二个文件出现的内容。

$comm -3: 表示不显示同时在两个文件中都出现的内容。

④举例:

$comm -12 file1 file2: 比较文件file1和file2并且只显示他们共有的行(相当于交集)。


(2)diff命令:diff命令比较两个文本文件并找出他们的不同。diff命令比comm命令完成更复杂的检查,并且不要求两个文件预先排好序。

①格式:diff [选项] 文件1 文件2

②功能:该命令逐行比较两个文件并列出他们的不同之处,告诉用户为了使两个文件相同需要修改它们的哪些行。如果两个文件完全一样则该命令不显示任何输出。

该命令输出的一般形式:字母(a、d、c)前的行号(n1、n2)是针对文件1的,后面的行号(n3、n4)是针对文件2的。其中a表示附加、d表示删除、c表示修改。

n1 a n3 n4: (表示把文件1的n1行添加到文件2的n3~n4行后两者相同)
n1,n2 d n3: (表示删除文件1的n1~n2行以及文件2的n3行后两者相同)
n1,n2 c n3,n4:(表示把文件1的n1~n2行改为文件2的n3~n4行后两者相同)

③选项:

$diff -b: 忽略空格造成的差别。例如:How  are you与How are you被看作相同的字符串。

$diff -i: 忽略字母大小写的区别。

$diff -r: 当文件1和文件2都是目录时,递归比较找到的各子目录。


【复制、删除和移动文件的命令】

(1)cp命令:cp命令将源文件或目录复制到目标文件或目录中。

①格式:cp [选项] 源文件或目录 目标文件或目录

②功能:如果源文件是普通文件,则该命令把它复制到指定的目标文件中;如果是目录就需要使用“-r”选项,将整个目录下所有的文件和子目录复制到目标位置。

③选项:

$cp -a: 该选项通常在复制目录时使用。它将递归地将源目录下的所有子目录及其文件复制到目标目录中,并且保留文件链接和文件属性不变。

$cp -i: 在覆盖目标文件之前先给出提示,要求用户予以确认。回答y将覆盖目标文件,这是交互式复制。

$cp -d: 复制时保留文件链接。

$cp -p: 除复制源文件的内容外,还将其修改时间和存取时间权限也复制到新文件中。

$cp -r(-R): 递归复制目录,将源目录下的所有文件及其各级子目录都复制到目标位置。

④注意:
cp命令复制一个文件,而原文件保持不变。如果将一个文件复制到目标文件中,而目标文件已经存在则该目标文件的内容破坏。

⑤举例:

$cp file /home/meng/exam1: 将文件file复制到目录/home/meng下并改名为exam1。

$cp -r  /home/meng  /home/test: 将目录/home/meng下的所有文件及子目录复制到目录/home/test中。


(2)rm命令:rm命令删除指定的文件和目录,删除后无法恢复。

①格式:rm [选项] 文件列表

②选项:

$rm -f: 忽略不存在的文件,并且不给出提示信息。

$rm -i: 交互式的删除文件。

$rm -r(-R): 递归地删除指定目录及其下属的各级子目录和相应文件。


(3)mv命令:mv命令对文件或目录重新命名,或者将文件从一个目录移到另一个目录中。

①格式:mv [选项] 源文件或目录 目标文件或目录

②选项:

mv -i: 交互式操作。如果源文件与目标文件或目标目录中的文件同名,则询问用户是否覆盖目标文件。用户输入y表示将覆盖目标文件;输入n表示取消对源文件的移动。

mv -f: 禁止交互式操作。

③举例:

$mv file filename: 将文件file改名为filename。

$mv  /home/meng/*  . :将目录/home/meng中的所有文件移到当前目录(用“.”表示)中。


【文件内容统计命令】 

(1)wc命令:wc命令统计指定文件的字节数、字数、行数,并将统计结果显示出来。

①格式:wc [选项] 文件

②说明:wc输出的顺序和数目不受选项顺序和数目的影响。显示格式:行数 字数 字节数  文件名

③选项:

$wc -c: 统计字节数

$wc -l: 统计行数

$wc -w: 统计字数

④举例:
$wc -lcw ex1 ex2: 统计文件ex1和ex2的行数、字数、字节数。

$wc ex1 ex2: 不带选项,统计文件统计文件ex1和ex2的行数、字数、字节数。


【目录概述】

(1)用户主目录:注册进入系统时主目录就是用户当前工作目录,主目录包含子目录、数据文件及用于注册环境的配置文件。主目录通常位于/home下并且与注册名相同。(例如:/home/meng)

(2)路径名:
①绝对路径名:每个文件有唯一的绝对路径名,它是沿着层次树从根目录开始,由到达相应文件的所有目录名连接而成的,各目录名之间以斜线(/)字符隔开。绝对路径名总是以斜线(/)开头表示根目录,使用pwd命令可以在屏幕上显示当前工作目录的绝对路径名。

例如:
$pwd
/home/meng

②相对路径名:相对路径名利用相对当前工作目录的路径指定一个文件,相对路径名不能以斜线(/)字符开头。

如果访问当前工作目录和当前工作目录之上的文件,可以在相对路径名中使用特殊路径名—(.)和(..):
(.):表示本目录本身。
(..):表示当前目录的父目录

当前目录为/home/meng/lib,想列出/home/liu目录的内容,可使用命令:ls ../../liu

例如: 
/home/meng/lib的父目录是/home/meng,后者的父目录是/home。



【创建和删除目录的命令】

(1)mkdir命令:mkdir命令用来创建目录。

①格式:mkdir [选项] dirname

②说明:该命令创建由dirname命名的目录,在创建目录时应保证新建的目录与它所在目录下的文件没有重名。

③选项:

$mkdir -p: 可以一次建立多个目录, 该选项可以是路径名称,此时若路径中的某些目录尚不存在,加上此选项后系统将自动建立那些尚不存在的目录

④举例:

$mkdir -p d2/d3: 在当前目录下建立目录d2和d2下的d3目录,即连续建立两个目录(建立多层目录)。


(2)rmdir命令:rmdir命令可以从目录中删除一个或多个空的子目录。

①格式:rmdir [选项] dirname

②选项:

$rmdir -p: 递归的删除目录dirname,即先删除内层后外层变为空也同时被删除。当子目录删除后其父目录变为空目录时也一同被删除,如果有非空的目录,则该目录保留下来。

③注意:
子目录被删除前应该是空目录,当前工作目录必须是被删除目录之上,不能是被删除目录本身,也不能是被删除目录的子目录。

④举例:
$rmkdir -p bin/test: 删除子目录test和父目录bin。



【改变工作目录和显示目录内容的命令】

(1)cd命令:cd命令改变工作目录。

①格式:cd [dirname]

②功能:如果想访问其他目录下的若干文件,简便的方法是把当前工作目录改到那个目录上去,然后从新的工作目录出发去访问那些文件。使用cd命令可以改变当前工作目录,且有唯一参数即表示目标目录的路径名(相对路径名或绝对路径名)。

利用(..)形式可以把工作目录向上移动两级目录。

如果从系统的任何地方返回到主目录,可以使用不带任何参数的cd命令。

③举例:

$cd/home/meng: 将当前目录改到/home/meng。

$cd: 将当前目录改到用户的主目录。

$cd ../../: 将当前目录向上移动两级。

$cd/: 进入根目录
 

(2)pwd命令:pwd命令显示出当前工作目录的绝对路径。

①格式:pwd

②说明:该命令不用带任何选项或参数,利用pwd命令可以知道当前工作在哪个目录下。


(3)ls命令:ls命令列出指定目录的内容,是管理文件时最常用的命令。

①格式:ls [选项] [目录或文件]

②说明:如果给出的参数是目录,该命令将列出其中所有子目录与文件的信息;如果给出的参数是文件,将列出有关该文件属性的一些信息。在默认情况下,输出条目按字母顺序排列。如果没有给出参数,将显示当前目录下所有子目录和文件的信息。

③选项:

ls -a: 显示指定目录下所有子目录和文件,包括隐藏文件。

ls -c: 按文件的修改时间排序。

ls -s: 显示文件和目录的大小,以区块为单位

ls -d: 如果参数是目录,则只显示它的名字(不显示其内容)。

ls -r: 按逆序显示ls命令的输出结果,默认ls命令以文件名的字典顺序排列。

ls -R: 递归地显示指定目录的的各个子目录中的文件。

ls -F: 在列出的文件名后加上不同的符号,区分不同类型的文件。

/ 表示目录
* 表示可执行文件
@ 表示符号链接文件
| 表示管道文件

ls -l: 以长格式显示文件的详细信息。输出的信息分成多列,依次为:

文件类型与权限 链接数 文件主 文件组 文件大小 建立或修改最近的时间 文件名 

例如:
-rw-r--r-- 2 meng group 198 10月20 2010 file

字段的含义说明:

1.第一个字段中第一个字符表示文件类型,含义是:
-: 普通文件
d: 目录
b: 块设备文件
c: 字符设备文件

2.随后的字符表示文件的存取权限,含义是:
r: 可读
w: 可写
x: 可执行(对于目录表示可以访问该目录)


【系统相关命令】

(1)chmod命令:chmod命令用于改变或设置文件和目录的存取权限。

1. 说明:根据表示权限的方式不同,chmod命令有两种用法:

①以符号模式改变权限

格式:chmod key 文件名
说明:key由三部分组成:[who]  [操作符号]  [mode]

[who]操作对象可以是下述字母中的任意一个或者他们的组合。
u(用户):文件或目录的所有者。
g(同组用户):与文件属主有相同组ID的所有用户。
o(其他用户)
a(所有用户)

[操作符号]
+:添加某个权限
-:取消某个权限
=:赋予给定权限并取消其他所有权限

[mode]所表示的权限可用下述字母任意组合
r:可读
w:可写
x:可执行
u:与文件属主拥有一样的权限
o:与其他用户拥有一样的权限

②举例:
$chmod a+x file: 将文件file的权限改为所有用户都有执行权限。
$chmod u=r,ug=x file: 将文件file的权限重新设置为文件主可以读和执行,组用户可以执行,其他用户无权访问。

(2)sudo命令:临时为普通用户授权为超级用户的命令,将sudo放到要执行的命令前即可,授权时间为5分钟,过期后会再次要求输入密码。
(3)shutdown命令:关闭或者重启Linux系统,允许用户在指定的时间点或者时间段之后关闭或重启Linux系统。

①格式:shutdown [选项] [+时间]
时间格式:hh:mm
时间段格式:+分钟数

②选项:
$shutdown -h: 关机
$shutdown -r: 重启

③举例:
$shutdown -h +1: 关闭系统一分钟


【文件压缩和解压缩的命令】

(1)gzip命令:gzip命令对文件进行压缩和解压缩,压缩拓展名为.gz。

①格式:gzip [选项] [name]

②选项:

$gzip -d: 将被压缩文件解压缩。

$gzip -r: 递归地查找指定目录并压缩其中的所有文件或解压缩。

$gzip -l: 详细列出被压缩文件的信息。

(2)unzip命令:unzip命令对zip格式的压缩文件进行解压缩,这种格式的压缩文件带有后缀.zip。

①格式:unzip [选项] 被压缩文件名

(3)tar命令:tar是讲多个文件打包成一个合并文件的命令。

①格式:tar [选项] [filename.tar] [directory/tar]
[filename.tar] 表示要创建的tar文件
[directory/tar] 表示想要放入tar文件的文件或目录

②格式:

$tar -c: 创建一个新的tar文档,即打包。

$tar -x: 从tar文档中抽取文件,即解压。

$tar -v: 显示文件的归档进度。

$tar -z: 使用gzip来压缩tar文件。

$tar -t: 显示包括在tar文件中的文件列表。




你可能感兴趣的:(【Linux知识点总结:Linux常用命令】)