您的位置:首页 > 运维架构 > Linux

linux 目录结构+常用命令+压缩命令+vim使用+及一些基础知识(非常好)

2010-09-14 23:48 1351 查看
linux目录架构

/  根目录

/bin   常用的命令binaryfile的目录

/boot  存放系统启动时必须读取的档案,包括核心(kernel)在内

    /boot/grub/menu.lst  GRUB设置

    /boot/vmlinuz  内核

    /boot/initrd    核心解压缩所需RAMDisk

/dev   系统周边设备    

/etc   系统相关设定文件

    /etc/DIR_COLORS  设定颜色

    /etc/HOSTNAME  设定用户的节点名

    /etc/NETWORKING  只有YES标明网络存在

    /etc/host.conf文件说明用户的系统如何查询节点名

    /etc/hosts设定用户自已的IP与名字的对应表

    /etc/hosts.allow设置允许使用inetd的机器使用

     /etc/hosts.deny设置不允许使用inetd的机器使用

    /etc/hosts.equiv设置远端机不用密码

    /etc/inetd.conf设定系统网络守护进程inetd的配置

    /etc/gateways设定路由器

    /etc/protocols设定系统支持的协议

    /etc/named.boot设定本机为名字服务器的配置文件

    /etc/sysconfig/network-scripts/ifcfg-eth0  设置IP

    /etc/resolv.conf   设置DNS 

     /etc/X11 XWindow的配置文件,xorg.conf或XF86Config这两个XServer的设定档

    /etc/fstab   记录开机要mount的文件系统

    /etc/inittab设定系统启动时init进程将把系统设置成什么样的runlevel

    /etc/issue记录用户登录前显示的信息

    /etc/group设定用户的组名与相关信息

    /etc/passwd帐号信息

    /etc/shadow密码信息

    /etc/sudoers可以sudo命令的配置文件

    /etc/securetty设定哪些终端可以让root登录

    /etc/login.defs所有用户登录时的缺省配置

    /etc/exports设定NFS系统用的

    /etc/init.d/  所有服务的预设启动script都是放在这里的,例如要启动或者关闭

    /etc/xinetd.d/ 这就是所谓的superdaemon管理的各项服务的设定文件目录

    /etc/modprobe.conf  内核模块额外参数设定

    /etc/syslog.conf  日志设置文件

/home  使用者家目录

/lib   系统会使用到的函数库

    /lib/modules  kernel的相关模块

    /var/lib/rpm  rpm套件安装处

/lost+found   系统不正常产生错误时,会将一些遗失的片段放置于此目录下

/mnt    外设的挂载点

/media  与/mnt类似

/opt    主机额外安装的软件

/proc   虚拟目录,是内存的映射

     /proc/version  内核版本

      /proc/sys/kernel  系统内核功能

/root   系统管理员的家目录

/sbin   系统管理员才能执行的指令

/srv    一些服务启动之后,这些服务所需要取用的数据目录

/tmp    一般使用者或者是正在执行的程序暂时放置档案的地方

/usr    最大的目录,存许应用程序和文件

   /usr/X11R6:  X-Window目录

    /usr/src:   Linux源代码

   /usr/include:系统头文件

   /usr/openwin存放SUN的OpenWin

    /usr/man在线使用手册

   /usr/bin          使用者可执行的binaryfile的目录

   /usr/local/bin    使用者可执行的binaryfile的目录

   /usr/lib          系统会使用到的函数库

   /usr/local/lib    系统会使用到的函数库

   /usr/sbin         系统管理员才能执行的指令

   /usr/local/sbin   系统管理员才能执行的指令

