Linux基础(一)

原创 2016年06月02日 10:45:28

第一部分:计算机

1,计算机硬件的五大单元:

(1)输入单元:包括键盘,鼠标,扫描仪,手写板等。

(2)中央处理器(CPU):含有算术逻辑,控制,记忆等单元。

(3)输出单元:显示器,打印机。

2,计算机的处理过程:

wKiom1czAPHhHTLdAAASWj65LCs555.png

    接收用户输入的指令与数据,经过中央处理器的数据与逻辑单元运算处理后,以产生或存储成有用的信息。

第二部分:环境变量的概念和功能

1,环境变量的概念:

    Linux是多用户的操作系统。多用户意味着每个用户登录之后都有专门的运行环境,而这个环境是由一组变量定义的,所以称为环境变量。用户可以对自己的环境变量进行修改以达到对环境的要求。

2,环境变量的功能:

    环境变量可以帮我们达到很多功能,包括主文件夹的变换,提示符显示,执行文件查找的路径等。环境变量是和Shell紧密相关的,它可以通过Shell命令来设置。环境变量又可以被所有当前用户运行的程序所使用。对于bash来说,可以通过变量名来访问相应的环境变量。

3,常见的环境变量:

    在shell环境中,有多少环境变量呢?我们可以通过env和export这两个命令来查询。

例如,用env来查询所有的环境变量:

wKioL1czCOixArPMAADuSwFz9bc230.png

HOME:代表用户的主文件夹。用cd~或者cd命令就可以回到用户的主文件夹了。

SHELL:告知我们目前这个环境使用的shell是哪个程序。Liunx默认使用的是/bin/bash。

HISTSIZE:与历史命令有关,也就是说我们曾经执行过的命令会被系统记录下来,而记录的条数就是用这个变量来设置的。

MAIL:指当前用户的邮件存放目录,当我们使用mail这个命令在收信时系统会去读取的邮件信箱文件。

PATH:指定命令的搜索路径,也就是执行文件查找的路径,目录与目录之间用冒号分隔,由于文件的查找是依序由PATH的变量内的目录来查询的,所以目录的顺序也很重要。

LANG:和语言相关的环境变量,使用多种语言的用户可以修改此环境变量。

HOSTNAME:指主机的名称,许多应用程序如果要用到主机名的话,通常是从这个环境变量中来取得的。

PS1:命令基本提示符,对于root用户是#,对于普通用户是$。

PS2:附属提示符,默认是“>”。

wKiom1czF_PhY0BfAAB4Jg4yBro149.png

RANDOM:“随机数”变量,目前大多数的distributions都会有随机数生成器,那就是/dev/random这个文件。我们可以通过这个随机数文件相关的变量($RANDOM)来随机取得随机数。在BASH环境下,RANDOM变量的内容介于0—32767之间。所以只要echo $RANDOM时,系统就会主动随机取出一个介于0—32767的数值。万一想要使用0—9之间的数值,利用declare声明数值类型就可以像下面一样:

wKioL1czGLGSzA9kAABEYhXCAO4063.png

Linux环境变量名,Linux 共享库环境变量,该环境变量主要用于指定查找共享库(动态链接库)时除了默认路径之外的其他路径。(该路径在默认路径之前查找)

移植程序时的经常碰到需要使用一些特定的动态库,而这些编译好的动态库放在我们自己建立的目录里,这时可以将这些目录设置到LD_LIBRARY_PATH中。

4,修改和查看环境变量的命令:

echo:显示某个环境变量值 echo $PATH

export:自定义变量转成环境变量。设置一个新的环境变量export HELLO="hello" (可以无引号)

env:显示所有环境变量

set:显示本地定义的shell变量(所有变量,包括环境变量和自定义变量)

unset:清除环境变量 unset HELLO

readonly:设置只读环境变量 readonly HELLO

5,其他变量:

