3.26课堂笔记——linux基础入门

3.26课堂笔记——linux基础

基础认识


  1. 什么是开源?

       开源就是软件和源代码都是公开的.

       可以修改(完善作者的代码)和创建自己的软件.


2.免费软件不同于自由软件,虽然它是免费的,但他不公布源代码,共享软件与免费软件有点类似,其初起是不收费的,但过了试用期后收费.


3.linux起源:

 GUN项目计划
    GNU Project发起于1984年,由著名的黑客Richard Stallman提出的,GNU获得了自由软件基金会(FSF for Free Software Foundation)的支持,这也是GNU的主要资金来源,目的是为了建立免费的UNIX系统,基本原则是源代码共享及思想共享。
    GNU是“GNU's Not Unix”的递归缩写。
    GNU[nu:, nju:]的中文翻译是角马(南非产的象牛的大羚羊)。所以GNU的标志也就是这个,记住,他是角马,不是牛,也不是其他的什么。 别出去闹笑话哦 !
    这就是Richard Stallman,很著名的黑客,如果你要从事IT,别人问你Richard Stallman 你说不知道,那就问题严重了
    GNU通用公共许可(GPL)
    Linux是基于Copyleft(版权所无)的软件模式进行发布的,其实Copyleft是与Copyright(版权所有)相对立的新名称,它是GNU项目制定的通用公共许可证GPL(General Public License)。
    GPL是由自由软件基金会发行的用于计算机软件的协议证书,使用该证书的软件被称为自由软件(Free software),后来改名为开放源代码软件(Open Source Software)。大多数的GNU程序和超过半数的自由软件使用它 。
    GPL保证了任何人都有权复制、修改和重新发布自由软件的源代码,并且规定在不增加费用的条件下得到源代码(基本发行费用除外),但你不能声明你做了原始的工作,或声明是由他人做的。
LNUX发展史和Linus Torvalds
Linux核心编写者 Linus Torvalds
Linux由Linus Torvalds于1991年10月在芬兰赫尔辛基大学发布的,Linux可以说是UNIX操作系统的一个克隆体。
Linux kernel + GNU utilities = open source,UNIX-like operating system
    仅有内核而没有应用软件的操作系统是无法使用的,所以许多公司或社团将内核、源代码及相关的应用程序组织构成一个完整的操作系统,让一般的用户可以简便地安装和使用Linux,这就是所谓的发行版本(distribution)。
当然还有我们的REDHAT
REDHAT是 1994年,由Bob Young Marc Ewing 创建的,是世界上最大的的开放原代码的公司之一
桌面版最高是 9.0,那也是个绝版 ,从那以后REDHAT就专注与服务器版本。 没在对桌面投入太多,Fedora Core 是REDHAT和开源社区合作开发的,并不是红帽所有。

 



1.虚拟机操作

[kiosk@foundation0 Desktop]$ rht-vmctl stop desktop ###关闭

Stopping desktop.

[kiosk@foundation0 Desktop]$ rht-vmctl start desktop ###开启

Starting desktop.

[kiosk@foundation0 Desktop]$ rht-vmctl view desktop##显示

[kiosk@foundation0 Desktop]$ rht-vmctl poweroff desktop###强行关闭

 

[kiosk@foundation0 Desktop]$ rht-vmctl reset desktop###重置虚拟机

[kiosk@foundation0 Desktop]$ rht-vmctl fullreset desktop####完全重置

 

2.设置语言语系

  system tools -->settings-->region language

 

3.设置命令快捷键

  system tools -->settings-->keyboard-->shortcus

 

4.什么是shell 

          壳层(英语:Shell)在计算机科学中,是指“提供用户使用界面”的软件,通常指的是命令行界面的解析器。一般来说,这个词是指操作系统中,提供访问内核所提供之服务的程序。Shell这个词是来自于操作系统(内核)与用户界面的外层界面。通常将壳层分为两类:命令行与图形界面。命令行壳层提供一个命令行界面(CLI);而图形壳层提供一个图形用户界面(GUI)。

         shell是操作系统最外面的一层。操作系统与外部最主要的接口就叫做shell。shell管理你与操作系统之间的交互:等待你输入,向操作系统解释你的输入,并且处理各种各样的操作系统的输出结果。


