首页 > 常识 > 电脑 > 操作系统

linux 的实用基础知识

作者:  时间:2016-06-18
描述:本文介绍了linux的一些实用基础知识。
      1、linux分区 
      --在linux里面所有的设备、任何东西,在linux看来都是文件。 
      --文件在它看来,有两种形式: 
        第一种是字符型(键盘输入、打印机); 
        第二种是二进制型(硬盘、光驱、U盘) 
      --linux中所有硬件 
      --手动分区 
      --A、至少有两个分区 
        /    根分区 
        SWAP 交换分区(物理内存大小的两倍) 
      --B、个人桌面分区 
        / 
        /boot 128MB is enough 
        /usr 
        SWAP 
        /tmp(用于光盘刻录)
 
      2、linux目录说明 
      --/dev/xxyN 
      --xx (分区所在设备类型:hd--IDE硬盘   sd--SCSI硬盘) 
      --y  (标明分区所在设备 
            例如:/dev/hda 第一个IDE硬盘 或 /dev/hdb 第二个IDE硬盘 或 /dev/sdb 第二个SCSI硬盘) 
      --N  (数字代表分区:1-4--主分区或扩展分区;逻辑分区从5开始! 
            例如:/dev/hda3 第一个IDE硬盘上的第三个主分区或扩展分区 
                  /dev/sdb6 第二个SCSI硬盘上的第二个逻辑分区)
 
      3、linux目录结构 
      /     根目录,最高级别 
      /bin  系统基本命令存放目录(/usr/bin) 
      /boot linux的内核及引导系统程序文件存放目录(如:vmlinuz、initrd.img) 
            一般情况下,GRUB或LILO系统引导管理也位于这个目录 
      /dev  设备文件存储目录,如声卡、光驱... 
      /ect  存放系统设置文件(如用户账号密码、服务器配置文件等) 
      /home 普通用户家目录,默认存放目录 
      /lib  库文件存放目录 
      /lost+found  在ext2或ext3文件系统中,当系统以外崩溃或机器意外关机,而产生一些文件碎片放在这里。 
                   当系统启动的过程中,fsck工具会检查这里,并修复已经损坏的文件系统。 
            有事喜用发生问题,有很多的文件被移到这个目录中,可能会用手工的方式来修复,或者移文件到原来的位置上。 
      /media 即插即用型存储设备的挂载点自动在这个目录下创建。 
             如USB盘系统自动挂在后,会在这个目录下产生一个目录; 
             类似cdrom的目录 
      /mnt   存放挂载存储设备的挂载目录,如cdrom等目录 
      /opt   表示可选的意思,有些软件包也会被安装在此,也就是自定义软件包, 
             比如OpenOffice,或者一些我们自己编译的软件包,也可安装此处。 
      /proc  操作系统运行时,进程(正在运行的程序)信息及内核信息(比如CPU、硬盘分区、内存信息等)存放在此。 
             /proc目录是伪装的文件系统proc的挂载目录,proc并不是真正的文件系统 
      /root  linux超级权限用户root的家目录 
      /sbin  大多是涉及系统管理的命令的存放,只有超级权限用户root才可执行命令存放,普通用户无权限执行此目录下的命令 
             与 /usr/sbin; /usr/X11R6/sbin; usr/local/sbin 目录相似 
             (sbin,只有root权限才能执行) 
      /tmp   临时文件目录,有时用户运行程序的时候,会产生临时文件。 
             /var/tmp目录和此目录相似 
      /usr   系统存放程序的目录,如命令、帮助文件等。这个目录下有很多的文件和目录。 
             大部分Linux发行版提供的软件包都安装在此,涉及服务器的配置文件就安装在/ect中。 
             /usr/share/fonts 字体目录 
             /usr/share/man 或 /usr/share/doc 帮助目录 
             /usr/bin 或 /usr/local/bin 或 /usr/X11R6/bin    普通用户可执行文件目录 
             /usr/sbin 或 /usr/local/sbin 或 /usr/X11R6/sbin 超级权限用户root可执行命令存放目录 
             /usr/include 程序头文件存放目录 
      /var   (vary)此目录经常变动 
             /var/log 用来存放系统日志 
             /var/www 用来定义Apache服务器站点存放 
             /var/lib 用来存放一些库文件,如MySQL的,以及MySQL数据库的存放地。
 
      4、基本命令 
      --查看帮助   *** --help   *** --? 
      --查看详细帮助  man *** 
      --登录 login 
      --退出窗口 exit 
      --关机 shutdown 
      --重启 reboot 
      --初始化 init (run level -/etc/inittab),0-6看第六部分的g
 
      --进入根目录 cd / 
      --回上层目录 cd .. 
      --相对路径 cd dev 
      --绝对路径 cd /dev 
      --查用户名 whoami 
      --查当前目录 pwd 
      --列出当前目录内容 ls 
            -l(树详细显示目录内容) 
            -m(横列显示目录内容,是屏幕长度显示) 
            -a(列出全部文件,包括隐藏文件) 
            -S(以文档大小排序) 
      --创建目录 mkdir dname 
      --删除目录 rmdir dname 
            rm -r *** -(递归删除该目录下所有内容,询问每个准备删除的文件) 
            rm -rf ***-(强制删除该目录下所有内容,不询问) 
      --创建空白文件 touch *** 
            (ps:从技术的角度来讲,linux的文件后缀名没有任何意义) 
      --复制 cp 
            cp -r **1 **2 (复制1到2中) 
      --移动 mv 
            mv -t **1 **2 (把2移动到1中) 
      --编辑文本 vi [文件名] 
      --查看文本 cat  由第一行开始显示文本內容 
                 tac  从最后一行显示,可以看出 tac 是 cat 的倒着写 
                 more 一页一页的显示文档內容 
                 less 与 more 类似,可以往前翻页 
                 head 只看头几行 
            -N(数字,可根据行数显示) 
                 tail 只看后几行 
            -N(数字,可根据行数显示) 
                 nl   显示的時候,顺序输出行号 
                 od   以二进制位的方式读取档案內容 
      --查找文本 find [路径][查找类型][搜索文件名] 
                 如查找rc.local  find /etc -name *.local 
      --查找命令信息及其位置   whereis 命令 
                 如 whereis ls 
      --查看环境变量 echo $SHELL 
                 如 echo $PATH (分大小写:分隔符是:,windows是echo %path%;) 
      --链接 ln 
                 如 ln joe.txt a (硬链接,如同复制一个新文件,joe.txt删除后,a还存在) 
          a是链接的名称,a和joe.txt同步,然后a的内容和joe.txt一样 
          joe.txt改变,a也跟着变 
          如 ln -s joe.txt b (软链接,如同创建一个快捷方式,joe.txt删除后,b不存在) 
      --wc 统计指定文本文件的行数、字数、字符数 
      --grep(很常用) 在指定的文本文件中查找指定的字符串 
          grep 字符串 文件名 
      --col 见管道.. 
      -------------------- 
      ----信息显示命令---- 
      -------------------- 
      --date     显示和设置日期 
      --stat     显示指定文件的相关信息 
      --who、w   显示在线登录用户 
      --whoami   显示用户自己的身份 
      --id       显示当前用户的id信息 
      --hostname 显示主机名称 
      --uname    显示操作系统信息 
      --dmesg    显示系统启动信息 
      --du       显示指定的文件(目录)已使用的磁盘空间 
      --df       显示文件系统磁盘空间的使用情况 
      --free     显示当前内存和交换空间的使用情况 
      --fdisk -l 显示磁盘信息 
      --locale   显示当前语言环境
 
      5、挂载点(mount 设备目录 挂载目录) 
      --访问设备 (那设备当成一个文件,和另外一个文件夹进行绑定) 
      --例如挂载光驱:步骤 [cd /mnt]---[mkdir cdr]---[mount /dev/cdrom /mnt/cdr]---[cd 
      cdr]--OK!直接访问光驱内容 
      --卸载挂载设备(umount /dev/cdrom)--注意必须先退出挂载目录,否则出现"device is busy"错误.
 
      6、startup-shutdown(linux启动流程) 
      --A、boot sequence(important) linux启动过程 
           a. load bios(hardware information) 
           b. read MBR's config to find out the OS 
              (MBR--Master Boot Record,硬盘第一个物理扇区,柱面0、磁头0、扇区1,包含主引导程序和硬盘分区表) 
           c. load the kernel of the OS 
              (加载为kernel核心的OS) 
           d. init process starts... 
              (启动linux第一个进程init) 
           e. execute /etc/rc.d/sysinit 
              (执行系统最重要的配置文件,后台启用进程) 
      (rc.d--run command) 
           f. start other modules(stc/modules.conf) 
              (开启各种模块,如内存管理模块、硬盘管理模块) 
           g. execute the run level scripts 
              (系统启动是分层次的,根据情况执行,每个层次之间没关系) 
      0 - 系统停机状态 
      1 - 单用户工作状态 root 
      2 - 多用户状态(没有NFS) 
      3 - 多用户状态(有NFS) 
           NFS - Network File System 网络文件系统,联网系统 
      4 - 系统未使用,留给用户 
      5 - 图形界面 
      6 - 系统正常关闭并重新启动 
      如:cd /etc -- 有rc0.d、rc1.d、rc2.d、rc3.d、rc4.d、rc5.d等多个文件夹,保存着各个层次执行的进程文件 
           h. execute /etc/rc.d/rc.local (重要) 
              (保存其它进程脚本,如tomcat自动启动,要修改此配置文件) 
           i. execute /bin/login 
              (登录界面) 
           j. shell started...
 
      7、vi 文本编辑器 
      --两种模式:命令模式   编辑模式 
      --vi [文件名] 
        (切换到编辑模式) 
        a   append-光标后添加 
        i   insert-光标前插入 
        o   open-另起一行编辑 
        esc (切换回命令模式) 
        :w  存盘 
        :wq 存盘退出 
        :q  退出 
        :q! 不存盘退出 
        dd  删除其中一行 
        dw  删除一个单词
 
      (sudo gedit 文本  常用linux下的文本编辑器,比vi好用)
 
      8、用户设置 
      --切换用户(switch user) su username 
          小技巧:直接exit切换 
      --添加用户 useradd username [-g] [组名](分配到某个用户组) 
        (创建后会自动在/home目录下创建该新用户的文件夹,如/home/username) 
      --设置密码 passwd username 
      --cd /etc 
        --查看用户信息 more password 
          如新增的用户信息:username:x:500:500::/home/username:/bin/bash 
          第一个数字,代表用户组,当添加用户没有指定用户组时,系统会创建一个和用户ID一样的组ID; 
          第二个数字:用户ID号; 
          用户的目录是/home/username; 
          用户的SHELL是/bin/bash 
              (命令--->SHELL[解释命令]--->kenrel内核) 
              SHELL有多种类型,如csh、bash(常用)、bsh、ksh、sh(最原始) 
      --添加用户组 groupadd groupname 
        --查看用户组信息 more group 
      --删除用户组 groupdel groupname 
      --修改用户 usermod [-g] [组名] [用户名] 
      --删除用户 userdel username 
           然后把/home的文件夹删除了 rm -rf 文件夹
 
      9、权限file privilege 
      --linux把文件的权限分成四种:r:read  w:write  x:execute  -:none 
      如:-rw-r--r-- 
          lrwxrwxrwx 
          drwxr-xr-x 
          drwxr-xr-x 
        第一个数字'-'代表文件,其余是文件夹,后9位分为3组,每组有四种权限设置rwx- 
        第一位表示文件所有者 
        第二位表示和所有者在同一用户组的用户 
        第三位表示不在同一用户组的用户权限
 
      --设置权限 (随意应用,灵活组合!) 
      1、普通用法 
        --添加权限  [chmod +x 文件] 
          如:-rw-r--r-- ---> -rwxr-xr-x 
        --删除权限  [chmod -x 文件] 
          如:-rwxr-xr-x ---> -rw-r--r-- 
        --给自己添加权限  [chmod ?+x 文件] 
          如此类推,组--g,其他人--o 
          如:chmod u+x   -rw-r--r-- ---> -rwxr--r-- 
              chmod g+x   -rw-r--r-- ---> -rw-r-xr-- 
      chmod o+x   -rw-r--r-- ---> -rw-r--r-x
 
      2、专业用法  chmod 755/777 
        --原理,八进制转二进制 
            如755,111 101 101, rwx r-x r-x 
              777,111 111 111, rwx rwx rwx
 
      --修改所有者权限 chown (change owner) 
        如:chown 原来文件 file1 的所有者是 root,改成joe的 
            chown joe file1
 
      10、管道(把上一个命令执行的结果交给下一个命令) 
          --使用方法: 
              命令1|命令2|命令3......|命令n 
          --使用举例 
            --$ls -Rl /etc | more 
              (如 ls -Rl /etc (在控制台模式下,无法返回前面过去的信息),因此需要管道执行该查询,实现分页的工作, ls -Rl 
      /etc | more) 
            --$cat /etc/passwd | wc 
              (显示文件结果,再数数有多少行) 
            --$cat /etc/passwd | grep  lrj 
              (显示文件结果,再查找包含lrj的行) 
            --#dmesg | grep eth0 
              (显示系统启动的信息,再查找包含eth0的行--真正含义,检查网卡执行信息是否正常) 
            --$man bash | col -b > bash.txt 
                语法:col [-bfx][-l<缓冲区列数>] 
                
      补充说明:在许多UNIX说明文件里,都有RLF控制字符。当我们运用shell特殊字符">"和">>",把说明文件的内容输出成纯文本文件时,控制字符会变成乱码,col指令则能有效滤除这些控制字符。
 
                参数: 
                  -b   过滤掉所有的控制字符,包括RLF和HRLF。 
                  -f   滤除RLF字符,但允许将HRLF字符呈现出来。 
                  -x   以多个空格字符来表示跳格字符。 
                  -l<缓冲区列数>   预设的内存缓冲区有128列,您可以自行指定缓冲区的大小。 
            --$ls -l | grep "^d" 
              (用正则表达式筛选出目录列表中 头字母为'd' 的内容--目录)(^是正则表达式开头部分) 
            --$ls -l * | grep "^-" | wc -l 
              (列出目录列表中 头字符为'-'的内容--文件,并统计显示的行数wc -l)
 
      11、其他命令 
        --wall(warning all) 通知所有人 
        a.命令替换 
          如 wall `date`、 cd 'pwd'、mkbootdisk $(uname -r) 
        b.重定向 
            重定向输出: 
            如 ls > cmd.txt ,把文件写到cmd.txt,不输出在控制台 
               ls >> cmd.txt ,把文件追加写到cmd.txt 
            重定向输入: 
            如 wall > cmd.txt,把文本内容发给所有人
 
      12、修改系统的默认系统级别 
        常用3和5 
        3 - 多用户状态(有NFS) 
            NFS - Network File System 网络文件系统,联网系统 
        5 - 图形界面
 
      PS.设置用户权限: sudo chmod 777 目录 
         4表示读,2表示写,1表示执行. 
         第一位表示文件所有者,第二位表示和所有者在同一用户组的用户,第三位表示不在同一用户组的用户权限. 
         755表示文件所有者可读写,执行. 
         第二位5表示与所有者在同一用户组的可读,可执行,不可写. 
         第三位5表示其它组可读,可执行,不可写. 

从手机浏览器访问《生活宝典》

站内搜索
  • 守宫砂是中国古代验证女子贞操的药物
  • 如何修改Linux系统的文件权限
  • 谈谈Linux下文件夹权限的问题
  • Linux 上的文件和目录权限介绍
  • linux|chmod,chown,chgrp文件安全与权限
  • linux下用webshell对文件权限的修改
  • Linux 系统文件安全与权限
  • 微商帮
    世界网站大全
    中国科研团队:大象的长鼻子是如何越变越长了
    中国科研团队:大象的长
    自己是否能够像自己想的那样做成一件事,身旁人的判断会比自己准确
    自己是否能够像自己想
    火宫殿:吃喝玩乐看,烧香拜神佛,红火的庙会经济
    火宫殿:吃喝玩乐看,烧香
    眼见为实也不为实,更须谨慎看到的并非全貌
    眼见为实也不为实,更须