$:它本身也是个变量,代表目前这个shell的线程代号。就是PID(Process ID)。用echo $$命令,出现的数字就是你的PID号码。

wKiom1czGuzR2gd8AAAPZJg1oRc313.png

?:关于上个执行命令的回传码,在bash里,这个命令很重要,这个变量是上一个执行命令所回传的值。当我们执行某个命令时,这些命令都会回传一个执行后的代码。一般来说,如果执行成功,会回传一个0,执行过程发生错误时会回传“错误代码”。一般用非0值代替。

wKioL1czHXTABeK0AABWOv9Vjic985.png

第三部分:Linux文件类型

1,普通文件(regular file)第一个字符为[ - ]

    ①纯文本档(ASCII):这是Linux系统中最多的一种文件类型,称为纯文本档。是因为内容为我们人类可以直接读到的数据,例如数字、字母等等。

    ②二进制文件(binary):你的Linux中的可执行文件(scripts, 文字型批处理文件不算)就是这种格式的。

    ③数据格式文件(data):有些程序在运作的过程当中会读取某些特定格式的档案,那些特定格式的档案可以被称为数据文件 (datafile)。一般用cat看到的都是乱码。

2,目录(directory):第一个字符为[ d ]

3,连接文件(link)第一个字符为[ l ]

4,设备和设备文件:

    ①块设备文件,即一些存储文件,如硬盘、软盘等,第一个字符为[ b ]

    ②字符设备文件,即一些串行端口的接口文件,如键盘、鼠标等,第一个字符为[ c ]

5,套接字(sockets)第一个字符为[ s ]

    还被称为数据接口文件,这种类型的文件通常被用在网络上的数据连接。我们可以启动一个程序来监听客户端的请求,而客户端就可以通过数据接口文件来进行数据通信。

6,管道(FIFO,pipe)第一个字符为[ p ]

    FIFO也是一种特殊的文件类型,他主要的目的解决多个程序同时访问一个文件所造成的错误问题,first-in-first-out。

主:在Linux里,一切皆文件!

第四部分:Linux文件权限管理:

1,文件访问者的分类:

文件所有者(user):Liunx是一个多用户,多系统的系统,user就是为考虑保护隐私权和每个人喜欢的工作环境而存在的。当你不希望别的用户看见你文件的内容时,就把该文件设置成只有文件所有者才能查看和修改这个文件的内容。

用户组(group):用户组最有用的功能之一就是在团队开发资源的时候,所有用户有共享的资源,又有各自独立的资源。Linux中所有组名都记录在/etc/group中。

其他人(others):只有通过系统中某个用户组或者文件所有者的允许才能进入访问。

2,文件访问权限的种类:

(1)基本权限:

读(r/4):Read对文件来说,具有读取文件内容的权限;对目录来说,具有浏览该目录信息的权限。

写(w/2):Write对文件来说,具有修改文件内容的权限;对目录来说具有删除移动目录内文件的权限。

执行(x/1):execute对文件来说,具有执行文件的权限;对目录来说,具有进入目录的权限。

“—”:表示不具有该项权限。

(2)特殊权限:

suid (s/4)只能应用在可执行文件上,允许任意用户在执行文件时以文件拥有者的身份执行。

sgid (s/2)只能应用在可执行文件上,使任意用户在执行可执行文件时,将以拥有组成员的身份执行。

粘着位 (t/1)只能应用在目录文件上,将使用户在目录中执行删除时,只能删除自己拥有的对象。

3,登录Linux系统可以用两种身份:

普通用户(自己):从普通用户切换到root用户用命令su,再输入个人密码就切换成功了。

超级用户(root):root可是万能的天神,他可以到达任何想去的地方,使用一定要小心。root的相关信息都记录在/etc/passwd这个文件夹里。个人密码记录在/etc/shadow文件夹里。

第五部分:Linux扩展名:

    严格来说,在Linux中没有文件扩展名,一个文件能否被执行只与'x'有关,当权限中有x时,代表这个文件可以被执行,但不一定能执行成功。