/var  日志文件

   /var/log/secure   记录登入系统存取数据的档案,例如pop3,ssh,telnet,ftp等都会记录在此档案中

   /var/log/wtmp     记录登入者的讯息数据,last

   /var/log/messages 几乎系统发生的错误讯息

   /var/log/boot.log 记录开机或者是一些服务启动的时候,所显示的启动或关闭讯息

   /var/log/maillog  纪录邮件存取或往来(sendmail与pop3)的使用者记录

   /var/log/cron     记录crontab这个例行性服务的内容

   /var/log/httpd,/var/log/news,/var/log/mysqld.log,/var/log/samba,/var/log/procmail.log:

   分别是几个不同的网络服务的记录文件


一些常用的基本命令:

uname-a   查看内核版本      

ls-al   显示所有文件的属性

pwd        显示当前路径       

cd-   返回上一次目录    cd~   返回主目录

dates     设置时间、日期         

cal     显示日历    cal2006

bc         计算器具              

man &info    帮助手册

locale    显示当前字体    locale-a   所有可用字体    /etc/sysconfig/i18n设置文件

LANG=en   使用英文字体           

sync      将数据同步写入硬盘       

shutdonw-hnow&half&poweroff 关机

reboot    重启                  

startx & init5  进入图形界面

/work &?work   向上、下查找文档内容

chgrp     改变档案群组 chgrptestinginstall.log   

chown    改变所属人  chownroot:rootinstall.log

chmod     改变属性    chmod777install.log    read="4" write="2" execute="1"

cp  复制  cpfilename

rm  删除文件 rm-rffilename  强制删除文件

rmdir  删除文件夹

mv 移动   mv123.txt222.txt 重命名

mkdir    创建文件夹

touch    创建文件 更新当前时间

cat      由第一行开始显示    cat|more 分页

nl       在内容前加行号

more & less  一面一面翻动

head-nfilename  显示第N行内容

tail-nfilename 显示后N行内容

od       显示非纯文档

df-h显示分区空间

du 显示目录或文件的大小

fdisk  分区设置   fdisk-l/dev/hda 显示硬盘分区状态

mkfs   建立各种文件系统 mkfs-text3 /dev/ram15  

fsck   检查和修复LINUX档案

ln     硬链接  ln-s 软件链接

whereis  查找命令

locate   查找

find     查找  find/-name"***.***"

which    查看工具

whoami   显示当前用户

gcc-v   查看GCC版本

chattr+ifilename 禁止删除  chattr-ifilename 取消禁止

lsattr   显示隐藏档属性

updatedb 更新资料库

mke2fs   格式化  mkfs-text3

ddif="/etc/passwd"of="/tmp/passwd".bak   备份

mount    列出系统所有的分区

mount-tiso9660/dev/cdrom/mnt/cdrom  挂载光盘

mount-tvfat/dev/fd0/mnt/floppy      挂载软盘

mount-tvfat-oiocharset="utf8",umask=000/dev/hda2/mnt/hda2  挂载fat32分区

mount-tntfs-onls="utf8",umask=000/dev/hda3/mnt/hda3        挂载ntfs分区

Linux-NTFSProject:'target='_blank'>http://linux-ntfs.sourceforge.net/[/code]
umount/mnt/hda3 缷载

ifconfig  显示或设置网络设备

servicenetworkrestart  重启网卡 

ifdowneth0 关闭网卡

ifupeth0   开启网卡

clear   清屏

history   历史记录      !55 执行第55个指令

stty  设置终端   stty-a

fdisk/mbr  删除GRUB

at    仅进行一次的工作排程

crontab  循环执行的例行性命令   [e]编辑,[l]显示,[r]删除任务

&      后台运行程序   tar-zxvf123.tar.gz&--------->后台运行

jobs   观看后台暂停的程序  jobs-l

fg     将后台程序调到前台  fgn------>n是数字,可以指定进行那个程序

bg     让工作在后台运行

kill   结束进程   kill-9PID    [9]强制结束,[15]正常结束,[l]列出可用的kill信号

psaux 查看后台程序  

