linux操作系统总结1

Linux总结

撰稿作者:清村常争    2016年5月18日星期三

参考文献http://www.runoob.com/linux/linux-tutorial.html

 

Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统,也是一个性能稳定的多用户网络操作系统。知名的发行版有:Ubuntu、RedHat、CentOS、Debain、Fedora等

通常服务器使用LAMP(Linux + Apache + MySQL + PHP)或LNMP(Linux + Nginx+ MySQL + PHP)组合。

虚拟机:付费VMware或开源VM VirtualBox

 

系统启动过程

(1)内核的引导;

(2)运行init;

(3)系统初始化;

(4)建立终端;

(5)用户登录系统。

可通过dmesg命令 或  /var/log/dmesg文件下查看系统启动过程。

init,运行级别:

0关机

1单用户模式

2不带网络的多用户模式

3多用户模式

4未使用

5图形化模式

6重新启动

可以通过修改/etc/inittab文件改变启动模式,或修改/etc/init目录下某些指定文件来修改启动。每个级别对应的启动服务保存在/etc/rc.d/rc[0123456].d中。

单用户模式进入后passwd命令修改ROOT密码。再可使用grub-md5-crypt对密码进行加密,后将加密的密码复制到/boot/grub/grub.conf文件中(passwd --md5 加密密码),可以对单用户模式设置密码。

 

系统目录结构

/bin:bin是Binary的缩写, 存放着最经常使用的命令。

/boot:是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。

/dev:Device缩写, 存放的是Linux的外部设备,访问设备和访问文件的方式是相同的。

/etc:用来存放所有的系统管理所需要的配置文件和子目录。

/home:用户的主目录,每个用户都有一个自己的目录,该目录名是以用户的账号命名的。

/lib:存放着系统最基本的动态连接共享库。

/lost+found:一般情况下是空的,当系统非法关机后,这里就存放了一些文件。

/medialinux:系统会自动识别一些设备,如U盘等,把识别的设备挂载到这个目录下。

/mnt:用于临时挂载别的文件系统,如挂载光驱,然后进入该目录就可查看光驱内容了。

/opt:这是给主机额外安装大型软件所摆放的目录。

/proc:这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。

/root:该目录为系统管理员,也称作超级权限者的用户主目录。

/sbin:s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序。

/selinux:是Redhat/CentOS所特有,是一个安全机制,类似于windows的防火墙。

/srv:存放一些服务启动之后需要提取的数据。

/sys:安装了2.6内核中新出现的一个文件系统 sysfs 。

/tmp:这个目录是用来存放一些临时文件的。

/usr:存放用户的很多一般的应用程序和文件,类似与windows下的programfiles目录。

/usr/bin:系统用户使用的应用程序。

/usr/sbin:超级用户使用的比较高级的管理程序和系统守护程序。

/usr/src:内核源代码默认的放置目录。

/var:存放着不断扩充着的东西,习惯将那些经常被修改的目录放在该目录下,如日志文件。

 

文件基本属性:ls -l

(1)文件类型

d :目录;

- :文件;

l :链接文档;

b :可供储存的接口设备;

c :串行端口设备,如键盘、鼠标。

(2)所属权限

所属用户:该文件的所有者拥有该文件的权限;

所属组中的用户:所有者的同组用户拥有该文件的权限;

其他用户:组外用户拥有该文件的权限。

[r ]代表可读(read)、[ w ]代表可写(write)、[ x]代表可执行(execute)、[ - ]表示没有权限。

(3)文件属于特定的所有者,用户可属于一个或多个组。

更改文件属组

chgrp[-R] 属组名 文件名

[-R ]:递归修改文件属组,即该目录下所以文件都修改属性。

更改文件属主、属组

chown[–R] 属主名 文件名

chown[-R] 属主名:属组名 文件名

更改文件9个属性

方法一:数字修改

chmod[-R] xyz 文件或目录