5 命令

   对计算机程序编程时所下达的编程指令

  5.1命令提示符

        [kiosk@foundation0 Desktop]$

        kioks         ##开启shell的用户

        @             ##分隔符

        foundation0   ##主机的短名称,表示shell开启在那台主机里     hostname主机名查询

        Desktop       ##表示你在系统的什么位置

        $             ##身份提示符中的普通用户,超级用户的提示符为:#


   5.2.在shell中如何使用命令

     5.2.1 命令一定要在提示符之后输入

     5.2.2 命令的输入方式

             命令  参数   目标

             参数是命令功能的指定

             -参数          # 单词的缩写

             --参数         # 单词的全拼

           5.2.3命令行中的开启设置

             gnome-control-center   #开启设置

             gnome-terminal         #开启终端



 

6.切换用户

[kiosk@foundation0 Desktop]$ su - 系统中已经存在用户名字  ####切换用户身份

ctrl+d  退出

 

7.虚拟控制台

ctrl+alt+f2-f6      ####进入虚拟控制台

ctrl+alt+F1|F7      ####回到图形

 


8.系统启动级别:

 init

       0 系统停止

      1 单用户系统,不需要登陆

      2 多用户系统但不支持NFS,命令行模式登陆

      3 完整多用户模式,命令行模式登陆

      4 未用

      5 X11图形模式,图形模式登陆

      6 重新启动系统


这些可以在/etc/initab文件中可以看到0-6级的注释,代码段如下:

# Default runlevel. The runlevels used by RHS are:

#   0 - halt (Do NOT set initdefault to this)

#   1 - Single user mode

#   2 - Multiuser, without NFS (The same as 3, if you do not have networking)

#   3 - Full multiuser mode

#   4 - unused

#   5 - X11

#   6 - reboot (Do NOT set initdefault to this)

1.级别 0

  系统停止。注意不要把该级别设置为默认模式,否则系统每次启动以后就会自动停止,无法进入。

这个运行级别主要用于关闭任务,在 rc0.d 目录下的各个连接命令都是此级别的命令。在关闭时,这些命令逐个执行。它们将杀掉所有进程、关闭虚拟内存和交换文件、卸载文件系统和交换分区。

关机操作在 DOS 下和 Linux 下截然不同。在 DOS 提示符下,可以很放心地直接关闭电源。但是,在 Linux 下不能这么做。Linux 的文件系统在启动时被装入,在关闭时要被卸载。这种差别正是 Linux 强大功能的前提。

在 Linux 下,要通过输入命令 shutdown 加上参数来关闭、重启计算机或者通过按下热键“Ctrl”+“Alt”+“Del”来重新启动。

2.级别 1

单用户模式。该模式只能许可一个用户从本地计算机上登录 rc1.d 目录下的所有文件与此运行级别相连。此运行级别一般用于系统管理与维护,如:给 Linux 系统升级,安装新软件等等。

在此模式下,只能由管理员进入而其他用户无法登录。因为在启动时,文件系统被加载但是网络却没有被加载,无法通过网络登录。

3.级别 2

多用户模式。用户可以通过网络进行登录。在不支持网络的情况下该模式和模式 3 是相的,rc2.d 目录下所有文件与此级别相连。

4.级别 3

完全多用户模式。这是缺省的运行模式,在此模式下所有网络服务程序一起运行。rc3.d录下的文件与此级别相连。

5.级别 4

未使用模式,rc4.d 目录与此级别相连。这一级别是用户自定义的运行级别,用户可以根需要自己定义。如果想运行此级别的话,必须在 rc3.d 目录下放入连接文件,就像其他 rc*.d目录下的文件,并指明是启动还是终止进程。

