linux shell 常见命令介绍

shell的常见命令


1、更改账号密码

语法:passwd

Old password:<输入旧密码>

New password:<输入新密码>

Retype new password:<再输入一次密码>


2、联机帮助

语法:man命令

例如:

man ls


3、文件或目录处理

列出文件或目录下的文件名

语法:ls [-atFlgR] [name]


ls 列出目录下的文件名

ls -a 列出包括以. 开始的隐藏文件的所有文件名

ls -t 依照文件最后修改时间的顺序列出文件名

ls -F 列出当前目录下的文件名以及类型。以/结尾表示为目录名,以*结尾表示为可执行文件,以@结尾表示为符号连接

ls -l 列出目录下所有文件的权限、所有者、文件大小、修改时间及名称

ls -lg 同上,并显示出文件的所有者工作组名

ls -R 显示出目录下以及其所有子目录的文件名


4、改变工作目录

语法:cd [name]

name:目录名、路径、或目录缩写

例如:

cd 改变目录位置至用户登录时的工作目录

cd dir 改变目录位置至dir目录下

cd user 改变目录位置至用户的工作目录

cd .. 改变目录位置至当前目录的父目录

cd ../user 改变目录位置至相对路径user的目录下

cd /../.. 改变目录位置至绝对路径的目录位置下


5、复制文件

语法:cp [-r] 源地址 目的地址

例如:

cp file1 file2 将文件file1复制成file2

cp file1 dir1 将文件file1复制到目录dir1,文件名仍为file1

cp /tmp/file1 . 将目录/tmp下的文件file1复制到当前目录下,文件名仍为file1

cp /tmp/file1 file2 将目录/tmp下的文件file1复制到当前目录下,文件名为file2

cp -r dir1 dir2 复制整个目录


6、移动或更改文件、目录结构

语法:mv 源地址 目的地址

例如:

mv file1 file2 将文件file1更名为file2

mv file1 dir1 将文件file1移到目录dir1下,文件名仍为file1

mv dir1 dir2 将目录dir1更改为目录dir2


7、建立新目录

语法:mkdir 新目录


8、删除目录

语法: rmdir 目录名 或 rm目录名

例如:

rmdir dir1 删除目录dir1,但dir1下必须没有文件存在,否则无法删除

rm -r dir1 删除目录dir1及其子目录下所有文件


9、删除文件

语法:rm 文件名

例如:

rm file1 删除文件名为file1的文件

rm file?删除文件中有五个字符且前四个字符为file的所有文件

rm f* 删除文件名中以f为字首的所有文件


10、列出当前所在的目录位置

语法:pwd


11、查看文件内容

语法:cat文件名

例如:

cat file1 以连续显示方式,查看文件名file1的内容


12、分页查看文件内容

语法:more 文件名 或 cat 文件名 | more

例如:

more file1 以分页方式查看文件名 file1 的内容

cat file1 | more 以分页方式查看文件名 file1 的内容


13、查看目录所占磁盘容量

语法: du [-s] 目录

例如:

du dir1 显示目录dir1的总容量及其子目录的容量(以KB为单位)

du -s dir1 显示目录dir1的总容量


14、文件传输

1.拷贝文件或目录至远程工作站

语法:rcp [-r] 源地址 主机名:目的地址

rcp file1 doc:/home/user 将文件file1拷贝到工作站doc路径/home/user下

rcp -r dir1 doc:/home/user 将目录dir1拷贝到工作站doc路径/home/user下


2.自远程工作站,拷贝文件或目录

语法: rcp [-r] 主机名:源地址 目的地址

rcp doc:/home/user/file1 file2 将工作站doc路径/home/user 下的文件file1,拷贝到当前工作站的目录下,文件名为dir1

rcp doc:/home/user/dir1 .将工作站doc路径/home/user 下的目录dir1,拷贝到当前工作站的目录下,目录名仍为dir1


3.本地工作站与远程工作站之间的文件传输

必须拥有远程工作站的账号及密码,才可进行传输工作

语法:ftp 主机名 或 ftp ip地址

例如:

ftp doc 与远程工作站doc之间进行文件传输

Name (doc:user-name):<输入账号>

Password(doc:user-password):<输入密码>

ftp> help 列出ftp文件传输时可使用的命令

