新手刚刚接触Linux的时候可能处处感到不便,不过没有关系,接触新的事物都有这样的一个过程,在你用过Linux一段时间后,你就会逐渐了解Linux其实和Windows一样容易掌握。
由于操作和使用环境的陌生,如果要完全熟悉Linux的应用我们首先要解决的问题就是对Linux常用命令的熟练掌握。本章我们就来介绍Linux的常用基本命令。
首先启动Linux。启动完毕后需要进行用户的登录,选择登陆的用户不同自然权限也不一样,其中“系统管理员”拥有最高权限。
在启动Linux后屏幕出现如下界面显示:
……
Red Hat Linux release 9 (Shrike)
Kernel 2.4.20.8 on an i686
login:
输入:root(管理员名)后,计算机显示输口令(password:),输入你的口令即可。当计算机出现一个“#”提示 符时,表明你登录成功!
屏幕显示Linux提示符: [root@localhost root]#_
这里需要说明的是“Red Hat Linux release 9 (Shrike)”表示当前使用的操作系统的名称及版本。“2.4.20.8”表示Linux操作系统的核心版本编号。“i686”表示该台电脑使用的CPU的等级。
下面我们来介绍常用基本命令
一,注销,关机,重启
注销系统的logout命令
1,Logout 注销是登陆的相对操作,登陆系统后,若要离开系统,用户只要直接下达logout命令即可:
[root@localhost root]#logout
Red Hat Linuxrelease 9(Shike)
Kernel 2.4.20.8 on an i686
Login: ← 回到登陆的画面
2,关机或重新启动的shutdown命令
Shutdown命令可以关闭所有程序,依照用户的需要,重新启动或关机。
参数说明如下:
立即关机:-h 参数让系统立即关机。范例如下:
[root@localhost root]#shutdown –h now ← 要求系统立即关机
指定关机时间:time参数可指定关机的时间;或设置多久时间后运行shutdown命令,范例如下:
[root@localhost root]#shutdown now ← 立刻关机
[root@localhost root]#shutdown +5 ← 5分钟后关机
[root@localhost root]#shutdown 10:30 ← 在10:30时关机
关机后自动重启:-r 参数设置关机后重新启动。范例如下:
[root@localhost root]#shutdown -r now ← 立刻关闭系统并重启
[root@localhost root]#shutdown -r 23:59 ← 指定在23:59时重启动
3,重新启动计算机的reboot命令
顾名思义,reboot命令是用来重新启动系统的。常用的参数如下:
-f 参数:不依正常的程序运行关机,直接关闭系统并重新启动计算机。
-I 参数:在在重新启动之前关闭所有网络接口。
虽然reboot命令有个参数可以使用,但是一般只需要单独运行reboot命令就可以了
二,文件与目录的操作
列出文件列表的ls命令
1,ls(list)命令是非常有用的命令,用来显示当前目录中的文件和子目录列表。配合参数的使用,能以不同的方式显示目录内容。范例如下:
显示当前目录的内容:
[tony@free tony]$ ls
Desktop mail myinstall.log test.txt ← 有两个目录及两个文件夹
当运行ls命令时,并不会显示名称以“.”开头的文件。因此可加上“-a”参数指定要列出这些文件。范例如下:
[tony@free tony]$ ls –a
以“-s”参数显示每个文件所有的空间,并以“-S”参数指定按所有占用空间的大小排序。范例如下:
[tony@free tony]$ ls –s –S
总计36
4 Desktop 4 mail 24 myinstall.log 4 test.txt
在ls命令后直接加上欲显示的目录路径,就会列出该目录的内容。范例如下:
[tony@free tony]$ ls –l/usr/games
2,切换目录的cd命令
cd(change directory)命令可让用户切当前所在的目录。范例如下:
[tony@free home]$ cd tony ← 切换到当前目录下的tony子目录
[tony@free tony]$ cd .. ← 切换到上一层目录
[tony@free home]$ cd / ← 切换到系统根目录
[tony@free /]$ cd ← 切换到用户主目录
[tony@free tony]$ cd /usr/bin ← 切换到/usr/bin目录
3,创建目录的mkdir命令
Mkdir(make directory)命令可用来创建子目录。下面的范例会在所在目录下创建tool子目录。
[tony@free tony]$ mkdir tool
4,删除目录的rmdir命令
rmdir(remove directory)命令可用来删除“空”的子目录。范例如下:
[tony@free tony]$ rmdir tool ← 删除tool目录
5,复制文件的cp命令
cp(copy)命令可以将文件从一处复制到另一处。一般在使用cp命令将以个文件复制成另一个文件或复制到某个目录时,需要指定原始文件名与目的文件名或目录。范例如下:
[tony@free tony]$ cp data1.txt data2.txt ← 将data1.txt复制成data2.txt
[tony@free tony]$ cp data3.txt /tmp/data ← 将data3复制到/tmp/data目录中
显示复制过程:加入-v参数可显示命令执行过程。范例如下:
[tony@free tony]$ cp zip.txt zip2.txt ← 一般状态下不会显示复制过程
[tony@free tony]$ cp –v zip.txt zip3.txt ← 以-v显示复制过程
zip.txt ->zip3.txt
递回复制:加入“-R”参数可同时复制目录下的所有文件及子目录。范例如下:
[tony@free tony]$ cp –v –R * backup ← 将所有文件(含子目录文件)复制到backup目录
6,删除文件或目录的rm命令
rm(remove)命令可以删除文件或目录。范例如下:
[tony@free tony]$ rm myfile ← 删除指定的文件
[tony@free tony]$ rm * ← 删除当前目录中的所有文件
rm命令的常用参数如下:
强迫删除:使用-f参数时,rm命令会直接删除文件,不再询问。范例如下:
[tony@free tony]$ rm –f *.txt ← 强迫删除文件
递回删除:-r 也是一个相当常用的参数,使用此参数可同时删除指定目录下的所有文件及子目录。范例如下:
[tony@free tony]$ rm –r data ← 删除data目录(含data目录下所有文件和子目录)
[tony@free tony]$ rm –r * ← 删除所有文件(含当前目录所有文件,所有子目录和子目录下的文件)
强制删除指定目录:当使用-r参数删除目录时,若该目录下有许多子目录及文件,则系统会不间断地询问,以确认您的确要删除目录或文件。若已确定要删除所存目录及文件,则可以使用-rf参数,如此一来,系统将直接删除该目录中所有的文件及子目录,不再询问。范例如下:
[tony@free tony]$ rm –rf tmp 强制删除tmp目录及该目录下所有文件及子目录
显示删除过程:使用-v 参数。范例如下:
[tony@free tony]$ rm –v
7,让显示画面暂停的more命令
为了避免画面显示瞬间就闪过去,用户可以使用more命令,让画面在显示满一页时暂停,此时可按空格键继续显示下一个画面,或按Q键停止显示。
当使用ls命令查看文件列表时,若文件太多则可以配合more命令使用。范例如下:
[tony@free bin]$ ls –al more
单独使用more命令时,可用来显示文字文件的内容。范例如下:
[tony@free tony]$ more data.txt
8,连接文件的cat命令
cat(concatenate) 命令可以显示文件的内容(经常和more命令搭配使用),或是将数个文件合并成一个文件。范例如下:
逐页显示 preface.txt的内容:
[tony@free tony]$ cat preface.txt more
将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
9,移动或更换文件,目录名称的mv命令
mv (move)命令可以将文件及目录移动到另一个目录下面,或更换文件及目录的名称。范例如下:
[tony@free backup]$ mv a.txt .. ← 将a.txt文件移到上层目录
[tony@free backup]$ mv z1.txt z3.txt ← 将 z1.txt改名成z3.txt
[tony@free backup]$ cd.. ← 切换到上一层目录
[tony@free tony]$ mv backup.. ← backup 目录上移一层
10,显示当前所在目录的pwd命令
pwd(print working directory)命令可显示用户当前所在的目录。范例如下:
[tony@free tony]$ pwd
/home/tony ← 当前所在目录为“/home/tony”
11,查找文件的locate命令
locate 命令可用来搜索包含指定条件字符串的文件或目录。范例如下:
[tony@free tony]$ locate zh_CN 列出所有包含“zh_CN”字符串的文件和目录。
由于locate命令是从系统中保存文件及目录名称的数据库中搜索文件,虽然系统会定时更新数据库,但对于刚新增或删除的文件、目录,仍然可能会因为数据库尚未更新而无法查得,此时可用root身份运行updatedb命令更新,为此数据库得内容正确。
12,搜索字符串得grep命令
grep 命令可以搜索特定字符串来并显示出来,一般用来过滤先前得结果,避免显示太多不必要得信息。范例如下:
[tony@free etc]$ grep text *.conf ← 搜索当前目录中扩展名为.conf且包含“text”字符串得文件。
grep:amd.conf: ← 拒绝不符权限得操作
grep:diskcheck.conf: ← 拒绝不符权限得操作
grep:grub.conf ← 拒绝不符权限得操作
若您是使用一般权限的用户运行,上例的输出结果会包含很多如“拒绝不符权限的操作之类的错误信息,可使用-s参数消除。
[tony@free etc]$ grep –s text *.conf
13,重导与管道
重导(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 gerp conf ← 搜索并显示ls命令运行结果中包含有“conf”字符串
在举一个删除文件或目录的例子,可以利用yes命令重复输出“y”字符的特性,将结果传给rm命令,如此即可避免重复输入“y”:
[tony@free tony]$ yes rm –r mydir
三,使用光盘及软盘
在Linux的文字模式下要使用光盘或软盘,并不是只将光盘或软盘放入即可,用户需要运行加载的命令,才可读写数据。所谓加载就是将存储介质(如光盘和软盘)指定成系统中的某个目录(如/mnt/cdrom或mnt/floppy)。通过直接存取此加载目录,即可读写存储介质中的数据。以下就来看看文字模式下的加载及卸载命令。
1,加载的mount命令
要使用光盘时先把光盘放入光驱,然后执行加载的mount命令,将光盘加载至系统中:
[tony@free tony]# mount/dev/cdrom/mut/cdrom ← 加载光盘
同理,使用软盘之前也需要和光盘一样,必须先加载后才能使用:
[tony@free tony]# mount/dev/fd0/mut/floppy ← 加载软盘
2,卸载的umount命令
如果不需要使用光盘或软盘,则需先执行卸载命令之后,才能将光盘或软盘退出。范例如下:
[tony@free tony]# umount / mnt/cdrom ← 光盘卸载
在不使用软盘时执行umount 命令卸载软盘,再将软盘拿出
[tony@free tony]# umount / mnt/ ← 软盘卸载
四,在后台运行程序
用户有时的程序有可能要花费很多时间,如果将它放在前台运行,将导致无法继续做其他事情,最好的方法就是将它放在后台运行,甚至可能希望在用户注销系统后,程序还可以继续运行。让我们看看那如何实现这一目的。
1,在后台运行程序的&、bg命令
将程序放到后台运行的最简单方法就是在命令最后加上“&”,范例如下:
[tony@free root]# updatedb & ← 在后台执行 locate 数据库更新命令
[tony@free root]# bg ← 将更新操作放到后台运行
2,前台运行的程序fg命令
如果用户当前已有程序在后台运行,可以输入fg命令,将它从背景中移到前台运行:
[tony@free root]# fg ← 放到前台执行的命令会显示出来
3,在退出后让程序继续运行的nohup命令
此命令可使用户退出系统后,程序继续运行。范例如下:
[tony@free rony]$ nohup myserver &
然后用户就可以退出了,当再次登录的时候,可以用ps –aux命令看到程序仍在后台中运行。
五,任务调度命令
计算机有很多程序需要周期性的被运用,例如清理磁盘中不要的暂存盘、备份系统数据、检查远程服务器的邮件等。对于这些重复性的工作,其实不需要每次都辛苦地运行这些程序。可利用任务调度命令,指定系统定期在某个时间运行这些程序,轻轻松松完成想要执行的工作。
任务调度的crond常驻命令
crond 是Linux用来定期执行程序的命令。当安装完成操作系统后,默认便会启动此任务调动命令。crond命令每分钟会定期检查是否有要执行的工作,如果有要执行的工作,便会自动执行该工作。由于任务调度中间的操作过程十分繁杂,我们只将任务调度文件的写法介绍给大家,供大家参阅:
Minute Hour Day Month DayOfWeek Command
在这段文字中除了“Command”是每次都必须指定的字段以外,其他自动皆可视需求自行决定是否指定。
六,任务调度的系统工作
/ect/crontab/文件是Linux系统工程的任务调度设置文件,其默认的内容如下:
SHELL=/bin/bash ← 指定执行任务调度工作时所使用的SHELL
PATH=/shin:/bin:/usr/sbin:/usr/bin ← 指定命令搜索的路径
MAILTO=root ← 指定将输出结果给root用户
HOME=/ ← 指定跟目录
Linux Shell 命令集锦 (1)
第 [1] [2] 页
所有命令均包含参数。具体使用方法请在命令后使用 -help 或 --help (视命令不同)。另一种学习 Sehll 命令的方法是“在线手册”。具体使用方法就是输入 man 命令,将需要了解的命令作为参数。
比如,我不太清楚 echo 命令的使用方法。就可以在 Sehll 命令提示符中输入:man echo。然后,终端中会显示非常详细的命令说明文档。不过令人遗憾的是,我至今未见过中文的。本站以后会有专文介绍一些 Shell 命令的详细使用方法。
adduser
|
创建新的用户账户
|
alias
|
设置命令的别名
|
bzips
|
.bz2的文件压缩程序
|
cal
|
月历显示
|
cat
|
将所有内容输出到标准输出设备
|
chfn
|
更改finger命令显示的信息
|
chgrp
|
变更文件与目录的所属组
|
chmod
|
更换文件或目录的权限
|
chown
|
更换文件或目录的拥有者或所在组
|
clear
|
清除画面上的信息
|
col
|
滤除控制字符
|
cp
|
复制文件或目录
|
crontab
|
设置定时器
|
date
|
设置显示系统时间及日期
|
dd
|
由键盘输入文件中的数据,然后依照指定格式来转换数据,再输出至所指定的文件或屏幕上
|
df
|
显示磁盘文件系统的使用状况
|
dmesg
|
显示开机信息
|
du
|
显示目录或文件所占磁盘空间
|
e2fsck
|
检查ext2文件系统
|
echo
|
文字显示
|
edquota
|
编辑quota
|
egrep
|
查找文件中符合条件的字符串
|
exec
|
shell执行命令后即交出控制权
|
export
|
设置显示环境变量
|
fdisk
|
磁盘分割(分区)
|
fg
|
前台执行程序或命令
|
fgrep
|
查找文件中符合条件的字符串
|
file
|
识别文件类型
|
find
|
查找文件或目录
|
finger
|
显示用户信息
|
free
|
查看内存状态
|
fsck
|
检查文件系统并试着修复错误
|
ftp
|
传输文件
|
grep
|
搜索文件中符合条件的字符串
|
groupadd
|
创建组
|
groupdel
|
删除组
|
groupmod
|
改变组识别码或名称
|
gunzip
|
文件解压缩
|
gzip
|
文件压缩
|
halt
|
关闭系统
|
help
|
shell创建命令内容
|
history
|
列出所有使用过的命令
|
hostname
|
查询及设置主机名称
|
id
|
显示用户ID及所属的组ID
|
ifconfig
|
显示或设置网络上状态
|
insmod
|
加载模块
|
jobs
|
显示正在后台执行的工作
|
kill
|
删除执行中的程序或工作
|
last
|
列出目前与过去登录系统的用户相关信息
|
less
|
显示文件内容
|
lilo
|
安装内核加载、开机管理程序
|
linuxconf
|
设置Linux系统
|
ln
|
连接文件或目录
|
locate
|
寻找文件
|
login
|
登录系统
|
logout
|
注销系统
|
ls
|
列出目录内容
|
lsmod
|
显示已加载系统的模块名称
|
mail
|
E-mail管理程序
|
make
|
编译系统核心或模块
|
man
|
在线查询命令
|
mcopy
|
复制MS-DOS文件
|
mdel
|
删除MS-DOS文件
|
mdeltree
|
删除MS-DOS文件及包含的子目录文件
|
mdir
|
显示MS-DOS目录
|
mkbootdisk
|
创建目前系统的引导盘
|
mkdir
|
创建目录
|
mke2fs
|
创建ext2文件系统
|
mkfs
|
创建各种文件系统
|
more
|
一页一页地显示文件内容(文本文件)
|
miunt
|
挂入文件系统
|
mouseconfig
|
设置鼠标相关参数
|
mv
|
移动或更名现有的文件或目录
|
netconfig
|
Red Hat Linux用来设置网络功能的图形接口程序
|
netstat
|
显示目前系统的网络状态
|
nice
|
变更程序执行时的优先等级
|
nohup
|
在用户注销系统后继续以后台的方式执行指定的命令
|
open
|
查找第一个可使用的虚拟终端,并执行位于“--”符号后的命令
|
passwd
|
提供管理员及用户管理或变更密码
|
patch
|
利用修补文件来修改源文件
|
pine
|
邮件处理程序,它可收发电子邮件及浏览新闻组
|
ping
|
使用ICMP对远程主机发出要求响应的信息,以侦测远程主机的网络功能是否正常
|
ps
|
显示程序执行的状况
|
pwd
|
显示目前的工作目录
|
quota
|
查询磁盘空间限制以及使用情形
|
quotacheck
|
检查磁盘使用空间及限制
|
quotaoff
|
关闭磁盘使用空间限制
|
quotaon
|
开启磁盘使用空间限制
|
reboot
|
停止系统运作并重新开机
|
renice
|
重新调整程序执行的优先级
|
repquota
|
显示磁盘空间限制状况
|
rm
|
删除文件或目录
|
rmdir
|
删除目录
|
rpm
|
管理 Red Hat Linux 套件
|
set
|
设置 Shell 的执行方式
|
setup
|
设置公用程序,可设置的选项包括:登录认证方法、键盘配置、
鼠标配置、开机启动服务、声卡本配置、时区设置和 XWindow 配置等
|
shutdown
|
系统关机
|
startx
|
启动 XWindow
|
stat
|
显示 inode 内容
|
su
|
变更用户身份
|
sync
|
将内存缓冲区内的数据写入磁盘
|
tail
|
列出文件内容最后部分
|
talk
|
和其他用户交谈
|
tar
|
文件备份
|
telnet
|
登录远程主机
|
top
|
显示及管理执行中的程序
|
traceroute
|
显示封包到远程主机间的详细路径
|
umask
|
在创建文件时预设的权限屏蔽
|
umount
|
卸载文件系统
|
unalias
|
删除别名
|
uname
|
显示系统信息
|
uncompress
|
将 .Z 文件解压缩
|
unzip
|
将 .Zip 文件解压缩
|
useradd
|
创建用户账号
|
userdel
|
删除用户账户
|
vi
|
编辑文本文件
|
w
|
显示目前登录系统的用户信息
|
wall
|
将信息传送至每位终端用户
|
whereis
|
查找文件,预设 whereis 去查找的文件包括:/bin、/etc、/sbin、
/usr/bin、/usr/etc、/usr/games、/usr/include、/usr/lib、
/usr/local、/usr/man、/usr/sbin、/usr/src、/usr/local/bin、
/usr/local/etc、/usr/local/game、/usr/local/lib 和/usr/local/man>
|
which
|
在环境变量¥PATH 设置的目录中,搜索符合条件的文件
|
who
|
显示目前登录系统的用户信息
|
whoami
|
显示用户名称
|
whois
|
搜索并显示用户信息
|
write
|
可传送信息给另一位登录的用户
|
Xconfigurator
|
设置 Xfree86
|
xf86config
|
设置 XFree86
|
zip
|
压缩程序
|