linux基础知识

linux归纳出来的一些基础知识,也是做为自己的参考资料,希望各位渴望学习linux的朋友们共同学习。

1、linux分区

--在linux里面所有的设备、任何东西,在linux看来都是文件。

--文件在它看来,有两种形式:

第一种是字符型(键盘输入、打印机);

第二种是二进制型(硬盘、光驱、U盘)

--linux中所有硬件

--手动分区

--A、至少有两个分区

/根分区

SWAP交换分区(物理内存大小的两倍)

--B、个人桌面分区

/

/boot128MBisenough

/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)

/bootlinux的内核及引导系统程序文件存放目录(如: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并不是真正的文件系统

/rootlinux超级权限用户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(runlevel-/etc/inittab),0-6看第六部分的g

--进入根目录cd/

--回上层目录cd..

--相对路径cddev

--绝对路径cd/dev

--查用户名whoami

--查当前目录pwd

--列出当前目录内容ls

-l(树详细显示目录内容)

-m(横列显示目录内容,是屏幕长度显示)

-a(列出全部文件,包括隐藏文件)

-S(以文档大小排序)

--创建目录mkdirdname

--删除目录rmdirdname

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.localfind/etc-name*.local

--查找命令信息及其位置whereis命令

如whereisls

--查看环境变量echo$SHELL

如echo$PATH(分大小写:分隔符是:,windows是echo%path%;)

--链接ln

如lnjoe.txta(硬链接,如同复制一个新文件,joe.txt删除后,a还存在)

a是链接的名称,a和joe.txt同步,然后a的内容和joe.txt一样

joe.txt改变,a也跟着变

如ln-sjoe.txtb(软链接,如同创建一个快捷方式,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]---[mkdircdr]---[mount/dev/cdrom/mnt/cdr]---[cdcdr]--OK!直接访问光驱内容

--卸载挂载设备(umount/dev/cdrom)--注意必须先退出挂载目录,否则出现"deviceisbusy"错误.

6、startup-shutdown(linux启动流程)

--A、bootsequence(important)linux启动过程

a.loadbios(hardwareinformation)

b.readMBR'sconfigtofindouttheOS

(MBR--MasterBootRecord,硬盘第一个物理扇区,柱面0、磁头0、扇区1,包含主引导程序和硬盘分区表)

c.loadthekerneloftheOS

(加载为kernel核心的OS)

d.initprocessstarts...

(启动linux第一个进程init)

e.execute/etc/rc.d/sysinit

(执行系统最重要的配置文件,后台启用进程)

(rc.d--runcommand)

f.startothermodules(stc/modules.conf)

(开启各种模块,如内存管理模块、硬盘管理模块)

g.executetherunlevelscripts

(系统启动是分层次的,根据情况执行,每个层次之间没关系)

0-系统停机状态

1-单用户工作状态root

2-多用户状态(没有NFS)

3-多用户状态(有NFS)

NFS-NetworkFileSystem网络文件系统,联网系统

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.shellstarted...

7、vi文本编辑器

--两种模式:命令模式编辑模式

--vi[文件名]

(切换到编辑模式)

aappend-光标后添加

iinsert-光标前插入

oopen-另起一行编辑

esc(切换回命令模式)

:w存盘

:wq存盘退出

:q退出

:q!不存盘退出

dd删除其中一行

dw删除一个单词

(sudogedit文本常用linux下的文本编辑器,比vi好用)

8、用户设置

--切换用户(switchuser)suusername

小技巧:直接exit切换

--添加用户useraddusername[-g][组名](分配到某个用户组)

(创建后会自动在/home目录下创建该新用户的文件夹,如/home/username)

--设置密码passwdusername

--cd/etc

--查看用户信息morepassword

如新增的用户信息:username:x:500:500::/home/username:/bin/bash

第一个数字,代表用户组,当添加用户没有指定用户组时,系统会创建一个和用户ID一样的组ID;

第二个数字:用户ID号;

用户的目录是/home/username;

用户的SHELL是/bin/bash

(命令--->SHELL[解释命令]--->kenrel内核)

SHELL有多种类型,如csh、bash(常用)、bsh、ksh、sh(最原始)

--添加用户组groupaddgroupname

--查看用户组信息moregroup

--删除用户组groupdelgroupname

--修改用户usermod[-g][组名][用户名]

--删除用户userdelusername

然后把/home的文件夹删除了rm-rf文件夹

9、权限fileprivilege

--linux把文件的权限分成四种:r:readw:writex: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

如:chmodu+x-rw-r--r----->-rwxr--r--

chmodg+x-rw-r--r----->-rw-r-xr--

chmodo+x-rw-r--r----->-rw-r--r-x

2、专业用法chmod755/777

--原理,八进制转二进制

如755,111101101,rwxr-xr-x

777,111111111,rwxrwxrwx

--修改所有者权限chown(changeowner)

如:chown原来文件file1的所有者是root,改成joe的

chownjoefile1

10、管道(把上一个命令执行的结果交给下一个命令)

--使用方法:

命令1|命令2|命令3......|命令n

--使用举例

--$ls-Rl/etc|more

(如ls-Rl/etc(在控制台模式下,无法返回前面过去的信息),因此需要管道执行该查询,实现分页的工作,ls-Rl/etc|more)

--$cat/etc/passwd|wc

(显示文件结果,再数数有多少行)

--$cat/etc/passwd|greplrj

(显示文件结果,再查找包含lrj的行)

--#dmesg|grepeth0

(显示系统启动的信息,再查找包含eth0的行--真正含义,检查网卡执行信息是否正常)

--$manbash|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(warningall)通知所有人

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-NetworkFileSystem网络文件系统,联网系统

5-图形界面

PS.设置用户权限:sudochmod777目录

4表示读,2表示写,1表示执行.

第一位表示文件所有者,第二位表示和所有者在同一用户组的用户,第三位表示不在同一用户组的用户权限.

755表示文件所有者可读写,执行.

第二位5表示与所有者在同一用户组的可读,可执行,不可写.

第三位5表示其它组可读,可执行,不可写.

相关推荐