6.级别 5

在 Linux 下运行 X  Window 就是使用这一级别。在此级别下除了因特网的域名服务器的named 与级别 3 不同,其余的都相同。

7.级别 6

这是个重新启动系统的运行级别。rc6.d 目录与此级别相连。既然是重新启动也就是关闭当前系统,但不关闭电源,所以此目录下的连接与级别为 0 的在 rc0.d 下的连接基本相同。不同之处在于,虽然它们都执行 halt(关闭)命令,但是给 halt 传递的参数不一样,因而级别 6 能够重新启动系统


12.date命令

     date  月月天天小时分钟.秒秒   ##更改时间

     date  [MMDDhhmm[[CC]YY][.ss]]

            +%H   hour (00..23)

            +%I   hour (01..12)

            +%m   month (01..12)

            +%M   minute (00..59)


    [kiosk@foundation6 Desktop]$ date  -d  +83day

     Fri Jun 17 14:48:47 CST 2016

    [kiosk@foundation6 Desktop]$



13.passwd命令

passwd  username     ###更改用户密码(只有超级用户root可以)

passwd               ####普通用户修改自己的密码

 

普通用户只能修改自己的密码,并且必须知道自己原始密码,修改密码必须大于8,不能与原始密码字符重复

 

passwd -l username   ###冻结普通用户

passwd -u username   ###解锁冻结帐号

       -d       username        ###清除密码

       -x       username        ###maximum password lifetime (root only)

       -n       username        ###minimum password lifetime (root only)

       -w       username        ###number of days warning users receives before

                                ###password expiration (root only)

 

14.tab键

 补齐系统中存在的文件名称,命令,和命令参数

     Tab completion

          "" can automatic completion of

         command ,file name and some


15.文件管理

touch         ###创建文件

cat文件名称   ###查看文件所有内容到文件的最后

less文件名称  ###查看文件所有内容从文件的开始,按Q退出

head -数字文件名称      ###文件内容前多少

tail -数字文件名称      ###文件内容后多少


16.历史调用

!数字            ###执行第多少条命令

!关键字          ###执行最近一条以关键字开头的命令

ctrl+R+关键字    ###调出最近一条含有关键字的命令

上下键           ###从最后一条命令开始向前查看或者向后查看

history          ###查看历史


17.file查看文件类型

     file   ###查看文件类型


18.wc命令

   wc    统计文本内容行,单词数,字节大小

        -l   ###行数

        -c   ###字节数

        -m   ###字符数

        -w   ###单词数

        -L   ###显示最长行的长度


19.watch命令

watch [options] command

The watch program executes a given command at regular inter-vals; the default is every two seconds. The command is passed to the shell (so be sure to quote or escape any special characters), and the results are displayed in a full-screen mode, so you can observe the output conveniently and see what has changed. For example, 

每隔一段时间重复运行一个命令,默认间隔时间是2秒。要运行的命令直接传给shell(注意引用和转义特殊字符)。结果会展示为全屏模式,这样你可以很方便的观察改变。例如: 

watch -n 60 date 

executes the date command once a minute, sort of a poor man’s clock. Type ^C to exit.

执行date命令每分钟一次,输入^C  退出。

watch -n 1 date      ##监控date命令每秒钟执行一次

 

20.开关机,登陆

   关机

      poweroff|init 0|shutdown -h now

   重启

      reboot| init 6 |shutdown -r now

   登陆

      login

            for gui

            for text

 

 21 --help帮助

    21.1命令--help

   【内容】###内容选加

    <内容>###内容必加

    内容...###内容个数任意

    21.2  whatis

 

22.快捷键

    22.1  ctrl   

               + a 光标移动到行首

               + e 光标移动到行尾

               + u光标所在位置删除到行首

               + k光标所在位置删除到行尾

               + r调出最近一条含有关键字的命令

               + |光标移动以单词为单位

               + c撤销以输入的命令

               + d关闭当前环境

 

    22.2  ctrl +c      撤销未执行的命令

          ctrl +d      结束终端

 

    22.3  ctrl+alt+上|下  切换工作界面

          ctrl+alt+L      锁屏


    22.4  gnome-control-center    开启设置

          gnome-terminal          开启终端


    二 .linux入门

