Linux基础——“ shell命令 概述”了解shell和基本linux_shell是命令行吗_Refuel.CONG的博客-程序员宅基地

技术标签: c语言  ubuntu  linux  Linux 开发  

一、shell 命令

1. shell 概述

英文单词shell直译为“贝壳”。贝壳是动物作为外在保护的一种工具。
可以这样认为。Linux中的shell就是Linux内核的一个外层保护工具,并负责完成用户与内核之间的交互。

命令是用户向系统内核发出控制请求,与之交互的文本流
在这里插入图片描述

shell 是一个命令行解释器,讲用户命令解析为操作系统所能理解的指令,实现用户与操作系统的交互。
当需要重复执行若干命令,可以将这些命令集合起来,加入一定的控制语句,编辑成shell脚本文件,交给shell批量执行。
在这里插入图片描述

用户在命令行提示符下键入命令文本,开始于shell进行交互。
接着,shell将用户的命令或按键转化成内核所能够理解的指令
控制操作系统做出响应,直到控制相关硬件设备
然后,shell将输出结果通过shell提交给用户

在这里插入图片描述

shell命令的乐趣
立即关机于重启
在命令行输入以下命令,系统立即关机:

sudo shutdown -h now
或者
sudo power of

在命令行输入以下命令,系统立即重新启动:

sudo shutdown -r now
//或者
sudo reboot now

定时关机和重启
时间限定45分钟

sudo shutdown -h +45 "That is all,game over."

shell 命令格式

  • $:shell提示符,如果当前用户为超级用户,提示符为“ # ”,其他用户提示符为“$”
  • Command:命令名称,shell命令或程序,严格区分大小写
  • Options:命令选项,用于改变命令执行动作的类型,由“ - ”引导,可以同时带有多个选项;
  • Argument:命令参数,指出命令作用的对象或者目标,有的命令允许带多个参数。

一条命令三要素之间用空格隔开;
若将多个命令在一行书写,用分号“ ;” 将各命令隔开。
如果一条命令不能在一行写完,在行尾使用反斜杠“ / ”标明该命令未结束。

shell 中的特殊字符
通配符
当需要用命令处理一组文件,例如file1.txt、file2.txt …,用户不必一一输入文件名,可以使用shell通配符。

2. 基本系统维护命令

man 获取联机帮助

使用man命令可以找到特定的联机帮助页,并且提供简短的命令说明。一般语格式为

man commandname

联机帮助页提供了指令命令commandname的相关信息,包括,名称,函数,语法以及可选参数描述等,

查库函数:man 3 XX
系统调用:man 2 XX
跟XX相关的系统信息:man -a XX
通常联机帮助信息包括以下几个部分:

NAME: 命令的名称
SYNOPSIS: 命令的语法格式
DESCRIPTION: 命令的一般描述以及用途
OPTIONS: 描述命令所有的参数或选项
SEE ALSO: 列出联机板子页中与该命令直接相关或者功能相接近的其他命令
BUGS: 解释命令或其输出中存在的任何已知的问题或缺陷
EXAMPLES: 普通的用法示例
AUTHORS: 联机帮助页以及命令的作者

passwd 基本系统维护命令

出于系统安全考虑,linux系统中每个账号都有用户名和密码
也可以使用passwd命令,为己有账号重新修改用户口令
需要说明的是,超级用户root可以修改所有其他用户口令,而普通用户只能修改自己的用户口令,如果确要修改超级用户或其他用户口令的话,需要具备超级用户的权限。
一般语法格式:

passwd username

su命令:切换用户命令
echo 命令
echo命令用于在标准输一一显示器上显示一段文字,一般起到提示作用

echo [-n] information

选项-n表示输出文字后不换行。提示信息符串可以加引号,也可以不加。

echo "Hello  everyone.“  #输入信息字符串使用引号
echo  Hello  everyone.    #输入信息字符串不使用引号,字符串之间用一个空格隔开

3. 查看文件系统信息

clear 清除屏幕 或者 使用快捷键: ctrl+l

df -T :显示文件系统信息
df -T -h :显示文件系统信息并且显示大小

du命令:列出目录和文件所使用的磁盘空间块数,每块占512个字节。 常用参数: -a:仅列出空闲的文件数 -h:列出磁盘的使用情况(KB) -s:列出总的空闲空间(KB) 例如:#du -h /etc

