LinuxC高级第一天

Linux 命令

1. Linux 简介

1.1 Linux起源

ubuntu 每半年更新一次,4月份和十月份

Ubuntu 18.04

1.2 查看系统版本命令

(1) 查看ubuntu 版本:

sudo lsb_release -a

cat /etc/issue

(2) 查看内核版本:

uname -r

cat /proc/version

1.3 分层结构

应用层:程序、命令

内核层:五大功能:进程管理、设备管理、内存管理、网络管理、文件系统管理

驱动:字符设备驱动、块设备驱动、网络设备驱动

硬件:鼠标、键盘(字符设备驱动)、硬盘、U盘(块设备驱动)等

1.4 系统关机重启命令

sudo shutdown -h now: 立即关机

sodo shutdown -r now:立即重启

sudo reboot now: 立即重启

sudo shutdown -h 时间 "提示语句":定义关机

sudo shutdown -r 时间 "提示语句":定义重启

通过shutdown -c: 可以取消定时操作

2. Linux 安装工具

2.1 软件包安装

2.1.1 软件包的管理机制

debian: deb软件包管理机制

redhat: rpm软件包管理机制(Red Hat Package Manager)

2.1.2 软件包分类

二进制软件包:xx.deb

源码包: xx.dsc

2.1.3 软件管理工具

在Debian的linux发行版本下,采用dpkg和apt两种包管理工具。

dpkg与apt工具的区别:

dpkg:离线安装,安装本地包,不能检查软件包的依赖关系,不关系仓库内的软件。

apt:在线安装,通过仓库获取软件包资源,解决依赖关系,不能安装本地包。A -> B

仓库:托管可安装软件包的公共服务器,用户从服务器获取软件并将其安装至用户计算机。类似于应用商店。

2.2 dpkg 工具

dpkg -i 软件包全称

例如:安装sl_3.03-17build2_amd64.deb

将sl_3.03-17build2_amd64.deb 拖动到虚拟机中的方式:

1)直接拖文件到终端去掉单引号,末尾加空格. 开头加mv移动到目标路径下

2)打开虚拟机文件夹,直接复制粘贴;

3)设置共享文件夹

步骤:

sudo dpkg -i 软件包的全称:安装软件

sudo dpkg -s 软件包名:显示软件的安装状态

sudo dpkg -L 软件包名:显示软件的安装路径

sudo dpkg -r 软件包名:卸载软件

sudo dpkg -P 软件包名:完全卸载软件,重新下载不会保留上一次配置。

2.2 apt工具

用的比较多的是apt-get

其他可以挖掘一下:apt-cache apt-config apt-ftparchive apt-key

2.2.1 apt-get

sudo apt-get install 软件包名: 安装

可以在/etc/apt/sources.list源头

默认下载的包存放路径:/var/cache/apt/archives/

练习下载:xcowsay、 oneko

sudo apt-get install 软件包名:软件下载并安装

sudo apt-get remove 软件包名:卸载软件

sudo apt-get --purge remove:完全卸载软件包

sudo apt-get autoremove 软件包名:卸载软件

sudo apt-get update :下载更新软件包列表信息

sudo apt-get upgrade : 将系统中所有软件包升级到最新的版本

sudo apt-get upgrade 软件包名:将系统中指定的软件包升级到最新的版本

sudo apt-get clean:清空安装包的存放路径

ubuntu网络配置

1. 桥接模式:

1)桥接模式:编辑->虚拟网络编辑器->更改设置->选择vmnet0->桥接模式->桥接的网络适配器(根据主机的网络连接进行选择,当然选择自动也可以)->确定。

如果自动不行也可以找到对应的网络适配器。

2)虚拟机->设置->网络适配器->选择桥接模式

3) 点击图标选择有线设置 -> 点击+号 -> ipv4 -> 添加

如果是手动设置ip,需要点击Method里manual,手动设置ip地址

2. nat模式

1)编辑->虚拟网络编辑器->更改设置->选择vmnet8->nat模式->确定。

2)虚拟机->设置->网络适配器->选择nat模式

如果还不行就试试关闭虚拟机然后还原默认设置

如果网用着用着有问题可以用一下命令:

sudo nmcli network off

sudo nmcli network on

2.2.2 apt-cache

sudo apt-cache show 软件包名:获取二进制软件包的详细描述信息

sudo apt-cache policy 软件包名:获取软件包当前的安装状态

sudo apt-cache depends 软件包名:获取该软件包的依赖信息

sudo apt-cache rdepends 软件包名:获取所有依赖于该软件包的软件包

3. shell

3.1 shell的基础知识

3.1.1概念

shell: 命令行解释器

shell是贝壳的意思,起到保护作用。那linuxdeshell可以保护内核。