一linux系统结构


1. linux系统结构是倒树型


2.系统挂载相关

     Liunx采用树形的文件管理系统,也就是在Linux系统中,可以说已经没有分区的概念了。分区在Linux和其他设备一样都只是一个文件。要使用一个分区必须把它加载到文件系统中。这可能难于理解,继续往下看。
Linux中树形的文件结构,最顶层是/ 目录。在安装系统时,你必须选择把一个主分区挂载在/ 目录下,因为系统需要安装在/挂载的主分区下。否则系统会提示你。这里又一次提到了挂载。所以挂载就是把目录和分区连接起来,和上面说的WINDOWS下的映射关系是一样的。不同的是WINDOWS是把分区映射到一个盘符,而LINUX下是映射到一个目录。 这是理解他们不同最重要的地方,而导致不同的是因为文件系统结构不同。
上面说了Linux的文件系统是树形的,安装的系统必须是在/ 目录下,因为/目录下挂载了一个主分区。/目录是树形的根,其他所有目录都是他的子节点。 我们安装系统的时候已经把分区1挂载到 / 目录下了. 而这个时候没有挂载其他任何分区,所以/ 目录下的所有其他目录都在这个分区下,也就是说,我在任何目录下读写操作实际都是操作的这个1号分区。如果我们想使用其他分区,就必须把这个分区挂载到一个目录下,这个目录可以是已经存在的目录,比如/home,也可以是我们自己建立的目录,比如/oracle。当然有些目录比如/lib, /dev, /etc, /usr这些都不能挂载其他分区,因为他们都存放着系统需要的文件,一旦被挂载其他分区,那没OS就无法找到所需的文件,系统就会崩溃。比如我们把分区2挂载到/usr/X11目录下时,系统就无法通过X11目录找到分区1上的文件,这个时候系统图形界面就无法使用了. 虽然文件还在硬盘上。前面说过,目录 --- 分区 是通过挂载吧他们联系起来。你更换了分区,也就破坏了联系,就无法在找到之前的文件了。我们在看分区5和分区6,我们把它挂载到/home/ftp 和 /oracle目录下,这个时候我们在操作这2个目录是,就是操作对用的分区了.
        而WINDOWS就没这么复杂,她不是采用树形的结构,每个分区对应一个盘符,一旦建立映射关系就无法在修改。实际上,LINUX的每个挂载了分区的目录就相当于WINDOWS系统中的盘符,比如上面的,/home/ftp 和 /oracle目录我们就可以把她看做一个盘符和一个分区关联,只是因为LINUX文件系统,使得她更加灵活,所以也更复杂和难以理解。