top    查看后台程序  top-d2   每两秒更新一次       top-d2-p10604  观看某个PID

       top-b-n2>/tmp/top.txt----->将top的信息进行2次,然后将结果输出到/tmp/top.txt   

pstree  以树状图显示程序   [A]以ASCII来连接,[u]列出PID,[p]列出帐号

killall  要删除某个服务   killall-9httpd

free     显示内存状态    free-m -------->以M为单位显示

uptime   显示目前系统开机时间

netstat  显示网络状态   netstat-tulnp------>找出目前系统上已在监听的网络联机及其PID

dmesg    显示开机信息   demsg|more

nice     设置优先权     nice-n-5vi&----->用root给一个nice植为-5,用于执行vi

renice   调整已存在优先权

runlevel 显示目前的runlevel

depmod   分析可载入模块的相依性

lsmod    显示已载入系统的模块

modinfo  显示kernel模块的信息

insmod   载入模块

modprobe  自动处理可载入模块

rmmod    删除模块

chkconfig  检查,设置系统的各种服务    chkconfig--list----->列出各项服务状态

ntsysv    设置系统的各种服务

cpio     备份文件


 

压缩命令:

*.Z     compress程序压缩的档案;

 *.bz2   bzip2程序压缩的档案;

 *.gz    gzip程序压缩的档案;

 *.tar   tar程序打包的数据,并没有压缩过;

 *.tar.gztar程序打包的档案,其中并且经过gzip的压缩

compressfilename 压缩文件 加[-d]解压 uncompress

gzipfilename  压缩 加[-d]解压 zcat123.gz查看压缩文件内容

bzip2-zfilename 压缩 加[-d]解压  bzcatfilename.bz2 查看压缩文件内容

tar-cvf/home/123.tar/etc 打包,不压缩

tar-xvf123.tar  解开包

tar-zxvf/home/123.tar.gz 以gzip解压

tar-jxvf/home/123.tar.bz2 以bzip2解压

tar-ztvf/tmp/etc.tar.gz  查看tar内容

cpio-covB >[file|device]  份份

cpio-icduv<[file|device]  还原


vi一般用法

一般模式             编辑模式                 指令模式

h左              a,i,r,o,A,I,R,O            :w保存

j下               进入编辑模式               :w!强制保存

k上               dd删除光标当前行          :q!不保存离开

l右               ndd删除n行                :wq!保存后离开

0移动到行首       yy复制当前行               :e!还原原始档

$移动到行尾       nyy复制n行                 :wfilename另存为

H屏幕最上         p,P粘贴                    :setnu设置行号

M屏幕中央         u 撤消                     :setnonu取消行号

L屏幕最下         [Ctrl]+r重做上一个动作      ZZ保存离开

G档案最后一行     [ctrl]+z暂停退出           :setnohlsearch  永久地关闭高亮显示

/work向下搜索                                  :sp同时打开两个文档

?work向上搜索                                  [Ctrl]+w两个文档设换

gg移动到档案第一行                             :nohlsearch   暂时关闭高亮显示


认识SHELL

alias   显示当前所有的命令别名     aliaslm="ls-al"  命令别名   unaliaslm取消命令别名

type     类似which

exprot   设置或显示环境变量

exprotPATH="$PATH":/sbin 添加/sbin入PATH路径

echo$PATH   显示PATH路径

bash     进入子程序

name=yang    设定变量

unsetname   取消变量

echo$name   显示变量的内容

myname="$nameitsme"  &  myname='$nameitsme'    单引号时$name失去变量内容

ciw=/etc/sysconfig/network-scripts/    设置路径

env     列出所有环境变量

echo$RANDOM   显示随意产生的数

set     设置SHELL

PS1='[/u@/h/w/A#/#]/$'    提示字符的设定

  [root@linux~]#read[-pt]variable    -----------读取键盘输入的变量

  参数:

  -p :后面可以接提示字符!

  -t :后面可以接等待的『秒数!』

declare   声明shell变量

