2008年12月3日星期三

Linux常用网址

Linux常用命令
http://linux.chinaitlab.com/special/linuxcom/Index.html

基本操作命令:
----------------------------------------------------------------------
----------------------------------------------------------------------
ls #以默认方式显示当前目录文件列表
ls –a #显示所有文件包括隐藏文件
ls –l #显示文件属性,包括大小,日期,符号连接,是否可读写及是否可执行
ls --color=never *.so > obj #不显示文字颜色,将所有so文件记录到obj文件中

----------------------------------------------------------------------
cd dir #切换到当前目录下的dir目录
cd / #切换到根目录
cd .. #切换到到上一级目录
cd ../.. #切换到上二级目录
cd ~ #切换到用户目录,比如是root用户,则切换到/root下

----------------------------------------------------------------------
rm file #删除某一个文件
rm -fr dir #删除当前目录下叫dir的整个目录

----------------------------------------------------------------------
cp source target #将文件source 复制为 target
cp /root/source . #将/root下的文件source复制到当前目录
cp –av soure_dir target_dir #将整个目录复制,两目录完全一样
cp –fr source_dir target_dir #将整个目录复制,并且是以非链接方式复制,当source目录带有符号链接时,两个目录不相同

----------------------------------------------------------------------
mv source target #将文件source更名为target

----------------------------------------------------------------------
diff dir1 dir2 #比较目录1与目录2的文件列表是否相同,但不比较文件的实际内容,不同则列出
diff file1 file2 #比较文件1与文件2的内容是否相同,如果是文本格式的文件,则将不相同的内容显示,如果是二进制代码则只表示两个文件是不同的
comm file1 file2 #比较文件,显示两个文件不相同的内容

----------------------------------------------------------------------
echo message #显示一串字符
echo "message message2" #显示不连续的字符串
cat:
cat file #显示文件的内容,和DOS的type相同
cat file | more #显示文件的内容并传输到more程序实现分页显示,使用命令less file可实现相同的功能
more #分页命令,一般通过管道将内容传给它,如ls | more

----------------------------------------------------------------------
export LC_ALL=zh_CN.GB2312 #将环境变量LC_ALL的值设为zh_CN.GB2312
export DISPLAY=0:0 #通过该设置,当前字符终端下运行的图形程序可直接运行于Xserver
date #显示当前日期时间
date -s 20:30:30 #设置系统时间为20:30:30
date -s 2002-3-5 #设置系统时期为2003-3-5
clock –r #对系统Bios中读取时间参数
clock –w #将系统时间(如由date设置的时间)写入Bios

----------------------------------------------------------------------
eject #umout掉CDROM并将光碟弹出,但cdrom不能处于busy的状态,否则无效

----------------------------------------------------------------------
du #计算当前目录的容量
du -sm /root #计算/root目录的容量并以M为单位
find -name /path file #在/path目录下查找看是否有文件file
grep -ir “chars” #在当前目录的所有文件查找字串chars,并忽略大小写,-i为大小写,-r为下一级目录

----------------------------------------------------------------------
vi file #编辑文件file
vi 原基本使用及命令:
输入命令的方式为先按ctrl+c, 然后输入:x(退出),:x!(退出并保存) :w(写入文件),:w!(不询问方式写入文件), :r file(读文件file) ,:%s/oldchars/newchars/g(将所有字串oldchars换成newchars) 这一类的命令进行操作

----------------------------------------------------------------------
man ls #读取关于ls命令的帮助
man ls | grep color #读取关于ls命令的帮助并通过grep程序在其中查找color字串

----------------------------------------------------------------------
startx #运行Linux图形有环境
Xfree86 #只运行X图形server

----------------------------------------------------------------------
reboot #重新启动计算机
halt #关闭计算机
init 0 #关闭所有应用程序和服务,进入纯净的操作环境
init 1 #重新启动应用及服务
init 6 #重新启动计算机

----------------------------------------------------------------------
扩展命令
----------------------------------------------------------------------
----------------------------------------------------------------------
tar xfzv file.tgz #将文件file.tgz解压
tar xfzv file.tgz -C target_path #将文件file.tgz解压到target_path目录下
tar cfzv file.tgz source_path #将文件source_path压缩为file.tgz
tar c directory > directory.tar #将目录directory打包成不压缩的directory.tar
gzip directory.tar #将覆盖原文件生成压缩的 directory.tar.gz
gunzip directory.tar.gz #覆盖原文件解压生成不压缩的 directory.tar。
tar xf directory.tar #可将不压缩的文件解包

----------------------------------------------------------------------
dmesg #显示kernle启动及驱动装载信息
uname #显示操作系统的类型
uname -R #显示操作系统内核的version

----------------------------------------------------------------------
strings file 显示file文件中的ASCII字符内容

