linux常用命令总结

来源:互联网 发布:政治学著作 知乎 编辑:程序博客网 时间:2024/04/19 10:25

系统方面 

文件目录方面 

网络方面 

VI操作指令 

远程控制LINUX 


=================================================================
----------------------------------------------------------------------
远程操作
使用SSH或者Telnet 和Xwin32
图形显示到本地使用语句:
export DISPLAY=IP:0.0

=================================================================
----------------------------------------------------------------------

VI操作
vi
vi(文本输入模式)
命令 功能
a 在光标后追加文本
A 在行末追加文本
i 在光标前追加文本
o 在光标下插入新的一行
vi(末行模式)
命令 功能
:w 写缓冲区,保存更改继续在vi中工作
:w new_filename 把缓冲区写如new_filename
:wq  或 ZZ 写缓冲区,保存修改,然后退出vi
:q! 不保存修改而退出
:wq! 写缓冲区保存修改然后推出vi,如果你是文件的所有者将忽略只读属性
e! 取消自上次保存以来所做的修改
:x 等价于:wq!  wq
u 取消最近的一次编辑

vi(命令模式)
命令 功能
j(或向下箭头) 向下移动一行
k(或向上箭头) 向上移动一行
h(或向左箭头) 向后移动一个字符
l(或向右箭头) 向前移动一个字符
空格 向右移动一个字符
w 向前移动一个单词(包括标点)
b 向后移动一个单词(包括标点)
$ 移动到行末
0(零)或 ^ 移动到行首
回车 移动到下一行首

vi(命令模式和末行模式)
命令 功能
x (小写) 删除光标处字符
dw 删除单词
3dw 删除三个单词
dd 删除光标所在的行
3dd 删除三行
yy 拉出一行拷贝,放到剪贴板中
p(小写) 把拉出行放到当前之下
P(大写) 把拉出行放到当前之上
:set nu 显示行号
:set nonu 隐藏行号
:set showmode 显示当前操作模式(如用vedit将自动打开)
:set noshowmode 关闭模式显示
:set  显示所有vi变量
:set all 显示所有可能的vi变量和它们的当前的值
G 到达文件的最后一行
:21 到达第21行
/string 向前搜索字符串string
?string 向后搜索字符串string
n 查找匹配的下一个字符串


=================================================================
----------------------------------------------------------------------
系统方面 

vi(命令模式)
命令 功能
j(或向下箭头) 向下移动一行
k(或向上箭头) 向上移动一行
h(或向左箭头) 向后移动一个字符
l(或向右箭头) 向前移动一个字符
空格 向右移动一个字符
w 向前移动一个单词(包括标点)
b 向后移动一个单词(包括标点)
$ 移动到行末
0(零)或 ^ 移动到行首
回车 移动到下一行首

vi(命令模式和末行模式)
命令 功能
x (小写) 删除光标处字符
dw 删除单词
3dw 删除三个单词
dd 删除光标所在的行
3dd 删除三行
yy 拉出一行拷贝,放到剪贴板中
p(小写) 把拉出行放到当前之下
P(大写) 把拉出行放到当前之上
:set nu 显示行号
:set nonu 隐藏行号
:set showmode 显示当前操作模式(如用vedit将自动打开)
:set noshowmode 关闭模式显示
:set  显示所有vi变量
:set all 显示所有可能的vi变量和它们的当前的值
G 到达文件的最后一行
:21 到达第21行
/string 向前搜索字符串string
?string 向后搜索字符串string
n 查找匹配的下一个字符串


=================================================================
----------------------------------------------------------------------
系统方面 

系统方面 
VI操作
vi
vi(文本输入模式)
命令 功能
a 在光标后追加文本
A 在行末追加文本
i 在光标前追加文本
o 在光标下插入新的一行
vi(末行模式)
命令 功能
:w 写缓冲区,保存更改继续在vi中工作
:w new_filename 把缓冲区写如new_filename
:wq  或 ZZ 写缓冲区,保存修改,然后退出vi
:q! 不保存修改而退出
:wq! 写缓冲区保存修改然后推出vi,如果你是文件的所有者将忽略只读属性
e! 取消自上次保存以来所做的修改
:x 等价于:wq!  wq
u 取消最近的一次编辑

