`

linux基础培训教程

阅读更多

头一段时间总结的教程,用于给芳芳做培训,以免被别人一问三不知。 

 

 

一、简介
n流行的OS
n32/64
n多用户、多任务、安全性高、免费、开源
n用于服务器领域:Web ServerMail Server
n常见发行版:一般分为桌面版和服务器版

  比如redhat产品线:

  桌面版Fedora、服务器版RHEL

  其他常见ubuntucentossusedebian
 
二、安装和开关机
 
双系统一定要安装grub,在grub中设置windows的启动项
 
熟悉man的使用,查询命名的含义
 
sync:把内存的数据写入到硬盘中
 
n重启、关机(r重启;h关机)
shutdown –r +1 1分钟后)
init 6
shutdown –r now (立刻)
init 0(关机)
 
nn看当前runlevel直接输入runlevel
     0 Halt the system
     1 Single user mode
 2 Basic multi user mode
 3 Multi user mode
 5 Multi user mode with GUI
 6 Reboot the system
 
三、文件和目录
绝对路径和相对路径
 
显示所有文件(包括隐藏) ll –a /path
 
-rw-r--r-- 1 root root 46432 Aug 20  2012 install.log    
上述含义为install.log为文件;own权限为可读可写、group权限为读、other权限为可读;对应的i-node有1个文件名相关联;owner为root;group为root;大小为46432个byte;最后修改时间为Aug 20  2012
 
cd一个目录至少需要该目录的r+x权限

改变文件的群组:chgrp users install.log

改变文件的owner:chown root install.log chown mail:mail log2012.log(用户:组)

改变文件的权限:chmod 777 install.log
                             chmod u=rwx,go=rx .bashrc
                             chmod a+w .bashrc
                             chmod u-x .bashrc
一共分为(u user, g group, o other, a all)
 
umask和umask -S:创建文件和目录的默认owner、group、other的权限
chattr +a filename增加文件append only属性 
    chattr +i attrtest(i属性无法删除、修改、更名等等)
   chattr -a filename  去除文件append only属性 
  lsattr是显示文件的属性
查看文件类型用 file /etc/hosts
                           /etc/hosts: ASCII English text
查找shell命令所在的路径用which 
[root@adshadoop76 ~]# which service
/sbin/service
内置的命令用[root@adshadoop76 ~]# type cd
cd is a shell builtin
 
查找shell命令和文件用whereis(注意,它不但可以查找非内置的shell命令所在路径,而且能够找出文件所在路径)
[root@adshadoop76 ~]# whereis resolv.conf
resolv: /etc/resolv.conf /usr/include/resolv.h
 
四、文件系统和磁盘
档案系统通常会将这两部份的资料分别存放在不同的区块
   档案权限(rwx)与档案属性(拥有者、群组、时间参数等)放置到inode 中,至于实际资料则放置到data block 区块中。
superblock:记录此filesystem 的整体资讯,包括inode/block 的总量、使用量、剩余量, 以及档案系统的格式与相关资讯等;
· superblock:记录此filesystem 的整体资讯,包括inode/block 的总量、使用量、剩余量, 以及档案系统的格式与相关资讯等;
· inode:记录档案的属性,一个档案占用一个inode,同时记录此档案的资料所在的block 号码;
· block:实际记录档案的内容,若档案太大时,会占用多个block 。
 
一个block分为1K、2K、4K这三种大小,一个block只能存放一个文件的内容,超出一个block的容量,就需要多个block进行存储,所以,当文件很小,block选择很大,则导致浪费;当文件很大,block设置很小,则导致inode中记录多个block区块编号,读取速度就很慢。
一个inode大小为128bytes,有记录到block的指向
 
查看磁盘文件系统信息用如下方式:
1、df -lh查询挂载点
/dev/sda1              99M   13M   82M  14% /boot
2、dumpe2fs /dev/sda1
 
查看本机使用的文件系统
more /etc/fstab
[root@adshadoop76 ~]# more /etc/fstab
/dev/VolGroup00/LogVol00 /                       ext3    defaults        1 1
LABEL=/boot             /boot                   ext3    defaults        1 2
tmpfs                   /dev/shm                tmpfs   defaults        0 0
devpts                  /dev/pts                devpts  gid=5,mode=620  0 0
sysfs                   /sys                    sysfs   defaults        0 0
proc                    /proc                   proc    defaults        0 0
/dev/VolGroup00/LogVol01 swap                    swap    defaults        0 0
 
[root@adshadoop76 ~]# df -lhT
Filesystem    Type    Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
              ext3     69G   65G     0 100% /
/dev/sda1     ext3     99M   13M   82M  14% /boot
tmpfs        tmpfs    3.9G     0  3.9G   0% /dev/shm
 
统计某个目录下面所有目录的大小
[root@adshadoop76 ~]# du -sh /usr/*
148M    /usr/bin
8.0K    /usr/etc
8.0K    /usr/games
231M    /usr/include
2.1M    /usr/kerberos
548M    /usr/lib
976M    /usr/lib64
41M     /usr/libexec
552M    /usr/local
37M     /usr/sbin
1.7G    /usr/share
64M     /usr/src
4.0K    /usr/tmp
24K     /usr/X11R6
 
hard link 只是在某个目录下新增一笔档名连结到某inode 号码的关连记录而已。
所以删除硬链接不影响原来的被硬链接文件的属性(inode)和文件内容(block),但是修改时会影响源文件的inode和block信息
ln /etc/profile .
在当前目录下创建profile的硬链接
symbolic link 产生新的inode,指向原来被连接的文件,文件类型为l
ln -s /etc/profile .
在当前目录下创建profile的symbolic link
 
四、账号和权限
/etc/passwd、/etc/shadow/和/etc/group分别维护用户名、密码和所属群组
创建一个用户(自动创建同名群组)
     useradd yuxiaoyue
把用户加入到其他组
     usermod –G othergroup yuxiaoyue
     gpasswd -d yuxiaoyue othergroup从组中删除
n查看自己的群组
     groups
groups输入后显示的第一个群组就是有效群组,在创建档案touch test之后,test的群组显示就是此有效群组
用户改变自己的有效群组
     newgrp othergroup
退出设定后的有效群组shell环境,回到初始环境
     exit
新增一个系统用户(uid小于500且没有home目录)useradd –r yuxiaoyue
useradd的时候指定shell为/sbin/nologin表示此用户无法登录系统
创建用户时,home目录数据默认来源于/etc/skel
修改密码有2种
     root登录 passwd username
     username登录 直接passwd
有个用户老捣蛋,root使该用户失效(有效)
     passwd –l username
     passwd –u username
删除某个用户userdel –r username,-r是包括删除/home/username目录,删除前,最好检查一下和username相关的档案(owner和group权限)
     find / -user ads
查询系统登陆者
     finger
 
五、vi编辑器
vi file进入 (一般模式)
dd删除一行;x删除单个字符
按“i”进行编辑(编辑模式)
按“ESC”,输入“:wq”(命令模式)
不想保存,输入“q!”
 
六、压缩和解压
2种压缩方式gzip和bzip2
压缩:tar -jcv -f filename.tar.bz2 dir
查询:tar -jtv -f filename.tar.bz2
解压缩:tar -jxv -f filename.tar.bz2 -C newdir(指定参数C可以解压到新的目录)
如果是gzip压缩,j替换成z
用unzip解压zip格式包
 
七、软件安装
源码安装
1、解压;
2、./configure;
3、make;
4、make install
软件作者通常制作好configure脚本,用来生成makefile
默认安装在/usr/local/中,可以使用--prefix=/path定制
 
[root@www ntp*]# ./configure --help | more <==查询可用的参数有哪些
--prefix=PREFIX install architecture-independent files in PREFIX
--enable-all-clocks + include all suitable non-PARSE clocks:
--enable-parse-clocks - include all suitable PARSE clocks:
 
rpm方式
软件信息被写入到/var/lib/rpm/中
安装:rpm -ivh package_name
注意prefix选项 --prefix NEWPATH

yum常用命令行命令
安装:yum install foo-x.x.x.rpm
删除:yum remove foo-x.x.x.rpm或者yum erase foo-x.x.x.rpm
升级:yum upgrade foo或者yum update foo
查询:yum info foo
搜索(以包含foo字段为例):yum search foo
显示依赖关系:yum deplist foo

软件签名验证
检查软件的MD5和sha1
md5sum MySQL-5.6.14-1.el6.i686.rpm-bundle.tar
2684a0be1a51f41bf1334f4be2ebfb7a
sha1sum MySQL-5.6.14-1.el6.i686.rpm-bundle.tar
0d5600b31cb9fc9b437cf4b3bbbc1bea0a695bc1
然后拿此数字和软件提供的字符串对比,一致表示没有篡改

八、SHELL相关
变量
读取变量
     echo $PATH
设置变量
     PATH=$PATH:/home/yuxiaoyue/shell
     MYVAR=“Test $PATH” //输出Test xxx(xxx代表PATH真实内容)
     MYVAR=‘Test $PATH’ //输出Test $PATH
     MYVAR=`uname -a`等价MYVAR=$(uname -a)
取消变量unset MYVAR
转义符号\:如name=vbird\’s\ name
普通变量追加:name=“$name”appendcontent
输入bash,会启动一个新的bash环境,变量无法共享
把变量导出为环境变量
     export MYVAR,这样子shell环境也能读取
列出所有的环境变量使用env、export
列出所有变量(含用户定义和环境变量)用set
export一个普通变量后,它就成为了一个环境变量
 
管线命令
『| 』仅能处理经由前面一个指令传来的正确信息,也就是standard output 的信息,对于stdandard
error 并没有直接处理的能力。,例如less, more, head, tail 等都是可以接受standard
input 的管线命令啦
cut用法
    echo $PATH | cut –d ‘:’ –f 2-5
    取出path环境变量中第2-5个冒号分隔的内容
    export | cut -c 12-
    取出每行的从第12个字符后面的所有字符
cut 主要的用途在于将『同一行里面的数据进行分解!』,处理多空格相连的数据时不太适用
type、which
     在PATH中查找输入的bash命令,找出路径和类型
反斜杠\回车,实现多行输入一个完整的命令
grep
     last | grep –v ‘root’ 显示非’root’的登录用户历史
/etc/profile可以修改path环境变量
ll  | grep ^d可查看子目录,ll –d只列出所在目录

iostat vmstat netstat的分析
     netstat –tnlp | grep 80
netstat -tlup | grep rsync
tcp 0 0 192.168.201.110:rsync *:* LISTEN 4618/xinetd
tcp 0 0 www.vbird.tsai:rsync *:* LISTEN 4618/xinetd
表示xinetd启动的rsync服务

FAQ
为啥文件有内容,但是在ll中查看大小为0
     因为它位于内存中,如/proc、/selinux等
如何以文字模式开机操作
     改一下/etc/inittab试试看
如何启动自己的shell或者服务
     vi /etc/rc.d/rc.local试试看
/etc/init.d/下面都是系统开机初始化的服务sh脚本,等同于service httpd start和chkconfig httpd on
     /etc/init.d/httpd start == service httpd start
     ==chkconfig httpd on
 
常见命令
date
cal
bc
cd
pwd
mkdir
rm
ls和ll
cp
mv
cat -n和nl
more
less
head -n 20
taif -fn 400
od
分享到:
评论

相关推荐

    Linux基础培训教程PPT文档

    本Linux基础培训教程PPT文档旨在帮助初学者理解和掌握Linux操作系统的基本概念、常用命令以及系统管理技能。 1. **Linux简介**: Linux是一个自由和开放源代码的操作系统内核,由林纳斯·托瓦兹在1991年创建。它...

    Linux基础培训教程

    详细的Linux入门讲解。让你明白如何操作。

    Linux_基础培训教程.ppt

    Linux 基础培训教程 Linux 基础培训教程主要介绍了 Linux 操作系统的基础知识,包括用户环境、基本命令、文件系统、文件权限、设备文件等方面的内容。 一、 Linux 用户环境 Linux 用户环境由内核、Shell、终端...

    linux基础培训教程课件

    Linux是一套免费使用和自由传播的类Unix操作系统,它主要用于基于Intel x86系列CPU的计算机上。这个系统是由全世界各地的成千上万的程序员设计和实现的,其目的是建立不受任何商品化软件的版权制约且全世界都能自由...

    Linux高级培训教程

    通过上述解析,我们可以看到,《Linux高级培训教程》涵盖了Linux软件管理、Shell命令行操作、编程基础以及搭建个人网站等多个方面的内容,旨在为读者提供全面的Linux系统管理和应用开发知识。无论是对于初学者还是有...

    Linux系统基础培训教程.ppt

    Linux系统基础培训教程

    LINUX经典自学视频基础教程

    这是对LINUX自学者来说是一个很好的视频教程,它不但教会你linux ,还教会你如何自学计算机的其他知识。

    linux基础教程(公司内部培训)

    总之,这个内部培训教程涵盖了Linux操作系统的基础知识,从安装、基本命令到高级应用,对学习者来说是一份宝贵的资源。通过深入学习和实践,不仅能够提升个人技能,也能为所在公司的项目开发和系统维护带来显著的...

    新东方Linux培训精品教程

    而"新东方Linux培训教程.pdf"则是整个教程的主体,其中包含了详细的文字说明和实例操作指导。 总的来说,这个【新东方Linux培训精品教程】是一套系统化的学习资料,不仅涵盖了Linux的基本操作,还深入到系统管理的...

    Linux实用培训教程

    Linux实用培训教程是一系列深入浅出的教育资源,旨在帮助用户掌握Linux操作系统的基础知识以及高级技巧。这个教程可能涵盖了从安装Linux系统,理解其文件系统结构,到执行日常管理任务,编写脚本,甚至进行网络配置...

    Linux培训教程:从实践中学习Linux-学习笔记.pdf

    综上所述,这份Linux培训教程从硬件基础到系统安装,再到UNIX和Linux的理论与实践,涵盖了从底层硬件认知到高级操作系统管理的全面知识体系。通过深入分析文档的部分内容,我们不仅了解到Linux系统的学习路径,还...

    linux实用培训教程

    1. Linux基础知识 - Linux历史与哲学:了解Linux的起源、发展以及其开源精神。 - Linux发行版:介绍常见的Linux发行版,如Ubuntu、CentOS、Debian等。 - 文件系统结构:理解Linux文件系统的层级结构,如根目录(/...

    Linux培训教程(pdf版)

    根据提供的文件信息,我们可以归纳出以下...综上所述,《Linux培训教程(pdf版)》不仅覆盖了Linux操作系统的基础知识,还深入探讨了使用VMware搭建Linux安装环境的具体步骤,对于初学者来说是一份非常宝贵的学习资料。

    Linux实用培训学习教程

    1. **Linux基础知识**:介绍Linux的发展历史、发行版分类,如Ubuntu、CentOS、Debian等,并讲解Linux与其他操作系统(如Windows和macOS)的区别。 2. **Linux安装与启动流程**:如何下载和安装不同的Linux发行版,...

    Linux机密培训教程

    这份“Linux机密培训教程”涵盖了20个章节,旨在深入讲解Linux系统的各个方面,帮助学习者掌握核心技能并理解其工作原理。 首先,我们可以预想到教程可能会从Linux历史和哲学开始,介绍它的诞生背景、发展过程以及...

    linux实用培训教程 组策略使用方法详解 oracle

    而“Linux实用培训教程”则涵盖了Linux的基础操作、系统管理、网络配置以及安全设置等核心主题。同时,由于提到了“Oracle”,我们可以推断教程中会涉及如何在Linux环境下安装、配置、管理和优化Oracle数据库,这...

    深蓝linux培训教程

    ### 深蓝 Linux 培训教程知识点详解 #### 一、Linux 是什么? - **定义**:Linux 是一种...以上是对“深蓝 Linux 培训教程”中的关键知识点进行的详细阐述,旨在帮助读者全面了解 Linux 系统的基础知识和操作技巧。

    Linux培训基础教程

    学习Linux基础,不仅需要理解这些理论概念,更重要的是实践操作。通过实际的终端命令行操作,加深对Linux的理解,熟练掌握文件管理、用户权限设置、软件安装和系统维护等技能,是成为Linux用户的必经之路。随着对...

Global site tag (gtag.js) - Google Analytics