Linux学习

来源:互联网 发布:局域网监控软件免费版 编辑:程序博客网 时间:2024/05/16 08:10

CentOS6.3为例:

login: root password: 123456

  • 一切皆文件,所有内容以文件形式保存
  • 命令行操作
  • 严格区分大小写
  • 不靠扩展名区分文件类型

系统分区与格式化

Windows与Linux不同的磁盘分区流程    Windows:分区-->格式化-->分配盘符    Linux:分区-->格式化-->给每个分区起“设备文件名”-->分配挂载点

1.分区类型

整个硬盘分为等大小的扇区,每个扇区512个字节,其中446字节记录启动信息,64字节进行分区表示,每16字节表示一个分区

分区示意图

  • 主分区最多4个(分区号1~4,即a、b、c、d)

    主分区加扩展最多4个

  • 扩展分区最多1个(图中4)

​ 不能写入数据,只能包含逻辑分区(分区号从5开始)

  • 逻辑分区(图中5、6)

2.格式化 (逻辑格式化)

根据用户选定的文件系统,如FAT16、FAT32*单文件不超过4G*、NTFS、EXT2(Linux)、EXT3(Linux)、EXT4(Linux),在磁盘特定区域写入特定数据,在分区中划出一片用于存放文件分配表、目录表等用于文件管理的磁盘空间。

分区设备文件与挂载点

1、分区设备文件

硬件设备文件名

/ 代表根目录 dev 存放硬件设备 [a-d] 代表第1~4块硬盘

分区设备文件名:

/dev/hda1 hd IDE硬盘接口 a 第一块硬盘 1第一个分区

/dev/sda1 sd SCSI、SATA硬盘接口

分区表示

逻辑分区(分区号从5开始)

2、挂载点

挂载

  • 挂载点

    参考Windows中的盘符的概念来理解。Windows中使用字母标识符来指定在这个分区上的文件和目录,而Linux中使用目录作为挂载点(盘符)

    绝大多数目录都可以作为挂载点(部分必须和根目录放在同一个分区的目录除外,否则将导致系统不能启动)包括你手工创建的目录

  • 挂载

    把盘符与分区连接到一起的过程,即下图中/boot(盘符)与/dev/sda1分区连接在一起

必须分区:    根分区 /(挂载点根目录,根目录中要保存其他所有数据,根目录如果没有硬盘空间,根下的很多数据将没有地方存放)    swap分区(交换分区,无挂载点,可理解为虚拟内存, 当真实内存不足时,可将swap分区中的硬盘空间作为内存使用,如果内存小于等于4GB,推荐swap分配内存的两倍,若内存大于4GB,建议swap空间与内存相等,不需要挂载点)推荐分区:    /boot分区(启动分区),推荐200MB (挂载点/boot目录,/boot中存放了用于系统启动的相关数据,如果不单独分区,将会和根分区存放在同一个存储空间中,如果根分区写满将导致系统无法启动)
实际工程中:1 服务器内存<=4G,Swap分区=内存*22 服务器内存>=4G,Swap分区=内存  ;

文件系统结构

Linux安装

安装日志:

  • /root/install.log

    存储了安装在系统中的软件包及其版本信息

  • /root/install.log.syslog

    存储了安装过程中留下的事件记录

  • /root/anaconda-ks.cfg

    以Kickstart配置文件的格式记录安装过程中设置的选项信息

Centos配置网络及使用xshell远程连接Centos

依照教程步骤配置。

教程最后,centos配置网络不成功时的解决办法:

在Linux命令行中输入 vi /etc/sysconfig/network-scripts/ifcfg-eth0

i变成编辑模式,屏幕下方出现个INSERT字样,这时跟windows的记事本一样修改ONBOOT=yes,改完后按ESC键,再输入冒号x即:x保存退出。

Linux常用命令

一、命令基本格式

1.1 命令提示符

  • [root@localhost ~]#

    root 当前登录用户

    localhost 主机名

    ~ 当前所在目录(家目录)

    # 超级用户提示符

    $ 普通用户提示符