二、Linux 的用户管理

  • 用户属性:
  1. 用户名
  2. 口令
  3. 用户ID(UID)
  4. 用户主目录(HOME)
  5. 用户shell

三、Linux进程管理相关命令

3.1 进程的概念

3.1.1 编译程序上的两个进程
程序的一次执行就是一个进程

3.2 进程管理相关命令

3.2.1 ps命令
显示进程(process)的动态

ps XX

下面对ps命令选项进行说明:

命令参数 说明
-e 显示所有进程.
-f 全格式。
-h 不显示标题。
-l 长格式。
-w 宽输出。
-a 显示终端上的所有进程,包括其他用户的进程。
-r 只显示正在运行的进程。
-u 以用户为主的格式来显示程序状况。
-x 显示所有程序,不以终端机来区分。

ps -ef 显示所有进程,全格式形式查看进程:
ps -ef 的每列的含义是什么呢?
在这里插入图片描述

命令参数 说明
UID: 程序被该 UID 所拥有,指的是用户ID
PID: 就是这个程序的 ID
PPID : PID的上级父进程的ID
C : CPU使用的资源百分比
STIME : 系统启动时间
TTY: 登入者的终端机位置
TIME : 使用掉的 CPU时间。
CMD: 所下达的指令为何

3.2.2 进程的状态标志

R 正在执行中
S 阻塞状态
T 暂停执行
Z 不存在但暂时无法消除(僵尸进程)
D 不可中断的静止
< 高优先级的进程
N 低优先级的进程
L 有内存分页分配并锁在内存中

3.2.3 top命令
监视进程

  • 通常会全屏显示,而且会随着进程状态的变化不断更新
  • 整个系统的信息也会显示,为查找问题提供了便利
  • 可以显示系统总共有多少CPU和内存资源以及负载平衡等信息。

3.2.4 pstree命令

将所有行程以树状图显示,树状图将以pid(如果有指定)或是以init这个基本进程为根,如果有指定使用者id,则树状图会只显示该使用者所用有的进程。
在这里插入图片描述

3.2.5 kill命令—终止进程
使用kill命令终止进程

kill 9 5565

9是信号,5565 是pid(进程号)

kill
命令向指定的进程发错一个信号signal,在默认的情况下,kill命令向指定进程发出信号15,正常情况下,将杀死那些不捕捉或不忽略这个信号的进程。

以下图是信号的全部
在这里插入图片描述

五、Linux文件系统的类型和结构

在任何一个操作系统中,文件系统无疑是其最重要的组件,用于组织和管理计算机存储设备上的大量文件,并提供用户交互接口。Linux同样具备完善的文件系统。用户既可以使用界面友好的Nautilus图形文件管理器,也可以使用功能强大的shell文件系统管理工具。

linux是一种兼容性很高的操作系统,支持的文件系统格式很多,大体可分以下几类:
-磁盘文件系统:指本地主机中实际可以访问到的文件系统,包括硬盘、CD-ROM、DVD、 USB存储器、磁盘阵列等。常见文件系统格式有:autofs、coda、Ext(Extended File sytem,扩展文件系统)、Ext3、Ext4、VFAT、IS09660(通常是CD-ROM)、UFS(Unix File System,Unix文件系统)、FAT、FAT16、FAT32、NTFS等;
-网络文件系统:是可以远程访问的文件系统,这种文件系统在服务器端仍是本地的磁盘文件系统,客户机通过网络远程访问数据。常见文件系统格式有:NFS、Samba等; -专有/虚拟文件系统:不驻留在磁盘上的文件系统。常见格式有:TMPFS(临时文件系统)、PROCFS(Process File System,进程文件系统)和LOOPBACKFS(Loopback File System,回送文件系统)。

3. Linux分区的命名方式

字母和数字相结合

前两个字母表示设备类型

hd 代表IDE硬盘
sd 表示SCSI或SATA硬盘

第三个字母说明具体的设备

/dev/hda 表示第一个IDE硬盘
/dev/hdb 表示第二个IDE硬盘

4. 交换分区(虚拟内存)

  1. 将内存中的内容写入硬盘或从硬盘中读出,称为内存交换(swapping)
  2. 交换分区最小必须等于计算机的内存
  3. 可以创建多于一个的交换分区
  4. 尽量把交换分区放在硬盘驱动器的起始位置

5. 文件系统逻辑结构