xyz分别是三组r+w+x累加值,r:4、w:2、x:1,无权限不用加入。如755

方法二:符号修改,user、group、others、all

chmod

 

u

g

o

a

+(加入)

-(除去)

=(设定)

r

w

x

文件或目录

如:chmod  go+rw  hello.c

(4)默认权限:umask,第一位是特殊权限,后3位是普通权限。

       特殊权限: suid让本用户做原本没有权限做的事(如本用户可以执行属于其他用户的应用程序);sgid新建的文件保留上一级文件的所属组;sticky保护本用户在该目录下创建的文件不被其他用户删除。

设置suid:chmod  u+s  LinuxData

设置sgid:chmod  g+s  LinuxData

设置sticky:chmod  o+t  LinuxData

 

文件与目录管理

(1)处理目录命令

绝对路径:cd  /home/changqing/Desktop

相对路径:cd  ./Desktop,相对于当前目录下的路径

ls [-ald] 目录名称:列出目录         –a:全部文件;-l:长数据;-d:仅目录

cd [路径]:切换目录                        ..:上一级目录;~:家目录;-:上一次工作目录

pwd [-P]:显示当前目录               -P:显示确实路径,而非link目录

mkdir [-mp] [权限] 目录名称:创建新目录  -m:配置文件权限;-p:创建多层目录

rmdir [-p] 目录名称:删除空的目录                    -p:删除多层目录,后续跟具体路径

cp [-adfilprsu] 来源档目标档:复制文件或目录              -i:询问操作;

-p:连同属性一起复;-r:递回(目录复制);-v:显示详细信息

rm [-fir] 文件或目录:删除文件或目录                -i:询问操作;     -f:强制

mv [-fiu] 文件或目录:移动文件或目录、重命名               -i:询问操作

man:帮助指令

(2)文件内容查看

touch 文件:创建空白文件或更新已存在文件

file 文件:查看文件类型

cat [-AbEnTv] 文件:由第一行开始显示文件内容

tac 文件:从最后一行开始显示,tac 是 cat 的倒著写

nl [-bnw] 文件:显示的时候,顺道输出行号。

more 文件:显示文件内容              翻页操作:空格键、enter键、/字串、:f、q、b

less 文件:显示文件内容                翻页操作:空格键、pagedown、pageup等

head [-n number] 文件:只看开头几行      number为行数

tail [-n number] 文件:只看结尾几行 -f:追踪文件更新,命令不退出,持续显示新内容

 

用户与用户组管理

每个用户属于一个主组,最多可属于31个附属组。UserID、GroupID。root用户ID为0,系统用户ID为1-499,普通用户500以上。

id 用户名:查看用户信息,whoami显示当前用户、who显示有哪些用户已登入、w显示有哪些用户已登入且在干什么。

(1)用户管理

添加账号:useradd 选项 用户名    需后期添加密码才可使用

删除账号:userdel 选项 用户名

修改账号:usermod 选项 用户名

密码管理:passwd 选项 用户名

(2)用户组管理

添加用户组:groupadd 选项 用户组

删除用户组:groupdel 用户组

修改用户组属性:groupmod 选项 用户组

切换用户组:newgrp 用户组

(3)与用户账户相关的系统文件

/etc/passwd:记录着所有用户基本属性

用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录Shell

/etc/shadow:与上个文件自动产生,记录用户密码(加密的)

登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志

/etc/group:用户组的所有信息

组名:口令:组标识号:组内用户列表

(4)批量添加用户

1)先编辑一个文本用户文件;

2)以root身份执行newusers;

3)以root身份执行pwunconv;

4)编辑每个用户的密码对照文件;

5)以root身份执行chpasswd

6)pwconv,确定密码经编码写入/etc/passwd的密码栏

 

磁盘管理