1.2 命令格式

命令 [选项] [参数]

注意:个别命令使用不遵循此格式

​ 当有多个选项时可以写在一起

​ 简化选项与完整选项,即-a等于--all

1.3 查询目录中内容

ls [选项] [文件或目录]

选项:

  • -a 显示所有文件,包括隐藏文件
    • -l 显示详细信息
    • -d查看目录属性
    • -h人性化显示文件大小
    • -i显示inode(i节点)
例:
[root@localhost ~]# ls -l    (别名 ll)总用量 40-rw-------. 1 root root     0 11月 22 07:09 anaconda-ks.cfg-rw-r--r--. 1 root root 25906 11月 22 07:09 install.log-rw-r--r--. 1 root root  7690 11月 22 07:08 install.log.syslog

1.4权限

-rw-r--r-- 默认是十位,后九位中每三位一组

  • - 文件类型

    • - 文件
    • d 目录
    • l 软链接文件(即快捷方式)
  • rw- u所有者

    • r
    • w
    • x 执行
  • r-- g所属组

  • r-- o其他人

Linux系统中文件类型有7种:文件、目录、软连接文件、块设备文件、字符设备文件、套接字文件和管道文件

二、文件处理命令

2.1 目录处理命令

mkdir(mark directories) 建立目录

  • mkdir -p[目录名]

    -p 递归创建

例:
[root@localhost ~]# lsanaconda-ks.cfg  install.log  install.log.syslog[root@localhost ~]# mkdir bols[root@localhost ~]# lsanaconda-ks.cfg  bols  install.log  install.log.syslog[root@localhost ~]# mkdir japan/canglsmkdir: 无法创建目录"japan/cangls": 没有那个文件或目录[root@localhost ~]# mkdir -p japan/cangls[root@localhost ~]# lsanaconda-ks.cfg  bols  install.log  install.log.syslog  japan[root@localhost ~]# cd japan[root@localhost japan]# lscangls
  • cd [目录] 切换所在目录(change directory)

    简化操作:

    cd ~cd 进入当前用户的家目录

    cd - 进入上次目录

    cd .. 进入上一级目录

    cd . 进入当前目录


  • 相对路径

    参照当前所在目录,进行查找

  • 绝对路径

    从根目录开始指定,一级一级递归查找。在任何目录下,都能进入指定位置

pwd 查询所在目录位置(print working directory)

Ctrl + L 清屏

Tab键 目录、命令补全

删除目录命令

rmdir(remove empty directories) 删除空目录

  • rmdir [目录名]

rm -rf(remove) 删除文件或目录 (不区分目录和文件)

  • rm -rf [文件或目录]

    -r 删除目录

    -f 强制