----------------------------------------------------------------------
rpm -ihv program.rpm #安装程序program并显示安装进程
rpm2targz program.rpm program.tgz #将rpm格式的文件转换成tarball格式

----------------------------------------------------------------------
su root #切换到超级用户
sulogin /dev/tty4 #在tty4即alt+F4终端等待用户登陆或直接登陆开启一个shell
chmod a+x file #将file文件设置为可执行,脚本类文件一定要这样设置一个,否则得用bash file才能执行
chmod 666 file #将文件file设置为可读写
chown user /dir #将/dir目录设置为user所有

----------------------------------------------------------------------
mknod /dev/hda1 b 3 1 #创建块设备hda1,主设备号为3,从设备号为1,即master硬盘的的第一个分区
mknod /dev/tty1 c 4 1 #创建字符设备tty1,主设备号为4,众设备号为1,即第一个tty终端

----------------------------------------------------------------------
touch /tmp/running #在/tmp下创建一个临时文件running,重新启动后消失

----------------------------------------------------------------------
sleep 9 #系统挂起9秒钟的时间

----------------------------------------------------------------------
lpd stop 或 cups stop #停止打印服务程序
lpd start 或 cups start #启动打印服务程序
lpd restart 或 cups restart #重新启动打印服务程序
lpr file.txt #打印文件file.txt

----------------------------------------------------------------------
fdisk /dev/hda #就像执行了dos的fdisk一样
cfdisk /dev/hda #比fdisk界面稍为友好些
mount -t ext2 /dev/hda1 /mnt #把/dev/hda1装载到 /mnt目录
df #显示文件系统装载的相关信息
mount -t iso9660 /dev/cdrom /mnt/cdrom #将光驱加载到/mnt/cdrom目录
mount-t smb //192.168.1.5/sharedir /mnt -o username=tomlinux,password=tomlinux #将windows的的共享目录加载到/mnt/smb目录,用户名及密码均为tomlinux
mount -t nfs 192.168.1.1:/sharedir /mnt #将nfs服务的共享目录sharedir加载到/mnt/nfs目录
umount /mnt #将/mnt目录卸载,/mnt目录必须处于空闲状态
umount /dev/hda1 #将/dev/hda1设备卸载,设备必须处于空亲状态
sync #将cache中的内容与磁盘同步,在Linux中复制文件,一般要系统空闲才去写文件
e2fsck /dev/hda1 #检查/dev/hda1是否有文件系统错误,提示修复方式
e2fsck -p /dev/hda1#检查/dev/hda1是否有错误,如果有则自动修复
e2fsck -y /dev/hda1#检查错误,所有提问均于yes方式执行
e2fsck -c /dev/hda1#检查磁盘是否有坏区
mkfs /dev/hda1 #格式化/dev/hda1为ext2格式
mkfs.minix /dev/hda1 #格式化/dev/hda1为minix格式文件系统
mfks /dev/hda9 #格工化/dev/hda9为Linux swap格式
swapon /dev/hda9 #将swap分区装载当作内存来用
swapoff /dev/hda9 #将swap分区卸载

----------------------------------------------------------------------
lilo #运行lilo程序,程序自动查找/etc/lilo.conf并按该配置生效
lilo -C /root/lilo.conf #lilo程序按/root/lilo.conf配置生效
grub #在Linux shell状态下运行boot loader设置程序
grub-install #安装grub磁盘引导程序,成功后升级内核无须像lilo一样要重新启动系统,只需修改/etc/grub.conf即可实现新引导配置
rdev bzImage #显示kernel的根分区信息
rdev bzImage /dev/hda1 #将kernel的根分区设置为/dev/hda1,这在没有lilo等引导程序的系统中非常重要.

----------------------------------------------------------------------
dd if=/dev/fd0 of=floppy.fd #将软盘的内容复制成一个镜像,功能与旧石器时代常用的hd-copy相同
dd if=/dev/zero of=root.ram bs=1024,count=1024 #生成一个大小为1M的块设备,可以把它当作硬盘的一个分区来用
mkfs root.ram #将块设备格式化为ext2格式
dd if=root.ram of=/dev/ram0 #将init.rd格式的root.ram的内容导入内存
mount /dev/ram0 /mnt #ramdisk /dev/ram0装载到/mnt 目录

----------------------------------------------------------------------
gcc hello.c #将hello.c编译成名为a.out二进制执行文件
gcc hello.c -o hello #将hello.c编译成名为hello的二进制执行文件
gcc -static -o hello hello.c #将hello.c编译成名为hello的二进制静态执行文件
ldd program #显示程序所使用了哪些库
objcopy -S program #将程序中的符号表及无用的调试信息去掉,可以小很多

