zoukankan      html  css  js  c++  java
  • linux基础知识学习笔记

    1、Linux介绍

    Linux版本:

      内核版本:最基本的核心程序,只要用于企业和个人在此基础自行开发所需功能。

      发行版本:在内核基础上增加了一些常用软件,满足企业和用户直接使用的基本需求。

    Linux应用领域:

      个人桌面:图形桌面开发

      服务器领域:整个系统就像dos命令行一样,全部命令操作。

      嵌入式领域(智能硬件):在Linux基础上开发自己所需的功能然后将程序烧到硬盘中去执行。

      后两个实用最广泛;

    2、Linux目录和文件操作

    Linux目录:

      Linux的四种文件类型:

        1.可分享的

        可以分享给其他系统挂载使用的目录,所以包括执行文件与用户的邮件等数据, 是能够分享给网络上其他主机挂载用的目录;

        2.不可分享的

        自己机器上面运作的装置文件或者是与程序有关的socket文件等, 由于仅与自身机器有关,所以当然就不适合分享给其他主机了。

        3.不变的

        有些数据是不会经常变动的,跟随着distribution而不变动。 例如函式库、文件说明文件、系统管理员所管理的主机服务配置文件等等;

        4.可变动的

        经常改变的数据,例如登录文件、一般用户可自行收受的新闻组等。

      事实上,FHS针对目录树架构仅定义出三层目录底下应该放置什么数据而已,分别是底下这三个目录的定义:

      / (root, 根目录):与开机系统有关;

      /usr (unix software resource):与软件安装/执行有关;

      /var (variable):与系统运作过程有关。

      /:根目录,Linux文件系统的入口.也是最高一级的目录.

      /etc:系统配置文件目录,不建议在此目录下存放可执行文件,重要的配置文件有/etc/inittab、/etc/fstab、/etc/init.d、/etc/X11、/etc/sysconfig、/etc/xinetd.d等,修改配置文件之前记得备份。

      /usr:应用程序存放目录,软件的安装路径

        /usr/lib:存放不能直接运行的,却是许多程序运行所必需的一些函数库文件。

        /usr/bin:存放应用程序;

        /usr/share:存放共享数据;

        /usr/lib:存放不能直接运行的,却是许多程序运行所必需的一些函数库文件。

        /usr/local:存放软件升级包。

        /usr/share/doc:系统说明文件存放目录。

        /usr/share/man:程序说明文件存放目录。

      /var:放置系统执行过程中经常变化的文件;

        /var/log:随时可能更改的日志文件;

        /var/log/message:所有的登录文件存放目录;

        /var/spool/mail:邮件存放的目录;

        /var/run:程序或服务启动后,其PID(端口号)存放在该目录下。

      /lib:系统使用的函数库的目录,程序在执行过程中,需要调用一些额外的参数时需要函数库的协助。比较重要的目录为/lib/modules。

      /bin:可执行二进制文件的目录,如常用的命令ls、tar、mv、cat等;类似于/usr/bin

      /home:系统默认的用户家目录,新增用户账号时,用户的家目录都存放在此目录下,~表示当前用户的家目录,~test表示用户test的家目录。用户的个人文件都存放在此目录下。

      /tmp:一般用户或正在执行的程序临时存放文件的目录,任何人都可以访问,重要数据不可放置在此目录下

      这里介绍了一些常用的目录,想要了解更多请前往:http://www.cnblogs.com/silence-hust/p/4319415.html

    文件操作:

      1、文件的显示

      ls:显示当前目录下的文件和目录

      ls -a:显示当前目录下的所有文件和目录,包括隐藏文件和目录。

      ls -l:显示当前目录下文件盒目录的详细信息。

      ls -h:以合适的单位显示当前目录下的文件和目录的大小

      ls -alh 或 ls -a -l -h:三者不分前后顺序

      例:ls  /bin:查看根目录下,bin文件夹里的所有内容;

      2、目录的跳转

      cd:打开某个文件夹,后跟文件夹名或文件夹的路径

      cd - :跳转到上一次操作,只在最后两步之间来回跳转。

      cd ~:跳转到当前路径的家目录下,例如/home/hadoop

      pwd:显示当前的绝对路径

      cd ..:跳转到当前路径的上一层

      .:表示当前路径

      ..:当前路径的上一层

      ../../..:当前路径上三层

      3、正则表达式 

      *:通配符,匹配任意字符,*.txt所有以.txt结尾的文件名。

      [abc]:中括号中的人一个匹配成功即可,相当于a,b,c的并集;可写成[a-c]。

      ?:表示此处有一个字符,未知的,不能是空;

      ‘^a’:以a开头的内容

      ‘a$’:以a结尾的内容

      4、文件创建和删除

      gedit:打开要编辑的文件。

      mkdir:创建文件夹

      mkdir a :当前目录创建文件夹a

      mkdir A/B/C -p:创建三级文件夹

      tree:显示文件树

      rm:删除文件(不进回收站)

      rm a/* -r:删除文件夹内的内容

      rm a -r:删除文件夹

      rmdir:删除空文件夹

        -i:交互式询问删除

        -f:不交互直接删除

      ln:给原文件创建快捷方式,分软连接和硬链接

      ln 原文件名 快捷键名

      软连接:删除快捷方式对原文件没影响,删除原文件快捷方式打不开

      ln -s 原文件名 快捷键名

      硬链接:删除原文件,快捷方式不影响查看,相当于一个文件的多个名字备份,直到删到最后一个才能删除原文件。

      5、文件搜索

      grep:从文件中搜索内容。

      grep -n 't':显示所有带‘t’的内容,不区分大小写,显示行号

      grep -i 't':忽略大小写

      grep -v 't':显示除带‘t’以外的内容

      ‘t’:可以用正则表达式来代替

      find:查找当前路径下的文件

      find 路径名 + ……

        -name   filename             #查找名为filename的文件
        -perm                              #按执行权限来查找
        -user    username           #按文件属主来查找

        -size    -2M                     #按文件大小查找,小于2兆

      6、文件的复制和移动

      cp 想要复制的文件名 复制到的文件名 :文件的复制

        -v:显示复制进度条

        -i:交互式复制

        -f:强制性复制

        -a:同事复制文件的隐性信息,比如权限,软连接本身

        -r:复制文件夹 例cp b a/ -r :将b文件夹复制到a文件夹下

          cp b/* a/ -r :将b文件夹下的内容复制到a文件夹下

      mv:移动就是剪切

      mv 05.tmt 05.tot:将第一个名字重命名为第二个名字

      7、文件的压缩

      tar -cvf xxx.tar *:打包当前路径所有文件为xxx.tar

      tar -zcvf xxx.tar.gz * :压缩当前文件夹所有文件

      gzip xxx.tar:压缩打包好的文件夹xxx.tar得到文件名为:xxx.tar.gz

      gzip test.tar:同上,gzip xxx.tar

      tar -xvf xxx.tar:解压文件

      gzip -d xxx.tar.gz:解压文件

      tar -zxvf xxx.tar.gz (-C路径):解压当前压缩文件到指定路径

      上述中的‘z’可改成‘j’是一种算法压缩,xxx.tar.bz2就是一种bz2算法压缩

      zip(-r) myzip.zip *:直接压缩文件夹所有内容

      unzip -d .test/AA myzip.zip:解压文件到指定文件夹

      8、文件的权限

      -,+,=:减少,增加,设置权限

      chomd u-w 文件名:给用户减少写操作权限

      u:拥有用户,o:其他人,g:同组人,a:所有

      r,w,x:读,写,执行      数字赋值分别为:4,2,1,u=rwx,o=rwx,g=rwx等价于a=rwx

      a=  :等于空表示什么权限都没有

      chomd 777 文件名:文件夹的权限

      chomd 777 文件名 -R:文件夹内所有文件的权限

      chown:修改文件的拥有者

      chgrp:修改文件所属组

    常用快捷键操作  

      1、实用操作命令

      clear:清空当前的屏幕,只是将当前页面内容上移,并没有删除。

      Tab:用来自动补全输入

      touch:在当前文件夹中创建文件,Linux没有文件名后缀的形式,例test.txt只是一个文件名。

      \:反斜杠,转义字符。例 ls \*a 显示*a文件夹里的文件和目录

      >:输出重定向,将内容输出到此文件中,没有此文件就创造文件,有此文件就删除原文件内容,将此内容输出到文件中。

      >>:同上,只是在存在同名文件时,将此内容追加到文件后,并不删除原文件内容。

      例:ls > test.txt:将想要显示的内容保存到test.txt文件中去。  

      more:文件内容大于一屛时,将文件里的内容滚屏显示。

      | (管道):连接两个命令。例 ls -alh|more

      cat:查看文件内容,如果文件内容较多,可用鼠标滚珠查看,一扫而过。

      cat 文件名 > 文件名:实现将文件的内容复制到另一个文件

      cat 多个文件名 > 文件名:实现多个文件的合并。 

      2、帮助文档 

      history:历史输入命令

      --help:帮助文档

      ls -help :查看ls命令的帮助

      manual:Linux手册。比help好用很多,显示格式也比较好看。

      man ls :查看ls命令解释

      man 2或3 ls :以不同语言形式展现命令帮助,(2代表C语言,3代表……)

      which:查看命令的位置,例 which ls:查看ls命令所在的位置

      bin 文件夹下都是执行程序,/bin,/usr/bin都是

      mount :挂载命令

      3、查看日期

      cal:查看当前日历

      cal -y 2018 :显示2018年的日历

      date:显示当前时间(ntp:网络时间协议)

      date [MMDDhhmm[[yy]ss]]:格式化输出

      date ‘+%Y-%m’ :格式化输出

      4、进程控制

      ps:查看进程信息,相当于任务管理器

      ps -aux:显示所有正在运行的程序

        -a:显示终端上的所有进程 

        -u:显示进程的详细状态

        -x:显示没有控制终端的进程

        -w:显示加宽以便显示更多信息

        -r:只显示正在进行的进程

      top:动态显示进程 

      m:内存,c:CPU等可按照属性的首字母排序

      kill:杀死正在进行的进程

      kill pid 或 kill -9 pid(杀不死用这个)

      5、关机与重启

      reboot:重启

      shutdown -r now :立刻重启

      shutdown -h now :立刻关机

      shutdown -h 20:35 :八点三十五关机

      shutdown -h +10 :十小时后关机

      init  0 :关机

      init 6 :重启

      df :检查当前磁盘情况

      du :显示当前路径下的所有文件的大小及路径

      du -h :显示文件大小的单位

    编辑器及其常用操作操作

      1、编辑器选择和模式

       编辑器:sublime,vim:命令模式,编辑模式,末行模式

      sublime的安装和使用技巧:

      subl:打开快捷键

      gedit:打开文本编辑器

      vim是vi的升级版本……

      vim 1.py +23:直接打开跳转到23 行

      v:进入可视模式,按字符移动选取

      r:替换当前字符

      R:替换光标后的字符

      /+内容:找想要的内容

      N,n :向上或向下跳转

      vi 1.py :直接进入命令模式

      进入编辑模式的三种方式:

        i:当前光标位置的前面插入

        o:在下一行插入

        a:当前光标后插入

      esc:编辑模式回到命令模式

      I:行首    A:行末    O:上一行

      命令模式下:

      shift+zz:保存并退出

      :+x:保存并退出

      命令模式-->末行模式的转变用:冒号

      末行模式下:

      X  加密文件

      冒号+w:保存

      冒号+q:退出

      冒号+wq:保存并退出

      !:强制执行

      2、编辑模式常用快捷键

      ctrl + n :自动提示补全

    、 h,j,k,l,M:左,下,上,右,中

      L:当前屏幕最后一行

      yy:复制,例:8yy从光标当前所在行复制8行

      p:粘贴

      dd:剪切,例:8dd从当前行剪切8行

      u:撤销

      ctrl + r:反撤销

      G: 跳到最后一行

      15G:跳到15行

      1G:跳到第一行

      gg:跳到第一行

      w:往右跳一个字

      d:往左跳一个字

      ctrl + d:向下半屏

      ctrl + u:向上半屏

      ctrl + f:向下一屏

      ctrl + b:向上一屏

      3、编辑模式下的删除操作

      X:删除左边的字符

      x:删除当前字符

      D:删除光标这一行的行末内容

      d0:删除光标前的内容

      dw:删除光标后的所有内容

      >> << :文本的左右移动或Tab键

      .:上一步执行的命令

      4、末行模式

      :%s/123/abc/g  :将当前文本中所有的123都替换成abc。

      :1,10s/123/abc/g:将当前文本1到10行的替换

      vim例可实现shell命令操作

      :!+终端的shell命令

      vim 的分屏操作,Linux安装软件等:有待补充

      

      

      

      

        

      

      

      

      

     

     

     

      

      

      

  • 相关阅读:
    【移动安全基础篇】——14、创建破解代码库
    【移动安全基础篇】——13、Android关键代码快速定位
    【移动安全基础篇】——12、Dalvik虚拟机
    【移动安全基础篇】——11、Android_jni
    【移动安全基础篇】——10、Android源代码修改
    【移动安全基础篇】——09、Android源代码目录结构
    【移动安全高级篇】————7、APK 的自我保护
    【移动安全高级篇】————6、Android DEX安全攻防战
    【移动安全高级篇】————5、Andorid APK反逆向解决方案---梆梆加固原理探寻
    Scene
  • 原文地址:https://www.cnblogs.com/ZWSunshine/p/linux.html
Copyright © 2011-2022 走看看