原创 Linux常用命令

2008-3-23 19:27 2360 8 8 分类: MCU/ 嵌入式

Linux常用命令集:

command [-options] parameter1 parameter2 ......



man + command: 显示关于该command的帮助,比info命令详细.

man -k 关键词: 显示与关键词有关的 命令。

man 5 command: 多了一个数字5,就变成了command这个文件的功能介绍了。



su: 切换到系统管理员(root).

su + user name: 切换到用户.

exit: 退出登录, 有时要输入多次, 奇怪!?

cd: 变换目录.

pwd: 显示当前目录.

mkdir: 建立一个新目录.

rmdir: 删除一个内容为空的目录.

rm -rf: 删除目录及其内容.

ls -al: (list)显示文件名称,属性.

ll: 等同于ls -l.

cp: (copy)复制文件或目录.

rm: (remove)删除文件或目录.

mv: (move)移动文件或目录.

cat: (concatenate)从文件的第一行开始显示.

tac: 从文件的最后一行开始显示. 是倒着写的"cat".很幽默啊?

more: 一页页显示.

less: 与more类似,但可以向前翻页.

head: 只显示头几行.

tail: 只显示末尾几行.

nl: 显示时同时输出行号. 与cat -n相似.

od: 以二进制方式读取文件内容.

关于inode: 记录文件或者文件夹属性的点. ls -l列出的第二个字段就是该文件或者文件夹占用的inode数.

ln file1 file2: 是硬链接, 就是生成第二个文件名file2和一个inode,指向file1的数据块. 如果以后只删除file1和file2中任何一个文件名, 数据块仍会保留,不会被删掉. 硬链接不可以针对文件夹.

ln -s file1 file2: 是软链接,如果删除file1,file2会找不到文件.



grep "word" filename: 将file里面含有“word”的行显出来。

grep root /var/log/secure: 将secure文件中含有“root”的行显出来。

grep "*[a-d]*" /var/log/secure: 将secure文件中含有a-d的行显出来。