ulimit-a  显示所有限制资料

ls/tmp/yang&&echo"exist"||echo"notexist"

意思是说,当ls/tmp/yang执行后,若正确,就执行echo"exist",若有问题,就执行echo"notexist"

 echo$PATH|cut-d':'-f5      以:为分隔符,读取第5段内容

export|cut-c10-20     读取第10到20个字节的内容

last|grep'root'   搜索有root的一行,加[-v]反向搜索

cat/etc/passwd|sort   排序显示

cat/etc/passwd|wc     显示『行、字数、字节数』

正规表示法

[root@testroot]#grep[-acinv]'搜寻字符串'filename

      参数说明:

      -a:将binary档案以text档案的方式搜寻数据

      -c:计算找到'搜寻字符串'的次数

      -i:忽略大小写的不同,所以大小写视为相同

      -n:顺便输出行号

      -v:反向选择,亦即显示出没有'搜寻字符串'内容的那一行!

grep-n'the'123.txt    搜索the字符-----------搜寻特定字符串      

 grep-n't[ea]st'123.txt   搜索test或taste两个字符---------利用[]来搜寻集合字符

grep-n'[^g]oo'123.txt    搜索前面不为g的oo-----------向选择[^]

 grep-n'[0-9]'123.txt 搜索有0-9的数字

grep-n'^the'123.txt搜索以the为行首-----------行首搜索^

grep-n'^[^a-zA-Z]'123.txt 搜索不以英文字母开头

grep-n'[a-z]$'123.txt   搜索以a-z结尾的行----------行尾搜索$

grep-n'g..d'123.txt    搜索开头g结尾d字符----------任意一个字符.

 grep-n'ooo*'123.txt    搜索至少有两个oo的字符---------重复字符*

sed   文本流编辑器   利用脚本命令来处理文本文件

awd   模式扫描和处理语言

nl123.txt|sed'2,5d'  删除第二到第五行的内容

diff    比较文件的差异

cmp     比较两个文件是否有差异

patch   修补文件

pr      要打印的文件格式化


 

帐号管理

/etc/passwd   系统帐号信息

/etc/shadow   帐号密码信息   经MD532位加密

    在密码栏前面加『*』『!』禁止使用某帐号

/etc/group    系统群组信息

/etc/gshadow

newgrp   改变登陆组

useradd & adduser   建立新用户 --------->useradd-mtest 自动建立用户的登入目录

         useradd-m-gpgrouptest--------->指定所属级

/etc/default/useradd  相关设定

/etc/login.defs      UID/GID有关的设定

passwd   更改密码----------->passwdtest

usermod  修改用户帐号

userdel  删除帐号----------->userdel-rtest

chsh     更换登陆系统时使用的SHELL  [-l]显示可用的SHELL;[-s]修改自己的SHELL

chfn     改变finger指令显示的信息

finger   查找并显示用户信息

id       显示用户的ID-----------> idtest

groupadd  添加组

groupmod  与usermod类似

groupdel  删除组

sutest   更改用户  su-   进入root,且使用root的环境变量

sudo      以其它身份来执行指令

visudo    编辑/etc/sudoers     加入一行『testALL=(ALL)ALL』

          %wheelALL=(ALL)ALL              系统里所有wheel群组的用户都可用sudo

          %wheelALL=(ALL)NOPASSWD:ALL    wheel群组所有用户都不用密码NOPASSWD

      User_AliasADMPW=vbird,dmtsai,vbird1,vbird3        加入ADMPW组

      ADMPWALL=NOPASSWD:!/usr/bin/passwd,/usr/bin/passwd[A-Za-z]*,/

      !/usr/bin/passwdroot     可以更改使用者密码,但不能更改root密码(在指令前面加入!代表不可)

PAM(PluggableAuthenticationModules,嵌入式模块)

who&w    看谁在线                    

last       最近登陆主机的信息

