一、Linux基本指令
⑴ 指令格式
指令名称 [选择项] [参数]
同一行中可以输入一个以上的指令,只要指令间以分号(;)隔开,Linux将会按次序执行命令序列。
⑵ 指令选择项
为了执行动作产生不同的结果;选择项以(-)号开头;
⑶ 指令参数
参数的目的是描述指令所需的一些信息(例如:文件名称),而这些信息在每次执行该指令时都不相同。
⑷ 通配符
“*”:可用来代表文件名中的任意长度的字符串;
“?”:可用来代表文件名中的任一字符;
“[]”:可用来代表文件名中的任一属于字符组中的字符。
二、Linux文件的类型
选择项 | 作用 |
---|---|
- | 正文文件——普通文件 |
d | 目录文件 |
b | 块设备文件 |
c | 字符设备文件 |
l | 链接文件 |
p | 管道文件 |
三、Linux基本命令
1.man 显示联机Linux手册
[格式] $ man [option] [chapter] title…
[描述] man命令打印你所指定的命令。在你的LINUX系统中,也许有LINUX系统V用户 手册或Linux程序员手册。在较小的Linux系统中,也许没有man命令, 因为联机手册需要相当大的磁盘空间。
[举例] 你可使用命令man who查看who命令的手册描述。
2. ls 显示当前工作目录下内容
[格式] $ ls [-ltr]
[描述]ls(list)命令是非常有用的命令,根据文件名按字母顺序显示当前目录中的文件和子目录列表。配合参数的使用,能以不同的方式显示目录内容。
[选择项] ls命令有多个选择项,下面列出几个重要的选择项:
选择项 | 作用 |
---|---|
- l | 以长[格式]列出文件,其中包括文件中的字符个数, 以及最近修改的日期和时间 |
- t | 以最近修改的时间顺序列出文件 |
- r | 将-t选择的列表顺序变反 |
- a | 显示隐藏文件。当运行ls命令时,并不会显示名称以“.”开头的文件。因此可加上“-a”参数指定要列出这些文件 |
3.cd 切换工作目录----在目录树中移动
[格式] $ cd [路径]
[描述] cd(change directory)命令切换到指定的目录,并把它作为工作目录。 它有三种[格式]:
格式 | 作用 |
---|---|
cd | 返回用户主目录,并把它作为工作目录 |
cd 目录名称 | 改变现行目录到指定目录 |
cd . . | 返回到工作目录的父目录,并把它作为工作目录 |
cd / | 进到根目录 |
4.mkdir 在当前工作目录下建立子目录
[格式] $ mkdir 目录名称
[描述] mkdir(make directory)命令建立1个或多个指定目录。
5. rmdir 删除当前工作目录下子目录
[格式] $ rmdir 目录名称…
[描述] rmdir(remove directory)命令删除指定目录,而目录必须为空。如果目录不为空,LINUX将显示适当的报错信息。
[注释] 要删除含有文件的目录,你可使用带有危险性的rm-r命令。
6. rm 删除文件
[格式] $ rm 文件名…
[描述] rm命令删除一个或多个指定文件。
选择项 | 作用 |
---|---|
- i | 选择项使LINUX询问是否要删除指定文件。如果是这样,则键入y (表示yes),否则键入n (表示no) |
- f | 选择项使LINUX直接删除文件,不再询问 |
- v | 选择项使LINUX显示删除过程 |
[举例] 为删除文件pterodacty,请键入命令rm pterodacty<CR>。
为用-i选择项删除文件“dinosaur”,请输入命令rm-i dinosaur<CR> 。LINUX会问你“rm:remove dinosaur?(删除dinosaur吗?)”如果你要删除“ dinosaur”,则键入y,否则,键入n。
7. rm -r 删除目录及其文件
[格式] $ rm -r 目录名称
[描述] rm -r(remove recursively)命令删除指定目录及其内容。
[注释] rm -r命令删除指定目录以及目录所含的所有文件和目录。命令rm -r具有很大的危险性,因为你也许不小心删除了你不愿删除的文件。
8. cp 复制文件
[格式] $ cp 文件名1 文件名2
[描述] cp命令进行文件“文件名1”的复制拷贝,拷贝件称为“文件名2”
[注释] 如果你将一文件拷贝到已存在的文件中,那么现存文件的内容会被改写。一般状态下不会显示复制过程,若要显示复制过程,则加入-v参数可显示命令执行过程。加入“-R”参数可同时复制目录下的所有文件及子目录。
[举例] 为将文件从“this”拷贝到“that”中,请输入命令cp this that<CR>
9. mv 移动或重新命名文件和目录
[格式] $mv 文件名1 文件名2
$mv 文件名…directory
$mv directory directory
[描述] mv命令的
第1种[格式]重新命名指定的普通文件;
第2种[格式]将指定的普通文件移到指定目录;
第3种[格式]重新命名带指定名的指定目录,或如果第2个目录名是1 个现存目录,那么就把第1个指定目录移到它里面。
[举例] 下面的命令将普通文件“文件名1”和“文件名2”移到目录“directory.1”中:
mv 文件名1 文件名2 directory.1
下面这条命令将工作目录中其名以“ 文件名 ”开头的所有文件移到目录“ directory.1”中:
mv file* directory.1
下面这条命令不仅重新命名目录“index”, 而且把它从你的工作目录移到目录“/usr/ishmael/book”中。然而,如果“/usr/ishmael/book/index ” 是1个现存目录,那么该命令将把“directory.1”移到其中,而不变更名字。
mv directory.1 /usr/ishmael/book/I
10. 重导与管道
重导(redirect)可将某命令的结果输出到文件中,它有两种命令:“>”和“>>”。“>”可将结果输出到文件中,该文件原有的内容会被删除:“>>”则将结果附加到文件中,原文件内容不会被清除。范例如下:
[tony@free tony]$ ls –a>dir.txt ← 将ls –a命令执行结果输出到dir.txt文件。
[tony@free tony]$ cat data1.txt >> data2.txt ← 将 data1.txt 内容附加到data2.txt文件之后。
通道(pipe)命令的符号是“|”,可将某命令的结果输出给另一命令,以下范例将ls命令的输出结果传给grep命令过滤:
[tony@free etc]$ ls | grep conf ← 搜索并显示ls命令运行结果中包含有“conf”字符串。
11. cat 直接显示文件内容
[格式] $ cat 文件名…
[描述] cat命令将文件名作为其自变量显示文件的内容(经常和more命令搭配使用),或是将数个文件合并成一个文件。
[注释] cat命令通常用文件名作为自变量,如果在你按RETURN 键之前忘记键入文件名,那么请按DELETE键。之后,会出现shell提示符.“cat”表示concatenate; cat命令还可用来合并文件。如果文件显示太快,你可按control-s(∧ S )终止 cat的输出;同时,你可按control-q(∧Q)恢复输出。
[举例]
显示两个文件“bird”和“dog”,输入命令cat bird dog<CR>。 一旦cat显示完“bird”,它便显示“dog”。
将preface.txt 附加到outline.txt文件之后:
[tony@free tony]$ cat preface.txt >> outline.txt
将new.txt和info.txt合并成readme.txt文件:
[tony@free tony]$ cat new.txt info.txt >readme.txt
12. more 分屏显示文件内容
[格式] $ more 文件名…
[描述] 为了避免画面显示瞬间就闪过去,用户可以使用more命令显示文件,一次显示一屏。对每一屏,more都打印一个百分数, 指出已显示了文件的多少内容。为显示另一屏幕,应按SPACEBAR(空格键)。如果你仅想显示下一行,则可按RETURN键,按Q键停止显示。当more显示整个文件后,就返回shell 提示符。要在完成文件显示之前退出more,请按DELETE键。
[选择项] more有一些选择项,在你成为有经验的用户后, 这些选择项对你会有用。 你的用户手册会[描述]这些选择项。
[注释] more命令不是所有LINUX系统中都有。 如果你的系统有more命令,你可使用more命令而不使用cat命令,因为more命令允许你控制显示多少文件内容。当使用ls命令查看文件列表时,若文件太多则可以配合more命令使用。
[举例]
[tony@free bin]$ ls –al more
13. less 上下浏览文件内容
[格式] $less 文件名
[描述] less命令显示文件,且可以回顾前面的内容。当使用less 文件名查看一个文件内容时,屏幕上先显示出第一页的内容,看完后按空格键跳到下一页,按Enter键向下移一行。另外,按PageUp及PageDown键可以看上一页及下一页的内容。结束时要按Q键跳回shell。
14.pwd 列出当前目录的完整路径名
[格式] $ pwd
[描述] pwd(print working directory)命令显示用户当前所在的目录。
15. su 从普通用户注册到root帐户
[描述] su命令可以从普通用户注册到root帐户,而不用退出用户帐户重新登录。在shell提示符$下键入su,回车,输入root口令
16.tar 打包、压缩与解压缩
[格式] tar 参数 文件名
[描述] tar命令位于/bin目录中,它能将用户所指定的文件或目录打包成一个文件,不过它并不做压缩。一般常用的压缩方式是先用tar命令将许多文件打包成一个文件,再以gzip等压缩命令压缩文件。tar命令参数繁多,以下举例常用参数作说明:
选择项 | 作用 |
---|---|
-c | 创建一个新的tar文件 |
-v | 显示运作过程信息 |
-f | 在:指定文件名称 |
-z | 调用gzip压缩命令执行压缩 |
-j | 调用bzip2压缩命令执行压缩 |
-t | 参看压缩文件内容 |
-x | 解开tar文件 |
常用范例:
[tony@free data]# tar cvf data.tar * ← 将目录下所有文件打包成data.tar
[tony@free data]# tar cvf data.tar.gz * ← 将目录所有文件打包成data.tar再用gzip命令压缩
[tony@free data]# tar tvf data.tar * ← 查看data.tar文件中包括了哪些文件
[tony@free data]# tar xvf data.tar * ← 将data.tar解开
[注释] tar命令本身没有压缩能力,但是可以在产生的tar文件后,立即使用其他压缩命令来压缩,省去需要输入两次命令的麻烦。使用-z参数来解开最常见的.tar.gz文件;使用-j参数解开tar.bz2压缩文件;使用-Z参数指定以compress命令压缩。
[tony@free data]# tar –cZvf picture.tar.Z *.tif 将该目录下所有.tif打包并命令压缩成.tar.Z文件
17.passwd 修改密码
[格式] passwd
[描述] passwd(password)命令可让用户变更密码。
[举例]
[tony@free tony]$ passwd
Changing password for user tony
Changing password for tony
(current)UNIX password: ← 输入原密码
New password: ← 输入新密码
Retype new password ← 在此输入新密码
passwd: all authentication tokens updated successfully ← 密码修改成功
四、Linux其他常用命令
1. locate 搜索文件
[格式] l o c a t e 字 符 串 [ 描 述 ] l o c a t e 命 令 按 给 定 字 符 串 搜 索 文 件 , 它 可 将 所 有 文 件 名 称 中 及 路 径 中 包 含 该 字 符 串 的 文 件 , 都 会 连 同 路 径 一 起 显 示 , 甚 至 只 知 道 文 件 的 部 分 名 称 就 可 以 使 用 本 命 令 。 [ 举 例 ] [ t o n y @ f r e e t o n y ] locate 字符串 [描述] locate命令按给定字符串搜索文件,它可将所有文件名称中及路径中包含该字符串的文件,都会连同路径一起显示,甚至只知道文件的部分名称就可以使用本命令。 [举例] [tony@free tony] locate字符串[描述]locate命令按给定字符串搜索文件,它可将所有文件名称中及路径中包含该字符串的文件,都会连同路径一起显示,甚至只知道文件的部分名称就可以使用本命令。[举例] [tony@freetony] locate zh_CN 列出所有包含“zh_CN”字符串的文件和目录。
[注释] 由于locate命令是从系统中保存文件及目录名称的数据库中搜索文件,虽然系统会定时更新数据库,但对于刚新增或删除的文件、目录,仍然可能会因为数据库尚未更新而无法查得,此时可用root身份运行updatedb命令更新,使数据库的内容正确。
2. find搜寻文件与目录
[格式] $find 目录名 选项
常用选项有:
选项 | 作用 |
---|---|
-name filename | 按名字查找 |
-type x | 查找类型为x的文件(x包括:b,c,d,f,l等) |
user username | 查找属主为username的文件 |
-atime n | 查找n天以前被访问过的文件 |
-mtime n | 查找n天以前被修改过的文件 |
-cmin n | 查找-exec cmd {}对查找出来的文件执行cmd命令,{}表示找到的文件,命令要以“\\;”结束 |
[举例]
$find /home/lin -name hash 在 /home/lin 目录下找寻名为 hash 的文件
$find / -name fs* -print 从 / 根目录开始搜寻所有以 fs 开头的文件,然后用参数 –print打印出符合条件的文件路径。
$find. -name .c -exec rm-f{ }\; 表示在用户当前的目录,搜寻所有以 .c 为结尾的文件名.c,然后用参数 -exec 执行 rm-f{ }\; 删除全部以 .c 结尾的文件(注意大括号里面没有空格)。
3.grep 搜索包含特定字符串的文件
[格式] grep “字符串” [要搜索的文本文件]
[描述] grep 命令可以搜索特定字符串来并显示出来,一般用来过滤先前得结果,避免显示太多不必要得信息。
[举例]
[tony@free etc]$ grep text *.conf ← 搜索当前目录中扩展名为.conf且包含“text”字符串得文件。
若您是使用一般权限的用户运行,上例的输出结果会包含很多如“拒绝不符权限的操作之类的错误信息,可使用-s参数消除。
[tony@free etc]$ grep –s text *.conf
另外,grep 命令还可以用于查找用正则表达式所定义的目标。正则表达式包括字母和数字,以及那些对grep有特殊含义的字符。比如:
字符 | 意义 |
---|---|
^ | 指示一行的开头 |
$ | 指示一行的结束 |
. | 代表任意单一字符 |
* | 表示匹配零个或多个*之前的字符 |
范例如下:
$grep ′^b′ file1 查找文件file1中所有以b开头的行。
$grep ′b$′file1 查找文件file1中所有以b结尾的行。
$grep ′an.′ file2 查找文件file2中所有以an为头两个字符的3个字符,包括any,and等。
4.阅读news消息
[格式] $ news
[描述] 在某些系统上,当你注册时,也许出现信息“you have news (有你的新闻消息)”。它告诉你有系统新闻消息。输入命令news,可读取新闻消息。
5. mail 发送或接收用户中的邮件
Linux本身带有邮件系统,当用户使用Linux时,可以使用mail命令电子邮件发送和接收信息.
[格式] $ mail username…
mail [-r] [-f file]
[描述] mail用1个或多个用户名的列表将电子邮件发送给指定用户。 如果邮件命令中使用了1个无效用户名,那么信息在文件“dead.letter”中处理。 如果没有自变量,mail程序将先显示最新的邮件信息。 当你查看你的邮件时,mail 显示1个问号(?)邮件提示符,要你处理每条信息。
[选择项] -r 按反序显示邮件,先显示最旧的信息。
-f file 处理来自命名文件(如“mbox”)中的信息。
邮件命令:
命令 | 作用 |
---|---|
*(或?) | 打印邮件命令一览表。在系统V,“帮助”命令是“*”号。 在其他Linux系统中,“帮助”命令是“?”号 |
<CR> | 显示下一个信息 |
d | 删除信息 |
s [file] | 若无自变量,将信息保存在“mbox”中;如果“ mbox ”不存在, Linux会建立该文件。若有自变量,则将信息保存在一命令文件中。如果文件已存在, Linux就将信息添加到文件后面 |
q | 退出mail程序。 除你用d命令删除的信息或用s命令保存的信息外, 将信息保留在你的邮件文件中 |
x | 退出,但不修改你的邮件文件 |
!command | 执行单个shell命令 |
[举例] 你可以输入命令:
mail username username username <CR>。
将同一信息发送给多个用户(其中包括你自己)。
你可使用命令mail username<file 通过mail程序发送文件内容。
6. who 列出当前联机用户
[格式] $ who [am I]
[描述] who命令显示注册名.端口或终端(tty)号, 以及用户注册的注册时间。 如果我们使用who am I命令,那么LINUX仅在终端上显示帐号的信息。如果你在多个终端上注册,并想知道你目前正使用哪一个,那么命令who am I是很有用的。
[举例] 为查看目前谁已注册,请输入命令who。
7. cmp 比较文件
[格式] $ cmp 文件名1 文件名2
[描述] cmp命令对任意两个文件进行比较(包括二进制文件)。
8. diff 两个文本文件比较
[格式] $ diff 文件名1 文件名2
[描述] 本命令仅用于文本文件,产生两个文本文件间全部差异的索引。
9.echo 复制命令行中的参数
[格式] $echo <参数1> <参数2>……<参数n>
[描述] 在屏幕显示命令行中的参数
[举例] $echo “Hello world”
该命令将在屏幕上显示字符串“Hello world”。
10. wc 对文件中的字、行、字符进行计数
[格式] wc [选项] <文件1> <文件2> ……<文件n>
[描述] 该命令用于正文文件中统计正文的单元。如果命令行中没有指定文件,则指对标准输入进行统计。
[选择项]
-w 对字数进行统计
-l 对行数进行统计
-c 对字符数进行统计
11. help 提供帮助
[格式] $ help arguments
[描述] help解释诊断信息的含义是什么,或讲解命令如何使用。自变量可是命令 名,也可是信息。如果你用stuck做为自变量,那么LINUX将讲解如何使用help。
[举例] 如果你输入命令help man<CR>,LINUX将讲解如何使用man命令。如果你输入命令help stuck<CR>,LINUX将给出有关如何使用help命令的信息。
12. & 在后台运行一个进程
[描述] LINUX系统不但允许不同用户同时执行命令, 而且也允许一个单用户一次完 成两个以上的任务.用户可以在后台运行一个长任务,只要在你要在后台执行的命令行的结尾,简单地键入表示and的字符(&),于是系统将在终端上打印出一个号码, 立即出现提示符($)要求输入下一个命令.
[举例] $ sort -r/usr/dict/words -o word.sort &
13. ∧S 终止命令输出
[描述] 要终止命令输出,应键入control-s。
[举例] 如果LINUX用cal命令显示输出内容并想查看2月份的日历,则键入 control-s。
[注释] 如果你的屏幕不对你的命令作出回答,你也许不小心按了control-s。试按control-q解决这一问题。
14. ∧Q 恢复命令输出
[描述] 如果你已终止命令输出,则键入control-q即恢复输出。
15. DELETE 删除命令和命令行
[描述] DELETE删除命令行,使新的shell提示符出现,它还终止进程中的命令。
[注释] DELETE是控制键。如果你不理解LINUX正在做什么,请按两下DELETE键。这样,你的shell提示符通常会重新出现。
16.显示与设置时间的date、clock和ntpdate命令
date 命令可以显示当前日期时间。范例如下:
[tony@free rony]$ date
9月 8 10:00:00 CST 2006
CST为中部标准时间
clock命令也可以显示出系统当前的日期与时间,不过clock命令默认不允许一般用户执行,请用root账号执行:
[root@free root]# clock
公元2006年9月8日(周五)10时00分00秒 0.112604 seconds
如果系统时间不正确要想更改,可以使用date命令来设置时间。用root账号如下操作:
[root@free root]# date 09091200 ← 将时间设定为9月9日12点00分
用户有时可能会苦于不知道标准时间。没关系,当前网络上也有校对时服务器提供的标准时间。因此可执行ntpdate命令,将系统时间设成与校时服务器一致:
[root@free root]# ntpdate stdtime.microsoft.com ← 与微软校时服务器校时。
然后再执行一次date命令,就会发现系统时间已经更改。不过这样还没有结束,还需要执行clock –w 命令将更改的时间写入计算机的CMOS中,这样下次启动时才会使用更改过的时间。 范例如下:
[root@free root]# clock –w
17.df命令
[描述] 用于查看文件系统的各个分区的占用情况
18.du命令
[格式] du [参数] <目录名>
[描述] 查看某个目录中各级子目录所使用的硬盘空间数
19.free
[描述] 用于查看系统内存,虚拟内存(交换空间)的大小占用情况
20.ps
[描述] 用于查看系统当前运行进程情况
21.ftp
[描述] 通过ftp可以远程连接服务器,连接建立后可以做以下动作:
操作 | 作用 |
---|---|
? | 用来列出ftp命令 |
pwd | 显示远程主机上的当前目录 |
ls | 列出当前远程目录内容 |
cd | 在远程主机中切换目录 |
lcd | 在本地主机切换目录 |
axcii | 以纯文本方式传输文件 |
bin | 以二进制方式传输文件 |
get | 从远程主机当前目录下下传一个文件 |
mget | 从远程主机当前目录下下传多个文件 |
put | 上传一个文件到远程主机的当前目录 |
mput | 上传多个文件到远程主机的当前目录 |
lcd | 在本地主机切换目录 |
!ls | 显示当地主机目录 |
bye、quit | 断开与远程主机的连接 |
22. mkfs 创建文件系统命令
[格式] mkfs [选项]<设备名>
[描述] 我们通常所说的“格式化”,真正的含义是创建文件系统,“格式化”的最初的意思是我们平时说的“低级格式化”。只有“低级格式化”才是真正的“格式化”,而平时大家说的“格式化”或者“高级格式化”只是创建文件系统,mkds就是用来创建文件系统的命令。
选项:
选项 | 作用 |
---|---|
-t | 指定要创建的文件系统 |
-c | 建立文件系统之前检查指定设备损坏块 |
[举例]
[root@host root]# mkfs –t ext3 –c /dev/hdb2
在第2个IDE磁盘的第2个分区上创建一个ext3文件系统,并检查坏块
[root@host root] # mkfs -t vfat -c /dev/fd0 H1440
在软盘上创建vfat文件系统,并检查坏块
注意:创建文件系统操作是破坏性的、不可恢复的。
23. 创建引导盘的mkbootdisk命令
如果安装系统时,并没有制作引导盘,或者引导盘已经损害,可以在安装系统之后,利用mkbootdisk命令创建一张新的引导盘:
[root@free root]# mkbootdisk ‘uname -r’
执行上述指令便可以成功的创建一张引导盘了。请保存好盘,以备紧急之用。
注:
在文字模式下,中文信息会变成乱码,此时请如下操作,可将此信息改成英文显示:
[root@free root]$ LANG=C
[root@free root]$ ls –l
运行LANG=C命令后原来以中文显示(乱码)的部分,变成英文了,若想改回原来的设置,则只要再执行LANG=zh_CN命令即可:
[root@free root]$ LANG=zh_CN
来源:oschina
链接:https://my.oschina.net/u/4418383/blog/4922717