我们先用个例子来分析一下:

某所大学的学生可能在一两万人左右,通常将学生分配在以学院-系-班为单
位的分层组织机构中。若需要查找一名学生时,最笨的办法是依次问询大学中的每一个学生,直到找到为止。如果按照从学院、到系、再到班的层次查询下去,必然可以找到该学生,且查询效率高。这种树形的分层结构就提供了一种自顶向下的查询方法。

如果把学生看作文件,院-系-班的组织结构看作是Linux文件目录结构,那么就同样可以有效地管理数量庞大的文件。

6. 文件系统结构

  • 分区与目录的关系:

-在Windows下,目录结构属于分区;在Linux下,分区属于目录结构。

  • 如何知道文件存储的具体硬件位置呢?

1. 在Linux中,将所有硬件都视为文件来处理,包括硬盘分区、CD-ROM、软驱以及其他USB移动设备等。为了能够按照统一的方式和方法访问文件资源,Linux中提供了对每种硬件设备相应的设备文件。一旦Linux系统可以访问到硬件,就将其上的文件系统挂载到目录树中的一个子目录中。
2. 例如,用户插入USB移动存储器,Ubuntu Linux自动识别后,将其挂载到“/media/disk”目录下。而不象Windows系统将USB存储器作为新驱动器,表示为“F:”盘。

Linux文件系统就是一个树形的分层组织结构将根(/)作为整个文件系统的惟一起点,其他所有目录都从该点出发。将Linux的全部文件按照一定的用途归类,合理地挂载到这颗“大树”的“树枝”或“树叶”上,如图所示。而这些全不用考虑文件的实际存储位置,无论是存在硬盘上,还是在CD-ROM或USB存储器中,甚至是网络终端。在这里插入图片描述
在这里插入图片描述

六、Linux网络配置

1. IP地址

IP地址包括三部分:Internet网络号(Net-ID)、子网号(Subnet-ID)和主机号(Host-ID)
在这里插入图片描述
因而可以这样解释:一个IP地址唯一标识了,处在某个互联网中的,某个子网的,某个网络接口。

2. 配置IP地址

接入网络的计算机主机依靠IP地址,惟一地标识其在网络中的身份,因此为主机配置IP地址是接入网络的关键。
配置IP地址的方法有两种:

  • 配置静态IP:在主机进入网络之前,事先为主机设置固定的IP地址;
  • 配置动态IP:选择DHCP网络服务,在主机进入网络之后,动态随机获取IP地址。

ifconfig命令

从下面的运行结果可以看出,主机有两个接口eth0、lo。lo代表主机本身,也称回送接口(Loopback),其IP地址约定为127.0.0.1。
在这里插入图片描述
动态IP的获取过程
执行过程中包括以下四个阶段。

  1. 客户端寻找DHCP服务器(DHCPDISCOVER):
  2. 客户端广播申请动态IP的请求;服务器提供可分配的IP地址(DHCPOFFER):所有接收到请求的DHCP服务器都将向客户端提供一个IP地址;
  3. 客户端接受IP地址租借(DHCPREQUEST):客户端从多个IP选择中挑选一个,通知DHCP服务器,并标识出所选中的服务器;
  4. 服务器确认租借IP(DHCPACK):被选中的DHCP服务器最后发出一个确认信息,包含IP地址、子网掩码、默认网关、DNS服务器和租借期(客户端使用这个
    IP的这段时间,称为租借期)。

最终客户端临时“租借”的IP地址为192.168.182.129。

在这里插入图片描述

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_44278698/article/details/123950054

智能推荐

android事件监听回调机制-程序员宅基地

Android事件侦听器是视图View类的接口,包含一个单独的回调方法。这些方法将在视图中注册的侦听器被用户界面操作触发时由Android框架调用。回调方法被包含在Android事件侦听器接口中: 例如,Android 的view 对象都含有一个命名为 OnClickListener 接口成员变量,用户的点击操作都会交给 OnClickListener的 OnClick() 方

前端必备基础知识-程序员宅基地

前端必备的js知识点 1、本文主体源自:http://www.cnblogs.com/coco1s/p/4029708.html,有兴趣的可以直接去那里看,也可以看看我整理加拓展的。2、js是一门什么样的语言及特点? js是一种基于对象和事件驱动的并具有相对安全性的客户端脚本语言。也是一种广泛用于web客户端

