Linux学习笔记(一)

删除回忆录丶 提交于 2020-12-22 06:31:09

一、rhel-6.5安装使用

1、首先下载iso镜像文件(地址:https://www.wanghualang.com/download.php?id=1349)

2、其次安装到VMware workstation虚拟机中使用

二、基础知识

1、[root@xpw ~]#  管理员用户登录

      [zhangsan@xpw ~]$  普通用户登录

      解释: 

      root:当前登录的用户名

      xpw:主机名

      ~:当前用户所处的目录(~代表用户宿主目录)

      #:代表当前用户是管理员

      $:代表当前用户是普通用户

2、Linux默认可以打开6个终端,快捷键Ctrl+alt+(F1~F6)

3、退出终端命令:exit

4、切换用户:su(switch user)

        eg:su  student  (切换到student用户)

5、Linux 系统的整个系统结构如下面所示:

   

6、Linux登录信息在/etc/issue目录下

        eg:cat /etc/issue   

        解释:查看Linux登录信息

三、Linux命令

    1、命令分类

       1>内部命令(shell自带的命令)

       2>外部命令(在Linux文件系统中存在一个应用程序)

    2、查看Linux命令类型

       利用type命令可以查看Linux命令类型

       eg1:type pwd     显示:pwd is a shell builtin   (builtin该关键词说明该命令是内部命令)

       eg2:type mkdir   显示:mkdir is bin/mkdir       (有路径显示的为外部命令)

    3、路径

       1>绝对路径。从根(/)开始的路径是绝对路径。Linux系统中只有一个根。

       2>相对路径。以所处的工作目录为参照点

    4、ls命令:

 

       参数:

       -h :为文件大小添加单位

       eg:ls -h

       -a:显示目录下所有文件。(包括.(当前目录),..(上一级目录),以.开始的隐藏文件。)

       -R:递归显示目录中的内容。(一并显示子目录中的内容)[重要]

       -r:逆序显示文件内容

     5、PATH变量:存放系统命令路径,以:隔开。

          查看path变量命令:echo $PATH  (linux命令严格区分大小写)

     6、hash命令:查看命令缓存及命中率

     7、Linux命令的帮助信息

          1>内部命令:help [command]   eg:help cd

          2>外部命令:[command] --help  eg:ls --help

          3>man:帮助   

         语法:man [command]

         /word:从上往下找关键字

        ?word:从下往上找关键字

         q:退出当前帮助信息  

       

      

     8、which:查看命令所在路径

     9、cd命令

       1>不加选项,返回到当前用户的宿主目录

       2>-;返回到上一次的工作路径。eg:cd -

       3>~username:切换到username的宿主目录

     10、pwd:显示当前所处的工作目录

     11、file命令:查看Linux中文件类型(与四2匹配,有三种文件类型)

            语法:file [options]

            -b:显示结果时,不显示文件名

            -c:显示执行file命令的执行过程

            -i:输出MIME类型的字符串

            -z:显示压缩文件的内容

            -l:查看软链接对应文件的类型

            -f:查看文件中文件名的类型 

     12、cat命令:

             1、一次性查看整个文件

                  语法:cat [options] [args]

              2、从键盘输入创建一个新文件

                  语法:cat > file_name <<eof (输入完之后,会开始对创建文件进行编辑,编辑完成之后,用eof结束)

              3、对现有文件进行追加数据

                  语法:cat >> file_name <<eof

              4、把多个文件内容合并到一个文件输出

                  语法:cat file1 file2 > file3

                  -n:显示文件内容时同时显示行号

                  -b:和-n功能相同,但不包括空行 

                  -s:当文件中有多个空行时,合并为一个空行

                  -E:在显示内容时,结尾添加$符号

              5、查看linux版本号命令:cat  /proc/version

     13、cp命令:复制文件或目录 

             语法:cp [options] [src_file] [des_file]

             -f:force,强制复制文件或目录不进行提示

             -r:递归复制目录

             -b:覆盖已有的文件前,对目标文件进行复制

             -p:复制文件时保留文件的原有属性

     14、mv命令:移动或重命名文件和目录(当原位置和目标位置是同目录时,是重命名,否则为移动)

            -t:讲多个文件移动到同一目录(语法:mv -t [directory] file1 file2...)

     15、mkdir:创建空目录

            -m创建目录时同时设置权限 

            -p递归创建新目录

            eg:mkdir {a,b} 解释:在当前目录下创建a,b两个目录

                    mkdir -p /root/a/b 解释:创建root目录下a目录,a目录下b目录

     16、touch命令: 创建新文件或修改文件的时间戳

     17、which命令:查找命令所在路径

     18、whereis命令:查看命令所在路径,帮助信息文件所在位置

     19、locate命令:查找文件命令;非实时性,根据自己的数据库查找文件。centos每天更新一                 次数据库,安装完locate后,生成/var/lib/mlocate目录,存放数据库。此命令是模                           糊匹配。locate工具的数据库:/var/lib/mlocate/mlocate.db

            语法:locate file_name

            安装locate工具:yum -y install mlocate

            更新locate数据库:updatedb

     20、查看文本文件内容命令:cat more less head tail

             1>more命令:可以翻页查看文本文件内容

                  enter键盘:向下翻一页

                  空格键:向下翻一屏

                  ctrl + b :向上翻一屏

                  Ctrl + f  :向下翻一屏 

                  =:显示当前的行号

                  v:调用vi编辑器

                 !command:调用shell执行命令

                  q:退出more命令

                  more + num file_name //从num行开始查看文件内容

     21、less命令:可以翻页查看文本文件内容 

                  翻屏:pagedown、pageup、上下方向键

                  /word:该文件中查找word关键字

     22、 管道:|,连接多条命令,前一条命令输出结果作为后一条命令的输入条件

     23、head:显现文本前十行内容。

     24、tail:默认查看文本文件的后十行

             -f:动态查看文本文件内容,如动态查看日志:tail -f /var/log/messages

     25、pstree:查看进程树之间的关系,即哪个进程是父进程,哪个是子进程。

     26、history:查看linux输入命令的历史

             -c:清空命令历史

             -d:删除某一条命令历史。 语法:history -d 22 (删除第二十二行的命令历史)

             命令历史使用技巧:

                  !n:执行命令历史当中的第n条的命令(n是命令历史编号)

                  !word:执行命令历史中最近一次以word开始的命令

                  !!:执行上一条命令

                   esc + . :引用一个命令的最后一次参数

     27、echo:可以查看环境变量值、输出屏幕

四、Linux根文件系统

    1、根文件文件系统

         /bin:二进制,存放命令

         /boot:存放启动和内核相关文件

         /dev:存放设备文件

         /etc:存放应用程序的配置文件

         /home:普通用户的宿主目录,默认为/home/USERNAME

         /lib和/lib64:存放系统开机时需要用的函数库及/bin和/sbin命令调用函数库

              /lib/modules:存放内核相关模块 (比如:驱动程序等)

         /media和/mnt:挂载点,/media挂载移动设备   /mnt挂载临时设备

         /opt:第三方软件存放目录(用户自行安装的软件存放处),现在一般按章到/usr/local下

         /proc:伪文件系统,数据存放在内存中,存放关于进程的相关信息

         /root:管理员的宿主目录

         /sbin:存放管理员使用的命令

         /srv:servicce缩写,存放服务数据目录,如可以把www服务的网页存放到该目录

         /tmp:存放临时文件,所有用户都可以访问创建文件,但是每个用户只能删除自己的文件

         /sys:伪文件系统,存放在内存中,记录内核相关信息

         /usr:unix software resource的缩写,存放安装的应用程序

                /usr/bin:普通用户使用的命令(和/bin区别:是否与开机有关)

                /usr/sbin:网络服务命令

                /usr/lib和/usr/lib64:包含各种应用程序函数库

                /usr/share:存放共享文件目录

                /usr/include:存放头文件

                /usr/src:释放源代码目录 

         /var:vary的缩写,存放经常变动的文件,比如日志,mail等

                /var/cache:存放应用程序运行时产生的缓存文件

                /var/lib:程序运行时,需要使用的数据文件的存放目录

                /var/lock:设备或资源一次只能被一个应用程序使用,如果多应用程序使用会产生错误

                /var/log:存放日志目录(系统,用户登录,服务日志)

                /var/mail:存放个人电子邮件(系统报警时产生的邮件信息)

                /var/run:存放应用程序运行时PID文件(进程号.pid结尾)

                /var/spool:存放队列数据,排队等待其他用户程序使用的数据,数据通常使用完后被删                   除

         FHS规定:/etc /bin /dev /lib /sbin 五个目录必须要和根目录位于同一文件系统

    2、Linux文件类型(与三11匹配:查看文件类型命令:file命令)

         -:普通文件

              纯文本文件(ASCII):配置文件

              二进制文件(binary file):命令

              数据格式文件(date):/var/log/wtmp

         d:目录文件

         l:链接文件:软链接文件

         设备文件:(/dev)

               b:block块设备

               c:character字符集设备:一次性读取,按顺序读取

               s:socket套接字文件:通常用在网络上数据连接。

               p:管道:特殊的文件类型,解决多个程序同时访问一个文件所造成的错误问题。

五、shell

     1、shell广义分为两类:

          1>GUI(图形用户界面、全拼:Graphical User Interface):包括GNOME、KDE、XFACE

          2>CLI(命令行界面、全拼:command-line interface):包括sh、csh、ksh、bash(linux发                   行版本中,bash是默认使用的shell程序)

     2、命令行编辑技巧

          1、Ctrl + a:光标快速跳转到命令行首行

          2、Ctrl + e:光标快速跳转到命令行行尾

          3、Ctrl + u:快速删除光标位置到命令行行首的字符

          4、Ctrl + k:快速删除光标位置到命令行行尾的字符

          5、Ctrl + l:清屏(等于clear命令)

     3、命令行展开:按tab键两次,列出以某字符开始的所有命令

     4、命令别名(用alias定义的别名只在当前shell生效)

            eg:alias cls = clear  (dos下的清屏和linux下的清屏)

                 alias cdnet = “cd  /etc/sysconfig/network-scripts”  //使用alias定义完成后,直接输入                         cdnet就等于输入cd  /etc/sysconfig/network-scripts 命令

            取消命令别名:unalias 

     5、命令替换(经常用到shell脚本编程中):$(command)或者`command`

           eg:[root@xpw ~]# echo “directory is $(pwd)”

                  [root@xpw ~]#directory is /root

          1、""(双引号):弱引用,可以实现变量的替换

          2、‘’(单引号):强引用,不能完成变量的替换

          3、``(反撇号,~按键的位置):命令引用

     6、命令行通配:globbing

          1、*:匹配任意长度的任意字符

          2、?:匹配任意单个字符

          3、[]:匹配指定范围内的任意单个字符

                 eg:[ab]、[a-z]、[A-Z]、[a-zA-Z]、[0-9]、[a-zA-Z0-9]

                         # ls a*[a-zA-Z0-9]       //显示当前文件夹中以a开头,中间任意字符,以大小写字母                           或者数字结尾的文件

          4、[^]匹配指定范围外的任意单个字符 

                 eg:[^a-z]   //表示a-z除外的字符

          5、[:space:]:表示空格,  //  使用时需要额外再加上[]中括号,须有两个中括号

                 eg:# ls *[[:space:]]*          //表示以任意字符开始,中间含有空格,以任意字符结尾

                [:punct:]:表示所有标点符号

                [:lower:]:表示所有小写字母

      [:upper:]:表示所有大写字母

      [:alpha:]:表示所有字母(包括大小写)

      [:digit:]:表示所有数字

      [:alnum:]:表示所有数字和大小写字母

     6、计算机体系结构(五大部件,通过总线进行交互)

             1>控制器:CPU,读取系统命令

             2>运算器:CPU,运算

             3>存储器:RAM(内部存储器,易失性存储器)

             4>输入设备(input):输入数据,如键盘、硬盘等

             5>输出设备(output):显示指令执行结构,如显示器、音响、硬盘等

     7、计算机总线:

             1>地址总线:负责内存寻址

             2>数据总线:负责传输数据

             3>控制总线:负责控制指令

     8、寄存器:CPU中内部临时存储空间

     9、I/O设备:负责计算机内部存储设备和外部存储设备进行交互的设备

     10、程序:指令 + 数据

                 指令:由程序提供,负责加工数据

                 数据:系统中数据可以有多种来源,比如来自变量、文件、输入设备等

     11、标准输入输出设备:

                 标准输入设备:键盘(stdin),文件描述符为0

                 标准输出设备:显示器(stdout),文件描述符为1

                 标准错误输出设备:显示器(stderr),文件描述符为2

     12、三种数据流

                 标准输入数据流

                 标准输出数据流

                 标准错误输出数据流

     13、当在Linux中打开一个文件时,内核会反复调用,对于文件标识符就很重要,用文件描述                  符来标识文件,文件加载完成用数字标识。

     14、IO重定向:把默认的输入输出数据来源,重新定向到其他文件或设备

              1、输出重定向

                     >:覆盖输出重定向

                     >>:追加输出重定向

                     2>:错误覆盖输出重定向

                     2>>:错误追加输出重定向

                     &>:混合覆盖输出重定向(混合代表:无论输入正确或输入错误)

                     &>>:混合追加输出重定向 

                         eg:    

                         

              2、输入重定向:<

     15、tty1:第一工作组

     16、tr:实现字符转换,不修改源文件。语法:tr [options] [set1] [set 2]

             eg:tr ‘a-z’ ‘A-Z’    //把a-z转换为A-Z

      17、tee命令。在执行Linux命令时,我们可以把输出重定向到文件中,比如 ls >a.txt,这时我们就不能看到输出了,如果我们既想把输出保存到文件中,又想在屏幕上看到输                  出内容,就可以使用tee命令了。tee命令读取标准输入,把这些内容同时输出到标准输出和(多个)文件中,tee命令可以重定向标准输出到多个文件。要注意的是:在使用管            道线时,前一个命令的标准错误输出不会被tee读取。

             eg: ls /usr/ | tee usr.out | tr 'a-z' 'A-Z'

          

 

   

       

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!