Linux中磁盘hd或sd放在/dev中,每一个物理磁盘以abc等字母编号,每个磁盘上的分区以123数字编号,如/dev/sda3。分区机制有MBR(传统的BIOS型PC机,最大2T)和GPT(较新的UEFI型硬件设备,超过2T)。

MBR分区最多可以创建4个主分区,如需创建更多分区,则需创建扩展分区,一个扩展分区会占用一个主分区,且扩展分区不能直接使用,需要创建逻辑分区后使用。

GPT分区向下兼容MBR,必须使用64bit系统。

磁盘结构:heads磁头、sectors扇区、cylinders柱面等

步骤:主要看粗体命令

(1)fdisk:用于磁盘分区,只用于MBR机制的分区、且只有root用户可执行

fdisk  -l:列出所有安装的磁盘及其分区信息

fdisk  /dev/sda:sda指的是需要被分区的磁盘,后提示键入m,n添加新区,e扩展分区/p主分区,输入起始位置与大小(如+2G),最后键入w写入磁盘。分区后需使用partprobe命令让内核更新分区信息,否则需要重启才能识别新分区。

磁盘创建分区后不能被操作系统直接使用,需创建文件系统。

(2)操作系统通过文件系统管理文件及数据,文件系统中会带有日志,增强了系统的稳定性,创建文件系统的过程称为格式化。没有文件系统的设备称为裸(raw)设备,windows下文件系统由NTFS,Linux下有ext3、ext4。

mke2fs –c  -t  ext4 /dev/sda1:在/dev/sda1上创建ext4文件系统。-t  ext4创建ext4文件系统,-c检测设备是否有坏点。或者也可使用mkfs.ext4  /dev/sda1创建文件系统。

dumpe2fs  /dev/sda1:查看分区的文件系统信息。

e2label /dev/sda1  LINUXDATA:设置sda1的系统标签为LINUXDATA。

e2label /dev/sda1:显示sda1的系统标签。

fsck  /dev/sda1:检查并修复损坏的文件系统,但是磁盘必须先卸载再检查。-y参数不提示而直接进行修复。当文件系统损坏较严重,需使用-t  ext4参数指定文件系统类型。fsck会将文件系统无记录的损坏数据放入挂载目录下的lost+found目录。

(3)磁盘或分区创建好文件系统后,需要挂载到一个目录下才能够使用。

mount /dev/sda1  /mnt/:挂载/dev/sda1分区到/mnt/目录下。mount显示当前挂载信息。-t指定文件系统类型。-o指定挂载选项:ro只读、rw读写、remount重新挂载、sync不使用缓存,而对所有操作直接写入磁盘,保证数据写入的成功率。

umount /dev/sda1 == umount /mnt/:卸载磁盘,相当于windows中的弹出。若系统无法卸载,可通过fuser –m /mnt/参看使用文件系统的进程,losf /mnt/参看正在被使用的文件。

对文件系统的任何操作,除了读写数据,都需要先卸载后操作。

设置磁盘自动挂载:配置/etc/fstab文件定义自动挂载,fstab每一行代表一个挂载配置,格式是“需要挂载的设备 挂载点 文件系统 挂载选项 dump、fsck相关选项”,如

/dev/sda1  /mnt  ext4  defaults 0 0 或 hLABEL=LINUXDATA  /mnt ext4  defaults  0 0,最后mount –a命令挂载所有fstab中定义的自动挂载项,或reboot重启系统。

 

df:列出文件系统的整体磁盘使用量

du:检查磁盘空间使用量

 

获取帮助:粗体为常用方法

(1)命令名 --help或–h:简单列出内容。

(2)man 命令名:详细列出内容,期间可键入/关键字,查看相关内容。

man数字 命令名:列出下表相关的文件。

部分

类型

1

用户命令

2

内核系统调用

3

库函数

4

特殊文件和设备

5

文件格式和规范

6

游戏

7

规范、标准和其他页面

8

系统管理命令

9

Linux内核API

(3)man –k 关键字:查询包含该关键字的文档。

(4)info与man类似,但提供更为详细的信息。

(5)/usr/share/doc目录下存放详细的文档。

(6)google搜索

 

网络基本配置

不同网络间通信需要网关/路由器,每一个网址,即域名,对应于一个IP地址,DNS就是用于解析域名的。www.baidu.com,其中www为主机名,baidu为域名,com为类型。

ifconfig -a:查看所有接口           ifconfig  eth0:查看特定的接口

ifup eth0:启用一个接口             ifdown eth0:禁用一个接口

setup:配置网络信息,之后通过ifup启动网络。IP -> 子网掩码 -> DNS -> 网关。

网络相关配置文件

网卡配置文件:/etc/sysconfig/network-scripts/ifcfg-eth0

DNS配置文件:/etc/resolv.conf

主机名配置文件:/etc/sysconfig/network

静态主机名配置文件:/etc/hosts

网络测试命令

       测试网络连通性:ping 192.168.1.1   或   ping  www.baidu.com

       测试DNS解析:host  www.baidu.com   或    dig  www.baidu.com

       显示路由表:ip route

       追踪到达目标地址的网络路径:traceroute  www.baidu.com

       测试网络质量:mtr www.baidu.com

 

管道、重定向

不要重复发明轮子。

多命令协作通过管道和重定向实现:管道,完成命令的组合;重定义:将输出信息或文件输入到文件。

       Shell的数据流:其中STDOUT只输出正确的输出,而STDERR输出错误的信息。

名称

说明

编号

默认

STDIN

标准输入

0

键盘

STDOUT

标准输出

1

终端

STDERR

标准错误

2

终端

        

分类

关键字

定义

例子

说明

重定向

将STDOUT重定向到文件(覆盖方式)

echo hello > out1

将hello输出到out1文件

>> 

将STDOUT重定向到文件(追加方式)

echo hello>> out2

将hello输出到out2文件

2>

将STDERR重定向到文件(覆盖方式)

ls nothere 2> out3

将错误输出到out3文件

2>&1

将STDOUT和STDERR结合重定向到文件(覆盖)

ls nothere > o 2>&1

将输出与错误输出到out文件

重定向STDIN

(从后到前执行)

grep Music < /home/a

将/home/a文件输入到grep命令中

管道

|

将一个命令的STDOUT作为另一个命令的STDIN

ls –l | grep Music

ls的命令结果输入给grep命令

 

文本处理工具

文件浏览:cat、more、less、head、tail等命令

基于关键字的搜索文本:grep[-xx] changqing /etc/passwd  或  find / -user changqing | grep Video。-i搜索中忽略大小写,-n显示行数,-v输出不带关键字的行,-Ax输出包含结果所在行之后的指定x行数,-Bx输出包含结果所在行之前的指定x行数。

区别:grep在文件中查找匹配条件的行,find在目录中搜索匹配条件的文件。

基于列处理的文本内容:cut–d: -fx /etc/passwd  或  grep changqing /etc/passwd | cut –d: -fx。-d指定分隔字符(默认Tab),-f指定输出的列号,-c基于字符进行切割。

统计文本信息:wc[-xx] 文件。-l统计行数,-w统计单词数,-c 统计字节数,-m统计字符数。

排序文本内容:sort[-xx] 文件。-r倒序排序,-n基于数字进行排序,-f忽略大小写,-u删除重复行,-t c使用c作为分隔符分割为列进行排序,-k c当进行基于指定字符分割为列的排序时,指定基于那个列的排序。

删除重复行:uniq文件。uniq删除相邻的重复行,sort –u删除所有的重复行。

比较文本内容:diff文件1 文件2。-i忽略大小写,-b忽略空格数量的改变,-u统一显示比较信息(一般用于生成pitch补丁文件)

拼写检查:aspell。

处理文本内容:删除关键字tr-d 字符 < 文件,转换大小写tr ‘a-z’ ‘A-Z’<文件。

搜索替换:sed‘s/linux/unix/g’ 文件。将文件中的linux替换成unix,g参数表示替换所有,没有的话表示替换第一个。

 

软件管理

软件管理最重要的是解决软件包之间的依赖关系。

(1)RPM软件包管理

RPM软件包命名规范:linuxcast-1.2.0-30.e16.i686.rpm

Linuxcast软件名1.2.0-30软件版本号e16运行的系统i686表示64位或32位系统

安装软件:rpm -i xxx.rpm

卸载软件:rpm -e xxx

升级软件:rpm -U xxx.rpm

支持http、ftp协议安装:rpm -ivh http://www.linuxcast.net/spftware,

-v显示详细信息,-h显示进度条

RPM查询:查询rpm软件及其相关的信息

       列出所有安装的rpm软件:rpm -qa

       查询目标文件属于哪个rpm包:rpm -qf filename

       查询指定已安装rpm软件的信息:rpm -qi packagename

       查询指定已安装rpm软件包含的文件:rpm -ql packagename

       查询未安装rpm的信息:rpm -qip software.rpm

       查询未安装rpm的包含的文件:rpm -qlp software.rpm

RPM验证:验证rpm软件是否完整或是否被修改

       验证rpm文件: rpm -K software.rpm

       验证已安转的软件:rpm -V software

导入秘钥:rpm -import RPM-GPG-KEY-CentOS-6

(2)YUM软件管理

         YUM(Yellowdog Updater,Modified)是RPM的前端程序,目的是设计用来自动解决RPM的依赖关系,对RPM进行分组,进行基于组的安装操作,引入仓库repo的概念(存放所有的现有rpm包)。

         仓库的配置文件保存在/etc/yum.repos.d/目录下,格式如下:

[centosplus]

name=CentOS-$releasever- Plus

baseurl=http://mirror.centos.org/centos/centosplus

gpgcheck=1

enabled=1

仓库可以使用file、http、ftp、nfs方式,yum配置文件必须是.repo结尾,一个配置文件可以存放多个仓库的配置信息,该目录下可存放多个配置文件。

安装软件:yum installsoftwarename

卸载软件:yum remove softwarename

升级软件:yum update softwarename

查询软件

搜索:yum search 关键字

列出全部、安装的、最近的、更新的软件:yum list [all/installed/recent/updates]

       显示软件信息:yum info packagename

       查询某个文件属于哪个rpm包:yum whatprovides filename

创建本地YUM仓库

(1)将所有rpm文件拷贝到一个文件夹rpm-directory中

(2)通过rpm命令手工安装createrepo软件:rpm -ivh createrepo<Tab>,再安装提示需要安装的rpm