作用:负责把应用程序的输入命令信息解释给操作系统, 将操作系统指令处理后的结果解释给应用程序。

3.1.2 命令执行的过程

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

3.1.3 shell分类

(1)Bourne Shell(简称sh):Bourne Shell由AT&T贝尔实验室的S.R.Bourne开发,也因开发者的姓名而得名。它是Unix的第一个Shell程序,早已成为工业标准。目前几乎所有的Linux系统都支持它。不过Bourne Shell的作业控制功能薄弱,且不支持别名与历史记录等功能。目前大多操作系统是将其作为应急Shell使用。

(2)C Shell(简称csh):C Shell由加利福尼亚大学伯克利分校开发。最初开发的目的是改进Bourne Shell的一些缺点,并使Shell脚本的编程风格类似于C语言,因而受到广大C程序员的拥护。不过C Shell的健壮性不如Bourne Shell。

(3)Korn Shell(简称ksh):Korn Shell由David Korn开发,解决了Bourne Shell的用户交互问题,并克服了C Shell的脚本编程怪癖的缺点。Korn Shell的缺点是需要许可证,这导致它应用范围不如Bourne Shell广泛。

(4)Bourne Again Shell(简称bash):Bourne Again Shell由AT&T贝尔实验室开发,是Bourne Shell的增强版。随着几年的不断完善,已经成为最流行的Shell。它包括了早期的Bourne Shell和Korn Shell的原始功能,以及某些C Shell脚本语言的特性。此外,它还具有以下特点:能够提供环境变量以配置用户Shell环境,支持历史记录,内置算术功能,支持通配符表达式,将常用命令内置简化。

3.1.4 shell命令格式

命令名称 选项 参数

命令名称:必须得有

选项和参数:可有可无,选项前有-符号

3.2历史记录命令

history::查看历史命令,默认显示的命令行数根据HISTSIZE来定

history n:显示n行历史记录

echo $HISTSIZE:将变量的值打印到终端,echo命令作用是打印内容到终端

HISTSIZE=10:临时修改变量的值

在家目录下的隐藏文件,通过vi打开:

.bash_history:默认存放2000条历史记录命令的文件

.bashrc :定义HISTSIZE(使用history时默认显示的记录个数)和HISTFILESIZE(.bash_history文件可以存放命令的个数)变量的脚本文件

修改.bashrc文件中HISTSIZE的值,将终端退出:可以永久修改

3.3起别名命令

alias:查看系统中起别名的命令alias新名='原来的命令':别名

unalias新名:取消别名

3.4 Linux特殊字符

3.4.1通配符

*: 匹配所有字符

?:匹配一个字符

[...]:匹配[]中指定的任意一个字符

[-]:匹配指定的一个字符范围

[^]:除了其中指定的一个字符,均可匹配

3.4.2管道|

格式:命令1|命令2

将前一个命令的输出作为下一个命令的输入

例如:

wc -l 文件名: 显示文件行数

wc -w 文件名:显示文件单词个数

wc -c 文件: 显示文件字符个数(Byte数)

ls | wc -w : 通过ls加管道连用wc显示当前路径下单词数

例如:

ls|xcowsay:将ls的输出通过管道传递给xcowsay

3.4.3输入输出重定向

>文件名:输出重定向,新建模式

>>文件名:输出重定向,追加模式

2> 或者&>文件名:将有命令产生的错误信息输出到文件中

<文件名:输入重定向

输出重定向例子:

输入重定向例子:

3.4.4命令置换符

esc键下的`(不是单引号)

命令1`命令2`

将一个命令的输出作为另一个命令的参数

例如:

3.4 echo 命令

向终端输出指定内容

echo 字符串:向终端输出指定内容

-n:不换行输出

echo"字符串":原样输出

例如:

4. Linux命令

4.1系统维护命令

4.1.1man

manman:查看man手册

1 Executable programs or shell commands 可执行程序或shell命令

2 System calls (functions provided by the kernel) 系统调用

3 Library calls (functions within program libraries) 库函数

4.1.2su

suroot:切换到超级用户

sudosu用户名:切换用户

退出:exit(或者ctrl d快捷键)

4.1.3 sudo

临时管理员权限,需要输入密码。

4.1.4 查看磁盘使用情况

df-Th:查看磁盘使用情况

文件系统 文件类型 大小 已使用 可用 使用比例 挂载点

Filesystem Type Size Used Avail Use% Mounted on

/dev/sda1 ext4 19G 6.6G 12G 38% /

4.1.5 mount 挂载命令

作用:文件系统的挂载

挂载设备:sudo mount -t 设备类型 设备名称 挂载点

卸载命令:sudo umount 挂载点

注意:卸载时不要在挂载点卸载

  • 25
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值