您的位置:首页 > 运维架构 > Linux

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

2018-01-16 20:37 369 查看

第二章    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文件中的文件列表。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: