分区设备文件名
设备文件名
/dev/hda1(IDE硬盘接口)
/dev/sda1(SCSI硬盘接口、SATA硬盘接口、USB接口)
hd
、sd
代表接口接口类型。a
代表是第一块硬盘,第二块硬盘就以b命令,以此类推。1
代表是第一个分区。
配置网络
vmware 网络连接模式区别:
查看NAT模式网关地址:
设置IP时,注意避开.1和.2的IP。
centos6.8版本,使用setup
工具配置。在命令行中输入:
setup
重启网卡:
service network restart
CentOS7版本
图形界面配置方式
centOS 7里面,setup已经没有网络设置的功能了。要进行网络配置,要使用nmtui
命令
选择编辑连接
选择eth0
配置ip及网关
配置好后,返回
选择启用连接,激活
命令行配置方式
- 查看网卡信息
ip addr
- 编辑网络配置文件
vi /etc/sysconfig/network-scripts/ifcfg-eth0
- 重启网络
service network restart
目录结构
目录名 | 目录的作用 |
---|---|
/bin/ | 存放系统命令的目录,普通用户和超级用户都可以执行。是/usr/bin/目录的软链接 |
/usr/bin/ | 存放系统命令的目录,普通用户和超级用户都可以执行 |
/sbin/ | 存放系统命令的目录,只有超级用户才可以执行。是/usr/sbin/目录的软链接 |
/usr/sbin/ | 存放系统命令的目录,只有超级用户才可以执行 |
/boot/ | 系统启动目录,保存与系统启动相关的文件,如内核文件和启动引导程序(grub) |
/dev/ | 设备文件保存位置 |
/etc/ | 配置文件保存位置。系统内所有采用默认安装方式(rpm安装)的服务配置文件全部保存在此目录中,如用户信息、服务的启动脚本、常用服务的配置文件等 |
/home/ | 普通用户的家目录。在创建用户时,每个用户要有一个默认登录和保存自己数据的位置,就是用户的家的目录,所有普通用户的宿主目录是在/home/下建立一个和用户名相同的目录。如用户user1的家目录就是/home/user1/ |
/lib/ | 系统调用的函数库保存位置。是/usr/lib/的软链接 |
/lib64/ | 64位函数库保存位置 |
/lost+found/ | 当系统意外奔溃或机器意外关机,而产生一些文件碎片放在这里。 |
/media/ | 挂载目录。系统建议是用来挂载媒体设备的,如软盘和光盘 |
/misc/ | 挂载目录。系统建议是用来挂载NFS服务的共享目录 |
/mnt/ | 挂载目录。早期linux只有这一个挂载目录,并没有细分。建议用力啊挂载额外的设备,如U盘、移动硬盘和其他操作系统的区分 |
/opt/ | 第三方安装的软件保存位置。放置和安装其他软件的位置。但一般习惯安装在/usr/local/目录中 |
/root/ | root的宿主目录。普通用户宿主目录在/home/下 |
/tmp/ | 临时目录。存放临时文件的目录 |
/usr/ | 系统软件资源目录。注意usr不是user的缩写,而是“UNIX Software Resource”的缩写,所以不是存放用户数据的目录,而是存放系统软件资源的目录。系统中安装的软件大多数保存在这里 |
/usr/lib/ | 应用程序调用的函数库保存位置 |
/usr/local/ | 手工安装的软件保存位置。建议源码包软件安装在这个位置 |
/usr/share/ | 应用程序的资源文件保存位置,如帮助文档、说明文档和字体目录 |
/usr/src/ | 源码包保存位置。手工下载的源码包和内核源码包都可以保存在这里。一般习惯把手工下载的源码包保存到/usr/local/src/目录中 |
/var/ | 动态数据保存位置。主要保存缓存、日志以及软件运行所产生的文件 |
/var/log/ | 系统日志保存位置 |
/var/lib/ | 程序运行中需要调用或改变的数据保存位置。如MySQL的数据库保存在/var/lib/mysql/目录中 |
/var/run/ | 一些服务和程序运行后它们的PID(进程ID)保存位置。是/run/目录的软链接 |
/var/spool/ | 放置队列数据的目录。就是排队等待其他程序使用的数据,比如邮件队列和打印队列 |
/var/spool/mail/ | 新收到的邮件队列保存位置。系统新收到的邮件会保存在此目录中 |
/var/spool/cron/ | 系统的定时任务队列保存位置。系统的计划任务会保存在这里 |
权限
一共10位。
第1位的代表文件类型:
– “-”:普通文件
– “b”:块设备文件。如分区文件/dev/sda1就是这种文件
– “c”:字符设备文件。这也是特殊设备文件,输入设备一般都是这种文件,如鼠标、键盘等。
– “d”:目录文件。
– “l”:软链接文件。
– “p”:管道符文件。非常少见的特殊设备文件
– “s”:套接字文件。
后9位,每3位一组,第1组为用户(u)的权限,第2组为用户组(g)的权限,第3组为其他用户(o)的权限。
给某个文件的所有者添加执行权限:
chmod u+x file
常用命令
find
find 搜索路径 [选项] 搜索内容
选项:
-name:按照文件名搜索
-iname:按照文件名搜索,不区分文件名大小写
-inum:按照inode号搜索
例子:
查找当前文件下文件名为abc的文件
find . -name abc
查找当前文件下文件名包含abc的文件
find . -name "abc*"
netstat
统计正在连接的网络连接数量
netstat -an | grep "ESTABLISHED" | wc -l
别名
#查询命令别名
alias
#设定命令别名
alias 别名='原命令'
例如alias vi=’vim’
用命令定义的别名,是临时生效的,要想永久生效,需要写入环境变量配置文件~/.bashrc
常用快捷键
快捷键 | 作用 |
---|---|
ctrl+C | 强制终止正在执行的命令。 |
ctrl+U | 删除或剪切光标之前的命令 |
ctrl+Y | 粘贴ctrl+U剪切的内容 |
ctrl+L | 清屏,相当于 clear 命令 |
ctrl+A | 把光标移动到命令行开头。 |
ctrl+E | 把光标移动到命令行结尾。 |
vim命令
撤销:u
反撤销:ctrl+r
删除单行:dd
删除多行:ndd
粘贴到光标后:p
粘贴到光标前:P(大P)
删除单个字母:x
移动到文件头:gg
移动到文件尾:G(大G)
移动到行首:^
移动到行尾:$
移动到第几行::n
复制单行:yy
复制多行:nyy
例如光标停留在222这行,在命令模式下,按3yy,将会复制222,333,444这三行
vim 配置文件
显示行号::set nu
取消显示行号::set nonu
设置参数都只是临时生效,一旦关闭文件再打开,又需要重新输入。如果想要
永久生效,需要手工建立 vim 的配置文件~/.vimrc
,把你需要的参数写入配置文件就永久生效了。
查找
/
查找内容 从光标所在行向下查找?
查找内容 从光标所在行向上搜索n
下一个N
上一个
软件包安装
软件包分类
- 源码包
- 二进制包
RPM 包安装
rpm –ivh 包全名
选项:
-i install 安装(install)
-v 显示更详细的信息(verbose)
-h 打印#显示安装进度(hash)
RPM 包升级
rpm –Uvh 包全名
RPM 包卸载
rpm -e 包名
RPM 包查询
rpm –q 包名
服务启动
第一种方式:
service 服务名 start|stop|restart|status
第二种方式:
/etc/rc.d/init.d/文件名 start|stop|restart|status
service
命令实际也是找/etc/rc.d/init.d/
目录
rpm包在线安装(yum安装)
yum源文件解析
yum 源配置文件保存在/etc/yum.repos.d/
目录中,文件的扩展名一定是*.repo
。也就是说,yum 源配置文件只要扩展名是*.repo
就会生效
[root@localhost ~]# ls /etc/yum.repos.d/
CentOS-Base.repo CentOS-Debuginfo.repo CentOS-fasttrack.repo CentOS-Media.repo CentOS-Vault.repo
这个目录中有 5 个 yum 源配置文件,默认情况下 CentOS-Base.repo
文件生效。
yum命令
1)查询
查询 yum 源服务器上所有可安装的软件包列表。
yum list
查询 yum 源服务器中是否包含某个软件包
yum list 包名
搜索 yum 源服务器上所有和关键字相关的软件包
yum search 关键字
例如:
[root@localhost ~]# yum search ifconfig
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
=========================================================== 匹配: ifconfig
===========================================================
net-tools.x86_64 : Basic networking tools
yum search 搜索可以用于确定某个软件在哪个相关包当中。此例子可以确定“ifconfig”命令
需要安装“net-tools”包。
2)安装
yum -y install 包名
选项:
install 安装
-y 自动回答 yes。如果不加-y,那么每个安装的软件都需要手工回答 yes
3)升级
yum -y update 包名
4)卸载
yum remove 包名
源码包安装
(1)下载软件包。
(2)解压缩。
(3)进入解压目录。
(4)./configure 编译前准备
这一步主要有三个作用:
① 在安装之前需要检测系统环境是否符合安装要求。
② 定义需要的功能选项。“./configure”支持的功能选项较多,可以执行“./configure –help”
命令查询其支持的功能。一般都会通过“./configure –prefix=安装路径”来指定安装路径。
③ 把系统环境的检测结果和定义好的功能选项写入 Makefile 文件,后续的编译和安装需要依
赖这个文件的内容。
需要注意的是,configure 不是系统命令,而是源码包软件自带的一个脚本程序,所以必须采用
“./configure”方式执行(“./”代表在当前目录下)。
(5)make 编译
make 会调用 gcc 编译器,并读取 Makefile 文件中的信息进行系统软件编译。编译的目的就是把
源码程序转变为能被 Linux 识别的可执行文件,这些可执行文件保存在当前目录下。编译过程较为耗
时,需要有足够的耐心。
(6)make clean:清空编译内容(非必需步骤)。
如果在“./configure”或“make”编译中报错,那么我们在重新执行命令前一定要记得执行 make
clean 命令,它会清空 Makefile 文件或编译产生的“.o”头文件。
(7)make install: 编译安装
这才是真正的安装过程,一般会写清楚程序的安装位置。如果忘记指定安装目录,则可以把这个
命令的执行过程保存下来,以备将来删除使用。
删除
源码包没有删除命令,如果需要删除,直接删除安装目录即可。
进程管理
ps
查看正在执行的进程:
ps aux
选项:
a: 显示一个终端的所有进程,除了会话引线
u: 显示进程的归属用户及内存的使用情况
x: 显示没有控制终端的进程
top
第一行信息为任务队列信息,具体内容如下表所示:
内容 | 说明 |
---|---|
20:12:28 | 系统当前时间 |
27 days, 3:57 | 系统的运行时间,本机已经运行 27 天 3 小时 57 分钟 |
1 users | 当前登录了1个用户 |
load average: 0.15, 0.17, 0.15 | 系统在之前 1 分钟,5 分钟,15 分钟的平均负载。如果 CPU 是单核,则这个数超过 1,就是高负载。如果 CPU 是四核,则这个数超过 4,就是高负载。(这个平均负载完全是个人经验来进行判断的,一般认为不应该超过服务器 CPU 的核数。) |
第二行为进程信息,具体内容如下表所示:
内容 | 说明 |
---|---|
Tasks: 200 total | 系统中的进程总数 |
1 running | 正在运行的进程数 |
199 sleeping | 睡眠的进程 |
0 stopped | 正在停止的进程 |
0 zombie | 僵尸进程。如果不是 0,需要手工检查僵尸进程 |
第三行为 CPU 信息,具体内容如下表所示:
内容 | 说明 |
---|---|
%Cpu(s): 3.0 us | 用户模式占用的 CPU 百分比 |
0.8 sy | 系统模式占用的 CPU 百分比 |
0.0 ni | 改变过优先级的用户进程占用的 CPU 百分比 |
96.0 id | 空闲 CPU 的 CPU 百分比 |
0.2 wa | 等待输入/输出的进程的占用 CPU 百分比 |
0.0 hi | 硬中断请求服务占用的 CPU 百分比 |
0.0 si | 软中断请求服务占用的 CPU 百分比 |
0.0 st | st(Steal time)虚拟时间百分比。就是当有虚拟机时,虚拟 CPU 等待实际 CPU 的时间百分比 |
第四行为物理内存信息,具体内容如下表所示:
内容 | 说明 |
---|---|
Mem: 8010460 total | 物理内存的总量,单位 KB |
125808 free | 空闲的物理内存数量 |
4539692 used | 已经使用的物理内存数量 |
3344960 buff/cache | 作为缓冲的内存数量 |
第五行为交换分区(swap)信息
内容 | 说明 |
---|---|
Swap: 0 total | 交换分区(虚拟内存)的总大小 |
0 free | 空闲交换分区的大小 |
0 used | 已经使用的交互分区的大小 |
3089484 avail Mem | 作为缓存的交互分区的大小 |
杀死进程
kill 命令
kill [信号] PID
例:使用“-1”信号,让进程重启
kill -1 2246
让进程id为2246的进程重启动
例:使用“-9”信号,让进程强制关闭
kill -9 2246
killall 命令
杀死一组进程
killall [选项][信号] 进程名
选项:
-i: 交互式,询问是否要杀死某个进程
-I: 忽略进程名的大小写
例:杀死apache的所有进程
killall -9 httpd
pkill 命令
pkill 命令和 killall 命令非常类似,也是按照进程名来杀死进程。格式如下:
pkill [选项] [信号] 进程名
选项:
-t 终端号: 按照终端号踢出用户
例:
通过w
命令查看当前有多少个用户登录:
正在执行w命令的为当前登录的用户
踢掉pts/2登录的用户:
pkill -9 -t pts/2
定时任务
crontab
crontab 命令需要 crond 服务支持,确保已启动crond服务
检查crond服务是否运行
ps aux | grep crond
启动crond服务
service crond start
设定 crond 服务为开机自启动
chkconfig crond on
通过命令设置定时任务
crontab [选项]
选项:
-e: 编辑 crontab 定时任务
-l: 查询 crontab 任务
-r: 删除当前用户所有的 crontab 任务,如果有多个任务,只想删除一个,可
以所以用“crontab -e”
-u 用户名: 修改或删除其他用户的 crontab 任务。只有 root 可用
crontab -e
项目 | 含义 | 范围 |
---|---|---|
第一个“*” | 一小时当中的第几分钟 | 0-59 |
第二个“*” | 一天当中的第几小时 | 0-23 |
第三个“*” | 一个月当中的第几天 | 1-31 |
第四个“*” | 一年当中的第几月 | 1-12 |
第五个“*” | 一周当中的星期几 | 0-7(0和7都代表星期日) |
特殊符号:
特殊符号 | 含义 |
---|---|
* | 代表任何时间。比如第一个*就代表一小时中每分钟都执行一次的意思。 |
, | 代表不连续的时间。比如“0 8,12,16 * * * 命令”,就代表在每天的 8 点 0 分,12 点 0 分,16 点 0 分都执行一次命令 |
– | 代表连续的时间范围。比如“0 5 * * 1-6 命令”,代表在周一到周六的凌晨 5 点 0 分执行命令 |
*/n | 代表每隔多久执行一次。比如“*/10 * * * * 命令”,代表每隔10 分钟就执行一遍命令 |
通过修改配置文件设置定时任务
配置文件路径:/etc/crontab