shell是一个命令行解释器,它解释由用户输入的命令并且把它们送到内核去执行。通过shell脚本实现用户与系统内核的交互。

shell脚本:由一个或多个shell命令组合在一起。脚本扩展名为.sh

shell分类:sh,csh,ksh,bash    主要使用bash

bash特色:补全文件名和命令,查询命令历史,定义命令别名。

1.shell命令提示符:登陆系统后看到的一行符号就是提示符

格式:  用户名 @ 主机名:~$    ' ~ ' 表示在当前用户主目录下,在根目录下表示为 ' / ' , ' $ '表示为普通用户,超级用户为 ' # '

2.shell命令的基本格式

三要素:命令名称、选项、参数。必须有命令名称。

格式:

 Command [-Options] Argument1 Argument2 …

    指令      选项     参数1      参数2…

Command:命令名称,Shell命令或程序,严格区分大小写;

Options:命令选项,用于改变命令执行动作的类型,由“-”引导,可以同时带有多个选项;

Argument:命令参数,指出命令作用的对象或目标,有的命令允许带多个参数。

注意事项:

一条命令的三要素之间用空格隔开;

若将多个命令在一行书写,用分号(;)将各命令隔开;

如果一条命令不能在一行写完,在行尾使用反斜杠(\)标明该条命令未结束。

3.shell命令下的特殊字符

通配符

  1. *:可以匹配任意长度的字符   ex:rm 1.*//删除所有以1.为前缀的文件
  2. ?:匹配一个长度的字符  
  3. [字符列表]:匹配列表中任意一个字符     ex rm [12].c 删除1.c 2.c
  4. [-]:匹配范围内任意一个字符
  5. [^列表]:匹配除了列表之外的所有字符中的任意一个 。

管道符  | 

把命令像管道一样连接起来,前一个命令的输出作为后一个命令的输入。

重定向符

输出重定向:

1.>文件名:将>前面命令的输出结果重定向到目标文件中,目标文件中原来的内容被1清空

2.>>文件名:将>前面命令的输出结果重定向到目标文件中,目标文件中原来的内容被追加

可应用于文件复制。

输入重定向:

<文件名:将文件作为输入源     wc<1.c//将1.c作为输入源给wc命令

报错重定向

2> 或 &>

将报错信息重定向到指定的文件中

例:cd 1 2>1.c//将cd 1这个命令语句的报错信息重定向到1.c中,1.c原来的内容被清空

命令置换符

格式:命令1 `命令2`    把命令2的输出结果作为命令1的参数使用。` 键位置:ESC键下面一个的按键。

4.基本系统维护命令

  1. shutdown:用于关机或者重启

    shutdown -h now:立即关机

    shutdown -h +60:60分钟后关机

    shutdown -r now:立即重启

     2.passwd+用户名:修改用户的密码

     3.su:改变身份为管理员用户,退出时终端输入exit

     4.echo:终端显示信息

   echo -n:显示信息后不换行

5.date:显示日期

6.clear:清屏

7.df:查看磁盘占用情况

       -a:显示所有物理内存使用情况cd

       -h:以兆为单位查看

       -k:以千字节为单位查看

       -T:查看磁盘对应文件的类型

     8.mount:挂载命令

         umount:卸载

5.用户管理命令

存放用户信息的配置文件:/etc/passwd

ubuntu@ubuntu:~$ sudo vi /etc/passwd

/etc/group:存放用户组相关的信息

包含了UNIX组的名称和每个组中成员列表

每一行代表一个组,包括4个字段:

组名 加密的口令 GID号 成员列表,彼此用逗号隔开

ubuntu@ubuntu:~$ sudo vi /etc/group

1.添加用户:adduser

ubuntu@ubuntu:~$ sudo adduser yonghuming

2.修改用户属性:usermod

语法:usermod [-u uid [-o]] [-g group] [-G gropup,…]

                           [-d home [-m]] [-s shell] [-c comment]

                           [-l new_name] [-f inactive][-e expire]

                           [-p passwd] [-L|-U] name

使用方法:

usermod -p 123456 username  :修改密码

        

    给用户重命名并且更改对应用户主目录的名字:

usermod -d /home/newname  -m -l newname oldname

3.删除用户:deluser

buntu@ubuntu:~$ sudo deluser yonghuming
ubuntu@ubuntu:~$ sudo deluser  --remove-home  yonghuming //删除用户的同时删除用户的工作记录

4.删除用户组:delgroup

ubuntu@ubuntu:~$ sudo delgroup yonghuming

6.进程管理命令

     ps

        查看进程的动态

        参数:-A 列出所有的行程

                   -aux 显示所有包含其他使用者的行程 

                   -ef 显示所有进程包含父进程号

     top   

         动态监视进程运行状态

         shift+'>' :向下翻页

         shift+'<' :向上翻页

         q:退出

     kill

         用于终止进程

         格式:  kill   -进程的信号编号   进程号

kill -l:查看信号列表

 2) SIGINT:ctrl c

 3) SIGQUIT:ctr \

 9) SIGKILL:杀死进程

14) SIGALRM:alarm()函数调用时产生该信号

17) SIGCHLD :子进程结束时会给父进程发送该信号

19) SIGSTOP :暂停进程

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