LeetCode 56. Merge Intervals(合并重叠区间)-程序员宅基地

题目描述: Given a collection of intervals, merge all overlapping intervals. For example, given [1,3],[2,6],[8,10],[15,18], return [1,6],[8,10],[15,18].分析: 题意:给出一些整型区间集合,返回合并重叠区间之后的结果。 思路:这是一道...

Vue开发规范_vue2 高级开发 逻辑ui 规范-程序员宅基地

规范目的为提高团队协作效率便于后台人员添加功能及前端后期优化维护输出高质量的文档命名规范为了让大家书写可维护的代码,而不是一次性的代码让团队当中其他人看你的代码能一目了然甚至一段时间时候后你再看你某个时候写的代码也能看css命名规范遵循bem命名规范(bem命名规范官方文档)1)块:具有独立意义的实体(eg: header、container、menu、form、input)2) 元素:块的一部分,没有独立意义,与块语义相关3)修饰符:块、元素的修饰标志,使用修饰符更改某些外观、行为_vue2 高级开发 逻辑ui 规范

CSP-S2 括号树_括号树csp-程序员宅基地

题目分析题目分析这一道题我一开始看觉得应该是DP。对于点i的答案,显然是它的父亲的答案加上以它为结尾的合法括号串的个数。如何求以i为结尾的合法括号串的个数呢?我们设f[i][j]f[i][j]f[i][j]代表的是以iii点为结尾,目前有jjj个左括号没有配对的方案数。显然如果iii是左括号..._括号树csp

健身俱乐部综合管理系统/健身房管理系统_健身房后台管理基本模块_一枚小小程序员哈的博客-程序员宅基地

本文以Java为开发技术,实现了一个健身俱乐部综合管理系统。健身俱乐部综合管理系统的主要实现功能包括:管理员:个人中心、会员管理、会员卡信息管理、教练管理、器材信息管理、健身课程管理、活动信息管理、课程报名管理、锻炼记录管理、活动报名管理、系统管理等等。教练:个人中心、会员卡信息管理、健身课程管理、课程报名管理、锻炼记录管理,会员;个人中心、会员卡信息管理、课程报名管理、锻炼记录管理、活动报名管理、我的收藏管理。基本上实现了整个健身俱乐部综合管理系统的课程报名过程。_健身房后台管理基本模块

随便推点

application、view的生命周期-程序员宅基地

// 当应用程序将要进入非活动状态时执行,在此期间,应用程序不接收消息或事件,如电话、锁屏等- (void)applicationWillResignActive:(UIApplication *)application { NSLog(@"非活动状态执行");}// 程序进入后台- (void)applicationDidEnterBackground:(UIApplicati

2021.2.4 notes_ujn20161222的博客-程序员宅基地

1. 几种AutoEncoder原理https://blog.csdn.net/leida_wt/article/details/85052299

Problem C: [noip2016十连测第五场]travel (贪心)-程序员宅基地

Problem C: [noip2016十连测第五场]travelTime Limit: 10 Sec Memory Limit: 233 MBSubmit: 9 Solved: 3[Submit][Status][Web Board]Descriptionhttp://www.lydsy.com/JudgeOnline/upload/201610/statem

vc常用代码总结-程序员宅基地

//窗口最大化m_pMainWnd->ShowWindow(SW_SHOWMAXIMIZED);m_pMainWnd->UpdateWindow();////////////////////////////////////////////////////////////////// //扩展风格:使 List 带有 整行选择、表格、整行预选 功能DWORD dwStyleEx;dwStyleEx

131. 分割回文串-思路整理_如果改子串是一个回文串,就将其拼接在t的前面-程序员宅基地

主要记录了leetcode131题目的解题思路,如何利用回溯加动态规划解决该问题。_如果改子串是一个回文串,就将其拼接在t的前面

Unity GUI(uGUI)使用心得与性能总结_ugui 字符串gc问题-程序员宅基地

作者:陈嘉栋链接:https://zhuanlan.zhihu.com/p/21316573来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。0x00 前言刚开始写这篇文章的时候选了一个很土的题目。。。《Unity3D优化全解析》。因为这是一篇临时起意才写的文章,而且陈述的都是既有的事实,因而给自己“文(dou)学(bi)”加工留下的余地就少_ugui 字符串gc问题

推荐文章

热门文章

相关标签