搜索
bottom↓
回复: 0

linux目录说明

[复制链接]

出0入0汤圆

发表于 2011-10-9 12:03:20 | 显示全部楼层 |阅读模式
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中用户分为两类:1、root超级用户  2、普通用户
      /bin
    引导启动所需的命令或普通用户可能用的命令(可能在引导启动后)。
    /sbin
    类似/bin ,但不给普通用户使用,虽然如果必要且允许时可以使用。
    /etc
    特定的配置文件。
    
/root
    root用户的家目录。
    
/lib
    根文件系统上的程序所需的共享库。
    /lib/modules
    核心可加载模块,特别是那些恢复损坏系统时引导所需的(例如网络和文件系统驱动)。
    /dev
    设备文件。
    /tmp
    临时文件。引导启动后运行的程序应该使用/var/tmp ,而不是/tmp ,因为前者可能在一个拥有更多空间的磁盘上。
    /boot
    引导加载器(bootstrap loader)使用的文件,如LILO。核心映象也经常在这里,而不是在根目录。如果有许多核心映象,这个目录可能变得很大,这时可能使用单独的文件系统更好。另一个理由是要确保核心映象必须在IDE硬盘的前1024柱面内。
    /mnt
    系统管理员临时mount的安装点。程序并不自动支持安装到/mnt 。 /mnt 可以分为子目录(例如/mnt/dosa 可能是使用MSDOS文件系统的软驱,而/mnt/exta 可能是使用ext2文件系统的软驱)。
    /proc , /usr , /var , /home
    其他文件系统的安装点。
  
    
/etc 目录包含很多文件。下面说明其中的一些。其他的你应该知道它们属于哪个程序,并阅读该程序的man页。许多网络配置文件也在/etc 中,它们在《网络管理指南》中说明。
  
    /etc/rc or /etc/rc.d or /etc/rc?.d
    启动、或改变运行级时运行的scripts或scripts的目录,更详细的信息见关于init 的章。
  
    /etc/passwd
    用户数据库,其中的域给出了用户名、真实姓名、家目录、加密的口令和用户的其他信息。格式见passwd 的man页。
  
    /etc/fdprm
    软盘参数表。说明不同的软盘格式。用setfdprm 设置。更多的信息见setfdprm 的man页。
  
    /etc/fstab
    启动时mount -a命令(在/etc/rc 或等效的启动文件中)自动mount的文件系统列表。 Linux下,也包括用swapon -a启用的swap区的信息。见4.8.5节和mount 的man页。
  
    /etc/group
    类似/etc/passwd ,但说明的不是用户而是组。见group 的man页。
  
    /etc/inittab
    init 的配置文件。
  
    /etc/issue
    getty 在登录提示符前的输出信息。通常包括系统的一段短说明或欢迎信息。内容由系统管理员确定。
  
      /etc/magic
    file 的配置文件。包含不同文件格式的说明,file 基于它猜测文件类型。见magic 和file 的man页。
  
    /etc/motd
    Message Of The Day,成功登录后自动输出。内容由系统管理员确定。经常用于通告信息,如计划关机时间的警告。
  
    /etc/mtab
    当前安装的文件系统列表。由scripts初始化,并由mount 命令自动更新。需要一个当前安装的文件系统的列表时使用,例如df 命令。
  
    /etc/shadow
    在安装了影子口令软件的系统上的影子口令文件。影子口令文件将/etc/passwd 文件中的加密口令移动到/etc/shadow 中,而后者只对root可读。这使破译口令更困难。
  
    /etc/login.defs
    login 命令的配置文件。
  
    /etc/printcap
    类似/etc/termcap ,但针对打印机。语法不同。
  
    /etc/profile , /etc/csh.login , /etc/csh.cshrc
    登录或启动时Bourne或C shells执行的文件。这允许系统管理员为所有用户建立全局缺省环境。各shell见man页。
  
    /etc/securetty
    确认安全终端,即哪个终端允许root登录。一般只列出虚拟控制台,这样就不可能(至少很困难)通过modem或网络闯入系统并得到超级用户特权。
  
    /etc/shells
    列出可信任的shell。chsh 命令允许用户在本文件指定范围内改变登录shell。提供一台机器FTP服务的服务进程ftpd 检查用户shell是否列在 /etc/shells 文件中,如果不是将不允许该用户登录。
  
    /etc/termcap
    终端性能数据库。说明不同的终端用什么"转义序列"控制。写程序时不直接输出转义序列(这样只能工作于特定品牌的终端),而是从/etc/termcap 中查找要做的工作的正确序列。这样,多数的程序可以在多数终端上运行。见termcap 、 curs_termcap 和terminfo 的man页。
  
    
/dev目录
    /dev 目录包括所有设备的设备文件。设备文件用特定的约定命名,这在设备列表中说明 (见[Anv])。设备文件在安装是产生,以后可以用 /dev/MAKEDEV 描述。 /dev/MAKEDEV.local 是系统管理员为本地设备文件(或连接)写的描述文稿 (即如一些非标准设备驱动不是标准MAKEDEV 的一部分)。
  
    
/usr 文件系统经常很大,因为所有程序安装在这里。 /usr 里的所有文件一般来自Linux distribution;本地安装的程序和其他东西在/usr/local 下。这样可能在升级新版系统或新distribution时无须重新安装全部程序。 /usr 的有些子目录在下面列出(一些不太重要的目录省略了,更多信息见FSSTND)。  
      /usr/X11R6
    X Window系统的所有文件。为简化X的开发和安装,X的文件没有集成到系统中。 X自己在/usr/X11R6 下类似/usr 。
    /usr/X386
    类似/usr/X11R6 ,但是给X11 Release 5的。
    /usr/bin
    几乎所有用户命令。有些命令在/bin 或/usr/local/bin 中。
    /usr/sbin
    根文件系统不必要的系统管理命令,例如多数服务程序。
    /usr/man , /usr/info , /usr/doc
    手册页、GNU信息文档和各种其他文档文件。
    /usr/include
    C编程语言的头文件。为了一致性这实际上应该在/usr/lib 下,但传统上支持这个名字。
    /usr/lib
    程序或子系统的不变的数据文件,包括一些site-wide配置文件。名字lib来源于库(library); 编程的原始库存在/usr/lib 里。
    /usr/local
    本地安装的软件和其他文件放在这里。
   
 /var/catman
    当要求格式化时的man页的cache。man页的源文件一般存在/usr/man/man* 中;有些man页可能有预格式化的版本,存在/usr/man/cat* 中。而其他的man页在第一次看时需要格式化,格式化完的版本存在/var/man 中,这样其他人再看相同的页时就无须等待格式化了。 (/var/catman 经常被清除,就象清除临时目录一样。)
    /var/lib
    系统正常运行时要改变的文件。
    /var/local
    /usr/local 中安装的程序的可变数据(即系统管理员安装的程序)。注意,如果必要,即使本地安装的程序也会使用其他/var 目录,例如/var/lock 。
    /var/lock
    锁定文件。许多程序遵循在/var/lock 中产生一个锁定文件的约定,以支持他们正在使用某个特定的设备或文件。其他程序注意到这个锁定文件,将不试图使用这个设备或文件。
    /var/log
    各种程序的Log文件,特别是login (/var/log/wtmp log所有到系统的登录和注销) 和syslog (/var/log/messages 里存储所有核心和系统程序信息。 /var/log 里的文件经常不确定地增长,应该定期清除。
    /var/run
    保存到下次引导前有效的关于系统的信息文件。例如, /var/run/utmp 包含当前登录的用户的信息。
    /var/spool
    mail, news, 打印队列和其他队列工作的目录。每个不同的spool在/var/spool 下有自己的子目录,例如,用户的邮箱在/var/spool/mail 中。
    /var/tmp
    比/tmp 允许的大或需要存在较长时间的临时文件。 (虽然系统管理员可能不允许/var/tmp 有很旧的文件。)
  
    /proc 文件系统是一个假的文件系统。它不存在在磁盘某个磁盘上。而是由核心在内存中产生。用于提供关于系统的信息(originally about processes, hence the name)。下面说明一些最重要的文件和目录。 /proc 文件系统在proc man页中有更详细的说明。  
  /proc/1
    关于进程1的信息目录。每个进程在/proc 下有一个名为其进程号的目录。
    /proc/cpuinfo
    处理器信息,如类型、制造商、型号和性能。
    /proc/devices
    当前运行的核心配置的设备驱动的列表。
    /proc/dma
    显示当前使用的DMA通道。
    /proc/filesystems
    核心配置的文件系统。
    /proc/interrupts
    显示使用的中断,and how many of each there have been.
    /proc/ioports
    当前使用的I/O端口。
    /proc/kcore
    系统物理内存映象。与物理内存大小完全一样,但不实际占用这么多内存;it is generated on the fly as programs access it. (记住:除非你把它拷贝到什么地方,/proc 下没有任何东西占用任何磁盘空间。)
    /proc/kmsg
    核心输出的消息。也被送到syslog 。
    /proc/ksyms
    核心符号表。
    /proc/loadavg
    系统"平均负载";3个没有意义的指示器指出系统当前的工作量。
    /proc/meminfo
    存储器使用信息,包括物理内存和swap。
    /proc/modules
    当前加载了哪些核心模块。
    /proc/net
    网络协议状态信息。
    /proc/self
    到查看/proc 的程序的进程目录的符号连接。当2个进程查看/proc 时,是不同的连接。这主要便于程序得到它自己的进程目录。
    /proc/stat
    系统的不同状态,such as the number of page faults since the system was booted.
    /proc/uptime
    系统启动的时间长度。
    /proc/version
    核心版本。

阿莫论坛20周年了!感谢大家的支持与爱护!!

你熬了10碗粥,别人一桶水倒进去,淘走90碗,剩下10碗给你,你看似没亏,其实你那10碗已经没有之前的裹腹了,人家的一桶水换90碗,继续卖。说白了,通货膨胀就是,你的钱是挣来的,他的钱是印来的,掺和在一起,你的钱就贬值了。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-10-3 06:20

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表