Linux笔记①
1、命令解析器
    Shell-----Unix操作系统
    bash------Linux操作系统
本质:根据命令的名字,调用对应的可执行程序。
2、Linux快捷键:
    历史命令:history
    向上遍历:ctrl+p
    向下遍历:ctrl+n
    光标向左:ctrl+b
    光标向右:ctrl+f
    光标移动到当前行头部:ctrl+a
    光标移动到当前行末尾:ctrl+e
    删除光标前的字符:backspace或者ctrl+h
    删除光标后(Linux中是光标覆盖的字符)的字符:ctrl+d
    删除光标前的所有:ctrl+u
    智能提示:tab键(一次或者两次)
    清屏:ctrl+l或者clear
3、Linux系统目录结构:(树状)
    根目录:ls /
    /bin:存储Linux命令
    /dev:Device(设备的缩写),该目录下存放的是Linux的外部设备,在Linux中访问设备的方式和访问文件的方式相同。
    /etc:存放所有的系统管理所需要的配置文件和子目录。
    /home:用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该目录名是以用户的帐号命名的。
    /lib:存放系统基本的动态连接共享库,作用类似于widows里的DLL文件,几乎所有的应用程序都用到这些共享库。
    /media:Linux系统会自动识别一些设备,例如U盘、光驱等,当识别后,Linux会把识别的设备挂载到这个目录下。
    /mnt:该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的内容了。
    /root:该目录为系统管理员,也称作超级权限者的用户主目录。
    /usr:一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下。类似于Windows下的program files目录。
3、用户目录:
    绝对目录:从根目录开始写
    相对路径:相对于工作目录而言
        . --->当前目录
        .. --->当前目录的上一级目录
        - --->在临近的两个目录直接切换  cd -
4、cczhao@ubuntu:~$
    cczhao:当前登录用户
    ubunbu:主机名
    ~:用户的家目录(宿主目录)
    $:当前用户为普通用户
    #:超级用户--root
5、查看目录:
    ls
    tree---前提是先安装tree这个软件(sudo apt-get install tree[要联网])
    pwd---查看当前的位置 
6、创建目录:
    只创建一个目录:mkdir 目录名
    创建嵌套目录:mkdir aa/bb/cc -p(or mkdir -p aa/bb/cc)
    字母p的意思:parents,需要时创建上层目录,如果上层目录存在也不报错。
        然后可以用ls命令或者tree命令来查看目录结构。
7、删除目录:
    删除空目录:rmdir lover(前提是lover这个文件夹是空的,这个命令实用性不强)
    删除目录:rm aa -r(aa这个文件夹下可能还有东西,这里的-r表示递归删除)
    带有提示删除:rm -ri bb(显示递归进入目录,然后再递归删除目录)
8、创建文件:
    touch 文件名
    如:touch math
    创建math这个文件,如果创建的文件之前没有,直接创建,
    如果有,修改文件的创建时间。
9、删除文件:
    直接用rm 文件名
    如:rm math(或者是带有提示rm math -i)
10、拷贝文件:
    cp a.txt temp(把a.txt中的内容拷贝到temp文件中),如果temp文件不存在,
    创建temp并把a.txt中的内容拷贝到temp中;如果temp文件存在,就把temp中的
    文件内容覆盖掉。
11、拷贝目录:
    cp 目录名 拷贝到哪的目录名 -r(表示递归拷贝)
    如:cp test newDir -r(表示把test这个目录中的内容拷贝到newDir中
    ,如果newDir不存在就创建它,然后把相应的内容拷贝到newDir中;如果
    存在newDir就在newDir这个目录下再创建一个test目录)
12、查看文件:
    cat命令:适合看文件比较小,几行,几十行;
    more命令:适合翻页,按enter每按一次增加一行;按空格键,每按一次增加一页。
    less命令:enter键和空格键和more命令中效果一样;但是如果想往上翻看的话,就通过ctrl+p,ctrl+n,ctrl+b,ctrl+f;
    head 命令:查看文件中的前十行(默认);hear -5 文件名(加参数看前5行)
    tail 命令:查看文件的后十行(默认);
13、mv命令:
    如:mv temp laowang(如果不存在laowang这个目录,进行的就是重命名操作,
    如果存在laowang这个目录,进行的就是把temp这个文件移动到laowang这个目录下)
14、创建软连接(快捷方式):
    ln -s 文件或目录的绝对路径 软连接名
    如:ln -s ~/test/a.txt baby.soft(必须是绝对路径才能在整个Linux系统中有用),然后 mv baby.soft ../
    ln的意思:link
    -s:symbolic 象征性的
    然后就能在根目录下看到我们自定义的软连接baby.soft了。
