当前位置:Linux教程 - Linux文化 - Linux命令使用技巧集锦

Linux命令使用技巧集锦


用Linux时可能有处处不方便的感觉, 可是等使用一段 时间掌握了一些技巧后就会感到越来越顺手了. 以下就是我 使用Linux以来积累的一些经验与技巧, 相信对初学者会有所帮助的. 

1. 使用虚拟控制台    

  登录后按Alt+F2键这时又可以看到“login:“提示符, 这 个就是第二个虚拟控制台. 一般新安装的Linux有四个虚拟控 制台, 可以用Alt+F1~Alt+F4来访问. 虚拟控制台最有用的时 候是当一个程序出错锁住输入时可以切换到其他虚拟控制台 ? [color=red:8ea1de57f3]现在一般默认是7个,可以用Alt+F1~Alt+F7来切换,第七个一般是Xwindow;如果启用了xwindow则要用ctrl+alt+F*来切换[/color:8ea1de57f3] 

2. 拷贝与粘贴   

  字符界面: 不管是Slackware 还是RedHat 安装后每次启 动时都会自动运行一个叫gpm的程序, 该程序运行后就可以用 鼠标来拷贝与粘贴了. 具体做法是按住鼠标左键拖动使要拷贝的地方反白, 这时反白的区域已经被拷贝, 再按鼠标右键拷贝的内容就会被粘贴在光标所在位置了. X-Window下: 拷贝的操作与字符界面下一样, 三键鼠标的话 按中键粘贴, 两键鼠标的话同时按左右键粘贴(须在配置XF86 时在鼠标的设置里选择 Emulate 3 Button). 

3. 快速进入某些目录 

  键入 cd ~ 可进入用户的home目录. 键入 cd - 可进入上一个进入的目录. [color=red:8ea1de57f3]在RH8,9中用cd回车就可以进入登录目录了,比如是root用户cd则进入/root.[/color:8ea1de57f3] 
4. 软驱的使用 

  如果是Linux 的ext2文件系统用如下命令: #mount -t ext2 /dev/fd0 /mnt dos格式的软盘则用命令: #mount -t msdos /dev/fd0 /mnt 然后就可以在/mnt里访问软盘的内容了, 注意在取出软盘之 前要先卸掉软盘上的文件系统, #umount /mnt 否则会导致信息丢失. 在软盘上建立文件系统可用如下命令: #mke2fs /dev/fd0 1440 

5. RedHat下显示彩色目录列表 

  打开/etc/bashrc, 加入如下一行: alias ls=“ls --color“ 下次启动bash时就可以像在Slackware里那样显示彩色的目录列表了, 其中颜色的含义如下: 蓝色-->目录 绿色-->可执行文件红色-->压缩文件 浅蓝色-->链接文件 灰色-->其他文件 

6. 显示文件的类型    

  用命令 file 可以使你知道某个文件究竟是ELF格式的可执行文件, 还是shell script文件或是其他的什么格式 例如: #file startx 

7 .命令文件的路径 

  当你键入一些命令如find, shutdown, mount, startx时是否 想过要知道这些文件究竟放在哪个目录里? 用命令 whereis 可以实现,如 #whereis startx [color=red:8ea1de57f3]还可以用which,例如which ls[/color:8ea1de57f3] 

8. 查找文件 

  find 命令要加一些参数才能查到文件, 如: #find /usr -name XF86Setup -print 在/usr里查找文件XF86Setup. 

9. 删除无用的core文件 

  程序运行出后有时候会产生一个名为core的文件, 这个文件一般很大而且没什么用, 可以删除掉以释放空间. 

10. 一次解开.tar.gz文件 

  解开.tar.gz文件一般要先用gunzip解压再用tar解包, 在Linux下可以一次完成, 如: #tar zxpvf sample.tar.gz 

11. 显示win95分区里的长文件名    

  如果你发现win95分区里的长文件命不能显示, 可以重新 用vfat方式来mount. 对于启动时就mount的分区可以修改文 件/etc/fstab, 将里面的msdos字样改为vfat. 如果无法用 vfat mount, 则要重新编译一下核心, 加入对vfat的支持. 

12. Linux 里的Norton Commander    

  在提示符下键入命令mc后你就会看到一个与Norton Commander很相似的界面, 实际上功能也很相似甚至更强大, 比如可以直接对.tar.gz 压缩包里的文件进行操作(有点像 ZipMagic). 

13. 启动后直接进入X 

  编辑/etc/inittab文件, 把id:3:initdefautl改为 id:4:initdefautl. 不过搜索路径可能会有些问题, 关机时 你得直接进入/sbin 里去执行 shutdown. 
[color=red:8ea1de57f3]这个地方有错,应该是id:5:initdefault.现在也不用进入/sbin里去执行shutdown了因为已经在/etc/profile中加了path.[/color:8ea1de57f3] 

14. 后台运行 X 程序 

  执行一个X程序时别忘了在后面加一个&号,如 #netscape & 否则的话在你推出执行的程序之前再无法在那个终端窗口里输入命令? 