ftp> !ls 列出本地工作站在当前目录下的所有文件名

ftp> !pwd 列出本地工作站当前所在的目录位置

ftp> ls 列出远程工作站当前目录下所有文件名

ftp> dir 列出远程工作站当前目录下的所有文件名

ftp> dir . | more 分页列出远程工作站当前目录下的所有文件名

ftp> pwd 列出远程工作站当前所在的目录位置

    ftp> cd dir 更改远程工作站的工作位置至dir1之下

ftp> get file1 将远程工作站的文件file1拷贝到本地工作站

ftp> put file2 将本地工作站的文件file2拷贝到远程工作站

ftp> mget *.c 将远程工作站中扩展文件名为c的所有文件拷贝到本地工作站中

ftp> mput *.txt 将本地工作站中扩展文件名为txt的所有文件拷贝到远程工作站中

ftp> prompt 切换交互式指令(使用mput/mget时不是每个文件皆询问yes/no)

ftp> quit 结束ftp工作

ftp> bye 结束ftp工作

注意 从PC与工作站间的文件传输也可透过在PC段的FTP指令进行文件传输,指令用法与上述指令大致相同


15、文件权限的设定

1.改变文件或目录的读、写、执行权限

语法:chmod [-R] mode name

name:文件名或目录名

mode:3个8位数字或rwx的组合。r-read(读),w-write(写),x-execute(执行),u-user(当前用户),g-group(组),o-other(其他用户)

例如:

chmod 755 dir1 对于目录dir1,设定成任何使用者皆有读取及执行的权限,但只有所有者可做修改

chmod 700 file1 对于文件file1,设定只有所有者可以读、写和执行的权限

chmod u+x file2 对于文件file2,增加当前用户可以执行的权利

chmod g+x file3 对于文件file3,增加工作组使用者可执行的权限

chmod o-r file4 对于文件file4,删除其他使用者可读写的权利


2.改变文件和目录的所有权

语法:chown [-R] 用户名 name

name:文件名或目录名

例如:

chown user file1 将文件file1改成用户user所有

chown -R user dir1 将目录dir1及其子目录下面的所有文件改成用户user所有


16、检查自己所属的工作组名称

语法:groups


17、改变文件或目录工作组所有权

语法:chgrp [-R] 工作组名 name

name:文件名或目录名

例如:

chgrp vlsi file1 将文件file1的工作组所有权改为vlsi工作组所有


18、改变文件或目录的最后修改时间

语法:touch name


19、文件的链接

同一个文件,可拥有一个以上的名称,也就是把一个文件进行链接

语法:ln 老文件名 新文件名  (软链接)

例如:

ln file1 file2 将文件file2链接至文件file1

语法:ln -s 老文件名 新文件名

例如:

ln -s file3 file4 将文件file4链接至file3  (硬链接)


20、文件中字符串的查询

语法:grep string file

例如:

grep abc file1 寻找文件file1中包含字符串abc所有行的文本内容


21、查询文件或命令的路径

语法:whereis command 显示命令的路径

语法:which command 显示命令的路径,及使用者所定义的别名

语法:whatis command 显示命令功能的摘要

语法:find search -path -name filename -print 所有指定路径下某文件的路径


22、比较文件或目录的内容

语法:dirff [-r] name1 name2

name1 name2:可同时为文件名或目录名

例如:

diff file1 file2 比较文件file1与file2内各行的不同之处

diff -r dir1 dir2 比较目录dir1与dir2内各文件的不同之处


23、文件打印输出

用户可用.login文件中的setenv PRINTER来指定打印机名

一般文件的打印

语法:lpr [-P打印机名] 文件名

例如:

lpr file1 或 lpr - Psp file1 自sp打印机打印文件file1

语法:enscript [-P打印机名] 文件名

例如:

enscript file3 或 enscript -Psp file3 自sp打印机打印文件file3


24、troff文件的打印

语法:ptroff [-P打印机名] [-man] [-ms] 文件名

ptroff -Psp -man /usr/man/man1/lpr1 以troff格式,自sp打印机打印lpr1命令的使用说明


25、进程控制

1.查询系统中的进程

语法:ps [-aux]

例如:

ps或ps -X 查询系统中,属于自己的进程

ps -au 查询系统中,所有用户的进程

ps -aux 查询系统中,包括系统内部的及所有用户的进程