lastlog    最近登入的时间   读取/var/log/lastlog

talk       与其它用户交谈

write      发送信息   writetest  [ctrl]+d发送

mesg       设置终端机的写入权限   mesgn禁止接收    mesgy

wall       向所有用户发送信息   wallthisisqtest

mail       写mail  

/etc/default/useradd   家目录默认设置

quota     显示磁盘已使用的空间与限制    quota-guvs----->秀出目前root自己的quota限制值

          quota-vu  查询

quotacheck  检查磁盘的使用空间与限制    quotacheck-avug ----->将所有的在/etc/mtab内,含有quota支持的partition进行扫瞄

            [-m]强制扫描 

     quota一定要是独立的分区,要有quota.user和quota.group两件文件,在/etc/fstab添加一句:

    /dev/hda3/homeext3defaults,usrquota,grpquota12

    chmod600quota*        设置完成,重启生效

edquota   编辑用户或群组的quota [u]用户,[g]群组,[p]复制,[t]设置宽限期限

           edquota-ayang      edquota-pyang-uyoung----->复制   

quotaon   开启磁盘空间限制    quotaon-auvg-------->启动所有的具有quota的filesystem

quotaoff  关闭磁盘空间限制    quotaoff-a -------->关闭了quota的限制

repquota-av    查阅系统内所有的具有quota的filesystem的限值状态

Quota从开始准备filesystem的支持到整个设定结束的主要的步骤大概是:

1、设定partition的filesystem支持quota参数:

由于quota必须要让partition上面的filesystem支持才行,一般来说,支持度最好的是ext2/ext3,

其它的filesystem类型鸟哥我是没有试过啦!启动filesystem支持quota最简单就是编辑/etc/fstab,

使得准备要开放的quota磁盘可以支持quota啰;

2、建立quota记录文件:

刚刚前面讲过,整个quota进行磁盘限制值记录的档案是aquota.user/aquota.group,

要建立这两个档案就必须要先利用quotacheck扫瞄才行喔!

3、编辑quota限制值数据:

再来就是使用edquota来编辑每个使用者或群组的可使用空间啰;

4、重新扫瞄与启动quota:

设定好quota之后,建议可以再进行一次quotacheck,然后再以quotaon来启动吧!

 

开机流程简介

1、加载BIOS的硬件信息,并取得第一个开机装置的代号;

2、读取第一个开机装置的MBR的bootLoader(亦即是lilo,grub,spfdisk等等)的开机信息;

3、加载Kernel操作系统核心信息,Kernel开始解压缩,并且尝试驱动所有硬件装置;

4、Kernel执行init程序并取得run-level信息;

5、init执行/etc/rc.d/rc.sysinit档案;

6、启动核心的外挂模块(/etc/modprobe.conf);

7、init执行run-level的各个批次档(Scripts);

8、init执行/etc/rc.d/rc.local档案;

9、执行/bin/login程序,并等待使用者登入;

10、登入之后开始以Shell控管主机。

在/etc/rc.d/rc3.d内,以S开头的为开机启动,以K开头的为关闭,接着的数字代表执行顺序

GRUBvga设定

彩度/分辨率 640x480 800x600 1024x768 1280x1024  bit

    256       769     771     773      775     8bit

   32768      784     787     790      793    15bit

   65536      785     788     791      794    16bit

   16.8M      786     789     792      795    32bit

 

./configure   检查系统信息      ./configure--help|more 帮助信息

makeclean    清除之前留下的文件

make          编译

makeinstall  安装

rpm-q ----->查询是否安装            rpm-ql------>查询该套件所有的目录

rpm-qi----->查询套件的说明资料      rpm-qc[d]----->设定档与说明档

rpm-ivh ---->安装                   rpm-V -------->查看套件有否更动过

rpm-e ------>删除                   rpm-Uvh------->升级安装 

--nodeps----->强行安装               --test----->测试安装

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息