以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分区=内存*2;
2 服务器内存>=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 ~]# ls
anaconda-ks.cfg install.log install.log.syslog
[root@localhost ~]# mkdir bols
[root@localhost ~]# ls
anaconda-ks.cfg bols install.log install.log.syslog
[root@localhost ~]# mkdir japan/cangls
mkdir: 无法创建目录"japan/cangls": 没有那个文件或目录
[root@localhost ~]# mkdir -p japan/cangls
[root@localhost ~]# ls
anaconda-ks.cfg bols install.log install.log.syslog japan
[root@localhost ~]# cd japan
[root@localhost japan]# ls
cangls
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
3.2 命令搜索命令:whereis 与 which
whereis 命令名
#搜索命令(系统命令)所在路径及帮助文档所在位置
选项:
-b
只查找可执行文件
-m
只查找帮助文件
which 命令名
#搜索命令所在路径及别名
**注:**whereis和which不能查找linux系统内置命令
$PATH说明:类似于Windows中的环境变量,执行命令的时候都要在path定义的目录中去寻找。
所以像ls这样的命令就可以不用加路径(/bin/ls)执行了。
3.3 文件搜索命令:find
find [搜索范围] [搜索条件]
注:避免大范围搜索,会非常消耗系统资源
find是在系统当中搜索符合条件的文件名。如果需要匹配,使用通配符匹配,通配符是完全匹配。
通配符: * 匹配任意内容
? 匹配任意一个字符
[] 匹配任意一个中括号内的字符
find /root -iname install.log
不区分大小写find /root -user name
按照所有者搜索find /root -nouser
查找没有所有者的文件
**注:**k为小写,M为大写
注: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 -k 命令
相当于apropos 命令
例:
apropos passwd
4.2其他帮助命令
选项帮助
命令 --help
例:
ls --help
shell内部命令帮助
help shell内部命令
获取shell内部命令的帮助 例:
whereis cd
确定是否是shell内部命令
help cd
获取内部命令帮助详细命令帮助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 特殊选项
可以指定挂载的额外选项
卸载命令
[root@localhost ~]# umount 设备文件名或挂载点
例:
[root@localhost ~]# umount /mnt/cdrom
7.2 用户登录查看和用户交互命令
w 用户名
查看登陆用户信息who 用户名
查看登陆用户信息last
查看登陆用户信息
八、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
查看登陆服务器人数