Linux常用技巧和命令


更新日志(具体更新内容见文末)
  2009年10月10日:本文发布。

前言:
  本文搜集了常用的Linux技巧和命令,以最简洁的方式记录下来,便于查找。  
代码:
命令

  


1、按住Alt键,然后就可以用鼠标点在窗口的任意位置拖动窗口了。
2、关机。
shutdown -h now 或者
halt
3、进入图形界面。
startx
4、退出图形界面回到字符界面。
ctrl+alt+backspace
5、命令行中查看html。
lynx
常用按键(四个光标键)
-> 进入链接
<- 返回
6、历史命令。
history
执行指定序号n的命令:
!n
7、解压缩源码包。
新的tar程序:
tar xvf 包名
老的tar程序:
tar xvjf 包名.bz2 或者
tar xvzf 包名.gz
8、创建目录。
mkdir [选项] 目录名
选项:
-m, --mode=MODE   建立特定权限的目录
-p, --parents     自动建立需要的父目录
-v, --verbose     显示建立目录的详细信息
     --help        显示帮助信息并退出
     --version     显示版本信息并退出
9、进入>提示符,要求输入写入文件的内容,无法退出怎么办?
用ctrl+c可以退出。
10、修改文件内容。
把/etc/group文件中的lp:x:9替换为lp:x:9:
sed -i 's/lp:x:9/lp:x:9:/g' /etc/group
也可以先存到临时文件,再mv:
sed 's/lp:x:9/lp:x:9:/g' /etc/group > /etc/group.tmp
mv /etc/group.tmp /etc/group
11、文本搜索。
用cat filename | more 打开,然后输入/ 关键字 进行搜索,按n查找下一个。

12、远程连接Linux。

先打开Linux的SSH服务:

/etc/rc.d/init.d/sshd start
13、查看磁盘信息。
root [ ~ ]# df -h
文件系统              容量 已用 可用 已用% 挂载点
/dev/mapper/lfs-cd    1.5G 1.3G 199M 87% /
/dev/hda2             7.6G 607M 7.0G   8% /mnt/lfs
shm                   506M     0 506M   0% /mnt/lfs/dev/shm

root [ ~ ]# fdisk -l
Disk /dev/hda: 8589 MB, 8589934592 bytes
15 heads, 63 sectors/track, 17753 cylinders
Units = cylinders of 945 * 512 = 483840 bytes
   Device Boot      Start         End      Blocks   Id System
/dev/hda1               1        1058      499873+ 83 Linux
/dev/hda2   *        1059       17753     7888387+ 83 Linux
14、查看机器运行时间。
root [ ~ ]# uptime
22:11:44 up 2:52, 3 users, load average: 1.19, 1.22, 1.19
15、suid/sgid的工作原理。
如果可执行文件设置了SUID位,则该程序运行的时候,有效用户ID是该程序的所有者。
16、Linux启动过程。
stage1: 从引导扇区加载内核加载程序。(把磁盘上的MBR加载到0x7c00处开始执行)
stage2: 从内核加载程序加载内核。
上述两个阶段合起来就是LILO(Linux Loader)或者GRand Unified Bootloader(GRUB)。
比较而言,GRUB支持从文件系统引导内核,因为它增加了一个启动阶段stage1.5,用于加载文件系统识别的程序。
加载的内核其实是一个压缩的内核映像,它通常是一个 zImage(压缩映像,小于 512KB)或一个 bzImage(较大的压缩映像,大于 512KB),它是提前使用 zlib 进行压缩过的。
内核执行后加载根文件系统initrd( init ram disk)继续启动,最后才加载真正的根文件系统(如果没有硬盘那么不会再加载)。

对于Linux0.11:
stage1
bootsect.S加载到0x7c00,它把自己复制到0x90000处继续执行,然后把setup.S复制到0x90200处;
setup.S中继续执行,读取硬件参数放在0x90000处供后面内核使用,然后把内核移动到0地址处,然后加载临时的gdtr/idtr,进入32位保护模式,并跳转到内核system的head.s中。
head.s中重新初始化分段机制(设置GDT/IDT等),初始化分页机制(根据实际内存大小设置页目录表/页表)。



Email:sinojelly@163.com
                               2009年10月10日

更新日志:
2009年10月10日:本文发布。