shell 基本命令.txt26选择自信,就是选择豁达坦然,就是选择在名利面前岿然不动,就是选择在势力面前昂首挺胸,撑开自信的帆破流向前,展示搏击的风采。1 Shell基本命令
1.1 ls 列出目录下的文件,不同类型的文件颜不同,例如蓝是文件夹,白是文件
[root@restoretmp steph]# ls
file.html public_html  test
[root@restoretmp steph]#
参数:
ls -a 列出所有文件,包括隐藏文件
[root@restoretmp steph]# ls -a
.  ..  .bash_logout  .bash_profile  .bashrc  file.html public_html  test
[root@restoretmp steph]#
ls -l 列出所有者 size 文件权限 修改日期
ls -R 递归列出所有子目录的内容
1.2  cd  转移目录
cd /home/steph 将转移到/home/steph
cd .. 上移一个目录
cd 回到根目录
cd  dir 改变目录位置至d i r目录下。
cd  user  改变目录位置至用户的工作目录。
cd  .. 改变目录位置至当前目录的父目录。
cd  ../user 改变目录位置至相对路径 user 的目录下。
cd  /../.. 改变目录位置至绝对路径的目录位置下。
1.3  建立新文件和文件夹shell创建文件并写入内容
touch new-filename 建立新文件
mkdir new-directory 建立新目录
1.4 删除文件和目录
rm  -r filename 删除名为 filename的文件
rmdir foldername 删除名为foldername的目录
rm –r file? 删除文件名中有五个字符且前四个字符为file 的所有文件。
rm –r f* 删除文件名中以 f 为字首的所有文件。
1.5 修改文件夹权限
1. 改变文件或目录的读、写、执行权限
语法:chmod [-R] mode name
name :文件名或目录名。
mode: 3个8位数字或r w x的组合。r- read (读),w - wri te (写),x - execute (执行),u - user (当前用户),g - group(组) ,o - other(其他用户) 。
chmod  755  dir1对于目录dir1,设定成任何使用者皆有读取及执行的权利,但只有所有者可做修改。
chmod  700  file1 对于文件f i l e 1,设定只有所有者可以读、写和执行的权利。
chmod  u+x  file2 对于文件f i l e 2,增加当前用户可以执行的权利。
chmod  g+x  file3 对于文件f i l e 3,增加工作组使用者可执行的权利。
chmod  o-r  file4 对于文件f i l e 4,删除其他使用者可读取的权利。
2.改变文件或目录的所有权
语法:chown [-R] 用户名 name
name:文件名或目录名。
例如 :
chown user file1 将文件 file1 改为用户user 所有。
chown -R user dir1 将目录 d i r 1及其子目录下面的所有文件改为用户user 所有。
1.6  压缩和解压缩文件gzip 和 gunzip
压缩:
gzip  filename
文件即会被压缩,并被保存为
解压缩:
< 会被删除,而继之以 filename
可以通过命令man gip 和man gunzip获得命令的详细说明.
zip 和 unzip
要使用 zip 来压缩文件,在 shell 提示下键入下面的命令:
zip -r filename.
zip filesdir
在这个例子里,filename.zip 代表你创建的文件,filesdir 代表你想放置新 zip 文件的目录。-r 选项指定你想递归地(recursively)包括所有包括在 filesdir 目录中的文件。
要解压缩 zip 文件的内容,键入以下命令:
unzip filename.zip
你可以使用 zip 命令同时处理多个文件和目录,方法是将它们逐一列出,并用空格间隔:
zip -r filename.zip file1 file2 file3 /usr/work/school
上面的命令把 file1、file2、 file3、以及 /usr/work/school 目录的内容(假设这个目录存在)压缩起来,然后放入 filename.zip 文件中。
1.7 tar 把多个文件或目录打包成一个文件,或者把已经打包的文件展开
%tar cvf RMS RMStar 把目录打包成一个文件
%tar xvf RMStar 把打包的文件展开。
1.8 compress 把文件压缩成后缀为.Z的压缩文件 
%compress RMStar
uncompress 把后缀为.Z的压缩文件解压缩
%uncompress RMStar.Z
1.9 df -k 查看各文件系统剩余的空间,-k说明单位是千字节(kb)
1.10 使用 l o g o u t命令退出shell。
1.11 更改帐号密码
语法:passwd
Old password: <;输入旧密码>
New password: <;输入新密码〉
Retype new password: <;再输入一次密码>
1.12 联机帮助
语法: man 命令 
man ls
1.13 远程登录
语法:rlogin 主机名 [-l 用户名]
rlogin aa          远程登录到工作站 aa 中。
rlogin aa -l user  使用 user 帐号登录到工作站 aa 中。
语法:telnet 主机名 或 telnet IP地址
telnet aa
telnet 130.129.21.250
1.14 复制文件
语法: cp [-r] 源地址 目的地址
cp file1 file2 将文件 file1 复制成 f i l e 2。
cp file1 dir1 将文件 file1 复制到目录 dir1 下,文件名仍为 f i l e 1。
cp /tmp/file1 . 将目录 /tmp 下的文件 file1 复制到当前目录下,文件名仍为 f i l e 1。
cp /tmp/file1 file2 将目录 /tmp 下的文件 file1 复制到当前目录下,文件名为f i l e 2。
cp -r dir1 dir2 复制整个目录。
1.15 移动或更改文件、目录名称
语法:mv 源地址 目的地址
mv file1 dir1 将文件 f i l e 1移到目录 dir1 下,文件名仍为 f i l e 1。
mv dir1 dir2 将目录 dir1 更改为目录 d i r 2。
1.16 列出当前所在的目录位置
语法: pwd
1.17 查看文件内容
语法: cat文件名
cat file1以连续显示方式,查看文件名 file1 的内容。
1.18 分页查看文件内容
语法: more 文件名 或 cat 文件名 | more
more file1 以分页方式查看文件名 file1 的内容。
cat file1 | more 以分页方式查看文件名 file1 的内容。
1.19 查看目录所占磁盘容量
语法: du [-s] 目录
du dir1 显示目录 dir1 的总容量及其子目录的容量(以KB 为单位)。
du -s dir1 显示目录 dir1 的总容量。
1.20 检查自己所属的工作组名称
语法:groups
1.21  改变文件或目录工作组所有权
语法:chgrp [-R] 工
作组名 name
n a m e:文件名或目录名
chgrp vlsi file1 将文件 file1 的工作组所有权改为 vlsi 工作组所有。
chgrp -R image dir1 将目录d i r 1及其子目录下面的所有文件,改为 image 工作组所有。
1.22  改变文件或目录的最后修改时间
语法:touch name
name:文件名或目录名。
1.23 文件的链接
同一文件,可拥有一个以上的名称,也就是把一个文件进行链接。
语法:ln 老文件名 新文件名
例如 :
ln file1 file2  将文件 f i l e 2链接至文件 f i l e 1。
语法:ln -s  老文件名 新文件名
例如 :
ln -s file3 file4 将文件 file4 链接至文件f i l e 3。
1.24 文件中字符串的查寻
语法:grep string file
grep abc file1      寻文件f i l e 1中包含字符串 abc 所在行的文本内容。
1.25 查寻文件或命令的路径
语法:whereis command 显示命令的路径。
语法:which command 显示命令的路径,及使用者所定义的别名。
语法:whatis command 显示命令功能的摘要。
语法:find search-path -name filename -print      搜寻指定路径下某文件的路径 。
例如 :
find / -name file1 -print 自根目录下寻文件 file1 的路径。
1.26 比较文件或目录的内容
语法:diff [-r] name1 name2
name1 name2:可同时为文件名或目录名。
diff file1 file2 比较文件file1 与 file2 内各行的不同之处。
diff -r dir1 dir2 比较目录 dir1 与 dir2 内各文件的不同之处。
1.27 文件打印输出
用户可用 .login 文件中的 setenv PRINTER来设定打印机名。
setenv PRINTER sp 设定自sp打印机打印资料。
一般文件的打印
语法:lpr [-P打印机名] 文件名
例如:
lpr file1 或 lpr -Psp file1      自 s p打印机打印文件 f i l e 1。
语法:enscript [-P打印机名] 文件名
例如:
enscript file3 或 enscript -Psp file3      自 s p打印机打印文件 f i l e 3。
1.28 troff 文件的打印
语法:p t r o ff [-P打印机名] [-man][-ms] 文件名
例如:
ptroff -Psp -man /usr/man/man1/lpr1      以troff 格式,自 sp 打印机打印lpr1 命令的使用说明。
打印机控制命令
1.检查打印机状态、打印作业顺序号和用户名
语法:lpq [-P打印机名]
lpq 或 lpq -Psp      检查 sp 打印机的状态。
2. 删除打印机内的打印作业( 用户仅可删除自己的打印作业 )
语法:lprm [-P打印机名] 用户名 或 作业编号
lprm user或lprm -Psp user      删除s p打印机中用户user 的打印作业,此时用户名必须为u s e r。
lprm -Psp 456      删除 sp 打印机上编号为 456 的打印作业。
1.29 进程控制
1.查看系统中的进程
语法:ps [-aux]
例如:
p s或ps -x 查看系统中,属于自己的进程。
ps -au 查看系统中,所有用户的进程。
ps -aux 查看系统中,包含系统内部的及所有用户的进程。
2. 结束或终止进程
语法:kill
[-9] PID
PID:利用 ps 命令所查出的进程号。
例如:
kill 456或kill -9 456      终止进程号为456的进程。
3. 在后台执行进程的方式
语法:命令 &
cc file1.c &  将编译 file1.c 文件的工作置于后台执行。
语法:按下 C o n t r o l + Z键,暂停正在执行的进程。键入b g命令,将暂停的进程置于后台继续执行。
cc file2.c
^ Z
S t o p p e d
b g
4. 查看正在后台中执行的进程
语法:j o b s
5. 结束或终止后台中的进程
语法:kill  %n
n:利用j o b s命令查看出的后台作业号
kill  % 终止在后台中的第一个进程。
kill  %2 终止在后台中的第二个进程。
1.30 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 的设定值。
1.31 别名
1. 查看所定义的命令的别名
语法: alias 查看自己目前定义的所有命令,及所对应的别名。
语法: alias name 查看指定的name 命令的别名。
alias dir 查看别名dir所定义的命令。
ls -atl
2. 定义命令的别名
语法: alias name‘command line’
例如:
alias dir ‘ls -l’ 将命令 ls - l 定义别名为 d i r。
3. 删除所定义的别名
语法: unalias name
例如:
unalias dir 删除别名 dir 的定义。
unalias *  删除所有别名的设定。
1.32 历史命令
1. 设定命令记录表的长度
语法: set history = n
set history = 40      设定命令记录表的长度为 40 (可记录执行过的前面 40 个命令)。
2. 查看命令记录表的内容
语法: h i s t o r y
3. 使用命令记录表
语法: !!      重复执行前一个命令。
语法: ! n
n:命令记录表的命令编号。
语法: ! s t r i n g 重复前面执行过的以 string 为起始字符串的命令。
例如: ! c a t 重复前面执行过的以 cat 为起始字符串的命令。
4. 显示前一个命令的内容
语法: ! !:p
5. 更改前一个命令的内容并执行
语法: ^oldstring ^newstring      将前一个命令中 oldstring 的部份改成 n e w s t r i n g并执
行。
例如:
find . -name file1.c -print
^ f i l e 1 . c ^ c o r e
find . -name core -print
1.33 管道命令的使用
语法:命令1 | 命令2      将命令1的执行结果送到命令2,做为命令2的输入。
例如:
ls -Rl | more      以分页方式列出当前目录及其子目录下所有文件的名称。
cat file1 | more      以分页方式列出文件 file1 的内容。
1.34 输入/输出控制
1. 标准输入的控制
语法:命令 < 文件 将文件做为命令的输入。
例如:
mail -s “mail test” 地址 < file1    将文件file 当
做信件的内容,主
题名称为 mail test,送给收信人。
2. 标准输出的控制
语法:命令 > 文件 将命令的执行结果送至指定的文件中。
例如:
ls -l > list      将执行 “ls -l” 命令的结果写入文件list 中。
语法:命令>! 文件 将命令的执行结果送至指定的文件中,若文件已经存在,则覆盖。
例如:
ls -lg >! list      将执行 “ls - lg” 命令的结果覆盖写入文件 list 中。
语法:命令 >& 文件 将命令执行时屏幕上所产生的任何信息写入指定的文件中。
例如:
cc file1.c >& error      将编译 file1.c 文件时所产生的任何信息写入文件 error 中。
语法:命令>> 文件 将命令执行的结果附加到指定的文件中。
ls - lag >> list      将执行 “ls - lag” 命令的结果附加到文件 list 中。
语法:命令 >>& 文件 将命令执行时屏幕上所产生的任何信息附加到指定的文件中。
cc file2.c >>& error      将编译 file2.c 文件时屏幕所产生的任何信息附加到文件error 中。
1.35 查看系统中的用户
语法: who  或 f i n g e r
语法: w
语法: finger 用户名 或 finger 用户名@域名
改变用户名
语法: su 用户名
例如:
su user 进入用户user 的帐号。
p a s s w r o d : <;输入用户user 的密码>
1.36 查看用户名
语法: who am i 查看登录时的用户名。
语法: w h o a m i 查看当前的用户名。若已执行过s u命令,则显示出此用户的用
户名。
1.37 查看当前系统上所有工作站的用户
语法: rusers
按Ctrl+C>  结束
1.38 与某工作站上的用户交谈
语法: talk 用户名@主机名或talk 用户名@ I P地址
例如:
1) 可先利用 rusers 指令查看网络上的用户;
2) 假设自己的帐号是 ddd ,在工作站 aaa上使用,现在想要与 bbb 上的ccc 交谈。
talk ccc@bbb
可按Ct r l + C结束。
1.39 检查网络是否连通
语法:ping 主机名或ping IP地址
1.40 vi
  vi是在工作站上广泛使用的编辑软件。对初学者而言,
  常因其特殊的使用方法,而不得其门而入;对已经在使用 vi 的使用者来说,也
  常见因对 vi 的不熟悉或不够了解,而无法发挥出 vi 强大的编辑能力,以下将
  简单介绍 vi 的使用方法。不必死记硬背,多实际操作几次就能记住常用的命令。
1.40.1 进入vi
  直接执行 vi编辑程序即可:
  %vi test
  此刻屏幕上会出现 vi 的编辑屏幕,同时 vi 会将文件复制一份至内存中的缓冲区 (buffer) 。 vi会保留在硬盘中的文件不变,而先对缓冲区的文件作编辑,编辑完成后,使用者可决定是否要取代原来旧有的文件。
1.40.2 离开vi
  若在输入模式下,则先利用《ESC》进入指令模式,而后即可选用下列指令
  离开vi。
  :q! 离开vi,并放

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。