vi(命令模式)
命令 功能
j(或向下箭头) 向下移动一行
k(或向上箭头) 向上移动一行
h(或向左箭头) 向后移动一个字符
l(或向右箭头) 向前移动一个字符
空格 向右移动一个字符
w 向前移动一个单词(包括标点)
b 向后移动一个单词(包括标点)
$ 移动到行末
0(零)或 ^ 移动到行首
回车 移动到下一行首

vi(命令模式和末行模式)
命令 功能
x (小写) 删除光标处字符
dw 删除单词
3dw 删除三个单词
dd 删除光标所在的行
3dd 删除三行
yy 拉出一行拷贝,放到剪贴板中
p(小写) 把拉出行放到当前之下
P(大写) 把拉出行放到当前之上
:set nu 显示行号
:set nonu 隐藏行号
:set showmode 显示当前操作模式(如用vedit将自动打开)
:set noshowmode 关闭模式显示
:set  显示所有vi变量
:set all 显示所有可能的vi变量和它们的当前的值
G 到达文件的最后一行
:21 到达第21行
/string 向前搜索字符串string
?string 向后搜索字符串string
n 查找匹配的下一个字符串


=================================================================
----------------------------------------------------------------------
系统方面 

系统方面 

reboot #重新启动计算机

halt #关闭计算机

init 0 #关闭所有应用程序和服务,进入纯净的操作环境

init 1 #重新启动应用及服务

init 6 #重新启动计算机 

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

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的状态,否则无效

mknod /dev/hda1 b 3 1 #创建块设备hda1,主设备号为3,从设备号为1,即master硬盘的的第一个分区

mknod /dev/tty1 c 4 1 #创建字符设备tty1,主设备号为4,众设备号为1,即第一个tty终端

man ls #读取关于ls命令的帮助

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

strace netscape #跟踪程序netscape的执行,看调用的库,环境变量设置,配置文件,使用的设备,调用的其它应用程序等,在strace下,程序干了什么东东一目了然。

ps #显示当前系统进程信息

ps –ef #显示系统所有进程信息

kill -9 500 #将进程编号为500的程序干掉

killall -9 netscape #将所有名字为netscape的程序杀死,kill不是万能的,对僵死的程序则无效。

top #显示系统进程的活动情况,按占CPU资源百分比来分

free #显示系统内存及swap使用情况

time program #在program程序结束后,将计算出program运行所使用的时间

lpd stop 或 cups stop #停止打印服务程序

lpd start 或 cups start #启动打印服务程序

lpd restart 或 cups restart #重新启动打印服务程序

lpr file.txt #打印文件file.txt

startx #运行Linux图形有环境

Xfree86 #只运行X图形server


-------------------------------------------

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 #将程序中的符号表及无用的调试信息去掉,可以小很多

----------------------------------------------------------------------

 

----------------------------------------------------------------------

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用户所拥有


----------------------------------------------------------------------
================================================================

----------------------------------------------------------------------

文件目录操作

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

chown id /work #指定/work目录为id用户所拥有
--------------------------------------

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) 这一类的命令进行操作

  

扩展命令

 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所有

 

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

 

----------------------------------------------------------------------

==================================================================
网络方面 
----------------------------------------------------------------------

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服务

 
----------------------------------------------------------------------

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

chown id /work #指定/work目录为id用户所拥有
--------------------------------------

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) 这一类的命令进行操作

  

扩展命令

 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所有

 

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

 

----------------------------------------------------------------------

==================================================================
网络方面 
----------------------------------------------------------------------

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服务

 
----------------------------------------------------------------------

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服务

原创粉丝点击