UNIX入门命令.docx

上传人:b****5 文档编号:7030291 上传时间:2023-01-16 格式:DOCX 页数:17 大小:27.50KB
下载 相关 举报
UNIX入门命令.docx_第1页
第1页 / 共17页
UNIX入门命令.docx_第2页
第2页 / 共17页
UNIX入门命令.docx_第3页
第3页 / 共17页
UNIX入门命令.docx_第4页
第4页 / 共17页
UNIX入门命令.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

UNIX入门命令.docx

《UNIX入门命令.docx》由会员分享,可在线阅读,更多相关《UNIX入门命令.docx(17页珍藏版)》请在冰豆网上搜索。

UNIX入门命令.docx

UNIX入门命令

常用命令

文件及文件夹,磁盘相关

文件基本操作

touchfilename新建文件

morefilename查看文件(more命令:

一次一屏地显示文本文件的内容,是一种UNIX过滤器;空格键换到下一屏,回车键滚动一行,q键回到提示符下。

vifilename编辑文件

rmfilename删除文件

rm-ifilename删除文件不可恢复,加参数i进行确认

cpfile1file2拷贝文件

mvfile1file2移动文件,也启动了重命名的作用

filefilename获得文件的类型

ls–lrtfilename显示文件的属性

lddfilename列出文件的动态链接库

nmfilename列出文件的符号表

目录基本操作

mkdirdirname重建目录

mkdir-pdir/subdir直接创建多级目录

cp-rsource_dirtarget_dir拷贝目录

‘rm’–rfdir删除非空目录

rmdirdirname删除空目录

rm-rdirname删除目录

rm-ridirname删除目录不可恢复,加i予以确认

ls显示文件名

命令格式:

ls[option]file

-l显示详细列表

域1:

文件类型和文件权限

域2:

文件连接数

域3:

文件所有者名字

域4:

文件用户组名字

域5:

文件长度

域6-8:

最近修改日期

域9:

文件名

-a显示所有文件,包含隐藏文件(以.起头的文件名)

-r显示文件及所有子目录

-f显示文件(后跟*)和目录(后跟/)

-d与l选项合用,显示目录名而非其内容

-t含时间

find

命令格式:

finddir-namefilenamecommand

搜索表达式意义定义

namefilename文件名搜索所有匹配的给定的文件,可以接受元字符(如?

*)

find.-namehello-print寻找目前目录及所有的子目录内叫hello的文档.

typefiletype文件类型搜索匹配给定文件类型的文件(d为目录)

#find/export-typed//安装文件类型查找

mtime[+|-]n修改的时间搜索所有修改时间或者大于,或小于给定时间的文件

find.-mtime+7-print找出七天内未被更动的文档

atime[+|-]n访问的时间搜索所有访问时间或者大于,或者小于给定时间的文件

userloginid-groupgroupid用户ID和属组ID搜索所有匹配登陆ID的所有者或属组ID的文件

find/tmp-userb1234567-print在/tmp下属於b1234567的文档

permmode权限搜索所有匹配给定权限的文件(只允许八进制模式)

size[+|-]n[c]搜索所有大小或者大于,小于n的文件,n以512字节每块计算,如果后面有ac,则以字符(字节)计算

find.-size+2000m-print找出大小超过2000bytes的文档

-print基将搜索结果输出到标准输出。

该结果是一个全路径名的文件名列表

find.-nametest\*-print显示当前目录及其子目录文件名前4位为test的文件名

-execcommand{}\;exec选项必须通过\;来终止;这样使得find命令可以应用于指定命令中搜索准则中给出的每个文件

find.-name'*.c'-execrm{}删除所有的.c档

-okcommand{}\;-exec的交互格式.这个选项用于要求来自用户的输入命令.如rm–i

#find/export-nametest.txt-okrm{}\;//交互模式删除y

-ls使用长列表格式打印当前路径.这个表达式最常用于链接一个输出,把它重定向到一个文件中,以便稍后进行检查

#find/-namepfile-print>;find.txt2>;null.txt&

//找到则放入find.txt,否则就放到null.txt程序在后台运行

cat命令

显示文件的内容cat[-u][-s][-v][-t][-e][file...]没有停顿地显示整个文件,一般用于显示小型文本文件,最好是一屏内容,约24行或更少。

允许在文件中使用通配符。

建立小型文本文件cat>filename+存盘退出放弃并退出

连接数据文件

catfile1file2>file3将文件1,2连接起来放在文件3中,若文件3存在,覆盖,否则,生成新文件;

catfile1file2>>file3将文件1,2附加到文件3内容的最后,若文件3不存在则生成文件3。

消掉文本中的^M

#cattest.dat|tr-d'15'>test.out

这样可以将test.dat内^M(15)这个字元去掉,产生test.out

或者

dos2unixaaa.txtbbb.txt,会去掉aaa.txt中的^M,生成bbb.txt文件

ln文档连结

命令格式:

ln[-s]oldnamenewname

同一文档,可拥有一个以上之名称,可将文档做数个连结.

一个符号链是指向系统另一个文件的特殊文件,当访问这种文件时,它里面存放着

一个路径名,该路径名用来引导用户到卡符号链所指的文件或目录

ln-sfile1file2  将名称file2,连结至文档file1.

grep搜索字符串

命令格式:

grepstringfilename

^M以M开头的行,^表示开始的意思

M$以M结尾的行,$表示结束的意思

^[0-9]以数字开始的行,[]内可列举字母

^[124ab]以1,2,4,a,或b开头的行

^b.503句点表示任一字母

*星号表示0个以上的字母(可以没有)

+加号表示1个以上的字母

\.斜线可以去掉特殊意义

;catpasswd|grep^b列出大学部有申请帐号者名单

catpasswd|grep^s列出交换学生申请帐号者名单

catpasswd|grep'^b.503'列出电机系各年级...

grep'^\.'myfile.txt列出所有以句点开头的行

fgrep搜索字符串命令格式:

fgrepstringfile

#grep-iroot/etc/passwd//忽略大小写

#grep-vroot/etc/passwd//显示除了含有root的行

#grep-crootgroup//统计有多少行

#grep-lrootpasswdgrouphosts//查找文件中包含root的文件

diff比较文档或目录之不同内容

命令格式:

diff[-r]name1name2(name1name2可同时为档名,或目录名称.)

#difffile1file2比较文档file1与file2内,各行之不同处.

#diff-rdir1dir2比较目录dir1与dir2内,各文档之不同处.

#diff-itest.txttest2.txt//忽略文章中的大小写

#diff-ctest.txttest2.txt//进行细致的比较生成一个差别表

cmp比较文档相同部分

命令格式:

cmpfile1file2

head

#head-5/export/home/wing/test.txt//显示开始的5行

#headchap*|more//显示所有以chap开头的文件的头部

用来显示一个或多个文件的前n行

默认省略-n参数将显示文件的前10行

tail

#tail-5/export/home/wing/test.txt//显示最后5行

#tail+5/export/home/wing/test.txt//显示第5行开始到结束

#tail-f/var/adm/messages//实时自动浏览syslog入口

wc

#wc/export/home/wing/test.txt//显示文件的行、单词、字节数

#wc-l/export/home/wing/test.txt//显示文件的行数

-l统计行数

-w统计单词数

-c统计字节数

-m统计字符数

打包,压缩相关

打包与压缩

tarcvf/dir/tarname/dir

gzip/dir/tarname

解压缩与解包

gunziptarname(对于Z文件,使用uncompress命令)

tarxvftarname

c-建立新文档v-显示路径t-显示文件列表f-指定设备x-抽取文件i-交互式

compressuncompress文件后缀名为Z。

zip(很少用)

#zipwinziptest1.txttest2.txt//生成winzip.zip文件

#unzipwinzip.zip//解压缩

磁盘管理

format

#df-k//显示当前所有已安装的文件系统上的文件数目和空闲块的数目

#df-a//打印所有文件系统的信息

du–skdir查看文件夹大小(k标识单位为k)

du–sk(du–sk*)

more/etc/vfstab

#iostat-E看硬盘的大小和型号

#prtvtoc/dev/rdsk/c0t0d0s0显示某个磁盘的分区状况

vi进行文本的编辑

vi三种工作模式

输入模式:

接收用户键盘输入的字符;

命令模式:

对文件进行修改,光标的移动;

操作命令模式:

退出、存盘等操作。

输入模式到命令模式,按esc键;反之,按A,a,I,I,S,s,O,o等键。

vi的启动

vi直接启动vi编辑器

vifilename启动vi并从第一行编辑文件

vi+nfilename启动vi并从第n行编辑文件

vi+filename启动vi并从最后一行编辑文件

vi–rfilename启动vi,在系统瘫痪后恢复文件

示例操作:

vifilename键入该命令行回车后,vi编辑程序自动置于命令方式

键入字母i,转为输入模式,输入文本内容

:

w存盘操作(按esc,转成命令方式后)

命令方式下,按x键删除光标处字符;a键,输入内容附加到当前光标后。

vi的退出并保存文件

vi编辑文本时,系统分配一片存储区域,称为编辑缓冲区。

vi的所有工作都在此缓冲区中完成。

只有存盘后,该缓冲区的内容才写道磁盘上,否则全部丢失。

:

w存盘但不退出vi

:

wnewfile编辑内容另存为。

:

q不写盘退出vi程序

:

q!

无条件退出vi程序

:

wq以原文件名写盘并退出vi程序

:

x

:

zz

常用编辑命令

至句尾)至局首(

至段尾}至段首{

j,k,h,l:

上下左右

0:

行首

$:

行尾

i,I:

插入命令,i在当前光标处插入I行首插入

a,A:

追加命令,a在当前光标后追加,A在行末追加

o,O:

打开命令,o在当前行下打开一行,O在当前行上插入一行

r,R:

替换命令,r替换当前光标处字符,R从光标处开始替换

数字s:

替换指定数量字符

x:

删除光标处字符

dd:

删除当前行

d0:

删除光标前半行

d$:

删除光标后半行

ctrl+f:

后翻页ctrl+d:

后翻半页

ctrl+b:

前翻页ctrl+u:

前翻半页

G:

文件尾

数字G:

数字所指定行

/string向下查找字符串%string向上查找字符串

n继续查找N反向继续查找

u取消上次操作

ex命令状态

setnumber显示行号

setsmd显示显示状态

0文件首

1,5copy7块拷贝

1,5del块删除

1,5move7块移动

1,$s/string1/string2/g全文件查找string1并替换为string2

字符串替换

:

s/vivian/sky/替换当前行第一个vivian为sky

:

s/vivian/sky/g替换当前行所有vivian为sky

:

n,$s/vivian/sky/替换第n行开始到最后一行中每一行的第一个vivian为sky

:

n,$s/vivian/sky/g替换第n行开始到最后一行中每一行所有vivian为sky

n为数字,若n为.,表示从当前行开始到最后一行

:

%s/vivian/sky/(等同于:

g/vivian/s//sky/)替换每一行的第一个vivian为sky

:

%s/vivian/sky/g(等同于:

g/vivian/s//sky/g)替换每一行中所有vivian为sky

可以使用#作为分隔符,此时中间出现的/不会作为分隔符

:

s#vivian/#sky/#替换当前行第一个vivian/为sky/

ftp

服务启用

系统安装好了,默认情况下除root用户外的其他用户ftp/telnet是可用的,如果需要对ftp/telnet做一些调整,需要修改配置文件,ftp/telnet涉及到的文件有下面一些。

首先,控制能否telnet/ftp的配置文件是/etc/inetd.conf,

ftpstreamtcp6nowaitroot/usr/sbin/in.ftpdin.ftpd

telnetstreamtcp6nowaitroot/usr/sbin/in.telnetdin.telnetd

修改了inetd.conf文件需kill-HUPpid对inetd进程重启(pid用命令查看ps-ef|grepinetd)(在solaris9forx86下,更改/etc/inetd.conf文件后,重启inetd的命令是:

#pkill-HUPinetd

#/etc/init.d/inetsvcstart)

第二,root用户的ftp/telnet,默认情况下root用户是不允许ftp/telnet的,修改/etc/ftpd/ftpusers(对于solaris8是/etc/ftpusers)配置文件,将root用户注释掉,则root用户才可以ftp,如果想让某个用户不能ftp,可以将其加到这个文件中来。

修改/etc/default/login配置文件,找到CONSOLE=/dev/console,将其注释掉,就可以用root用户telnet了。

第三,如果想让某个用户只能ftp,不能telnet。

可以先把/etc/passwd文件中该用户的shell改成/usr/sbin/nologin,然后再在/etc目录下建一个shells文件,里面加入/usr/sbin/nologin。

在UNIX平台上,FTP服务由守护程序ftpd实现.该守护程序由超级服务守护程序inetd创建.当inetd接到ftp服务请求时,它将激活ftpd.为了让inetd替ftpd进行监听,必须确认在/etc/inetd.conf文件中包含有效的ftpd项.为了使ftpd项有效,必须清除该项前的#字符.

inetd从/etc/services文件中寻找需要监听的端口,该文件中定义了FTP的默认端口.inetd只在启动时读取该文件,因此在修改了/etc/services或/etc/inetd.conf文件后,只有通过重新引导系统或各inetd发SIGHUP信号使inetd重新启动后,修改才生效。

对于root用户,/etc/ftpd/ftpusers中需要注释掉root用户

使用方法

命令格式:

ftp[hostname|IPaddress]

ascii将传输模式设为ascii模式.通常用于传送文档文件.

binary将传输模式设为binary模式,通常用于传送可执行文件,压缩文件与影像

ascii与binary区别

cdremote-directory将远程主机上的工作目录改变.

lcd[directory]更改本地主机的工作目录.

ls列出远程主机上的文档.

getremote[local-file]取得远方的文档.

mgetremote-files可使用通用字元一次取得多个文档.

putlocal[remote-file]将本地主机的文档送到远程主机.

mputlocal-files可使用通用字元一次将多个文档放到远程主机上.

help[command]线上辅助指令.

mkdirdirectory-name在远程主机创建一个目录.

prompt更改交谈模式,若为on则在mput与mget时每作一个文档之传输时均会询问.

quit/bye离开ftp

telnet

命令格式:

telnet[hostname|IPaddress]

*注:

如使用root用户登录,其权限请参见11.3.4

ssh

1.solaris9和solaris10默认都是启动ssh进程的。

ps-ef|grepssh

/usr/lib/ssh/sshd

svcs|grepssh

onlineSep_08svc:

/network/ssh:

default

solaris默认禁止root用户直接使用ssh登陆,一般先用非root用户登陆到ssh后,su成为root。

如果想直接用root登陆,则修改如下配置文件:

vi/etc/ssh/sshd_config

找到其中的如下一行,将前边的#符号去掉,并修改no为yes

#PermitRootLoginno

改成:

PermitRootLoginyes

然后重新启动SSH服务:

ps-ef|grepssh

kill-9PID

ssh进程被kill后,一般会自动启动,若未启动,则手动启动:

/usr/lib/ssh/sshd

重新启动完成后,即可直接使用root进行ssh登陆。

IO重新导向

UNIX所有的程式执行时,均需要资料的输入以及输出资料.一般而言,资料是从键盘输入,并将资料输出到屏幕上,这就叫做标准输入及标准输出,而我们可以更改标准出输出入.

A.更改标准输入:

在命令後方加"

B.更改标准输出:

在命令後方加">filename",即可将屏幕输出的资料导向到filename。

C.更改标准输出:

在命令後方加">>filename",功能与B相似,但是追加方式。

D.管道:

在两个命令中间加上'|',即可将前方指令的输出当成後方指令的输入。

系统资源查看

vmstat//查看虚拟内存状态

#vmstat

kthrmemorypagediskfaultscpu

rbwswapfreeremfpipofrdesrcdf0s0--insycsussyid

0006350124088010362101023130001162871841199

#vmstat–s

mpstat//系统负载cpu等信息

#mpstat5//每隔5秒刷新一次

CPUminfmjfxcalintrithrcswicswmigrsmtxsrwsysclusrsyswtidl

0322011468181501026301198

#prtconf//查看系统配置信息

#prtconf|grepMemory//查看内存

prtdiag

prtdiag-v

#uname-m

#uname

#uname-a

SunOSwing5.9Generic_112234-03i86pci386i86pc

#eepromselftest-#megs=64//修改系统自检到的内存数

#sysdef//更详细的体系机构

显示cpu使用率最高的进程

#ps–eopid,pcpu,args|sort+1n

该命令输出当前系统进程的pid,CPU占用率及命令描述,并以pcpu来排序

时间日期查看

cal

#cal

#cal200612

#date;uname//组合命令,中间用;隔开

2004年05月19日星期三22时05分23秒CST

SunOS

#datemmddHHMMYYYY.SS,月日时分年.秒//root用户下修改时间(对于不涉及应用的不需要重启服务器,对于涉及应用的需要全盘考虑)

用户登陆信息查看

who

#who

rootconsole10月219:

23(:

0)(本地登陆)

wingpts/210月219:

22(192.168.0.1)(远程登陆)

#who-q//登陆用户统计

rootwing

#users=2

#who-r//运行级别

.run-level310月219:

2030S

$who-Hu

NAMELINETIMEIDLEPIDCOMMENTS

kevenpts/210月1210:

57.389(192.168.0.1)

userpts/310月1210:

160:

52368(192.168.0.1)

PID为用户登陆上来的进程,#kill-9368把此用户踢出

w

$w

下午11点01分运行3:

43,4users,平均负载:

0.00,0.00,0.02

用户名终端号登入时间闲置JCPUPCPU执行命令

rootconsole下午7点21分3:

40101/usr/dt/bin/dtscreen-modeblank

kevenpts/6下午10点11分-csh

wingpts/2下午10点11分5w

colepts/3下午10点11分50-ksh

$wkeven

下午11点10分运行3:

52,4users,平均负载:

0.00,0.00,0.02

用户名终端号登入时间闲置JCPUPCPU执行命令

kevenpts/6下午10点11分9-csh

logins

#logins

root0other1Super-User

last

$last//当前系统的使用历史使用模式

kevenpts/2192.168.0.1MonOct600:

55仍在登录状态

finger

#finger

LoginNameTTYIdleWhenWhere

rootSuper-UserconsoleThu19:

23:

0

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 信息与通信

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1