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

xiaoxiao2021-02-28  2

第二章    Linux常用命令

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

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

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

2、shell命令格式:

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

(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文件中的文件列表。
转载请注明原文地址: https://www.6miu.com/read-1600357.html

最新回复(0)