购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

1.2 Linux 常用命令

Linux是一个基于命令行的操作系统,几乎所有的操作都可以通过在终端执行命令来实现。所以,Linux下的命令非常丰富,下面分类对一些常用的命令做一个简单的介绍。

1.2.1 文件管理命令

1 pwd

pwd命令如表1.1所示。

表1.1 pwd命令

2 cd

cd命令如表1.2所示。

表1.2 cd命令

cd 命令还有一个特殊的用法,使用命令“cd-”可以回到上次所在的目录。

3 ls

ls命令如表1.3所示。

表1.3 ls命令

ls命令以-l长格式显示文件时,每行列出的信息依次是文件类型与权限、链接数、文件所有者、文件属组、文件大小、最近修改的时间、名字。

对于符号链接文件,显示的文件名之后有“—〉”和引用文件路径名;对于设备文件,其“文件大小”字段显示主、次设备号,而不是文件大小。目录中的总块数显示在长格式列表的开头,其中包含间接块。用ls - l命令显示的信息中,开头是由10个字符构成的字符串,其中第一个字符表示文件类型,它可以是下述类型之一,如表1.4所示。

表1.4 字符表示的文件类型

后面的9个字符表示文件的访问权限,分为3组,每组3位。

第一组表示文件所有者的权限;第二组表示同组用户的权限;第三组表示其他用户的权限。每一组的3个字符分别表示对文件的读、写和执行权限。

各权限如下所示。

r 读(4)

w 写(2)

x 执行 (1) 对于目录,表示进入权限。

- 没有设置权限。

另外,ls输出内容是有颜色的。例如,目录是蓝色,压缩文件是红色的显示。如果没有颜色,可以加上参数—color=never 表示输出没有彩色;而—color=auto 表示自动;--color=always表示始终有颜色。

通配符在ls命令中的应用如下。

* 匹配0个或多个字符

[] 匹配内部包括任何字符

? 匹配任何单个字符

如果需要更加详细的参数描述,可以通过如下3种方式获得ls的帮助。

4 mkdir

mkdir命令如表1.5所示。

表1.5 mkdir命令

5 cp

cp命令如表1.6所示。

表1.6 cp命令

要说明的是,为防止用户在不经意的情况下用cp命令破坏另一个文件,若用户指定的目标文件名是一个已存在的文件名,用cp命令复制文件后,这个文件就会被新复制的源文件覆盖。因此,建议用户在使用cp命令复制文件时,最好使用i选项。

如“$ cp -i a.txt /home/b.txt”命令将文件a.txt复制到/home 这个目录下,并改名为b.txt。若不希望重新命名,可以使用下面“$ cp a.txt /home”命令。“$ cp -r /home/lry /root”命令将/home/lry目录中的所有文件及其子目录复制到目录/root中。

6 mv

mv命令如表1.7所示。

表1.7 mv命令

如果所给目标文件(不是目录)已存在,此时该文件的内容将被新文件覆盖。为防止用户在不经意的情况下用mv命令破坏另一个文件,建议用户在使用mv命令移动文件时,最好使用i选项。

需要注意的是,mv与cp的结果不同。mv好像文件“搬家”,文件个数并未增加,而cp对文件进行复制,文件个数增加了。

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

例2,将文件a.txt重命名为b.txt:$ mv a.txt b.txt。

7 rm

rm命令如表1.8所示。

表1.8 rm命令

使用rm命令要格外小心。因为一旦一个文件被删除,它是不能被恢复的。例如,用户在输入cp、mv或其他命令时,不小心误输入了rm命令,当用户按了回车键并认识到自己的错误时,已经太晚了,文件已经没有了。为了防止此种情况的发生,可以使用rm命令中的 i选项来确认要删除的每个文件。如果用户输入y,文件将被删除。如果输入任何其他东西,文件将被保留。

8 chmod

chmod命令如表1.9所示。

表1.9 chmod命令

chmod命令经常用到。如果出现权限不允许,可执行文件不能执行、文件夹不能访问等情况,则需要执行chmod 777 文件(或目录)来解决。

1)文字设定法

(1)参数说明如下。

操作对象who可以是下述字母中的任一个或者它们的组合。

① u 表示“用户(user)”,即文件或目录的所有者。

② g 表示“同组(group)用户”,即与文件所有者有相同组ID的所有用户。

③ o 表示“其他(others)用户”。

