shell的基本命令

在linux中我们常常要用到shell命令

1:ls 列出目录下的文件

     不同类型的文件颜色不同,蓝色的是文件夹,白色的是文件

   ls -a 列出所有文件,包括隐藏文件

   ls -l 列出所有者 size 文件权限 修改日期

   ls -R 递归列出所有子目录的内容

 

2:cd 转移目录(进入到某个目录)

      cd /aa/bb 将转移到(进入到)/aa/bb目录下

      cd .. 上移一个目录(到上级目录)

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

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

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

      cd 回到根目录

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

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

 

3:建立新文件 touch new-filename

4:建立新目录 mkdir new-directory

5:删除文件 rm -f filename

6:删除目录 rmdir foldername

7:删除文件名以file开头的文件名为5个字符的所有文件

     rm -r file?    将删除filea,fileb,filex。但是不会删除fileaa,filebb,filexx

8:删除文件名以f开头的所有文件

    rm -r f* 将删除filea fileaa  filex filexx

 

9:改变文件或目录的读,写,执行权限

    chmod  [-R] mode name

    name:文件名或目录

    mode:3个8位数字或 r w x 的组合。r=read读,w=write写,x=execute执行。

    u=user当前用户,g=group组,o=other其他用户

    chmod  755 file1 设定file1的所有者有读写执行的权利

    chmod u+x file1  设定当前用户可以执行的权利

   chmod g+x file1 设定工作组使用者可以执行的权利

   chmod r-o file1  设置其他用户没有可读的权利

    如果要加上某种权利就用+号,要减去某种权利就用-号

 

10:改变文件或目录的所有权

       chown [-R] 用户名 name

        name:文件名或目录名

        chown user file1 将file1改为用户user所有

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

 

11:压缩

       gzip filename,文件被压缩,并保存为filename.gz

       zip -r filename.zip filesdir ,filename.zip代表你创建的压缩文件,filesdir代表你想放置zip文件的目录,-r表示你想递归的包括所有包括在filesdir目录中的文件

      可以使用zip命令同时处理多个文件和目录,方法是将他们逐一列出,并用空格间隔

       zip -r filename.zip file1 file2 file3 /usr/work/school

       上面的命令把 file1、file2、 file3、以及 /usr/work/school 目录的内容(假设这个目录存在)压缩起来,然后放入 filename.zip 文件中。

 

12:解压缩

      gunzip filename.gz   解压后filename.gz会被自动删除

      unzip filename.zip

 

13:tar 把多个文件或目录打包成一个文件,或者把已经打包的文件展开

      tar cvf RMS RMSfile 把目录打包成一个文件

      tar xvf RMSfile 把打包的文件展开

 

14:compress 把文件压缩成后缀为.Z的压缩文件

     compress RMSfile

     解压:uncompress RMSfile.Z

 

15:df -k 查看各文件系统剩余的空间,-k说明单位是千字节kb

16:退出shell:logout

17:更改账号密码:passwd

18:联机帮助:man ls

19:远程登录:

       rlogin 主机名 [-l 用户名]

       rlogin aa  远程登录到工作站aa中

      rlogin aa -l user 使用user账号登录到工作站aa中

      telnet 主机名 或 telnet ip地址

      telnet aa

      telnet 192.168.0.3

 

20:复制文件

     cp [-r] 源地址 目的地址

     cp file1 file2 将文件复制成file2

     cp file1 dir1 将文件复制到dir1下

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

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

     cp -r dir1 dir2 复制整个目录

 

21:移动或更改文件、目录名称

       mv 源地址 目的地址

       mv file1 dir1 将文件file1移动到目录dir1 下

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

 

22:列出当前所有的目录位置:pwd

23:查看文件内容:cat file1

24:分页查看文件的内容: more file1 或 cat file1 | more

25:查看目录所占磁盘容量

       du [-s] 目录

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

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

26:检查自己所属的工作组名称:groups

27:改变文件或目录工作组所有权

       chgrp [-R] 工作组名 name

      name:文件名或目录名

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

      chgrp -R bb dir1 将目录dir1及其子目录下面的所有文件改为bb工作组所有

28:改变文件的最后修改时间:touch file1

29:改变目录的最后修改时间:touch dir1

30:文件的连接

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

      ln 老文件名 新文件名: ln file1 file2

      ln -s 老文件名 新文件名:ln -s file1 file2

31:文件中字符串的查寻:grep abc file1 。寻找文件file1中包含abc所在行的文本内容

32:查寻文件或命令的路径

      whereis command 显示命令的路径

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

     whatis command 显示命令功能的摘要

     find search-path -name filename -print 搜寻指定路径下某文件的路径

    fin / -name file1 -print 自根目录下寻找文件file1的路径

 

33:比较文件的内容:diff file1 file2 。比较文件file1和file2内各行的不同之处

34:比较目录的内容:diff -r dir1 dir2. 比较目录dir1和dir2内各文件的不同之处

 

35:文件打印输出

      用户可用 .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。
36: troff 文件的打印
        语法:p t r o ff [-P打印机名] [-man][-ms] 文件名
        例如:
       ptroff -Psp -man /usr/man/man1/lpr1      以troff 格式,自 sp 打印机打印lpr1 命令的使用说明。

37:打印机控制命令
       检查打印机状态、打印作业顺序号和用户名
       语法:lpq [-P打印机名]
       lpq 或 lpq -Psp      检查 sp 打印机的状态。
       删除打印机内的打印作业( 用户仅可删除自己的打印作业 )
       语法:lprm [-P打印机名] 用户名 或 作业编号
       lprm user或lprm -Psp user      删除s p打印机中用户user 的打印作业,此时用户名必须为u s e r。
       lprm -Psp 456      删除 sp 打印机上编号为 456 的打印作业。

38: 进程控制
       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 终止在后台中的第二个进程。

39: 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 的设定值。

40: 别名
       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 *  删除所有别名的设定。

41: 历史命令
       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

42: 管道命令的使用
       语法:命令1 | 命令2      将命令1的执行结果送到命令2,做为命令2的输入。
       例如:
       ls -Rl | more      以分页方式列出当前目录及其子目录下所有文件的名称。
       cat file1 | more      以分页方式列出文件 file1 的内容。

43: 输入/输出控制
       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 中。

44: 查看系统中的用户
       语法: who  或 f i n g e r
       语法: w
       语法: finger 用户名 或 finger 用户名@域名
        改变用户名
       语法: su 用户名
       例如:
       su user 进入用户user 的帐号。
       p a s s w r o d : <输入用户user 的密码>

45: 查看用户名
       语法: who am i 查看登录时的用户名。
       语法: w h o a m i 查看当前的用户名。若已执行过s u命令,则显示出此用户的用户名。

46: 查看当前系统上所有工作站的用户
       语法: rusers
       按Ctrl+C>  结束


47:与某工作站上的用户交谈
       语法: talk 用户名@主机名或talk 用户名@ I P地址
       例如:
       1) 可先利用 rusers 指令查看网络上的用户;
       2) 假设自己的帐号是 ddd ,在工作站 aaa上使用,现在想要与 bbb 上的ccc 交谈。
       talk ccc@bbb
       可按Ct r l + C结束。


48: 检查网络是否连通
语法:ping 主机名或ping IP地址

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值