----------------------------------------------------------------------
strace netscape #跟踪程序netscape的执行,看调用的库,环境变量设置,配置文件,使用的设备,调用的其它应用程序等,在strace下,程序干了什么东东一目了然。
ps #显示当前系统进程信息
ps –ef #显示系统所有进程信息
kill -9 500 #将进程编号为500的程序干掉
killall -9 netscape #将所有名字为netscape的程序杀死,kill不是万能的,对僵死的程序则无效。
top #显示系统进程的活动情况,按占CPU资源百分比来分
free #显示系统内存及swap使用情况
time program #在program程序结束后,将计算出program运行所使用的时间

----------------------------------------------------------------------
chroot . #将根目录切换至当前目录,调试新系统时使用
chroot /tomlinux #将根目录切换至/tomlinux目录
chroot /tomlinux sbin/init #将根目录切换至/tomlinux并执行sbin/init
adduser id #增加一个叫id的用户
userdel id #增除叫id的用户
userlist #显示已登陆的用户列表
passwd id #修改用户id的密码
passwd -d root #将root用户的密码删除
chown id /work #指定/work目录为id用户所拥有

----------------------------------------------------------------------
ifconfig eth0 192.168.1.1 netmask 255.255.255.0 #设置网卡1的地址192.168.1.1,掩码为255.255.255.0,不写netmask参数则默认为255.255.255.0
ifconfig eth0:1 192.168.1.2 #捆绑网卡1的第二个地址为192.168.1.2
ifconfig eth0:x 192.168.1.x #捆绑网卡1的第二个地址为192.168.1.x
ifconfig down eth1 #关闭第二块网卡,使其停止工作
hostname -F tomlinux.com #将主机名设置为tomlinux.com
route #显示当前路由设置情况
route add default gw 192.168.1.1 metric 1 #设置192.168.1.1为默认的路由
route del default #将默认的路由删除
dhcp #启动dhcp服务
dhclient #启动dhcp终端并自动获取IP地址
ping 163.com #测试与163.com的连接
ping 202.96.128.68 #测试与IP 202。96.128.68的连接

----------------------------------------------------------------------
probe rtl8139 #检查驱动程序rtl8139.o是否正常工作
lsmod #显示已装载的驱动程序
insmod rtl8139.o #装载驱动程序rtl8139.o
insmod sb.o io=0x280 irq=7 dma=3 dma16=7 mpu_io=330 #装载驱动程序并设置相关的irq,dma参数
rmmod rtl8139 #删除名为rtl8139的驱动模块
gpm -k #停止字符状态下的mouse服务
gpm -t ps2 #在字符状态下以ps2类型启动mouse的服务

----------------------------------------------------------------------
telnet 192.168.1.1 #登陆IP为192.168.1.1的telnet服务器
telnet iserver.com #登陆域名为iserver.com的telnet服务器
ftp 192.168.1.1 或 ftp iserver.com #登陆到ftp服务

Linux开发中的常用命令(cygwin环境也同样适用)