④ a 表示“所有(all)用户”。它是系统默认值。即chmod +x 1.c表示所有人都有可执行的权限。

(2)操作符号如下所示。

① +表示添加某个权限。

② -表示取消某个权限。

③ =表示赋予给定权限并取消其他所有权限(如果有的话)。

(3)设置mode所表示的权限可用下述字母的任意组合。

① r 可读。

② w 可写。

③ x 可执行。

当是组合的时候,前面的who要指明。

(4)文件名。以空格分开的要改变权限的文件列表,支持通配符。

在一个命令行中可给出多个权限方式,其间用逗号隔开。例如,chmod g+r,o+r 示例,使同组和其他用户对文件有读权限。

2)数字设定法

首先了解用数字表示的属性的含义。0表示没有权限,1表示可执行权限,2表示可写权限,4表示可读权限,然后将其相加。所以数字属性的格式应为3个0~7的八进制数,其顺序是(u)(g)(o)。

例如,如果想让某个文件的所有者有“读/写”两种权限,需要把4(可读)+2(可写)=6(读/写)。

数字设定法的一般形式为:chmod [mode] 文件名。

3)举例

(1)文字设定法。

例1,$ chmod a+x sort

即设定文件sort的属性为:

文件所有者(u)增加执行权限;

与文件所有者同组用户(g)增加执行权限;

其他用户(o) 增加执行权限。

例2,$ chmod ug+w,o-x text

即设定文件text的属性为:

文件所有者(u)增加写权限;

与文件所有者同组用户(g) 增加写权限;

其他用户(o)删除执行权限。

例3,$ chmod a-x a.txt

$ chmod -x a.txt

$ chmod ugo-x a.txt

这三个命令都是将文件a.txt的执行权限删除,它设定的对象为所有使用者。

(2)数字设定法。

例1,$ chmod 644 a.txt

$ ls -l

即设定文件a.txt的属性为:

-rwxr-x—1lry users 30128 Dec 15 10:52 a.txt

文件所有者(u)lry 拥有读、写权限;

与文件所有者同组人用户(g)拥有读权限;

其他人(o)拥有读权限。

例2,$ chmod 750 a.txt

$ ls -l

-rwxr-x—1lry users 30128 Dec 15 10:52 a.txt

即设定文件a.txt的属性为:

文件拥有者(u)lry 可读/可写/可执行权;

与文件拥有者同组用户(g) 可读/可执行权;

其他用户(o) 没有任何权限。

9 find

find命令如表1.10所示。

表1.10 find命令

find命令提供的寻找条件可以是一个用逻辑运算符not、and、or组成的复合条件。逻辑运算符and、or、not的含义如下。

(1)and:逻辑与,在命令中用“-a”表示,是系统默认的选项,表示只有当所给的条件都满足时,寻找条件才算满足。例如,

该命令寻找3个给定条件都满足的所有文件。

(2)or:逻辑或,在命令中用“-o”表示。该运算符表示只要所给的条件中有一个满足时,寻找条件就算满足。例如,

该命令在路径/Linux下查询文件名为a.txt或是匹配b.txt的所有文件。可以使用通配符,此时需要用“”括起来。

(3)not:逻辑非,在命令中用“!”表示。该运算符表示查找不满足所给条件的文件。例如,

该命令在路径/Linux下查询文件名不是a.txt的所有文件。

1)以名称和文件属性查找。

(1)-name‘字串’查找文件名匹配所给字串的所有文件,字串内可用通配符*、?、[ ]。

(2)-gid n 查找属于ID号为n的用户组的所有文件。

(3)-uid n 查找属于ID号为n的用户的所有文件。

(4)-group‘字串’查找属于用户组名为所给字串的所有的文件。

(5)-user‘字串;查找属于用户名为所给字串的所有的文件。

(6)-empty 查找大小为0的目录或文件。

(7)-perm 权限 查找具有指定权限的文件和目录,权限的表示可以如711、644。

(8)-size n[bckw] 查找指定文件大小的文件,n后面的字符表示单位,默认为b,代表512字节的块。

(9)-type x 查找类型为x的文件,x为下列字符之一。

① b表示块设备文件。

② c表示字符设备文件。

③ d表示目录文件。

④ p表示命名管道(FIFO)。

⑤ f表示普通文件。

⑥ l表示符号链接文件(symbolic links)。

⑦ s表示socket文件。

2)以时间为条件查找