注意:

  • rm -rf / 删除根目录下大部分文件
  • rm -rf /tmp/* 删除tmp目录下内容
  • rm -rf /tmp/ 删除tmp目录

2.2 文件处理命令

复制命令

cp (copy)复制

  • cp [选项] [源文件或目录][目标目录]

    -r 复制目录

    -p 连带文件属性复制

    -d 若源文件是链接文件,则复制链接属性

    -a 相当于 -pdr

剪切或改名命令

mv (move)剪切或改名

  • mv [原文件或目录][目标目录]

    原文件与目标文件在一个目录下是改名,不在一个目录则是剪切

2.3 链接命令

ln (link)链接命令

  • ln -s [原文件][目标文件]

    生成链接文件

    选项:-s 创建软连接

软连接与硬链接:

  • 硬链接特征:

    ​ 拥有相同的i节点和存储block块,可以看做是同一个文件;

    可通过i节点识别

    ​ 不能跨分区

    ​ 不能针对目录使用

  • 软链接特征:

    ​ 类似Windows快捷方式

    ​ 软链接拥有自己的i节点和block块, 但是数据块中只保存原文件的文件名和i节点号,并没有实际的文件数据

    ​ 软链接文件权限都为rwxrwxrwx

    ​ 修改任何文件,另一个都改变

    ​ 软连接源文件一定要写绝对路径

    ​ 删除原文件,软链接不能使用,但是硬链接可以使用

Linux常见目录作用

  • /root 超级用户的家目录
  • /tmp 临时目录
  • /sbin 命令保存目录(超级用户才能使用的目录)
  • proc 直接写入内存的
  • /sys
  • /usr 系统软件资源目录
    • /usr/bin 系统命令(普通用户)
    • /usr/sbin 系统命令(超级用户)
  • /var 系统相关文档内容
/bin 存放必要的命令 /boot 存放内核以及启动所需的文件等 /dev 存放设备文件 /etc 存放系统的配置文件 /home 用户文件的主目录,用户数据存放在其主目录中 /lib 存放必要的运行库 /mnt 存放临时的映射文件系统,我们常把软驱和光驱挂装在这里的floppy和cdrom子目录下。 /proc 存放存储进程和系统信息 /root 超级用户的主目录 /sbin 存放系统管理程序 /tmp 存放临时文件的目录 /usr 包含了一般不需要修改的应用程序,命令程序文件、程序库、手册和其它文档。 /var 包含系统产生的经常变化的文件

三、文件搜索命令

3.1 文件搜索命令:locate

  • locate 文件名

在后台数据库中按文件名搜索,搜索速度更快,但只能搜索文件名

  • /var/lib/mlocate #locate命令所搜索的后台数据库

    一般后台数据库一天一更新,但可以强制更新

    updatedb 更新数据库

配置文件:vi /etc/updatedb.conf

updatedb.conf配置文件

3.2 命令搜索命令:whereis 与 which

  • whereis 命令名

    #搜索命令(系统命令)所在路径及帮助文档所在位置

    选项: -b 只查找可执行文件

    -m 只查找帮助文件

  • which 命令名

    #搜索命令所在路径及别名

**注:**whereis和which不能查找linux系统内置命令

$PATH说明:类似于Windows中的环境变量,执行命令的时候都要在path定义的目录中去寻找。所以像ls这样的命令就可以不用加路径(/bin/ls)执行了。

path环境变量

3.3 文件搜索命令:find

  • find [搜索范围] [搜索条件]

    注:避免大范围搜索,会非常消耗系统资源

find是在系统当中搜索符合条件的文件名。如果需要匹配,使用通配符匹配,通配符是完全匹配

通配符: * 匹配任意内容

​ ? 匹配任意一个字符

​ [] 匹配任意一个中括号内的字符

  • find /root -iname install.log 不区分大小写
  • find /root -user name 按照所有者搜索
  • find /root -nouser 查找没有所有者的文件

find -time命令

find命令按文件大小搜索

**注:**k为小写,M为大写

find的复杂操作

注:find /etc -size +20k -a -size -50k -exec ls -lh {} \;

3.4 字符串搜索命令:grep

  • grep [选项] 字符串 文件名 在文件当中匹配符合条件的字符串

  • 选项: -i 忽略大小写

    -v 排除指定字符串

3.5 find命令与grep命令区别

  • find命令:在系统当中搜索符合条件的文件名,如果需要匹配,使用通配符匹配,通配符是完全匹配
  • grep命令:在文件当中搜索符合条件的字符串,如果需要匹配,使用正则表达式进行匹配,正则表达式是包含匹配

四、帮助命令

4.1 帮助命令man

  • man (manual)帮助命令 获取指定命令的帮助

    man ls 查看ls的帮助

  • 查看命令拥有哪个级别的帮助

    man -f 命令 相当于 whatis 命令 或用whereis 命令

    例:man -f passwd man -1 passwd man -5 passwd

    man -4 null man -8 ifconfig

man的级别

  • 查看和命令有关的所有帮助

    man -k 命令 相当于 apropos 命令

    例:apropos passwd

    4.2其他帮助命令

  • 选项帮助

    命令 --help

    ​ 例:ls --help

  • shell内部命令帮助

    help shell内部命令 获取shell内部命令的帮助

    ​ 例:whereis cd 确定是否是shell内部命令

    help cd 获取内部命令帮助

  • 详细命令帮助info

    info 命令

详细命令帮助info

五、压缩与解压缩命令

常用压缩格式:.zip .gz .bz2

.tar.gz(重要) .tar.bz2(重要)

5.1 .zip格式压缩与解压缩

  • zip 压缩文件名 源文件 压缩文件
  • zip -r 压缩文件名 源文件 压缩目录

  • unzip 压缩文件 解压缩.zip文件

5.2 .gz格式压缩与解压缩(不太方便)

  • gzip 源文件 压缩为.gz格式的压缩文件,源文件会消失

  • gzip -c 源文件 > 压缩文件 压缩为.gz格式,源文件保留

    例: `gzip -c cangls > cangls.gz

  • gzip -r 目录 压缩目录下所以子文件,但是不能压缩目录

  • gunzip 压缩文件 解压缩文件

  • gzip -d 压缩文件 解压缩文件
  • gunzip -r 目录 解压缩目录

5.3 .bz2格式压缩与解压缩(不能压缩目录)

  • bzip2 源文件 压缩为.gz格式,不保留源文件

  • bzip2 -k 源文件 压缩后保留源文件

    **注:**bzip2命令不能压缩目录

  • bzip2 -d 压缩文件 解压缩,-k保留压缩文件

    • bunzip2 压缩文件 解压缩文件,-k保留压缩文件

5.4 tar打包与解打包命令

  • tar -cvf 打包文件名 源文件

    选项: -c 打包

    -v 显示过程

    -f 指定打包后的文件名

  • tar -xvf 打包文件名

    选项: -x 解打包

5.5 .tar.gz压缩与解压缩格式

直接打包为.tar.gz格式。.tar.gz格式是先打包为.tar格式,再压缩为.gz格式

  • tar -zcvf 压缩包名.tar.gz 源文件

    选项: -z 压缩为.tar.gz格式

  • tar -zxvf 压缩包名.tar.gz

    选项: -x 解压缩.tar.gz格式

  • tar -ztvf 压缩包名.tar.gz

    选项: -t 只查看压缩包内容,但是不解压

5.6 .tar.bz2压缩与解压缩格式(可指定压缩与解压缩位置)

  • tar -jcvf 压缩包名.tar.bz2 源文件

    选项: -j 压缩为.tar.bz2格式

  • tar -jxvf 压缩包名.tar.bz2

    选项: -x 解压缩.tar.bz2格式

例:

  • tar -jxvf jp.tar.bz2 -C /tmp/

    -C 路径 指定解压缩位置(C为大写)

  • tar -zcvf /tmp/test.tar.gz jp anaconda-ks.cfg

    压缩多个文件到指定目录/tmp/下

  • tar -ztvf test.tar.gz

    -t 只查看压缩包内容,但是不解压

六、关机和重启命令

6.1 shutdown命令

  • [root@localhost ~]#shutdown [选项] 时间

    选项:-c 取消前一个关机命令

    -h 关机

    -r 重启

6.2 其他关机命令(不常用)

  • [root@localhost ~]#halt
  • [root@localhost ~]#poweroff
  • [root@localhost ~]#init 0

6.3 其他重启命令(不常用)

  • [root@localhost ~]#reboot
  • [root@localhost ~]#init 6

6.4 退出登录命令

  • [root@localhost ~]#logout

系统运行级别

七、其他常用命令

7.1 挂载命令

  • 查询与自动挂载
    [root@localhost ~]# mount 查询系统中已经挂载的设备

    [root@localhost ~]# mount -a 依据配置文件/etc/fstab的内容,自动挂载(-a 即all)

  • 挂载命令格式

    [root@localhost ~]# mount [-t 文件系统] [-o 特殊选项] 设备文件名 挂载点

    选项:-t 系统文件 加入文件系统类型来指定挂载的类型,可以ext3、ext4、iso9600(光盘)等文件系统

    -o 特殊选项 可以指定挂载的额外选项

mount命令特殊选项


mount命令特殊选项示例


挂载光盘


卸载命令

  • 卸载命令

    [root@localhost ~]# umount 设备文件名或挂载点

    例:[root@localhost ~]# umount /mnt/cdrom

挂载U盘

7.2 用户登录查看和用户交互命令

  • w 用户名 查看登陆用户信息
  • who 用户名 查看登陆用户信息
  • last 查看登陆用户信息

查看用户登录信息


who命令


last命令


lastlog

八、Shell基础

shell的语法

  • echo $SHELL 查看shell类别
  • vi /etc/shells 查看linux支持的shell

8.1 echo输出命令

  • echo [选项] [输出内容]

    选项:-e 支持反斜杠控制的字符转换

控制字符


  • shell脚本

    [root@localhost ~]# vi hello.sh

    #!/bin/bash#The first program
  • 脚本执行方法

    chmod 755 hello.sh

    ./hello.sh 赋予执行权限,直接运行

    bash 755 hello.sh 通过Bash调用执行脚本

vim脚本中文乱码问题(未解决)

8.2 Bash的基本功能

1、命令别名与快捷键

[root@localhost ~]# alias 查看系统中所有命令别名

alias 别名='原命令' 设定命令别名

vi ~/.bashrc 写入环境变量配置文件(别名永久生效)

unalias 别名 删除别名

source 文件名 调用文件

命令生效顺序


常用快捷键

2、历史命令

  • history [选项] [历史命令保存文件]

    选项: -c 清空历史命令

    -w 把缓存中的历史命令写入历史命令保存文件~/.bash_history

3、输出重定向

3.1 标准输入输出
设备 设备文件名 文件描述符 类型 键盘 /dev/stdin 0 标准输入 显示器 /dev/sdtout 1 标准输出 显示器 /dev/sdterr 2 标准错误输出
3.2 输出重定向(即改变输出方向)
类型 符号 作用 标准输出重定向 命令 > 文件覆盖的方式,把命令的正确输出输出到指定的文件或设备当中 标准输出重定向 命令 >> 文件追加的方式,把命令的正确输出输出到指定的文件或设备当中 标准错误输出重定向 错误命令 2>文件覆盖的方式,把命令的错误输出输出到指定的文件或设备当中 标准错误输出重定向 错误命令 2>>文件追加的方式,把命令的错误输出输出到指定的文件或设备当中 正确输出和错误输出同时保存 命令 > 文件 2>&1覆盖的方式,把正确输出和错误输出都保存到同一个文件当中 同上(常用) 命令 >> 文件 2>&1追加的方式,把正确输出和错误输出都保存到同一个文件当中 同上 命令 &>文件覆盖的方式,把正确输出和错误输出都保存到同一个文件当中 同上(常用) 命令 &>>文件追加的方式,把正确输出和错误输出都保存到同一个文件当中 同上(常用) 命令>>文件1 2>>文件2 把正确的输出追加到文件1中,把错误的输出追加到文件2中

常用追加。即命令 >> 文件 2>&1命令 &>>文件,同是追加,作用一致。

3.3 输入重定向(软件安装,打补丁用)(了解)
  • [root@localhost ~]# wc [选项] [文件名] 统计命令

    选项:-c 统计字节数

    -w 统计单词数

    -l 统计行数

命令<文件把文件作为命令的输入

4、管道符

4.1 多命令顺序执行
多命令执行符 格式 作用 ; 命令1;命令2 多个命令顺序执行,命令之间没有任何逻辑关系 && 命令1&&命令2 逻辑与 || 命令1||命令2 逻辑或
4.2 管道符

[root@localhost ~]# 命令1 | 命令2 命令1的正确输出作为命令2的操作对象

例:ls -l /etc | more 分页显示

例:netstat -an | grep ESTABKISHED | wc -l 查看登陆服务器人数

5、通配符

通配符


bash中其他特殊符号

0 0
原创粉丝点击