(3)运行命令createrepo -v /rpm-directory:rpm-directory为yum的仓库路径,最后会自动创建repodata索引表。如果光盘中有分组信息,则在运行命令时使用-g参数指定分组文件,分组信息保存在光盘/repodata/目录下的***comps.xml文件中     createrepo  -g  /tmp/*comps.xml  /rpm-directory

(4)在/etc/yum.repos.d/中添加仓库信息:创建xxx.repo文件,在文件中加入配置信息,本地采用file:///linuxcast-YUM/(其中/linuxcast-YUM/为仓库路径)

(5)新添加的YUM仓库需要更新:yumclear all、yum list

(3)源代码形式管理:管理麻烦,但兼容性和控制性好

(1)./configure        检查编译环境、相关文件以及配置参数并生成makefile

(2)make                 对源代码进行编译,生成可执行文件

(3)make install      将生成的可执行文件安装到当前计算机中

 

打包压缩相关命令

zip、gzip、bzip2:压缩

tar:  打包压缩

-c           归档文件

             -x           压缩文件

             -z           gzip压缩文件

             -j            bzip2压缩文件

             -v           显示压缩或解压缩过程 v(view)

             -f           使用档名

例:

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

tar -zcvf /home/abc.tar.gz /home/abc    打包,并用gzip压缩

tar -jcvf/home/abc.tar.bz2 /home/abc      打包,并用bzip2压缩

tar –xvf 或 tar –zxvf 或 tar –jxvf               压缩相应的打包与压缩

 

vim使用                               Emacs

vim三种模式:命令模式、插入模式、底行模式。使用ESC、i、:切换模式。

vim [路径/]目标文件名:若存在则打开,不存在则新建并打开。

1.vim hello.c    2. 键入i    3. 编辑    4. 键入[ESC]    5. 键入:wq保存退出

命令模式:用于复制、粘贴、删除命令

       i:在光标前插入文本

       o:在当前行的下面插入新行

dd:删除当前光标所在行

yy: 复制当前光标所在行

[n]yy:n为数字,复制当前光标开始的n行

p: 粘贴复制的内容到光标所在行

[n]dd:删除当前光标所在行开始的n行

/name<enter>:查找光标之后的名为“name”的字符串,后按n,字符间跳转

G:光标移动到文件尾(注意是大写)

u: 取消前一个动作(注意是小写)

r:替代当前光标处的字符

底行模式

:w 保存

:q 退出vi(系统会提示保存修改)

:q! 强行退出(对修改不做保存)

:wq 保存后退出

:set number 显示行号      :set nonumber 取消行号

:!系统命令     执行一个系统命令并显示结果,按<enter>返回

:!sh 切换到命令行,按Ctrl+d返回vim

:w [filename] 另存为filename的文件

 

指令 [-参数] 对象

Linux严格区分大小写

指令界面:Ctrl + Alt + F2~F6,图形界面:Ctrl + Alt + F1

切换到root用户:sudo su -   回到基本用户:exit

su–:切换到root用户并使用新环境

“-”表示配置新环境,没有的话保持原环境

sudo:使用管理员用户身份运行命令 sudouname –a

快捷键

ctrl + r:在历史记录中搜索命令,方便写命令操作history

ctrl + c:退出当前命令

ctrl + z:退出当前指令

管理后台作业命令需要在后台运行:命令后添加一个&

jobs查看后台进程;

bg  [数字]控制某个进程在后台继续运行;

fg  [数字]控制某个进程在前台继续运行;

暂停某个程序:Ctrl+ z或者发送信号17

日期时间

date:   当前系统时间、hwclock硬件时钟时间、cal日历、uptime系统运行时间

echo:  显示输入的内容

lspci:   查看PCI设备       -v详细信息

lsusb:  查看usb设备      -v详细信息

lsmod:       查看加载的模块(驱动)

常用指令

echo      创建带有内容的文件

find      查找位置 查找参数:在文件系统中搜索某文件,

locate    关键字:系统中快速搜索文件

需预先建立数据库、updatedb建立和更新数据库

tree        树形结构显示目录,需要安装tree包

ln           创建链接文件

root : #    user : $

系统管理命令

stat               显示指定文件的详细信息,比ls更详细

hostname    显示主机名

uname         显示系统信息

top               动态显示当前耗费资源最多进程信息

ps                 显示瞬间进程状态 ps -aux

du                 查看目录大小 du -h /home带有单位显示目录信息

df                  查看磁盘大小 df -h 带有单位显示磁盘信息

netstat         显示网络状态信息

man              命令不会用了,找男人  如:manls

clear             清屏

alias             对命令重命名

kill                杀死进程,先用ps 或 top命令查看进程的id,然后再用kill命令杀死进程。

关机/重启机器

shutdown

              -r          关机重启

      -h          关机不重启

              now       立刻关机

poweroff      关机

reboot          重启

先sync,将内存同步到硬盘中,而后关机或重启。

关闭计算机:poweroff 或 shutdown –h now power off //关闭操作系统、关闭电源

重启:reboot  或  shutdown –r now

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值