Linux 系统命令及其使用详解.docx
《Linux 系统命令及其使用详解.docx》由会员分享,可在线阅读,更多相关《Linux 系统命令及其使用详解.docx(50页珍藏版)》请在冰豆网上搜索。
![Linux 系统命令及其使用详解.docx](https://file1.bdocx.com/fileroot1/2023-1/31/ba8e7f97-4b36-4f69-b2c1-4dc2424ee242/ba8e7f97-4b36-4f69-b2c1-4dc2424ee2421.gif)
Linux系统命令及其使用详解
Linux系统命令及其使用详解(大全)
(介绍常用的17个)
1、名称:
cat
使用权限:
所有使用者
使用方式:
cat[-AbeEnstTuv][--help][--version]fileName
说明:
把档案串连接后传到基本输出(萤幕或加>fileName到另一个档案)
参数:
-n或--number由1开始对所有输出的行数编号
-b或--number-nonblank和-n相似,只不过对于空白行不编号
-s或--squeeze-blank当遇到有连续两行以上的空白行,就代换为一行的空白行
-v或--show-nonprinting
范例:
cat-ntextfile1>textfile2把textfile1的档案内容加上行号后输入textfile2这个档案里
cat-btextfile1textfile2>>textfile3把textfile1和textfile2的档案内容加上行号(空白行不加)之后将内容附加到textfile3
2、名称:
cd
使用权限:
所有使用者
使用方式:
cd[dirName]
说明:
变换工作目录至dirName。
其中dirName表示法可为绝对路径或相对路径。
若目录名称省略,则变换至使用者的homedirectory(也就是刚login时所在的目录).另外,"~"也表示为homedirectory的意思,"."则是表示目前所在的目录,".."则表示目前目录位置的上一层目录。
范例:
跳到/usr/bin/:
cd/usr/bin
跳到自己的homedirectory:
cd~(或者:
cd)
跳到目前目录的上上两层:
cd../..
跳到根目录:
cd/
3、名称:
chmod
使用权限:
所有使用者
使用方式:
chmod[-cfvR][--help][--version]modefile...
说明:
Linux/Unix的档案存取权限分为三级:
档案拥有者,群组,其他。
利用chmod可以藉以控制档案如何被他人所存取。
把计:
mode:
权限设定字串,格式如下:
[ugoa...][[+-=][rwxX]...][,...],其中u表示该档案的拥有者,g表示与该档案的拥有者属于同一个群体(group)者,o表示其他以外的人,a表示这三者皆是。
+表示增加权限,-表示取消权限,=表示唯一设定权限。
r表示可读取,w表示可写入,x表示可执行,X表示只有当该档案是个子目录或者该档案已经被设定过为可执行。
-c:
若该档案权限确实已经更改,才显示其更改动作
-f:
若该档案权限无法被更改也不要显示错误讯息
-v:
显示权限变更的详细资料
-R:
对目前目录下的所有档案与子目录进行相同的权限变更(即以递回的方式逐个变更)
--help:
显示辅助说明
--version:
显示版本
范例:
将档案file1.txt设为所有人皆可读取:
chmodugo+rfile1.txt
将档案file1.txt设为所有人皆可读取:
chmoda+rfile1.txt
将档案file1.txt与file2.txt设为该档案拥有者,与其所属同一个群体者可写入,但其他以外的人则不可写入:
chmodug+w,o-wfile1.txtfile2.txt
将ex1.py设定为只有该档案拥有者可以执行:
chmodu+xex1.py
将目前目录下的所有档案与子目录皆设为任何人可读取:
chmod-Ra+r*
此外chmod也可以用数字来表示权限如chmod777file
语法为:
chmodabcfile
其中a,b,c各为一个数字,分别表示User,Group,及Other的权限。
r=4,w=2,x=1
若要rwx属性则4+2+1=7;
若要rw-属性则4+2=6;
若要r-x属性则4+1=7。
范例:
chmoda=rwxfile
和
chmod777file
效果相同
chmodug=rwx,o=xfile
和
chmod771file
效果相同
若用chmod4755filename可使此程式具有root的权限
4、名称:
ps
使用权限:
所有使用者
使用方式:
ps[options][--help]
说明:
显示瞬间行程(process)的动态
参数:
ps的参数非常多,在此仅列出几个常用的参数并大略介绍含义
-A列出所有的行程
-w显示加宽可以显示较多的资讯
-au显示较详细的资讯
-aux显示所有包含其他使用者的行程
au(x)输出格式:
USERPID%CPU%MEMVSZRSSTTYSTATSTARTTIMECOMMAND
USER:
行程拥有者
PID:
pid
%CPU:
占用的CPU使用率
%MEM:
占用的记忆体使用率
VSZ:
占用的虚拟记忆体大小
RSS:
占用的记忆体大小
TTY:
终端的次要装置号码(minordevicenumberoftty)
STAT:
该行程的状态:
D:
不可中断的静止(通悸□□缜b进行I/O动作)
R:
正在执行中
S:
静止状态
T:
暂停执行
Z:
不存在但暂时无法消除
W:
没有足够的记忆体分页可分配
<:
高优先序的行程
N:
低优先序的行程
L:
有记忆体分页分配并锁在记忆体内(即时系统或捱AI/O)
START:
行程开始时间
TIME:
执行的时间
COMMAND:
所执行的指令
范例:
ps
PIDTTYTIMECMD
2791ttyp000:
00:
00tcsh
3092ttyp000:
00:
00ps
%ps-A
PIDTTYTIMECMD
1?
00:
00:
03init
2?
00:
00:
00kflushd
3?
00:
00:
00kpiod
4?
00:
00:
00kswapd
5?
00:
00:
00mdrecoveryd
.......
%ps-aux
USERPID%CPU%MEMVSZRSSTTYSTATSTARTTIMECOMMAND
root10.00.71096472?
SSep100:
03init[3]
root20.00.000?
SWSep100:
00[kflushd]
root30.00.000?
SWSep100:
00[kpiod]
root40.00.000?
SWSep100:
00[kswapd]
........
5、名称:
pstree
使用权限:
所有使用者
使用方式:
pstree[-a][-c][-h|-Hpid][-l][-n][-p][-u][-G|-U][pid|user]
pstree-V
说明:
将所有行程以树状图显示,树状图将会以pid(如果有指定)或是以init这个基本行程为根(root),如果有指定使用者id,则树状图会只显示该使用者所拥有的行程
参数:
-a显示该行程的完整指令及参数,如果是被记忆体置换出去的行程则会加上括号
-c如果有重覆的行程名,则分开列出(预设值是会在前面加上*
范例:
pstree
init-+-amd
|-apmd
|-atd
|-httpd---10*[httpd]
%pstree-p
init
(1)-+-amd(447)
|-apmd(105)
|-atd(339)
%pstree-c
init-+-amd
|-apmd
|-atd
|-httpd-+-httpd
||-httpd
||-httpd
||-httpd
....
6、名称:
who
使用权线:
所有使用者都可使用
使用方式:
who-[husfV][user]
说明:
显示系统中有那些使用者正在上面,显示的资料包含了使用者ID,使用的终端机,从那边连上来的,上线时间,呆滞时间,CPU使用量,动作等等。
把计:
-h:
不要显示标题列
-u:
不要显示使用者的动作/工作
-s:
使用简短的格式来显示
-f:
不要显示使用者的上线位置
-V:
显示程式版本
7、名称:
at
使用权限:
所有使用者
使用方式:
at-V[-qqueue][-ffile][-mldbv]TIME
说明:
at可以让使用者指定在TIME这个特定时刻执行某个程式或指令,TIME的格式是HH:
MM其中的HH为小时,MM为分钟,甚至你也可以指定am,pm,midnight,noon,teatime(就是下午4点锺)等口语词。
如果想要指定超过一天内的时间,则可以用MMDDYY或者MM/DD/YY的格式,其中MM是分钟,DD是第几日,YY是指年份。
另外,使用者甚至也可以使用像是now+时间间隔来弹性指定时间,其中的时间间隔可以是minutes,hours,days,weeks
另外,使用者也可指定today或tomorrow来表示今天或明天。
当指定了时间并按下enter之后,at会进入交谈模式并要求输入指令或程式,当你输入完后按下ctrl+D即可完成所有动作,至于执行的结果将会寄回你的帐号中。
把计:
-V:
印出版本编号
-q:
使用指定的伫列(Queue)来储存,at的资料是存放在所谓的queue中,使用者可以同时使用多个queue,而queue的编号为a,b,c...z以及A,B,...Z共52个
-m:
即使程式/指令执行完成后没有输出结果,也要寄封信给使用者
-ffile:
读入预先写好的命令档。
使用者不一定要使用交谈模式来输入,可以先将所有的指定先写入档案后再一次读入
-l:
列出所有的指定(使用者也可以直接使用atq而不用at-l)
-d:
删除指定(使用者也可以直接使用atrm而不用at-d)
-v:
列出所有已经完成但尚未删除的指定
例子:
三天后的下午5点锺执行/bin/ls:
at5pm+3days/bin/ls
三个星期后的下午5点锺执行/bin/ls:
at5pm+2weeks/bin/ls
明天的17:
20执行/bin/date:
at17:
20tomorrow/bin/date
1999年的最后一天的最后一分钟印出theendofworld!
at23:
5912/31/1999echotheendofworld!
8、名称:
ls
使用权限:
所有使用者
使用方式:
ls[-alrtAFR][name...]
说明:
显示指定工作目录下之内容(列出目前工作目录所含之档案及子目录)。
-a显示所有档案及目录(ls内定将档案名或目录名称开头为"."的视为隐藏档,不会列出)
-l除档案名称外,亦将档案型态,权限,拥有者,档案大小等资讯详细列出
-r将档案以相反次序显示(原定依英文字母次序)
-t将档案依建立时间之先后次序列出
-A同-a,但不列出"."(目前目录)及".."(父目录)
-F在列出的档案名称后加一符号;例如可执行档则加"*",目录则加"/"
-R若目录下有档案,则以下之档案亦皆依序列出
范例:
列出目前工作目录下所有名称是s开头的档案,愈新的排愈后面:
ls-ltrs*
将/bin目录以下所有目录及档案详细资料列出:
ls-lR/bin
列出目前工作目录下所有档案及目录;目录于名称后加"/",可执行档于名称后加"*":
ls-AF(同:
直接输入:
l)
9、名称:
more
使用权限:
所有使用者
使用方式:
more[-dlfpcsu][-num][+/pattern][+linenum][fileNames..]
说明:
类似cat,不过会以一页一页的显示方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按b键就会往回(back)一页显示,而且还有搜寻字串的功能(与vi相似),使用中的说明文件,请按h。
参数:
-num一次显示的行数
-d提示使用者,在画面下方显示[Pressspacetocontinue,qtoquit.],如果使用者按错键,则会显示[Presshforinstructions.]而不是哔声
-l取消遇见特殊字元^L(送纸字元)时会暂停的功能
-f计算行数时,以实际上的行数,而非自动换行过后的行数(有些单行字数太长的会被扩展为两行或两行以上)
-p不以卷动的方式显示每一页,而是先清除萤幕后再显示内容
-c跟-p相似,不同的是先显示内容再清除其他旧资料
-s当遇到有连续两行以上的空白行,就代换为一行的空白行
-u不显示下引号(根据环境变数TERM指定的terminal而有所不同)
+/在每个档案显示前搜寻该字串(pattern),然后从该字串之后开始显示
+num从第num行开始显示
fileNames欲显示内容的档案,可为复数个数
范例:
more-stestfile逐页显示testfile之档案内容,如有连续两行以上空白行则以一行空白行显示。
more+20testfile从第20行开始显示testfile之档案内容。
10、名称:
less
使用权限:
所有使用者
使用方式:
less[Option]filename
说明:
less的作用与more十分相似,都可以用来浏览文字档案的内容,不同的是less允许使用者往回卷动
以浏览已经看过的部份,同时因为less并未在一开始就读入整个档案,因此在遇上大型档案的开启时,会比一般的文书编辑器(如vi)来的快速。
范例:
11、名称:
cp
使用权限:
所有使用者
使用方式:
cp[options]sourcedest
cp[options]source...directory
说明:
将一个档案拷贝至另一档案,或将数个档案拷贝至另一目录。
把计:
-a尽可能将档案状态,权限等资料都照原状予以复制。
-r若source中含有目录名,则将目录下之档案亦皆依序拷贝至目的地。
-f若目的地已经有相同档名的档案存在,则在复制前先予以删除再行复制。
范例:
将档案aaa复制(已存在),并命名为bbb:
cpaaabbb
将所有的C语言程式拷贝至Finished子目录中:
cp*.cFinished
12、名称:
mv
使用权限:
所有使用者
使用方式:
mv[options]sourcedest
mv[options]source...directory
说明:
将一个档案移至另一档案,或将数个档案移至另一目录。
参数:
-i若目的地已有同名档案,则先询问是否覆盖旧档。
范例:
将档案aaa更名为bbb:
mvaaabbb
将所有的C语言程式移至Finished子目录中:
mv-i*.c
13、名称:
rm
使用权限:
所有使用者
使用方式:
rm[options]name...
说明:
删除档案及目录。
把计:
-i删除前逐一询问确认。
-f即使原档案属性设为唯读,亦直接删除,无需逐一确认。
-r将目录及以下之档案亦逐一删除。
范例:
删除所有C语言程式档;删除前逐一询问确认:
rm-i*.c
将Finished子目录及子目录中所有档案删除:
rm-rFinished
删除当前目录内所有内容:
rm*-rf
14、名称:
find
使用说明:
将档案系统内符合expression的档案列出来。
你可以指要档案的名称,类别,时间,大小,权限等不同资讯的组合,只有完全相符的才会被列出来。
find根据下列规则判断path和expression,在命令列上第一个-(),!
之前的部份为path,之后的是expression。
如果path是空字串则使用目前路径,如果expression是空字串则使用-print为预设expression
expression中可使用的选项有二三十个之多,在此只介绍最常用的部份。
-mount,-xdev:
只检查和指定目录在同一个档案系统下的档案,避免列出其它档案系统中的档案
-aminn:
在过去n分钟内被读取过
-anewerfile:
比档案file更晚被读取过的档案
-atimen:
在过去n天过读取过的档案
-cminn:
在过去n分钟内被修改过
-cnewerfile:
比档案file更新的档案
-ctimen:
在过去n天过修改过的档案
-empty:
空的档案-gidnor-groupname:
gid是n或是group名称是name
-ipathp,-pathp:
路径名称符合p的档案,ipath会忽略大小写
-namename,-inamename:
档案名称符合name的档案。
iname会忽略大小写
-sizen:
档案大小是n单位,b代表512位元组的区块,c表示字元数,k表示kilobytes,w是二个位元组。
-typec:
档案类型是c的档案。
d:
目录
c:
字型装置档案
b:
区块装置档案
p:
具名贮列
f:
一般档案
l:
符号连结
s:
socket
-pidn:
processid是n的档案
你可以使用()将运算式分隔,并使用下列运算。
exp1-andexp2
!
expr
-notexpr
exp1-orexp2
exp1,exp2
范例:
将目前目录及其子目录下所有延伸档名是c的档案列出来。
#find.-name"*.c"
将目前目录其其下子目录中所有一般档案列出
#find.-ftypef
将目前目录及其子目录下所有最近20分钟内更新过的档案列出
#find.-ctime-20
15、名称:
rmdir
使用权限:
于目前目录有适当权限的所有使用者
使用方式:
rmdir[-p]dirName
说明:
删除空的目录。
参数:
-p是当子目录被删除后使它也成为空目录的话,则顺便一并删除。
范例:
将工作目录下,名为AAA的子目录删除:
rmdirAAA
在工作目录下的BBB目录中,删除名为Test的子目录。
若Test删除后,BBB目录成为空目录,则BBB亦予删除。
rmdir-pBBB/Test
16、名称:
clear
用途:
清除萤幕用。
使用方法:
在console上输入clear。
17、名称:
kill
使用权限:
所有使用者
使用方式:
kill[-ssignal|-p][-a]pid...
kill-l[signal]
说明:
kill送出一个特定的信号(signal)给行程id为pid的行程根据该信号而做特定的动作,若没有指定,预设是送出终止(TERM)的信号
把计:
-s(signal):
其中可用的讯号有HUP
(1),KILL(9),TERM(15),分别代表着重跑,砍掉,结束;详细的信号可以用kill-l
-p:
印出pid,并不送出信号
-l(signal):
列出所有可用的信号名称
范例:
将pid为323的行程砍掉(kill):
kill-9323
将pid为456的行程重跑(restart):
kill-HUP456
指令名称:
chown
使用权限:
root
使用方式:
chmod[-cfhvR][--help][--version]user[:
group]file...
说明:
Linux/Unix是多人多工作业系统,所有的档案皆有拥有者。
利用chown可以将档案的拥有者加以改变。
一般来说,这个指令只有是由系统管理者(root)所使用,一般使用者没有权限可以改变别人的档案拥有者,也没有权限可以自己的档案拥有者改设为别人。
只有系统管理者(root)才有这样的权限。
把计:
user:
新的档案拥有者的使用者IDgroup:
新的档案拥有者的使用者群体(group)-c:
若该档案拥有者确实已经更改,才显示其更改动作-f:
若该档案拥有者无法被更改也不要显示错误讯息-h:
只对于连结(link)进行变更,而非该link真正指向的档案-v:
显示拥有者变更的详细资料-R:
对目前目录下的所有档案与子目录进行相同的拥有者变更(即以递回的方式逐个变更)--help