以下转自2sLow`s BLOG
复制
cp [选项] 源文件或目录 目标文件或目录
[选项]含义如下:
- a 保留链接、文件属性,并递归地拷贝目录,一般在拷贝目录时使用。
- d 拷贝时保留链接。
- f 删除已经存在的目标文件而不提示。
- i 在覆盖目标文件之前将给出提示要求用户确认,进行交互式拷贝。
- p 将文件的修改时间和访问权限也复制到新文件中。
- r 目标文件必须为一个目录名,此时cp将递归复制该目录下所有的子目录和文件。
- l 不作拷贝,只是链接文件。

远程复制
scp 源文件 目标文件
* 当从本地复制文件到另一台服务器时:scp /home/root/simple.txt root@192.168.1.2:
* 当从另一台服务器复制文件本地到时:scp root@192.168.1.2:/home/root/simple.txt ~/
打包/解包/压缩/解压
tar [选项] 文件目录列表
[选项]含义如下:
-c 建立新的归档文件
-r 向归档文件末尾追加文件
-x 从归档文件中解出文件
-O 将文件解开到标准输出
-v 处理过程中输出相关信息
-f 对普通文件操作
-z 调用gzip来压缩归档文件,与-x联用时调用gzip完成解压缩
-Z 调用compress来压缩归档文件,与-x联用时调用compress完成解压缩
* 打包当前目录下所有文件 tar -cf ./* archive.tar
* 将打包文件解包 tar -xf archive.tar
* 压缩当前目录下所有文件 tar -zcf ./* zipfile.tar.gz
* 解压缩 tar -xzf zipfile.tar.gz
链接
ln [-s] 目标目录 源目录/文件
[-s]含义如下:
-s 建立软连接
当含有-s选项是,只会建立源文件的链接,而不会完全拷贝源文件(不占用磁盘空间)。
当没有-s选项是,会建立源文件的完全镜像(占用磁盘空间)。
不管是软连接还是硬链接,都是完全同步的。
* 在/var/www/下,放置/var/www/test/log/目录的软连接
ln -s /var/www/test/log/ /var/www/
更改文件权限
chmod [-cfvR] [--help] [--version] [ugoa...][[+-=][rwxX]…][,...] 目标文件1[,目标文件.....]
参数含义如下:
-c 若该档案权限确实已经更改,才显示其更改动作
-f 若该档案权限无法被更改也不要显示错误讯息
-v 显示权限变更的详细资料
-R 对目前目录下的所有档案与子目录进行相同的权限变更(即以递回的方式逐个变更)
–help 显示辅助说明
–version 显示版本
u 表示该档案的拥有者
g 表示与该档案的拥有者属于同一个群体(group)者
o 表示其他以外的人
a 表示这三者皆
+ 表示增加权限
- 表示取消权限
= 表示唯一设定权限。
r 表示可读取
w 表示可写入
x 表示可执行
X 表示只有当该档案是个子目录或者该档案已经被设定过为可执行。
* 将档案 file1.txt 设为所有人皆可读取 chmod ugo+r file1.txt
* 将档案 file1.txt 与 file2.txt 设为该档案拥有者,与其所属同一个群体者可写入,但其他以外的人则不可写入 chmod ug+w,o-w file1.txt file2.txt
* 通过数字设定权限 设定file1.txt的权限为所有人均可读写执行 chmod 777 file1.txt
* 使文件具有root权限(限root使用)chmod 4755 filename
查看进程
ps [options] [--help]
[options]含义如下:
a 显示现行终端机下的所有程序,包括其他用户的程序。
-A 显示所有程序。
c 列出程序时,显示每个程序真正的指令名称,而不包含路径,参数或常驻服务的标示。
-e 此参数的效果和指定”A”参数相同。
e 列出程序时,显示每个程序所使用的环境变量。
f 用ASCII字符显示树状结构,表达程序间的相互关系。
-H 显示树状结构,表示程序间的相互关系。
-N 显示所有的程序,除了执行ps指令终端机下的程序之外。
s 采用程序信号的格式显示程序状况。
S 列出程序时,包括已中断的子程序资料。
-t 终端机编号,指定终端机编号,并列出属于该终端机的程序的状况。
u 以用户为主的格式来显示程序状况。
x 显示所有程序,不以终端机来区分。
* 显示所有httpd的进程 ps -aux | grep httpd
查看系统资源
top [选项]
[选项]含义如下:
- d:指定更新的间隔,以秒计算。
- q:没有任何延迟的更新。如果使用者有超级用户,则top命令将会以最高的优先序执行。
- c:显示进程完整的路径与名称。
- S:累积模式,会将己完成或消失的子行程的CPU时间累积起来。
- s:安全模式。
- i:不显示任何闲置(Idle)或无用(Zombie)的行程。
- n:显示更新的次数,完成后将会退出to
显示参数:
- PID(Process ID):进程标示号。
- USER:进程所有者的用户名。
- PR:进程的优先级别。
- NI:进程的优先级别数值。
- VIRT:进程占用的虚拟内存值。
- RES:进程占用的物理内存值。
- SHR:进程使用的共享内存值。
- S:进程的状态,其中S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值是负数。
- %CPU:该进程占用的CPU使用率。
- %MEM:该进程占用的物理内存和总内存的百分比。
- TIME+:该进程启动后占用的总的CPU时间。
- Command:进程启动的启动命令名称,如果这一行显示不下,进程会有一个完整的命令行。
- top命令使用过程中,还可以使用一些交互的命令来完成其它参数的功能。这些命令是通过快捷键启动的。
- <空格>:立刻刷新。
- P:根据CPU使用大小进行排序。
- T:根据时间、累计时间排序。
- q:退出top命令。
- m:切换显示内存信息。
- t:切换显示进程和CPU状态信息。
- c:切换显示命令名称和完整命令行。
- M:根据使用内存大小进行排序。
- W:将当前设置写入~/.toprc文件中。这是写top配置文件的推荐方法。
查看目录占用空间
du [选项] [目录名]
[选项]含义如下:
-s 对每个Names参数只给出占用的数据块总数。
-a 递归地显示指定目录中各文件及子孙目录中各文件占用的数据块数。若既不指定-s,也不指定-a,则只显示Names中的每一个目录及其中的各子目录所占的磁盘块数。
-b 以字节为单位列出磁盘空间使用情况(系统缺省以k字节为单位)。
-k 以1024字节为单位列出磁盘空间使用情况。
-c 最后再加上一个总计(系统缺省设置)。
-l 计算所有的文件大小,对硬链接文件,则计算多次。
-x 跳过在不同文件系统上的目录不予统计。
显示文本
tail [选项] [文件名]
[选项]含义如下:
+行数 从[行数]开始显示文本。
-行数 显示本文最后[行数]的内容。
-f 实时监控文本的内容

没有评论: