GNU:项目名称(意指开发在类UNIX系统上的软件)。POSIX:可移植(Portable)操作系统接口,便于程序在不同操作系统上运行。

Linux是符合POSIX标准的操作系统:

  1. 完全兼容POSIX 1.0标准;
  2. 是多用户、多任务操作系统;
  3. 支持多种文件系统(EXT2、EXT3、NFS、NTFS、VFAT);
  4. 支持多种网络功能(TFTP、BOOTP等服务)。
  5. 设备独立性:指对于所有设备,只需要安装对应驱动程序,就可以把设备当作文件一样来处理。使得程序独立于设备——1、使得设备分配灵活,2、IO重定向易于实现。

Linux的版本:

  1. 核心版本:major.minor.patchLevel,例如2.2.11表示核心版本2.2的第11次修订——次版本号为奇数时,是测试版;次版本号为偶数时,是稳定版。。
  2. 发行版本:例如RedHat、Debian之类的。

系统使用:

Linux命令和shell命令行:

shell命令行:shell与程序库(如C库)、其他平台处于同一级别,与系统的层次关系是:用户—>shell/库/平台—>系统调用API—>操作系统—>硬件设备。所以shell是用户与系统交互的界面。

shell的左边的那个东西:[用户@主机号 当前路径]X ——> X为#(root用户)、$(普通用户),例如[root@localhost Desktop]#+命令。

一般命令格式:命令+[-选项]+参数1... ——> 命令一定是小写的,选项可以有多个。

常用命令:

who:列出所有当前正在使用系统的用户、该用户正在使用的终端名称、该用户注册到系统的时间。

echo:将echo命令后面的参数,标准输出。date:显示当前系统本地时间。pwd:显示当前路径。

ls:例如,ls -l first.c,输出结果:-rw-r--r--. 1 root root 1427 Dec 14 00:10 first.c ——> 划线部分解释:1、文件类型(第一个字符)+文件权限。2、用户名和组名。3、文件大小(以字节为单位)。具体的文件类型如下:

  1. -:普通文件
  2. d:目录
  3. b:块文件,如磁盘驱动器
  4. c:字符设备,如终端文件
  5. l:链接文件
  6. p:管道文件
  7. s:套接字

显示文件内容:

cat 文件名:完整显示小文件内容。more -f 文件名:查看大文件。

head -行数 文件:查看文件前面的,指定行数内容。相反的,tail -行数 文件:查看文件尾几行。

删除文件/目录:rm -fir 文件名,-fir为三个选项,文件名可以用通配符。重命名文件:mv -i 旧文件名 新文件名。

复制文件:cp -ir 源文件 目标文件名。创建文件:touch -acmt 文件名,如果文件不存在,则新建文件;若存在,则更新时间标签。

创建目录:mkdir -p 目录名。删除目录:rmdir 目录名,所以删除目录有两种方法。

统计文件内容的字数:wc -lwc 文件名。三个选项依次显示是:-l统计行数、-w统计字数、-c统计字符数(也就统计了文件大小,一字符一字节嘛),若无选项,则三项都统计。

测试程序的执行时间:time 可执行程序——先执行程序,并给出执行结果,然后就是显示各种运行时间(real、user、sys)。

更改文件执行权限:chmod mode 文件名——关于权限mode=[ugoa][+-=][rwx],其中u为文件所有者,g为同组的所有用户,o为其他用户,a表示前三者皆有;而+代表增加权限,=代表唯一设定权限;如果权限要用八进制,那么r=4,w=2,x=1,例如r-x : 4+1=5。

更改文件所有者:chown user用户名[:group组名] 文件名。更换用户:su 用户名。显示用户所在组:groups 用户名,如果不指明用户,则列出当前用户所在组。

压缩文件:tar czvf 名字.tar.gz 源文件目录。解压文件:tar zxvf 文件名.tar.gz -C 目标目录。归档模块ar。

(只能由root用户执行)——更改用户密码:passwd 用户名。增加用户:useradd 新用户名。删除用户:userdel 用户名。

在文件中查找内容:grep pattern 文件名。可正则。

显示进程状态:ps [PID]。发送信号给进程:kill [-s signal] PID。

VI的基本使用:

VI的模式:

VI的常用命令:差不多了,够用了。。。

Linux的一些基本概述以及系统使用的更多相关文章

  1. Linux内核启动过程概述

    版权声明:本文原创,转载需声明作者ID和原文链接地址. Hi!大家好,我是CrazyCatJack.今天给大家带来的是Linux内核启动过程概述.希望能够帮助大家更好的理解Linux内核的启动,并且创 ...

  2. Linux下一个简单的日志系统的设计及其C代码实现

    1.概述 在大型软件系统中,为了监测软件运行状况及排查软件故障,一般都会要求软件程序在运行的过程中产生日志文件.在日志文件中存放程序流程中的一些重要信息, 包括:变量名称及其值.消息结构定义.函数返回 ...

  3. [转帖]Linux分页机制之概述--Linux内存管理(六)

    Linux分页机制之概述--Linux内存管理(六) 2016年09月01日 19:46:08 JeanCheng 阅读数:5491 标签: linuxkernel内存管理分页架构更多 个人分类: ┈ ...

  4. Linux基础知识第八讲,系统相关操作命令

    目录 Linux基础知识第八讲,系统相关操作命令 一丶简介命令 2.磁盘信息查看. 3.系统进程 Linux基础知识第八讲,系统相关操作命令 一丶简介命令 时间和日期 date cal 磁盘和目录空间 ...

  5. Linux下使用fstatfs/statfs查询系统相关信息

    Linux下使用fstatfs/statfs查询系统相关信息 1.   功能 #include < sys/statfs.h > int statfs(const char *path, ...

  6. 基于Linux平台的Lotus Domino 8系统部署五部曲(全视频展示)

    基于Linux平台的Lotus Domino 8系统部署五部曲(全视频展示),学习就像看电影 第一部:安装部署 第二部:配置Domino 第三部:Notes8客户端配置 第四部:为Domino系统加装 ...

  7. Android底层开发之Linux输入子系统要不要推断系统休眠状态上报键值

    Android底层开发之Linux输入子系统要不要推断系统休眠状态上报键值 题外话:一个问题研究到最后,那边记录文档的前半部分基本上都是没用的,甚至是错误的. 重点在最后,前边不过一些假想猜測. ht ...

  8. QT在linux环境下读取和设置系统时间(通过system来直接调用Linux命令,注意权限问题)

    QT在Linux环境下读取和设置系统时间 本文博客链接:http://blog.csdn.NET/jdh99,作者:jdh,转载请注明. 环境: 主机:Fedora12 开发软件:QT 读取系统时间 ...

  9. 从Linux传输apk包到Windows系统,一周的心路历程,累

    1.在Windows服务器上打开一个cmd窗口,执行脚本,只适用于Windows系统 --NO String cmd = "cmd.exe /c adb -s f223413 install ...

随机推荐

  1. 数据库日常维护-CheckList_02有关数据库备份检查

    数据库备份是DB日常运维中最基本的也是最重要的工作,很多情况下都是做成作业形式实现自动化周期性的做全备.差异以及日志备份.那么,如果作业出现问题没有完成工作,我们可以设置自动报警如email被动提醒我 ...

  2. JVM学习(1)——通过实例总结Java虚拟机的运行机制

    俗话说,自己写的代码,6个月后也是别人的代码……复习!复习!复习!涉及到的知识点总结如下: JVM的历史 JVM的运行流程简介 JVM的组成(基于 Java 7) JVM调优参数:-Xmx和-Xms ...

  3. SQL Tuning 基础概述08 - SQL Tuning Advisor

    SQL调优顾问 SQL Tuning Advisor的使用案例: 1.构建测试表T 2.定义调整任务 3.修改调整任务参数 4.执行调整任务 5.监控调整任务 6.查看调整任务建议 7.删除调整任务 ...

  4. nodejs中使用http请求返回值为html时乱码问题

    今天用nodejs进行http请求时返回的数据是一个html文件,然后我还是按照以前解析json数据的方法.果不其然报错了:SyntaxError: Unexpected token  in JSON ...

  5. jQuery2.x源码解析(设计篇)

    jQuery2.x源码解析(构建篇) jQuery2.x源码解析(设计篇) jQuery2.x源码解析(回调篇) jQuery2.x源码解析(缓存篇) 这一篇笔者主要以设计的角度探索jQuery的源代 ...

  6. 学习Redis你必须了解的数据结构——双向链表(JavaScript实现)

    本文版权归博客园和作者吴双本人共同所有,转载和爬虫请注明原文链接 http://www.cnblogs.com/tdws/ 下午分享了JavaScript实现单向链表,晚上就来补充下双向链表吧.对链表 ...

  7. Navisworks 2014 Api 简单的使用

    初次接触Navisworks Api  .NET 的二次开发.主要是研究了一下.关于NavisWorks 结构树的加载. void LoadModel() { //清空当前的结构树信息 treeVie ...

  8. java动态代理的2种实现方式

    java的动态代理在接java的api上有说明,这里就不写了.我理解的代理: 对特定接口中特定方法的功能进行扩展,这就是代理.代理是通过代理实例关联的调用处理程序对象调用方法. 下面通过一个例子看一下 ...

  9. Centos下搭建 tomcat https服务器详解(原创)

    一 .安装java jdk配置环境变量 1. 卸载原有openjdk yum -y remove java-1.7.0-openjdk* yum -y remove tzdata-java.noarc ...

  10. 开源物联网框架ServerSuperIO 3.0正式发布(C#),跨平台:Win&Win10 Iot&Ubuntu&Ubuntu Mate,一套设备驱动跨平台挂载,附:开发套件和教程。

    3.0版本主要更新内容: 1.增加跨平台能力:Win&Win10 Iot&Ubuntu&Ubuntu Mate 2.统一设备驱动接口:可以一套设备驱动,跨平台挂载运行,降低人力 ...