网站建设尾款结算申请,秦皇岛住房建设网站,不锈钢网站哪家最专业,新媒体公司网站怎么做从这里开始#xff0c;我们展开对Linux/c 高级的学习#xff0c;首先介绍的是在Linux/c高级中#xff0c;Linux的部分
目录
1.Linux简介
1.1Linux起源
1.2查看系统版本命令
1.3分层结构
1.4系统关机重启命令
2.Linux安装工具
2.1软件包安装
2.1.1软件包的管理机制 …从这里开始我们展开对Linux/c 高级的学习首先介绍的是在Linux/c高级中Linux的部分
目录
1.Linux简介
1.1Linux起源
1.2查看系统版本命令
1.3分层结构
1.4系统关机重启命令
2.Linux安装工具
2.1软件包安装
2.1.1软件包的管理机制
2.1.2软件包分类
2.1.3软件管理工具
2.2 dpkg工具
2.3 apt工具
2.3.1 apt-get
2.3.2 ubuntu网络配置
2.3.3 apt-cache
3. shell
3.1 shell的基础知识
3.1.1概念
3.1.2命令执行的过程
3.1.3 shell分类
3.1.4 shell命令格式
3.2历史记录命令
3.3起别名命令
3.4Linux特殊字符
3.4.1通配符
3.4.2管道 |
3.4.3输入输出重定向
3.4.4命令置换符
3.4.5 echo命令
4.Linux命令
4.1系统维护命令
4.1.1 man
4.1.2 su
4.1.3 sudo
4.1.4查看磁盘使用情况
4.1.5 mount 挂载命令
4.2用户管理命令
4.3进程管理命令
4.3.1 ps
4.3.2 top
4.3.3修改优先级
4.3.4 grep命令
4.3.5 find命令
4.3.6给进程发送信号命令——kill
4.3.7前后台进程切换
4.4网络管理
4.4.1命令
4.5文件系统管理
4.5.1文件系统分类
4.5.2根文件系统结构
4.5.3显示文件内容
4.5.4链接文件
4.5.5文件压缩解压 1.Linux简介
1.1Linux起源 可以看一下这个网站Linux的诞生非常有趣 寻·科普|第二期:聊聊Linux的前世今生 (qq.com) 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.3 apt工具 用的比较多的是apt-get 其他可以挖掘一下 apt-cache apt-config apt-ftparchive apt-key 2.3.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清空安装包的存放路径 2.3.2 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.3.3 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是贝壳的意思起到保护作用。那linux的shell可以保护内核。 作用负责把应用程序的输入命令信息解释给操作系统, 将操作系统指令处理后的结果解释给应用程序。 3.1.2命令执行的过程 用户在命令行下命令开始与Shell进行交互。接着Shell将用户的命令或按键转化成内核所能够理解的指令控制操作系统做出响应直到控制相关硬件设备。然后Shell将输出结果提交给用户。 3.1.3 shell分类 1Bourne Shell简称shBourne Shell由ATT贝尔实验室的S.R.Bourne开发也因开发者的姓名而得名。它是Unix的第一个Shell程序早已成为工业标准。目前几乎所有的Linux系统都支持它。不过Bourne Shell的作业控制功能薄弱且不支持别名与历史记录等功能。目前大多操作系统是将其作为应急Shell使用。 2C Shell简称cshC Shell由加利福尼亚大学伯克利分校开发。最初开发的目的是改进Bourne Shell的一些缺点并使Shell脚本的编程风格类似于C语言因而受到广大C程序员的拥护。不过C Shell的健壮性不如Bourne Shell。 3Korn Shell简称kshKorn Shell由David Korn开发解决了Bourne Shell的用户交互问题并克服了C Shell的脚本编程怪癖的缺点。Korn Shell的缺点是需要许可证这导致它应用范围不如Bourne Shell广泛。 4Bourne Again Shell简称bashBourne Again Shell由ATT贝尔实验室开发是Bourne Shell的增强版。随着几年的不断完善已经成为最流行的Shell。它包括了早期的Bourne Shell和Korn Shell的原始功能以及某些C Shell脚本语言的特性。此外它还具有以下特点能够提供环境变量以配置用户Shell环境支持历史记录内置算术功能支持通配符表达式将常用命令内置简化。 3.1.4 shell命令格式 命令名称 选项 参数 命令名称必须得有 选项和参数可有可无选项前有-符号 3.2历史记录命令 history: 查看历史命令默认显示的命令行数根据HISTSIZE来定 history n显示n行历史记录 echo $HISTSIZE: 将变量的值打印到终端echo命令作用是打印内容到终端 HISTSIZE10 临时修改变量的值 在家目录下的隐藏文件通过vi打开 .bash_history默认存放2000条历史记录命令的文件 .bashrc 定义HISTSIZE(使用history时默认显示的记录个数)和HISTFILESIZE(.bash_history文件可以存放命令的个数)变量的脚本文件 修改.bashrc文件中HISTSIZE的值将终端退出可以永久修改 3.3起别名命令 alias: 查看系统中起别名的命令 alias 新名原来的命令 别名 unalias 新名取消别名 3.4Linux特殊字符
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.5 echo命令 向终端输出指定内容 echo 字符串: 向终端输出指定内容 -n: 不换行输出 echo 字符串原样输出 例如 4.Linux命令
4.1系统维护命令
4.1.1 man man man: 查看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.2 su su root: 切换到超级用户 sudo su 用户名切换用户 退出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 挂载点 注意卸载时不要在挂载点卸载 4.2用户管理命令 sudo adduser 用户名 添加用户 sudo deluser --remove-home 用户名删除用户的同时删除工作目录 注意不要进入用户删除当前用户 4.3进程管理命令 什么是进程 就是程序的一次执行过程是动态的。 4.3.1 ps ps -aux: 显示当前系统中运行的进程 ps -ef: 显示当前系统中运行的进程包含PPID父进程号 表头 含义 USER 该进程是由哪个用户产生的。 PID 进程的 ID。 %CPU 该进程占用 CPU 资源的百分比占用的百分比越高进程越耗费资源。 %MEM 该进程占用物理内存的百分比占用的百分比越高进程越耗费资源。 VSZ 该进程占用虚拟内存的大小单位为 KB。 RSS 该进程占用实际物理内存的大小单位为 KB。 TTY 该进程是在哪个终端运行的。其中tty1 ~ tty7 代表本地控制台终端可以通过 AltF1 ~ F7 快捷键切换不同的终端tty1~tty6 是本地的字符界面终端tty7 是图形终端。pts/0 ~ 255 代表虚拟终端一般是远程连接的终端第一个远程连接占用 pts/0第二个远程连接占用 pts/1依次増长。是守护进程也就是一开始启动时系统在后台运行的进程。(后面IO会讲) STAT D uninterruptible sleep (usually IO) 不可中断的睡眠态R running or runnable (on run queue) 运行态S interruptible sleep (waiting for an event to complete) 可中断的睡眠态T stopped by job control signal 暂停态t stopped by debugger during the tracing 因为调试而暂停X dead (should never be seen) 死亡态Z defunct (zombie) process, terminated but not reaped by its parent 僵尸态 high-priority (not nice to other users) 高优先级N low-priority (nice to other users) 低优先级L has pages locked into memory (for real-time and custom IO) 锁在内存中s is a session leader 会话组组长l is multi-threaded (using CLONE_THREAD, like NPTL pthreads do)多线程 is in the foreground process group 前台进程没有时默认是后台进程I 空闲状态进程 START 该进程的启动时间。 TIME 该进程占用 CPU 的运算时间注意不是系统时间。 COMMAND 产生此进程的命令名。 4.3.2 top 动态查看系统中运行的进程 shift : 向下翻页 shift : 向上翻页 q: 退出 4.3.3修改优先级 PR NI 20 NI值的范围 -20~19, NI值越小优先级越高 sudo renice NI值 PID 改变正在运行进程的优先级 sudo nice -n NI值 启动进程的命令以指定的优先级运行进程 4.3.4 grep命令 从文件中查找字符串 grep 要查找的字符串 文件名 grep \要查找的字符串\ 文件名精确查找 结合ps以及管道 ps -ef | grep a.out: 从进程信息中查找带a.out的字符串 4.3.5 find命令 find 路径 -name 文件名 查找路径下的文件 查找多个文件可以加 4.3.6给进程发送信号命令——kill 从本质上讲kill 命令只是用来向进程发送一个信号至于这个信号是什么是用户指定的。 kill -l查看系统中定义的信号 2SIGINT 快捷方式ctrlc 结束进程 3SIGQUIT 快捷方式ctrl\ 结束进程 9SIGKILL 杀死进程 15SIGTERM 结束进程 kill发信号时不加编号默认信号为15号 18 SIGCONT 让暂停进程继续 20SIGTSTP 暂停信号 快捷方式ctrlz 暂停信号 kill -num PID num信号编号 PID通过ps或top命令查看到的进程号 kill -num PID : num:信号编号 PID通过ps或top命令查看到的进程号 4.3.7前后台进程切换 步骤先运行进程 ctrl z: 将进程暂停 bg 编号 切换到后台 jobs在当前终端查看后台进程 fg 编号将后台进程切换到前台 4.4网络管理
4.4.1命令 ifconfig查看linux的ip地址 ipconfig查看windows的ip地址 winr打开运行窗口输入cmd打开命令窗口输ipconfig ping 域名/ip地址检查网络的连通性(是否能通信) 4.5文件系统管理 用于组织和管理计算机存储设备上的大量文件并提供用户交互接口 4.5.1文件系统分类 磁盘文件系统 指本地主机中实际可以访问到的文件系统包括硬盘、CD-ROM、DVD、USB存储器、磁盘阵列等。常见文件系统格式有Ext2、Ext3、Ext4、VFAT等 网络文件系统是可以远程访问的文件系统这种文件系统在服务器端仍是本地的磁盘文件系统客户机通过网络远程访问数据。常见文件系统格式有NFSNetwork File System网络文件系统、SambaSMB/CIFS等 专有/虚拟文件系统不驻留在磁盘上的文件系统。常见格式有TMPFS临时文件系统、PROCFSProcess File System进程文件系统和LOOPBACKFSLoopback File System回送文件系统。 4.5.2根文件系统结构 需要了解常见的目录含义 /bin存放系统中最常用的可执行文件二进制 /sbin : 存放更多的可执行文件二进制包括系统管理、目录查询等关键命令文件 /boot存放Linux内核和系统启动文件包括Grub、lilo启动器程序 /opt: 与系统无关的安装程序 /etc: 放的一些配置文件。Linux开机自启动脚本存放在/etc/rc.d或/etc/init.d目录下。这些目录是Linux系统中用于存放启动脚本的标准目录 /dev : 存放所有设备文件包括硬盘、分区、键盘、鼠标、USB、tty等 /lib : 存放共享的库文件包含许多被/bin和/sbin中程序使用的库文件 /mnt : 该目录通常用于作为被挂载的文件系统的挂载点 /proc : 存放所有标志为文件的进程它们是通过进程号或其他的系统动态信息进行标识例如cpuinfo文件存放CPU当前工作状态的数据 /usr : 用于存放与系统用户直接有关的文件和目录例如应用程序及支持它们的库文件。以下罗列了/usr中部分重要的目录。 /usr/lib: 库文件系统默认搜索的库路径 /usr/include: 头文件系统默认搜索的头文件路径 Linux开机自启动脚本存放在/etc/rc.d或/etc/init.d目录下。这些目录是Linux系统中用于存放启动脚本的标准目录 4.5.3显示文件内容 cat 文件名显示文件全部内容 head: head -n 文件名显示前n行 head 后面不加数字默认显示前10行 tail: tail -n 文件名显示后n行 tail 后面不加数字默认显示后10行 4.5.4链接文件 1.文件类型7种b c d - l s p 硬链接是利用Linux中为每个文件分配的物理编号——inode号建立链接。 因此硬链接不能跨越文件系统。 软链接符号链接是利用文件的路径名建立链接。通常建立软链接使用绝对路径而不是相对路径以最大限度增加可移植性类似windows下的快捷方式 2.命令 硬链接ln 源文件 链接文件名 软链接: ln -s 源文件 链接文件名 3.注意 硬链接删除或移动目标文件链接依然有效 只能操作普通文件 软链接删除或移动目标文件链接失效但是在此创建时链接依然有效 建立软链接使用绝对路径而不是相对路径以最大限度增加可移植性 4.5.5文件压缩解压 1.zip 命令用于将一个文件或多个文件压缩成单一的压缩文件 unzip命令用于将zip压缩文件进行解压 注意 1具有归档功能并进行压缩 2可以压缩文件夹后缀为.zip 3压缩或者解压后源文件依然存在 格式 zip 压缩文件名.zip 要压缩文件列表 unzip 压缩文件名.zip 2.gzip命令用于将一个文件继续压缩 gunzip命令用于将gzip压缩的文件进行解压 注意 1只能对一个文件进行压缩并自动后缀为.gz 2没有归档功能 3压缩或解压后源文件不存在 格式 gzip 要压缩的文件名 gunzip 压缩文件名 3.bzip2: 功能、特点与gzip相同只是后缀为.bz2 bunzip2: 解压 4.tar: -x 释放归档文件解压 -c 创建一个新的归档文件压缩 -v 显示归档和释放的过程信息 -f 用户指定归档文件的文件名否则使用默认名称 -j 由tar生成归档然后由bzip2压缩 .tar.bz2 -z 由tar生成归档然后由gzip压缩 .tar.gz 注意 1具有归档功能并通过选项可以进行压缩或解压 2压缩或解压后源文件存在 3需要写全压缩或解压的文件名格式 格式 tar 选项 压缩解压文件名 [要压缩的文件列表] 组合 -cjf 以bz2的格式压缩文件 -czf 以gz的格式压缩文件 -xvf : 解压一个压缩包解压后压缩包依然存在