2.结束或终止进程

语法:kill [-9] PID

PID:利用ps命令所查出的进程号

例如:

kill 456 或 kill -9 456 终止进程号为456的进程


3.在后台执行进程的方式

语法:命令&

例如:

cc file1.c& 将编译file1.c文件的工作置于后台执行

语法:按下Control+Z键,暂停正在执行的进程。键入bg命令,将暂停的进程置于后台继续执行

例如:

cc file2.c

^Z

Stopped

bg


4.查询正在后台执行的进程

语法:jobs


5.结束或终止后台中的进程

语法:kill %n

n:利用jobs命令查看出的后台作业号

例如:

kill % 终止在后台中的第一个进程

kill %2 终止在后台中的第二个进程


26、shell变量

1.查看shell变量的设定值

语法:set 查看所有shell变量的设定值

语法:echo $变量名 显示指定的shell变量的设定值


2.设置shell变量

语法:set var = value

例如:

set term =vt100 设定shell变量term为VT100型终端


3.删除shell变量

语法:unset var

例如:

unset PRINTER 删除shell变量PRINTER的设定值


27、别名

1.查看所定义的命令的别名

语法:alias 查看自己目前定义的所有命令,以及对应的别名

语法:alias name 查看指定的name命令的别名

例如:

alias dir 查看别名 dir所定义的命令


2.定义命令的别名

语法:alias name='command line'

例如:

alias dir='ls -l' 将命令ls -l定义别名为dir


3.删除所定义的别名

语法:unalias name

例如:

unalias dir 删除别名dir的定义

unalias * 删除所有别名的设定


28、历史记录

1.设定命令记录表的长度

语法:set history = n

例如:

set history = 40 设定命令表的长度为40(可记录执行过的前面40个命令)


2.查看命令记录表的内容

语法:history


3.使用命令记录表

语法:!! 重复执行前一条命令

语法:!n 

n:命令记录表的命令编号

语法:!string 重复前面执行过的以string为起始字符串的命令

例如:!cat 重复执行前面执行过的以cat为起始字符串的命令


4.显示前一个命令的内容

语法:!!:p


5.更改前一个命令的内容并执行

语法:^oldstring ^newstring 将前一个命令中oldstring的部分改成newstring并执行

例如:

find . -name file1.c -print

^file1.c^core

find . -name core -print


29、文件的压缩

1.压缩文件

语法:compress 文件名 压缩文件

语法:compressdir 目录名 压缩目录


2.解压缩文件

语法:uncompress 文件名 解压缩目录

语法:uncompressdir 目录名 解压缩目录


30、管道命令的使用

语法:命令1 | 命令2 将命令1的执行结果送到命令2,作为命令2的输出

例如:

ls -Rl | more 以分页方式列出当前目录及其子目录下所有文件的名称

cat file1 | more 以分页方式列出文件file1的内容


31、输入/输出控制

1.标准输入的控制

语法:命令<文件 将文件作为命令的输入

例如:

mail -s "mail test" 电子邮件地址 < file1 将文件file当作信件的内容,主题名称为 mail test,送给收信人


2.标准输出的控制

语法:命令>文件 将命令的执行结果送至指定的文件中

例如:

ls -l > list 将执行“ls -l”命令的结果写入文件list中


语法:命令>!文件 将命令的执行结果送至指定的文件中,若文件已经存在,则覆盖

例如:

ls -l >! list 将执行“ls -l”命令的结果覆盖写入文件list中


语法:命令>& 文件 将命令执行时屏幕上所产生的任何信息写入指定的文件中

例如:

cc file1.c >& error 将编译file1.c文件时所产生的任何信息写入文件error中


语法:命令 >> 文件 将执行“ls -lag”命令的结果附加到文件list中

例如:

cc file2.cc >> error 将编译file2.c文件时屏幕所产生的任何信息附加到文件error中


32、查看系统中的用户

语法:who 

语法:w



33、改变用户名

语法:su 用户名

例如:

su user 进入用户user的账户

password:<输入用户user的命令>


34、查看用户名

语法:who am i 查看登录时的用户名

语法:whoami 查看当前的用户名。若已执行过su命令,则显示出此用户的用户名


猜你喜欢

转载自alan-hjkl.iteye.com/blog/1525869
今日推荐