(1)- amin n 查找n分钟以前被访问过的所有文件(+表示n分钟之前,-或者不写表示n分钟之内)。

(2)- cmin n 查找n分钟以前文件状态被修改过的所有文件。

(3)- mmin n 查找n分钟以前文件内容被修改过的所有文件。

(4)- atime n 查找n天以前被访问过的所有文件。

(5)- ctime n 查找n天以前文件状态被修改过的所有文件。

(6)- mtime n 查找n天以前文件内容被修改过的所有文件。

3)可执行的操作

(1)- exec 命令名称 {}对符合条件的文件执行所给的Linux 命令,而不询问用户是否需要执行该命令。{}表示命令的参数即为所找到的文件;命令的末尾必须以“ \;”结束。

(2)- ok 命令名称 { }对符合条件的文件执行所给的Linux 命令,与exec不同的是,它会询问用户是否需要执行该命令。

(3)- ls 详细列出所找到的所有文件。

(4)- fprintf 文件名 将找到的文件名写入指定文件。

(5)- print 在标准输出设备上显示查找出的文件名。

(6)- printf 格式 格式的写法请参考有关C语言的书。

例1,查找当前目录中所有以a开头的文件,并显示这些文件的内容。

例2,删除当前目录下所有一周之内没有被访问过的a txt或*.c文件。

例1、例2的说明如下。

命令中的“。”表示当前目录,此时find将从当前目录开始,逐个在其子目录中查找满足后面指定条件的文件。“- name a.txt”指要查找名为a.txt的文件;“-name *.c”指要查找所有名字以 .c结尾的文件。这两个-name之间的-o表示逻辑或(or),即查找名字为a.txt或名字以 .c结尾的文件,并且需要用()括起来,对于()而言,需要采用\(和\)的形式并且要跟后面的-name有空格隔开。find在当前目录及其子目录下找到这样的文件之后,再进行判断,看其最后访问时间是否在7天以前(条件-atime +7),若是,则对该文件执行命令rm(-exec rm -rf{ }\;)。其中,{ }代表当前查到的符合条件的文件名,\;则是语法所要求的。上述命令中第一行的最后一个\是续行符。当命令太长而在一行写不下时,可输入一个\,之后系统将显示一个>,指示用户继续输入命令。如果一行写完,则是:

另外,对于basename和dirname这两个命令,

1.2.2 磁盘相关命令(fdisk)

fdisk可以查看硬盘分区情况,并可用于对硬盘分区进行管理、给硬盘分区等。常用的功能是查看U盘状况,如fdisk -l。

例如,如果想让Linux识别U盘,需要把鼠标先定位在虚拟机的Linux里面,然后插入U盘,U盘才会被Linux识别,再用“fdisk -l”命令来查看U盘的情况。插入U盘后,输入“fdisk -l”显示信息如下。

其中,Disk /dev/sdb: 8011 MB, 8011120640 bytes及后面的就是关于U盘的信息。U盘的设备名为Device Boot下显示的/dev/sdb1,所以挂载U盘时,设备名要写上这个,表示挂载U盘,操作如下。

(1)如果是fat格式的U盘,挂载命令:mount -t vfat /dev/sdb1 /mnt/udisk。

(2)如果是ntfs格式的U盘,挂载命令:mount -t ntfs-3g /dev/sdb1 /mnt/udisk。

(3)如果没有/mnt/udisk文件夹,可以创建一个mkdir /mnt/udisk即可。

(4)卸载U盘设备为:umount /dev/sdb1。

但是注意,ntfs格式要挂载,如果系统不支持,需要下载一个ntfs-3g-2011.4.125.el5.i386.rpm包安装一下。

1.2.3 文档编辑命令

1 cat

cat命令如表1.11所示。

表1.11 cat命令

标准的输入/输出与重定向介绍如下。

(1)文件描述符是一个整数,它代表一个打开的文件,标准的3个描述符号如下。

① 标准输入:一般指键盘,描述符为0。

② 标准输出:一般指屏幕输出,描述符为1。

③ 错误输出:也是屏幕,描述符为2。

(2)重定向符号:<重定向输入 >重定向输出 >>添加输出 2>错误重定向 &>错误和信息重定向cat常常与重定向一起使用。其中,>表示创建;>>表示追加;<<表示以什么结束。

如果cat的命令行中没有参数,它就会从标准输入中读取数据,并将其送到标准输出。