15、创建硬连接(感觉有点类似于Java中的引用)
    ln 源文件名 目标文件名
    不能给目录创建硬连接,只能给文件创建硬连接。
16、which命令
    查看指定命令所在的路径。----which命令会在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。
    如:which cp
    小提示:cd这个常用命令用which命令是找不到的,因为cd命令是bash内建命令.
17、查看当前用户:whoami
18、修改文件权限
    1)、文字设定法:chmod [who] [+|-|=] [mode]
       who:
             文件所有者:u
             文件所属组:g
             其他人:o
             所有人:a
      +:添加权限
       -:减少权限
      =:覆盖原来的权限
     mode:
            r:读
            w:写
            x:执行
    2)、数字设定法:
         -:没有权限
         r:4
         w:2 
         x:1
         如:765
              7--rwx--文件所有者
              6--rw--文件所属组
              5--rx--其他人
          再比如:(设定权限)
              chmod 765 b.txt
          再比如:(减少其他人的执行权限)
              chmod -001 b.txt(当然也可以直接写chmod 764 b.txt)
19、修改文件所有者和文件所有组
    -rwx-w---x 2 cczhao jack 61 5月17 18:30 a.txt
    1)、前十位:
        第一位:- 代表文件
                   d 代表目录
        第二位到第四位:
                    即rwx:代表文件所有者的权限
        第五位到第七位:
                    即-w-:代表文件所属组的权限
        第八位到第十位:
                     即--x:代表其他人的权限
    2)、2:硬连接的数量
    3)、cczhao:文件所有者
    4)、jack:文件所属组
    5)、61:代表文件的大小(默认是按字节计算)
    7)、5月17 18:30 :文件创建时间
    8)、a.txt:表示文件名       
    倘若没有足够多的用户,可以先创建用户:useradd -d /home/jack -m jack (创建Jack这个用户,并指定宿主目录在/home/jack下),删除的话,
    可以直接用:userdel jack -r(级联删除,因为创建用户的时候还会在/etc目录下创建相应的信息,所以最好要级联删除)。
    有了足够的用户,就可为文件指定文件所有者或者文件所属组:(前提是要在超级用户下操作:sudo su)
        chown jerry b.txt -----指定文件b.txt的文件所有者是jerry;
        chgrp tom b.txt-----指定文件b.txt的文件所属组是tom;
        或者同时修改:chown jerry:tom b.txt-----修改文件b.txt的文件所有者是jerry,文件所属组是tom;
    注意:从普通用户进入超级用户:sudo su
         从超级用户进入普通用户:su 用户名
20、查找文件:
    1)、按文件属性查找:
        文件名:find 查找目录 -name  "文件名"
        文件大小:find 查找目录 -size +10k(大于10kb的文件)
                如:find ~ -size +10M (查找文件大于10M的)
                再如:find ~ -size 10k -size 100k(查找文件大于10k小于100k)
        文件类型:find 查找目录 -type    d/f/b/c/s/p/l
                d----目录
                f----文件
                b----块设备
                c----字符
                s----套接字
                p----管道
                l----链接
    2)、按文件内容查找
        grep -r "查找内容" 查找路径
            如:grep -r "int" ~  (在根目录中查找)
21、软件安装:
    apt-get:(Ubantu自带的软件安装工具)
        install:sudo apt-get install tree----在线下载安装(前提知道软件名字)
        remove:sudo apt-get remove tree
        update:(更新软件列表,不是更新软件)sudo apt-get update 
        清理所有软件安装包:sudo apt-get clean-----实际清理的是:/var/cache/apt/archives 这个目录下的.deb文件
    aptitude:(类似于Windows中的迅雷、电驴等工具,下载它后,可以用这个aptitude安装)
        安装:sudo aptitude install tree
        重新安装:sudo aptitude reinstall tree
        更新:sudo apt-get update
        移除:sudo aptitude remove tree
        显示状态:sudo aptitude show tree(显示tree这个软件的各种状态信息)
    
deb包安装:
        安装:sudo dpkg -i xxx.deb
        删除:sudo dpkg -r xxx
    
源码安装:
        查看软件附带的README文件。
*************************************************************************
22、echo命令
echo 字符串 ---- 显示普通数据
echo $PATH ------ 显示环境变量
echo $? ------ 显示最近一次程序的退出值
 
                    
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号