df 命令可以查看分区挂载情况, fdisk 命令可以查看系统分区情况。
LINUX下所有设备都被认为是文件,而/dev目录存放所有系统设备文件的,而一个分区就是一个文件,名字就是分区的名字.
2.1、通过mount挂载文件 来挂载磁盘分区(或存储设备)
mount挂载文件  [-t  文件系统 ]  [-o  选项]  设备  目录
-t 通过这个参数,我们来指定文件系统的类型,一般的情况下不必指定有时也能识别
-o 这个选项,主要选项有权限、用户、磁盘限额、语言编码等
设备 指存储设备,比如/dev/hda1, /dev/sda1 ,cdrom 等...至于您的系统中有哪些存储设备,主要通过 fdisk -l 或者查看 /etc/fstab 或 dmesg ;一般的情况下光驱设备是/dev/cdrom ;软驱设备是/dev/fd0 ;硬盘及移动硬盘以 fdisk -l 的输出为准;
2.1.1)对光驱和软驱的挂载;
我们先建一个目录,然后执行Linux mount挂载文件 命令,这样cdrom 就挂在 /mnt/cdrom 中了;我们就可以在/mnt/cdrom 中查看光盘中资料和文件;这个目录您想怎么建就怎么建。用什么目录不是最重要的。重要的是您知道自己在做什么就行了。比如我们也可以把这个目录建成 dvdrom ;然后用 Linux mount挂载文件 /dev/cdrom /mnt/dvdrom 来挂载;
2.1.2)挂载硬盘和移动硬盘的文件系统;
一个分区只有创建了文件系统后才能使用,前面我们说过了,我们在Linux大多用的是ext2 、ext3、reiserfs、fat32、msdos 、ntfs等;
[1]挂载Linux文件系统;
首先我们得建一个文件系统挂载的目录;我们前面已经提到了;一个有文件系统的分区要挂到系统中,必须要有一个挂载点;这个挂载点就是一个目录;比如我们通过fdisk -l 得知hda5 是Linux分区,并且创建了文件系统,比如是reiserfs 文件系统吧;
步骤:
先创建一个挂载目录;比如/mnt/hda5
设置/mnt/hda5的权限为任何用户可写可读可执行;这样所有的用户都能在写入; 
通过-t reiserfs 来指定/dev/hda5是reiserfs 文件系统, 并且挂载到/mnt/hda5目录; 
假如我们不知道hda5上reiserfs 文件系统,我们可以用 -t auto 让系统定夺,然后挂载到/mnt/hda5  
不加任何参数,直接 Linux mount挂载文件   /dev/hda5 到/mnt/hda5;系统自动判断分区文件系统; 
通过df -lh 来查看是不是被挂载了;

 

3.linux根目录

/bin     ##二进制可执行文件也就是系统命令

/sbin    ##系统管理命令存放位置

/boot    ##启动分区,负责系统启动

/dev     ##设备管理文件

/etc     ##大多数系统管理文件

/home    ##普通用户的家目录

/lib     ##32位系统库文件存放位置             

/lib64   ##64位系统库文件存放位置

/media   ##系统临时设备挂载点

/mnt     ##系统临时设备挂载点

/run     ##系统临时设备挂载点

/opt     ##第三方软件安装位置

/proc    ##系统信息

/root    ##超级用户家目录

/srv/var     ##系统数据

/sys     ##系统管理,主要是关于内核的

/tmp     ##系统临时文件存放位置   

/usr     ##系统用户相关信息数据及用户自定义软件存放位置

 

4.系统文件路径

   4.1绝对路径

     文件在系统的真实位置,文件名字以“/”开头

   4.2相对路径

     文件相对与当前所在位置的一个名字的简写,这个名字不会以/开头,而且名字会自动添加pwd显示的值


5.命令

 5.1 pwd      ##显示但前在系统的位置  print work directory

 5.2 cd       ##chage directory ##进入目标目录中

 5.3 ls       ##list列出目标文件,或者列出目录中的内容

         -a   ##列出所有

         -l   ##列出文件属性

         -s   ##列出文件大小

         -R   ##第归列出

         -d   ##指定目录本身

 5.4  stat file 查看

 5.5  touch   ##新建文件,修改时间:

            -a       change only the access time   

            -m       change only the modification time

            -t STAMP     use [[CC]YY]MMDDhhmm[.ss]  

 5.5 rm -f   #强制删除文件

     rm -fr  #强制删除目录

 5.6  cp  被复制文件  目的地

         -r  ##第归复制,用与复制目录

 5.7  移动:  相同磁盘移动只是重命名

              不同磁盘间是数据的备份重建

    mv    被移动文件    目的地

    mv    老名字        新名字

    mv test/file .     ##test/file移动到当前 

 5.8 mkdir

     make directory    ##建立目录

     -p                ##第归建立目录

 5.9

    .  当前目录

    ~+ 当前目录

    .. 上级目录

    ~- 之前目录

    ~  用户家目录

    username 进入到指定用户家目录

你可能感兴趣的:(linux)