grep boot /etc/*: 将/etc下面含有“boot”的文件。

*是特殊字符,如果要找含有*的文件,要写成“\*”。



date: 显示当前时间和日期.

cal: 显示当月或者某一年的日历.

bc: 计算器,计算完毕用quit退出.

who: 查看哪些用户在线.

id [username]: 查询用户的UID,GID及所拥有的组。

groups: 显示当前用户所属的组。

finger [-s] username: [-s]表示完整列出。列出用户的详细信息。

netstat -a: 查看网络联机状态.

ps -aux: 查看背景执行的程序. -a列出所有的程序;-u列出所有用户的程序;-x列出所有tty的程序。

top: 每5秒更新一次系统运行程序的情况。用A/T/N/P四个字母对显示内容按照执行的先后顺序/启动的时间/占内存的大小/耗用的CPU资源排序。

free -km: 以K或者M为单位显示内存使用情况。

sar [-u] [-r] 秒数 次数: [-u]表示看CPU的使用情况;[-r]表示看内存的使用情况;“秒数”表示几秒观测一次;“次数”表示共观测几次。

uname [-apnr]: -a列出所有系统信息; -p列出CPU信息; -n列出主机名; -r 列出核心版本信息。

nice [-n number] command: 以number(普通用户0~19,root为-20~19)为优先级执行command.

renice [number] PID: 改变PID的优先级。 与ps配合使用,先用ps找出任务的PID。

last [-number]: 列出最近的number条登录信息,检查是否有非法登录。 

shutdown: 关机. 后面一定要加时间参数, 例如:

shutdown -h now: 立刻关机.

shutdown -h 20:25: 20:25分关机.

shutdown -k: 发出关机警告.

shutdown -h +10: 10分钟后关机.

reboot: 关机重启. 在该指令之前要输入数据回填指令: sync. 如:

sync;sync;sync;reboot

fsck: 整理磁盘. 如果发生磁道错乱, 就整理一下.

chgrp: 改变用户所属群组.

chown: 改变文件的拥有者.

chmod: 改变文件权限. 如:

chmod 777 Aboutlinux.txt

修改Aboutlinux.txt为所有用户都拥有读写执行的权限. 7=4+2+1=r+w+x.

chmod u=rwx,og=rx AboutLinux.txt

其中, u表示owner, o表示others, g表示group. "u=rwx,og=rx"中间没有空格.

chmod a-x AboutLinux.txt

其中, a表示所有用户, -x表示去掉执行权限.

chmod a+w AboutLinux.txtch

表示所有的用户都增加写的权限.

SetUID,SetGID: 拥有者/拥有者所在的组的权限中的x换为s,表是任何执行该文件的用户在执行文件时都获得拥有者或者拥有者所在的组的权限.

Sticky bit: Others的权限中的x换为t, 表示其下的文件或者目录只有拥有者才能删除.

file: 查看文件类型.

umask: 指定当前用户建立文件夹或目录时的默认属性. 后面跟了4个16进制数字,只有最后3个有意义,r+w+x=4+2+1,但是,如果哪一位为1,表是要取消那一种权限. 文件的默认属性是X无效,目录则默认X有效.

chattr: (change attribute)修改文件的安全属性. 如S(sync,将数据同步写入磁盘),a(只能追加数据,不能删除),i(不能删除/更名/设定链接,也不能写入或者新增数据).

lsattr: (list attribute)显示文件的安全属性.

which: 在PATH变量中查找可执行文件的位置.

locate: 从数据库/var/lib/slocate中查找文件位置. 该数据库默认每周更新一次,故不一定找的很准.
在/etc/cron.weekly/slocate.cron中找到相关信息.
也可用/usr/bin/updatedb直接更新数据库文件.updatedb的设置在/etc/updatedb.conf中.

whereis: 同locate,但是可以加参数.

find: 实际搜寻硬盘查询文件位置.

df: 查看硬盘的总容量,已用容量,挂载点等信息. /dev/shm, /dev/proc(系统数据,在内存中)等不用理会.

du: 查看文件/目录的大小等信息.

fdisk: 硬盘分区.

e2label: 修改硬盘的label.

mke2fs: 格式化工具.

fsck: 检查坏道, 将坏道放入lost+found中. 旧的系统中,如果不是正常关机,linux无法正常启动,要进入单人维护(runlevell),然后用fsck -a /dev/hdxxx检查硬盘.

sync: 将内存中的数据同步写入硬盘中.

mkbootdisk: 制作启动盘.

fdformat /dev/fd0H1440: 低级格式化1.44M软盘. 之后还要用mke2fs格式化为ext2格式.

mount: 显示设备挂接情况.

mount -t iso9660 /dev/cdrom /mnt/cdrom: 挂接光盘.

mount -t vfat /dev/hda5 /mnt/d: 挂接d盘.

mount -t ext2 /dev/fd0 /mnt/floppy: 挂接软盘. 取出软盘前一定先unount.

mount -o remount,rw /: 重新挂接根目录为可读.

mount -a: 按照etc/fstab的参数内容重新挂接所有磁盘.

如果被挂接的磁盘有中文目录名或者文件名, 会有"Bad EIP Value"的错误. 这种错误说明只有在tty1~tty6才会显示出来,在图形模式下的终端中只会死掉,不会显示. 另外, 不允许文件名中间有空格.

umount: 解除挂接.

关于/etc/fstab:

要在启动时自动挂载/dev/hda5到/mnt/d, 需要在/etc/fstab文件末尾加入一行"/dev/hda5 /mnt/d ext2 defaults 1 1".

修改完毕要用"mount -a"测试一下. 如果写错了, 可能会无法启动(硬盘?), 根目录变为只读. 这时只要"mount -n -o rw,remount /",将硬盘重新装载为可擦写.

/etc/mtab记录当前的装载信息, 随着mount/umount指令的执行情况变化.

hdparm [-cdmXTt] hdx: 设定硬盘模式.

dd: 增加一个swap文件.

swapon: 启动swap文件.

swapoff: 关闭swap文件.

jobs: 显示在背景状态下工作的 任务。

fg %number: 将编号为number的背景任务移到前台。

bg %number: 将编号为number的背景任务由stopped变成running。

kill -signal %number: 按照signal的指示处理number号任务。signal = 1,
重新读取参数配置文件(reload);signal = 2, 用户中断任务(Ctrl-C); signal = 9, 立即杀掉任务;
signal = 15,停止任务(默认值)。



Linux的压缩和解压缩:

compress [-d] filename: [-d]是解压缩参数。 压缩的结果产生一个*.z文件,源文件被删除。uncompress等同于compress -d。

bzip2 [-dz] filename: [-d]是解压缩参数;[-z]是压缩参数。压缩后产生一个*.bz2文件。bunzip2等同于bzip2 -d。

bzcat filename: 不解压缩而读取压缩文件*.bz2的内容。

gzip [-d#] filename: [-d]是解压缩参数;[-#]是压缩等级1-9,代表压缩比,默认6。产生*.gz的压缩文件。

zcat filename: 读取压缩文件*.gz的内容。

tar [-zxcvfpP] filename:
[-z]同时进行gzip压缩;[-x]解压缩;[-t]查看tar里面的文件;[-c]建立压缩文件*.tar或者*.tar.gz;[-v]显示压缩
/解压缩过程;[-f]使用文件名;[-p]使用原文件的原有属性;[-P]使用绝对路径。

tar [-N 'yyyy/mm/dd'][-zxcvfpP] filename: 将yyyy/mm/dd以后的文件打包。

tar -xvf directory.tar: 解压缩directory.tar。

tar -zxvf directory.tar.gz: 解压缩directory.tar.gz。 

tar -N '2002/06/25' -zcvf home.tar.gz /home: 将/home中晚于指定日期的文件压缩。

tar -zcvf host.tar.gz / --exclude /mnt / --exclude /proc: 将除了/mnt和/proc以外的全部打包压缩。

对于*.tar.bz2文件,可以先用bunzip2解压缩,会生成*.tar;然后用tar解包。

解压缩并编译后的可执行文件,可以手工建立一个链接文件。这个文件如果在图形界面下简单的拖出来,不能执行。


解压缩后要读一下readme文件或者其他帮助文件。





PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
我要评论
0
8
关闭 站长推荐上一条 /3 下一条