15. 强行退出 X 

  有时候在 X 里由于程序出错鼠标键盘都不起作用, 这时 候不用着急, 因为在Linux下几乎不会像在Win95里那样恶性 死机, 你只须键入Ctrl+Alt+BackSpace键就可以回到字符界 面下了. [color=red:8ea1de57f3]如果默认启动的x,则按这三个键会重新启动x.[/color:8ea1de57f3] 

16. 重装Win9x后lilo失效无法启动Linux   

  只须先用软盘启动Linux然后运行一次lilo即可。对于 RedHat可以用命令mkbootdisk来制作启动盘,例如: mkbootdisk --devices /dev/fd0 2.0.34-1 其中2.0.34-1是 /lib/modules下的一个目录。 
[color=red:8ea1de57f3]那个2.0.34-1其实就是内核版本号,如果你不知道可以这样.mkbootdisk --devices /dev/fd0 `uname -r`.注意这个`是tab键上方的那个键,不是单引号.[/color:8ea1de57f3] 

17. 把dos/windows改为缺省启动的OS   

  RedHat把Linux作为lilo缺省启动的OS,即出现 boot: 提示符后直接回车启动Linux。如果想改为dos/Windows,修 改文件/etc/lilo.conf,把有关启动dos的部分放在前面,再 运行一次lilo即可。例如把lilo.conf从: boot=/dev/hda 
map=/boot/map 
install=/boot/boot.b 
prompt 
timeout=50 
image=/boot/vmlinuz-2.0.34-1 
label=linux 
root=/dev/hdc5 read-only 
other=/dev/hda1 
label=dos 
table=/dev/hda 
改为: 
boot=/dev/hda 
map=/boot/map 
install=/boot/boot.b 
prompt 
timeout=50 
other=/dev/hda1 
label=dos 
table=/dev/hda 
image=/boot/vmlinuz-2.0.34-1 
label=linux root=/dev/hdc5 read-only 
[color=red:8ea1de57f3]这个写法也过时了,如果你用lilo,则直接在prompt的下面加一行default=dos,然后运行lilo -v就可以,如果是grub,则更改default=0看你windows是0还是1.grub一般不用重新安装[/color:8ea1de57f3] 

18. 去掉引导区内的lilo信息 

  安装lilo后如果硬盘数量或分区情况有改变的话将导致硬盘不能启动,这时只须用软盘启动dos再运行 fdisk/mbr 即可。(这个方法还可清除任何引导区病毒) 

19. 让 X 支持 AGP 显卡 

  下载一个 AX 4.1 即 AcceleratedX 4.1 , 一个商业版 的 X Server 。除 AGP 显卡外 AX 还支持很多牌号的显卡。 另外还可以用AX 带的设置程序 Xsetup 方便的对分辨率,刷新率等参数进行设置。不过我也不知道用AGP卡效果如何,因为我现在还在用老掉牙的 S3 765 。[color=red:8ea1de57f3]现在默认都支持AGP了 [/color:8ea1de57f3] 

20. 把 man 或 info 的信息存为文本文件 

  以 tcsh 为例: man tcsh | col -b > tcsh.txt info tcsh -o tcsh.txt -s 

21. 用当前路径作提示符 

  对 bash 来说,在 .bashrc 里加一行: PS1=“$PWD$“ 对 tcsh 来说,在 .tcshrc 里加一行: set prompt=“%/>“ 

22. 压缩可执行文件 

  Linux 下有一个类似 dos 里的 pklite 和 lzexe 的命 令 -- gzexe 。而且压缩率一般都可以超过 50% ,在空间紧 张时很有用。比如: 

/dosc/temp# ls -al total 148 -rwxr-xr-x 1 root root 149564 Dec 8 15:33 gawk /dosc/temp# gzexe gawk gawk: 54.5% /dosc/temp# ls -al total 216 -rwxr-xr-x 1 root root 68710 Dec 8 15:36 gawk -rwxr-xr-x 1 root root 149564 Dec 8 15:33 gawk /dosc/temp# 
[color=red:8ea1de57f3]现在可以用gzip[/color:8ea1de57f3] 

23. 查看 Linux 启动时的信息   

  Linux 启动时屏幕显示的信息来不及看清就一闪而过, 如果对这些信息感兴趣的话可以在启动完后用命令 dmesg 查看。[color=red:8ea1de57f3]用dmesg |more可能看的更仔细些 [/color:8ea1de57f3] 

24. 处理文件名内含有特殊字符的文件   

  如果有一个文件名叫 -file 如果想删除它,键入 rm -file 会显示 invalid option ,原来由于文件名的第一个字符为 - , Linux 把文件名当作选项了,可以加 -- 解决 这个问题, 如 rm -- -file 。如果是其他特殊字符的话可 以在特殊字符前加一个 ,或者用双引号把整个文件名括起来。 

25. 一次处理一整个目录 

  Linux/UNIX 的很多常用命令如 rm , cp 等都有一个参 数---- -r , 是递归的意思, 命令里加了参数 -r 就可以对目标目录及其下所有子目录进行操作,如: rm -rf /test (f 是 force 意为强行) , 该命令完全删除 根目录下的子目录 test ,作用类似于 dos 下的 deltree ,当然使用这个命令时要特别小心。再如: cp -r /test /test1 有类似 dos 下 xcopy /s 的作用。 

26. 修改登录画面 

  对本机: 先修改文件 /etc/issue 改为相要显示的内容, 再修改文件 /etc/rc.d/rc.local(RedHat) 或 /etc/rc.d/rc.S(Slackware) 把下面几句注释掉: 

# This will overwrite /etc/issue at every boot. So, make any changes you # want to make to /etc/issue here or you will lose them when you reboot. echo ““ > /etc/issue echo “Red Hat Linux $R“ >> /etc/issue echo “Kernel $(uname -r) on $a $(uname -m)“ >> /etc/issue 

cp -f /etc/issue /etc/issue.net echo >> /etc/issue 

  不然的话每次重新启动 /etc/issue 都会被更改。 

  对 telnet 的远地机器: 先把文件 /etc/usr/sbin/in.telnetd 改名,如改为 in.telnetd.exe ,再编一个名为 in.telnetd 的 shell 脚 本, 在显示完需要的内容后再调用 in.telnetd.exe 。如: 

#!/bin/sh cat /etc/login.banner #需要在登录提示符前显示的内容 echo -n ““ exec /usr/sbin/in.telnetd.exe 

27. 几个有用的别名 

  几个能方便操作和减少误操作的别名,建议把它们放到启动 文件里, 如 /etc/bashrc 。 

alias rm=‘rm -i‘ alias cp=‘cp -i‘ alias mv=‘mv -i‘ 

#前三个别名的作用是在删除、覆盖文件之前先提示确认, RedHat已经自动 #加上了,强烈建议Slackware的用户也加上,因为 Linux/UNIX下文件一旦删 #除就再也无法恢复了。 

alias l=‘ls -l‘ alias cd..=‘cd ..‘ alias utar=‘tar xvfz‘ #解 *.tar.gz 文件 alias inforpm=‘rpm -qpi‘ #显示rpm包的信息 alias instrpm=‘rpm -Uhv‘ #安装rpm包 alias listrpm=‘rpm -qpl‘ #列rpm包内的文件 alias uistrpm=‘rpm -e‘ #反安装rpm包 

28. 使用命令补齐 

  所谓命令补齐(Command-Line Completion)是指当键入的 字符足以确定目录下一个唯一的文件时只须按 Tab 键就可以 自动补齐该文件名的剩下部分,例如要把目录 /freesoft 下 的文件 gcc-2.8.1.tar.gz 解包,当键入到 tar xvfz /freesoft/g 时如果该文件是该目录下唯一以 g 起头的文件 的话就可以按下 Tab 键,这时命令会被自动补齐为:tar xvfz /freesoft/gcc-2.8.1.tar.gz ,非常方便。 

29. 最后一条技巧   

  有时间的话多看看系统提供的FAQ文件,因为通常遇到的 问题大多数都能在里面找到答案。 [color=red:8ea1de57f3]这个可以用man命令来查看,比如man ls或者info来看更详细的帮助信息,比如info /etc/fstab.另外,你还可以直接到/usr/share/doc中查看帮助手册.[/color:8ea1de57f3] 


[color=green:8ea1de57f3]30.进入单用户模式和限制进入单用户模式. 
单用户模式可以让普通用户拥有root的所有权限,如果你忘记root密码了,或者系统出现了问题而系统管理员不在急着要修复系统的话,用处还是很大的.但也有安全隐患. 
a.进入单用户模式 
lilo的话,在出现引导界面时按ctrl+x然后在boot:后输入linux single回车即可进入单用户模式. 
grub:出现引导界面后,按e,然后选择第二行(kernel*那一行),再按e.再结尾处输入single或者init 1或者1(都可以),按回车,然后按b引导即可. 
b.只限制进入单用户模式,引导系统时不要密码 
lilo:在install=/boot/boot.b的下一行加上 password=password 
restricted 
然后运行lilo -v 
需要注意的是,最好限制普通用户修改编辑lilo.conf不然这明文的密码就没有用了.chmod 600 /etc/lilo.conf.只给root用户读写权限就OK了. 
grub:在grub.conf中在第一段任何位置加password=明文密码,或者先用grub-md5-crypt生成一个加密的密码,然后用鼠标选中它,按ctrl+shift+c复制,然后打开grub.conf在title的上面一段加上password=--md5(注意这儿有一个空格),然后击右键,把你的加过密的密码粘过来.或者你可以写成password --md5空格加过密的密码的格式都可以.然后保存重启就行了. 
建议使用加密的密码.这样即使普通用户打开grub.conf也不知道密码是什么. 
c.限制用户进入指定的系统.(对多重引导的系统有用) 
lilo:在label=*的下面加password=密码 
grub:在title=*的下面加password --md5 加过密的密码