我们利用Linux扩展名来来了解这个文件。

.sh : 脚本或者批处理文件(scripts)

.Z .tar .tar.gz .zip .tgz :经过打包的压缩文件。

.html .php :网页相关文件。


本文出自 “Stand out or Get out” 博客,请务必保留此出处http://jiazhenzhen.blog.51cto.com/10781724/1772374

Hadoop学习笔记(一)---Linux基本知识说明

Hadoop的生成环境都是在linux下面,不过呢hadoop2.x 已经开始支持windows平台,但是支持并不是很好,因此熟悉linux的命令是很重要的,需要熟悉linux的基本命令和环境的基本配...
  • garychenqin
  • garychenqin
  • 2015年05月30日 15:05
  • 596

Linux网络基础命令

Linux中网络配置有下面三种方式:ifconfig命令临时配置ip地址、setup工具永久配置ip地址、修改网络配置文件  1,ifconfig命令:查看与配置网络状态 [root@SZB-L0...
  • zhang19910814
  • zhang19910814
  • 2016年05月11日 15:12
  • 632

[Express-01] 入门

五一这两天花了点时间把自己有道电子笔记上过去写的东西给整理了一下,因为重装了系统之后大部分以前做的笔记和写的文章都丢了,于是想想还是把没丢的这些给整理一下放在博客了为好!Express是流行的Node...
  • u014695532
  • u014695532
  • 2016年05月04日 19:48
  • 278

Linux基础-文件的基本管理

实验环境说明:RHEL7 Linux系统目录结构 /               通常称为根分区。 所有的文件和目录的起始点 只有root用户对此目录拥有写权限。 /etc ...
  • Wang_1997
  • Wang_1997
  • 2017年02月04日 15:03
  • 230

Java 之JNI基础篇(一)

JNI,即Java Native Interface。它其实就是一套java与本地代码交互的接口或者说是一个协议。通俗的比喻,就是中国人讲中国话,日本人讲日本话,于是中国人碰到日本人,各说各话,无法交...
  • yingshukun
  • yingshukun
  • 2018年01月13日 18:51
  • 10003

大数据生态系统基础:Hadoop(一):介绍和安装

一、Hadoop 介绍         Apache Hadoop项目为可靠的、可扩展的分布式计算开发了开源软件。          Apache Hadoop软件库是一个框架,它允许使用...
  • caridle
  • caridle
  • 2017年08月18日 15:59
  • 136

HTTP基础培训及一点点感悟 - 含PPT下载

进入互联网的测试领域已经过去一年半了,期间也花了不少的时间补充一些相关的知识,最近把一些HTTP方面的知识和实践整理成了一个2小时的培训,作为团队的一个系列培训的第一课。因为是定位基础,所以很多细节没...
  • superqa
  • superqa
  • 2013年06月27日 21:25
  • 3625

实验楼Linux学习笔记(一)之基本概念及操作

实验楼Linux学习笔记(一)之基本概念及操作 一、linux桌面环境 UNIX/Linux 本身是没有图形界面的,我们通常在 Unix/Linux 发行版上看到的图形界面实际都只是运行在 ...
  • java2316
  • java2316
  • 2016年09月05日 14:56
  • 454

ctf bugku Linux基础1 wirteup

Linux基础1 一、题目内容:给你点提示吧:key的格式是KEY{},题目地址:链接: http://pan.baidu.com/s/1skJ6t7R 密码: s7jy 二、在linux操作系统上...
  • pdsu161530247
  • pdsu161530247
  • 2017年07月06日 12:39
  • 816

2017Java基础面试题(一)

1 . 怎么获取类名,怎么获取父类的类名? getClass().getName() getClass().getSuperclass().getName() 拓展...
  • Get_More
  • Get_More
  • 2017年07月26日 22:29
  • 399
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Linux基础(一)
举报原因:
原因补充:

(最多只允许输入30个字)