Linux的快捷键和主要命令
时间:2006-05-05 来源:fuguizhong
Linux的快捷键和主要命令 |
---|
5.1 Linux基本的键盘输入快捷键和一些常用命令 5.2 帮助命令 5.3 系统信息 5.4 基本操作 5.5 文件管理 5.6 查看和编辑文件 5.7 查找文件 5.8 X-windows基础 5.9 网络应用程序 5.10 文件压缩和解压缩 5.11 进程控制 5.12 一些管理命令 5.13 硬盘和软盘实用工具 5.14 用户帐户和文件权限管理 5.15 程序安装 5.16 访问磁盘驱动器/分区 5.17 网络管理工具 5.18 与音乐有关的命令 5.19 与图形相关的命令 5.20 几个小游戏
简介:
这是包含在Linux软件包里(RedHat或者Mandrake),我们比较经常使用和比较有用的一些命令集合。在你当前路径的命令提示行下按<TAB>键,就可以看到有效的命令一览。在我的小型家用系统上,在我的当前路径下有3786个可执行命令。这些命令的大部分可以在图形用户界面下使用鼠标的左键或者右键来访问,全部都可以使用命令行来运行(除非你没有安装对应的软件包,在我的CD里都可以运行)。那些要求图形用户界面的程序必须在图形用户下才能运行,比如,你可以通过在KDE或者GNOME的终端输入命令来运行这些程序。一些更高级(对新手没有用处?)的命令工具可以参考第七部分的相关内容。
以下给那些对Linux没有概念的新手:
5.1 Linux基本的键盘输入快捷键和一些常用命令<Ctrl><Alt><F1>
切换到第一个文本终端。在Linux下你可以有多达六个不同的终端。这个命令的意思是:“同时按住<Ctrl>键和<Alt>键,然后按<F1>键,再释放所有的键”。
<Ctrl><Alt><Fn> (n=1..6)
切换到第n个文本终端。(你也可以使用不是很经常用到的命令chvt n 来实现,n指的是第n个文本终端)。在文本终端下(不是在X窗口),你也可以简单使用<ALT><Fn>来实现切换,不需要<CTRL>键。
打印出你正在使用的终端名称,如果你希望知道终端的名字,可以使用命令fgconsole。
<Ctrl><Alt><F7>
切换到第一个图形用户界面(一般来说X-window在第七个终端)
<Ctrl><Alt><Fn> (n=7到12)
切换到第n个图形用户街面。根据缺省,第一个X-Window在第7个终端运行,从第8到第12什么也没有,当然你可以逐个启动这些图形用户界面。
<Tab>
(在文本终端下)可以使用TAB自动完成命令,或者显示所有的可选项。这个快捷键真的非常好用,经常使用你会发觉它可以节约你很多的时间。
<ArrowUp>
(在文本终端或者X窗口下)滚动和编辑以前输入的命令。按<ENTER>执行一个历史命令
<ArrowDown>
回滚
<Shift><PgUp>
滚动终端输出。对于登录提示也起作用,所以你可以使用它回滚启动信息。你显卡的内存大小决定你可以回滚多少内容
<Shift><PgDown>
回滚终端输出
<Ctrl><Alt><+>
(在X窗口下) 改变X服务器的屏幕解析率 (如果你设置X服务器有多个不同的屏幕解析率)。比如对于我的标准SVGA卡和显示器,在文件/etc/X11/XF86Config有以下的设置行: (从缺省开始,到可以支持的最大虚拟屏幕解析率)
Modes "1024x768" "800x600" "640x480" "512x384" "480x300" "400x300" "1152x864"Z
当然,首先我必须设置我的X服务器,可以使用using Xconfigurator, xf86config, 也可以手工编辑文件:/etc/X11/XF86Config。XFdrake (Mandrake使用图形用户界面进行配置 )。你也可以参考命令xvidtune和xvidgen。
<Ctrl><Alt><->
(在X窗口下)把X服务器的屏幕解析率修改到上一次的设置。
<Ctrl><Alt><Esc>
(在X窗口,KDE下)关闭我鼠标将要指向的窗口(鼠标的光标形状会有所改变)。同样的效果也可以使用命令xkill(在X终端上)来实现。当一个程序窗口被挂住的时候特别有用。
<Ctrl><Alt><BkSpc>
(在X窗口下) 终止当前的 X窗口服务。如果X窗口不能正常退出时可以使用。
<Ctrl><Alt><Delete>
(适用于文本终端下)关机和重新启动。这是一个在文本终端下的正常关机命令,千万不要按计算机上的reset键来重新关机和重新启动!
<Ctrl>c
终止当前进程(对于一般的小型文本模式的应用程序)
<Ctrl>d
(在一个空白的命令行上输入)退出当前的终端。参加下一个命令。
<Ctrl>d
给当前的进程送文件结束符合。不要按两次否则你会把自己退出系统。
<Ctrl>s
停止终端传输
<Ctrl>q
从新开始终端传输。如果你的终端突然莫名其妙的停止响应,可以参考上一条命令。
<Ctrl>z
把当前进程送到后台处理。
exit
退出系统。我也可以使用logout命令达到同样效果。(如果你启动了第二个shell程序,比如,使用bash,这条命令将使你退出第二个shell回到第一个shell,但是不会退出系统。当然,可以再一次使用exit退出)
reset 恢复崩溃的终端(有些终端显示一些奇怪的字符)到缺省的设置。当你使用cat命令准备显示一个二进制文件时,你可能看不到你所输入的命令,尽管命令仍然照常工作。
<鼠标的中间键>
粘贴当前选择的文本。这是一个常规的Linux“复制-粘贴”操作。它是对被广泛采用的通信用户界面下“复制-粘贴”操作的一个非常有用的扩展(但是它不支持旧版本的NetScape,因为在旧版的NetScape只能使用MAC/Windows风格的“复制-粘贴”操作。如果你运行“setup”程序进行设置,你可以在文本终端下使用这个功能。而且它在大多数的对话框里也能很好的工作,真的非常方便!)如果你有一个“Linux-Ready”的鼠标(logitec或者其类似产品)或者你通过使用“模拟三键鼠标”,这个功能可以得到最大限度的发挥。一般来说,“第三键”的模拟是通过同时点击左右两个鼠标键来实现。
~
(水文符合) 我的主目录(一般来书是/home/我的登录名)。举例,命令~/my_dir将修改我的工作目录到我的主目录的子目录”my_dir”下。相对于输入”cd ~”,你也可以只输入”cd”,我把我的所有文件都放在自己的主目录下。
.
(点符号) 当前目录。举例:./my_program 将试图执行当前目录下的"my_program"文件
..
(两个点)到当前的上一级目录(也叫“父目录”)。举个例子,命令“cd..”将修改我的当前工作目录到上一级目录。
一些KDE的快捷键(很有用,但不是非要不可的)
<Alt><Tab> 切换不同的程序窗口。往回切换,使用 <Alt><Shift><Tab>
<Ctrl><Tab> 切换不同的桌面。往回切换,使用 <Ctrl><Shift><Tab>
<Ctrl><Esc> 显示我系统里正在运行的进程列表。允许我终止那些由我启动的进程(或者送信号给这些进程)
<Alt><F1> 访问K菜单 (对等于微软Windows的的“开始”菜单).
<Alt><F12> 使用键盘上的箭号键模拟鼠标的操作
<Alt><鼠标左键> 拖曳并移动一个窗口。一般来说,我通过拖曳窗口的题目栏来移动一个窗口。有些时候,我用它把 一个窗口移动到屏幕之外。使用这个功能,我可以把窗口移动到屏幕的任何位置。
<Alt><PrintScreen> 把当前屏幕的快照存到剪贴板
<Ctrl><Alt><PrintScreen> 把当前桌面的快照存到剪贴板
<Ctrl><Alt><l> 锁定桌面
<Ctrl><Alt><d> 切换隐藏/显示桌面的功能(当老板走过来的时候迅速藏起你的纸牌接龙游戏非常管用哦!)
<Alt><SysRq><command_key> (非必须掌握)
这是在Linux的内核(底层内核)上支持的一组组合键。它意味着这些组合键在大部分情况下都是有效的。组合键主要是针对开发人员的程序调试目的或者在紧急场合下才使用;你也可以使用其他的办法,安全第一。<SysRq>键在PC上指的是PrintScreen键。组合键的功能可以通过设置相对应的内核参数来激活或者取消,比如: echo "1" > /proc/sys/kernel/sysrq
<Alt><SysRq><k> 终止在当前虚拟终端上运行的所有进程(包括X窗口)。这个组合键被称为“安全访问键“(SAK).
<Alt><SysRq><e> 发送 TERM 信号(结束信号)到除了init进程以外的所有运行进程,要求其退出
<Alt><SysRq><i> 发送 KILL (终止信号)到除了init进程以外的所有运行进程, 这个组合键比上一个更加有效,但是也可能引起一些程序被异常终止。
<Alt><SysRq><l> 发送KILL命令到所有运行进程(包括init),系统将不再能够使用
<Alt><SysRq><s> 在所有的挂载文件系统上运行紧急同步(缓存写) 。这可以保护数据丢失
<Alt><SysRq><u> 以只读模式重新挂载所有已加载的文件系统。这和上面的同步组合键有相同的功能,但是另外有一个好处:如果操作顺利完成,下一次硬件重新启动时,fsck将不会重新检查所有的文件系统。 <Alt><SysRq><r> 关闭键盘的原始模式。当你的X窗口程序挂住没有响应时特别有用。使用这个组合键之后,你可能会接着使用<CTRL><ALT><DEL>程序启动。
<Alt><SysRq><b> 不进行同步和卸载就立刻重新启动系统。之后你可能会碰到一下错误信息。
<Alt><SysRq><o> 关机 (如果正确设置以后)
<Alt><SysRq><p> 导出当前的寄存器和标志到控制台
<Alt><SysRq><t> 导出当前任务和相关信息到控制台
<Alt><SysRq><m> 导出内存的内容到控制台
<Alt>SysRq><数字> “数字”从0到9。设置控制台记录的级别,用于控制哪一些内核信息将被显示在控制台上。举例,“0”意味着只有象PANIC和OOPS的之类的紧急信息才被显示在控制台上。
<Alt><SysRq><h> 显示帮助信息。还有,任何其他不被支持的 <Alt><SysRq><key> 组合键将显示同样的帮助。
5.2 帮助命令
命令名 –help | more
显示一个简略的命令帮助(对大部分命令有效)。举个例子,试着使用 “cp –help | more”。“--help”和和DOS下的“/h”开关功能类似。当输出超过一个屏幕时,加上“more”是很有必要的。
man 命令名
显示对应命令系统的帮助手册。输入“q”退出浏览器。如果你设置了高级选项,试着输入“man man”。命令“info 命令名” 和命令“man 命令名”功能相似,但是包含更多的最新信息。帮助手册对于新手可能有点难于读懂——因为它们最初是写来给UNIX程序员看的。使用“命令名 –help”可以得到一个简略容易消化的命令帮助。有些程序自带README文件或者其他帮助信息文件----建议你可以看看目录/usr/share/doc。在指定的部分显示命令帮助,可以使用这样的命令“man 3 exit”,这个命令只显示exit命令帮助手册的“第三部分”;或者使用命令“man –a exit”, 这个命令显示exit命令帮助手册的“所有部分”。exit命令帮助的所有部分是: 1-用户命令;2-系统调用;3-子调用;4-设备;5-文件格式;6-游戏;7-杂项;8-系统管理;9-新内容。打印完整的命令帮助,可以使用命令“man 命令名 | col -b | lpr”(可选项col –b删除所有的退格键和一些难以阅读的特殊字符)。
info 命令名
显示指定命令的帮助信息。info 命令是取代man 命令的一个好处是,它通常带有最近更新的系统资料。多使用“空格键”和“退格键”,否则你可能会晕头转向。按“q”键退出。如果觉得用于翻阅的办法不太好用――你也可以试着使用pinfo命令,看你会不会更喜欢这个替代品。
apropos 命令名
对所输入的命令名给出一个帮助一览表。
whatis 命令名
给出匹配所输入命令名的简短清单。whatis命令有点象apropos――它们使用相同的数据库。不同的是,whatis搜索的是关键字,apropos搜索的是关键字的具体描述。
help 命令名
显示bash shell内置命令的简单信息。使用 help 命令不带任何参数将显示bash shell所有内置的命令。最短的bash shell内置命令应该包括:alias, bg, cd, echo, exit, export, help, history, jobs, kill, logout, pwd, set, source, ulimit, umask, unalias, unset.
kdehelp kdehelpcenter
(在X-终端下有效, 使用在你的系统上可以工作的那一个命令). 使用图形的浏览器显示整个系统的帮助。一般来说,KDE帮助通过把对应的图标放在KDE控制板上来实现。对等的GNOME帮助系统可以使用gnome-help-browser命令。
5.3 系统信息pwd
输出工作目录。举例,在屏幕上显示我当前所在的目录
hostname
输出本地主机的名称(我正在使用的这一台机器)。使用netconf修改机器的名称(要求超级用户权限)
whoami
输出我的登录名称
id username 输出用户标识ID(UID)和其对应的用户组标识ID(GID),有效的ID(如果不同于真正的用户ID)和所属的其他用户组
date
输出操作系统的当前日期,时间和时区。如果要以ISO标准格式输出,我必须使用命令“date –Iseconds”。 我可以修改当前的日期和时间到2003-12-31 23:57,使用命令:date 123123572003。或者使用两个命令(比较容易理解和记住):
date –-set 2003-12-31 date –set 23:57:00
如果要重新设置硬件时钟(BIOS),可以使用命令setclock,要求超级用户权限。
time
侦测一个进程所需要的时间加上其他处理的时间的总和。不要和上面提到的date命令混淆。比如,我可以使用命令“time ls”来判断显示一个目录需要多长时间;或者我可以使用命令“time sleep 10”来测试time命令(睡眠10秒钟,什么也不做)。
clock
(两个命令中的一个)从计算机的硬件(由电池供应的实时的硬件时钟)获得日期/时间。你可以使用这个命令来设置硬件时钟,但是setclock可能简单一些(看前面的两个命令)。举例:“hwclock –systohc –utc”命令把系统时钟设置到硬件时钟(以UTC格式)。
who
显示登录在系统里的用户
w
显示登录在系统里的用户,检查他们正在做什么以及他们的处理器使用状况。属于常用的安全方面的命令。
rwho -a
(=remote who,远端的who命令)。显示网络里其他计算机的用户登录状况。这个命令要求rwho服务必须在远端机器上运行。如果没有,以root用户运行setup(RedHat特有)激活“rwho”。
finger 用户名
显示对于一个用户的系统信息。可以试一下命令:finger root。任何人都可以使用finger命令访问任何一台连接到因特网提供finger服务的计算机。比如:finger @finger.kernel.org
last
显示最后一个登录到系统的用户。经常运行这个命令作为系统安全检测的手段之一是一个绝好的主意。
lastb
(“=last bad”,最后一个坏的)显示最后一个不成功的登录尝试。但是这个命令在我的系统上不能工作,所以你可能要使用:touch /var/log/btmp
“/var/log/btmp在一般的系统安装里无效的主要原因是因为:它是一个包含登录的出错信息的完全可读的文件。一个用户登录时最经常犯的错误是输入用户密码作为用户名,这样,文件/var/log/btmp对计算机黑客来说简直是一个礼物”。(谢谢Bruce Richardson提供这个信息)。
如果要解决这个问题,修改该文件的文件访问权限为只有root用户才可以使用命令“lastb”。命令:“chmod o-r /var/log/btmp”
history | more
显示当前用户在命令行模式下执行的最后(1000个)命令。参数“|more”在输出满屏时暂停。如果要检查其他用户在你系统上都运行了什么,以root用户登录,检查在该用户主目录下的文件“.bash_history”(没错,该文件可以被修改和删除)。
uptime
显示自从上一次启动到现在机器运行的总时间。
ps
(= “print status”或者 “process status”,打印状态或者处理状态)列出由当前用户运行的进程一览。
ps axu | more
列出当前运行的所有进程,包括那些不是来自控制终端的进程,在显示用户进程的同时显示用户名。
top
持续列出正在运行的所有进程,按CPU的占用率排序(占用率高的排在最前面)。按<CTRL>C退出。
PID = 用户标识 USER = 启动或者拥有该进程的用户. PRI = 进程的优先级别(值越大,优先级别越低,一般进程是0,最高的级别是-20,最低的级别是20。 NI = 优化级别(比如,进程试图以预先给定的优先级别的数值来运行)。数值越高,进程的优化级别也越高(优先级别越低) SIZE = 进程加载到内存的代码+数据+堆栈的字节总数(以千字节计算) RSS = 物理内存被占用的大小(以千字节计算) SHARE = 和其他进程共享的内存(以千字节计算) STAT = 进程的当前状态 S-睡眠, R-运行,T-停止或者被跟踪,D-不可中断的睡眠,Z-不死的进程 %CPU = CPU占用虑百分比(自从上一次屏幕更新以来) %MEM = 共享物理内存的占用率 TIME = 进程占用的CPU时间 (自从进程启动以来) COMMAND=启动该任务使用的命令行(小心命令行里出现的密码等信息,有权限运行top命令的用户都可以看见它们!)
gtop ktop
(X终端)在图形用户界面下的两个top功能。我比较习惯使用gtop(在gnome自带)。在KDE环境下,ktop在K菜单的“System”菜单下的“Task Manager”里。
uname –a
(=“Unix Name”带可选项“all”)显示你本地计算机信息。也可以使用通信用户界面的guname(X终端下)得到更好的信息显示。
XFree86 –version
显示本地计算机的X-Windows的版本。
cat /etc/issue
检查你的发行版本。你也可以把你自己的信息放到文件/etc/issue里――在用户登录的时候会显示。如果你想要显示更多的信息,还有一个比较常见的做法是把本地专有的登录信息内容放在文件/etc/motd里 (“motd”=“message of the day”,当天信息)
free
内存的信息(以千字节显示)。“共享”内存是指可以被多个进程共同享有的内存(比如,可执行代码是“共享”的)。“缓冲”和“缓存”则是用来保留最近访问的文件和数据――当其他进程需要更多的内存时候这些内容可以被减缩。
df -h
(=disk free 硬盘剩余空间) 输出所有文件系统的硬盘信息(以易读的模式, h-human readable, 人类可读)
du /-bh | more
(=disk usuage, 硬盘使用状况)输出根目录“/”下每个子目录具体的硬盘使用状况
cat /proc/cpuinfo
CPU信息――它显示文件cpuinfo的内容。要注意的是文件在/proc目录下不是真正的文件――它们只是在观察内核信息时起连接的作用。
cat /proc/interrupts
显示正在使用的中断号。在配置一个新硬件的时候可能需要浏览一下。
cat /proc/version
Linux的版本和其他信息
cat /proc/filesystems
显示当前使用的文件系统的类型
cat /etc/printcap |more
显示打印机的设置
lsmod
(= "list modules". 显示模块。必须是root用户,如果不是,使用命令/sbin/lsmod执行)显示当前已经加载的内核模块 .
set|more
显示当前的用户环境(全部显示)。一般来说东西太多了。
echo $PATH
显示环境变量“PATH”的内容。这个命令也可以用来显示其他的环境变量。使用set来察看所有的环境变量(和前一个命令功能相同)
dmesg | less
输出内核信息(也就是常说的内核内部缓存信息)。按“q”退出“less”。也可以使用 “less /var/log/dmesg”来直接检查最近一次系统启动时“dmesg”输出到文件里的内容。
chage -l my_login_name
查看我的密码过期信息
quota
查看我的硬盘区间(硬盘使用的限制)
sysctl -a |more
显示所有可设置的Linux内核参数
runlevel |