Linux中创建空文件的四种方式如下。

① 方式1:[root@localhost~]# echo > a.txt 或者直接 > a.txt。

② 方式2:[root@localhost~]# touch b.txt。

③ 方式3:[root@localhost~]# cat > c.txt 然后按Ctrl+C组合键退出;或Ctrl+D。

④ 方式4:[root@localhost~]# vi d.txt 进入之后:wq退出。

2 gedit

gedit命令如表1.12所示。

表1.12 gedit命令

示例:[root@localhost ~]#gedit a.txt

打开a.txt进行编辑。

后台打开a.txt进行编辑,可避免终端无法退出。

1.2.4 文件传输命令

ftp(file transfer protocol)命令如表1.13所示。

表1.13 ftp命令

示例:ftp 192.168.1.10

然后根据提示输入正确的用户名和密码即可。

下载文件用get从FTP服务接收单个文件到本地。命令格式为:get remote-file [local-file]。

示例:get a.txt

1.2.5 磁盘维护命令

badblocks命令如表1.14所示。

表1.14 badblocks命令

示例:badblocks -nvs /dev/sdb

1.2.6 系统设置命令

1 setup

setup命令如表1.15所示。

表1.15 setup命令

2 ifconfig及网络相关命令

网络命令ifconfig用于查看和配置网络接口的地址和参数,包括IP地址、子网掩码、广播地址等。详细用法举例如下。

ifconfig eth0,即查看指定的eth0的ip情况);修改eth0的ip,可以通过命令:#ifconfig eth0 192.168.0.102/24(或ifconfig eth0 192.168.0.164 netmask 255.255.255.0)即可完成;

禁用使用#ifconfig eth0 down,启动使用#ifconfig eth0 up。

#setup用管理工具永久设置ip,设置好之后,此时这个配置信息没有马上保存,需运行service network restart重新启动网络服务,如果全都看到ok,说明修改成功了。

可以使用route -n检查一下默认路由,看看网关是否为自己的设置。另外,可以用#iptables -F命令关闭防火墙。#netstat -a查看网络状态。ping命令测试网络通断,如#ping 192.168.0.101。#ping 127.0.0.1命令测试网卡好坏。

下面讲解如何利用PUTTY工具远程连接Linux。

(1)配置SSHD协议:setup命令-System services-启动SSHD协议。

(2)配置网卡 ifconfig命令:ifconfig eth0 192.168.0.101 …

(3)用ifconfig命令查看网卡地址。

(4)service network restart 重启启动网络服务。

(5)service sshd start 启动SSHD服务。

(6)iptables -F 去除所有防火墙,或setup—FireWall configuration—选择no firewall。

(7)ping虚拟机地址。

(8)ping通后,运行putty.exe远程连接。

1.2.7 备份压缩命令

tar命令如表1.16所示。

表1.16 tar命令

举例如下。

例1,把/home目录下包括它的子目录全部做备份文件,备份文件名为aa.tar。

例 2,把/home目录下包括它的子目录全部做备份文件,并进行压缩,备份文件名为aa.tar.gz。

例3,把aa.tar.gz这个备份文件还原并解压缩。

例4,查看aa.tar备份文件的内容,并以分屏方式显示在显示器上。

要将文件备份到一个特定的设备,只需把设备名作为备份文件名。

例5,用户在/dev/fd0设备的光盘中创建一个备份文件,并将/home 目录中所有的文件都复制到备份文件中。

要恢复设备磁盘中的文件,可使用xf选项。

如果用户备份的文件大小超过设备可用的存储空间,如光盘,用户可以创建一个多卷的tar备份文件。M选项指示tar命令提示用户使用一个新的存储设备,当使用M选项向一个光驱进行存档时,tar命令在一张光盘已满的时候会提醒用户再放入一张新的光盘。这样用户就可以把tar档案存入几张磁盘中。

要恢复几张盘中的档案,只要将第一张放入光驱,然后输入有x和M选项的tar命令。在必要时用户会被提醒放入另外一张光盘。

如果要把压缩文件解压到其他位置,需要用-C 指定具体路径。如$ tar xzvf aa.tar.gz-C/home把aa.tar.gz解压到/home目录下。 4o2bIaexUYn6N+8O32VIpU3KvgQHj85UKTDI8QyjpZxJJ8PIOau8jjMC0jLc5Imj

点击中间区域
呼出菜单
上一章
目录
下一章
×