linux–>内核 auto.iso CentOS Redhat www.centos.org 命令提示符 [root@localhost 桌面]# 代表登录的用户,root 管理员 主机名 桌面 -->当前所在的目录 ~–>用户的家目录–>/root
–>代表用户的身份 # 管理员(超级用户)
$ 普通用户
命令关键字 [选项] 参数 选项引导方式: 短格式引导: -l -a = -la 长格式引导: --help
-a all 所有,查看隐藏文件 -l long 长格式显示,文件信息更详细 -h human 以人类可读的方式显示文件大小,通常与-l合用
ls -l = ll
cd 返回用户的家目录 cd … 返回上一级目录 . 当前目录 cd - 返回上一个工作的目录
[root@localhost /] cd /etc/sysconfig/network-scripts/ [root@localhost network-scripts]# cd [root@localhost ~] cd - /etc/sysconfig/network-scripts-p 嵌套创建目录 -v 详细信息
格式 cp 源路径 目标路径 选项: -r 复制目录
mv 源路径 目标路径 重命名:源路径与目标路径相同
-r 删除目录 -f 强制删除
绝对路径:从根目录开始写 相对路径:从当前目录开始
help:只能查看内置命令的帮助信息 man:查看命令的帮助信息 info:
格式:find 查找路径 查找条件 查找条件: -name 指定名字查找文件 Linux系统下一切皆文件 -type 指定类型查找文件 f 代表普通文件 (file) d 目录 directory b 块设备文件 block c 字符设备文件 character l 链接文件 link s 套接字文件 socket p 管道文件 pipeline -size 指定大小查找文件
-a and 两个条件同时为真 -o or 两个条件有一个为真
-l 统计行数 -w 统计单词数 -c 统计字节数
tac 倒着输出文件 nl 带行号显示文件内容,忽略空行。cat -n空行也有行号 more 分页显示文件内容,空格向下翻一页,回车向下翻一行, 退出输入q less 可以向上或向下翻页查看文件内容,page up向上翻页, page down 向下翻页; 搜索匹配: /word 在文件中从上向下匹配word, 输入n跳到下一个匹配的单词 ?word 在文件中从下向上匹配word. 退出输入 q head 显示文件的前几行,默认前10行 -n 指定行数 tail 显示文件的后几行,默认后10行 -n 指定行数
? 通配任意一个字符
通配任意所有字符清屏:ctrl+l 或clear
格式:grep 关键字 文件名 -i 不区分大小写 -v 取反(反向过滤) 正则表达式: ^ 以…开头 $ 以…结尾
[root@localhost ~]# grep root /etc/passwd root:x:0:0:root:/root:/bin/bash operator:x:11:0:operator:/root:/sbin/nologin [root@localhost ~]# grep ^root /etc/passwd root:x:0:0:root:/root:/bin/bash [root@localhost ~]# grep bash$ /etc/passwd root:x:0:0:root:/root:/bin/bash xuyanlong:x:1000:1001:xuyanlong:/home/xuyanlong:/bin/bash 排除空行: [root@localhost ~]# grep -v ^$ /etc/passwd作用:用于两个命令的连接使用,将前一个命令的结果作为 后一个命令的执行目标
grep root /etc/passwd | wc -l-h 以人类可读的方式显示
变量:用于存放值的地方 用一串字母,来表示一个长的值
命令模式-i/I,a/A,o/O->输入模式 i 在当前光标处插入 o 在当前光标新起下一行开始写
输入模式-Esc->命令模式 命令模式下的操作: 剪切(删除):dd 剪切(删除)多行:#dd (#代表删除的行数) 粘贴:p 复制:yy 复制多行:#yy (#代表删除的行数) 跳转: gg 跳到文件的第一行 G 跳到文件的最后一行 home键 跳到该行的第一个字符 end键 最后一个字符 x 删除一个字符 u 撤销 Ctrl+r 恢复
命令模式- : / ? ->末行模式 : w 保存 wq 保存退出 q 退出 q! 强制退出 wq! 强制保存退出
:set nu 显示行号 :set nonu 取消行号 :10 跳到第10行 :1,5 s/old_word/new_word/g (%代表全文) 将1到5行中的old_word替换成new_word
/word 在文件中从上向下匹配word,输入n跳到下一个匹配的单词 ?word 在文件中从下向上匹配word.
gzip -9 指定压缩比 1-9 数字越大,压缩比越大,压缩完的文件越小,耗时越长
gunzip == gzip -d 解压缩
选项:
-c 创建归档文件 -v 输出详细信息 -j 调用bzip2压缩格式 -z 调用gzip压缩格式 -f 指定归档文件 -x 释放归档文件 -C 指定释放归档文件存放的路径/etc 存放配置文件 /var 可变长文件(以日志文件为主) /var/log/message 是系统的日志文件
软件包的封装类型: 1.rpm -->yum 2.deb -->apt 3.源码包(tar包)
如果想安装httpd-2.4包,需要httpd-tools等包 依赖关系:一个包依赖其他的软件包 方法一:根据提示,一个包一个包的装 方法二:使用yum安装rpm包
配置本地yum源:
umount /dev/sr0 mount /dev/sr0 /media cd /etc/yum.repos.d/ mkdir bak mv C* bak 将所有以C开头的文件,移动到当前目录的bak目录下 vim local.repo [local] //指定yum源名称 name=local //指定yum源名称 baseurl=file:///media //指定软件包存放的路径,也就是光盘挂载路径 gpgcheck=0 //是否启用检查认证,0不启用,1启用 enabled=1 //是否启用该yum源,0不启用,1启用 yum clean all 清除yum缓存 yum makecache 建立新的yum缓存 yum -y install 软件包名 安装软件包 yum -y remove 软件包名 卸载软件包 yum list 列出所有的软件包 yum list installed 列出已安装的软件包 yum info 软件包名 查看软件包的信息 yum grouplist 列出包组 yum -y groupinstall 安装包组 yum -y groupremove 卸载包组 yum provides route 查看route是否安装源码包安装(tar ball)
编译环境:yum -y install gcc gcc-c++ make 1.解包 tar xf nginx-1.6.0.tar.gz -C /usr/src/ 2.配置 cd /usr/src/nginx-1.6.0/ [./configure --prefix=/usr/local/nginx 3.编译 [root@localhost nginx-1.6.0]make 4.安装 [root@localhost nginx-1.6.0]# make install 错误1:C compiler is not found 原因:没有编译环境 解决方法:yum -y install gcc gcc-c++ make错误2:
./configure: error: the HTTP rewrite module requires the PCRE library.You can either disable the module by using --without-http_rewrite_module option, or install the PCRE library into the system, or build the PCRE library statically from the source with nginx by using --with-pcre=<path> option.错误原因:缺少pcre库 解决方法:
yum -y install pcre-devel错误原因:缺少pcre库 解决方法:yum -y install pcre-devel
错误3:
./configure: error: the HTTP gzip module requires the zlib library.You can either disable the module by using --without-http_gzip_module option, or install the zlib library into the system, or build the zlib library statically from the source with nginx by using --with-zlib=<path> option.错误原因:缺少zlib库 解决方法:
yum -y install zlib-devel错误原因:缺少zlib库 解决方法:
yum -y install zlib-devel虚拟机与物理机互相传文件: 方法一:安装lrzsz软件包(只可以用在xshell或CRT) rz 物理机传入虚拟机 sz 虚拟机传入物理机 方法二:利用Vmware tools直接拖 方法三:利用U盘挂载
mount /dev/sdb4 /mnt cd /mnt把需要的文件复制到虚拟机中
配置IP
vim /etc/sysconfig/network-scripts/ifcfg-eth0 网卡配置文件 TYPE=Ethernet //类型是以太网 BOOTPROTO=static //以静态方式获取IP地址 NAME=eth0 DEVICE=eth0 ONBOOT=yes //启用这块网卡 IPADDR=192.168.1.10 NETMASK=255.255.255.0 GATEWAY=192.168.1.1 DNS1=114.114.114.114 systemctl restart network //重启网络服务 yum provides 未找到的命令 //查看命令由那个软件包生成的ifconfig eth0 192.168.2.10/24 临时设置IP地址 Linux系统一个多用户多任务的操作系统
用户分类 超级用户:root uid=0 程序用户:不能登录系统的用户 默认 uid 1-1000 普通用户:默认uid >1000
选项:
-u 指定uid -g 指定用户组 -s 指定用户登录的shell(/bin/bash ,/sbin/nologin) -M 不为用户创建家目录 -d 指定用户家目录位置,默认/home/用户名 /etc/passwd --> 存放用户信息的文件 root:x:0:0:root:/root:/bin/bashroot 第一段 用户名 X 第二段 密码占位符 0 第三段 UID 0 第四段 GID root 第五段 描述,备注(可以为空) /root 第六段 用户家目录 /bin/bash 第七段 用户登录的shell
/bin/bash 代表该用户可以登录系统, 其他的(/sbin/nologin)代表该用户不可以登录系统
shell解释器:是用户和内核沟通的桥梁
计算机两个 硬件系统:cpu(控制器,运算器),内存,硬盘 ,网卡 软件系统:操作系统 应用程序 操作系统: 内核 shell
用户–>shell–>内核–>硬件 结果–>内核–>shell -->用户
格式:userdel 用户名 -r 删除用户的同时删除用户的家目录
root 第一段 用户名 第二段 加密后的密码 第三段 上一次密码修改的时间距1970年1月1日过了多少天 第四段 密码最短有效天数,经过多少天以后可以再次修改密码 第五段 密码最长有效天数,此次修改密码后多少天必须修改密码 第六段 密码过期前多少天警告 第七段 密码过期之后多少天内禁用该用户 第八段 账号失效时间 第九段 保留
私有组(主要组) 公共组(附加组) 一个用户只有一个主要组,可以属于多个附加组。 一个用户组中可以包含多个用户。
root用户 -->主要组 root a组 root b组 root c组 root a b c 组为用户root的附加组
/etc/group 存放用户组的信息 root:x:0:root 第一段 用户组 x 第二段 用户组密码 0 第三段 gid 第四段 附加用户
-a 将指定用户添加到组中
w 用户登录的信息 who 用户登录的信息 whoami 查看当前登录的用户 user 查看当前登录的用户 id 查看指定用户的uid,gid以及用户组信息 groups 查看当前用户的用户组
文件权限:r 读 w 写 x 执行 如何查看文件的权限: ll = ls -l rw-r–r-- 文件权限分三组: 第一组 用户 u rw- 第二组 用户组的权限 g r– 第三组 其他用户的权限 o r–
格式:
chmod u/g/o/a +/-/= rwx 文件名-R 递归
八进制: r–4 w–2 x–1 - 0
rw-r–r-- -->644 rwxrwxr-x -->775
chown 用户名 文件 chown :用户组 文件 chown 用户:用户组 文件 选项: -R 递归
touch创建一个新文件默认的权限是 644=777-111-022 目录 755=777-022
文件 r cat/tac/nl/more/less/head/tail w vim x(命令或者脚本) 目录 r ls w touch rm mkdir mv x cd
磁盘管理: block 块设备文件 磁盘接口与磁盘命名: IDE --> hda hdb hdc SATA/SAS/SCIS -->sda sdb sdc
硬盘类型: HDD 机械硬盘 SSD 固态硬盘
fdisk 磁盘 选项: -l 列出磁盘以及磁盘分区的详细信息
.指定文件系统 -t 指定文件系统
ext4 CentOS6 默认的文件系统 xfs CentOS7 默认的文件系统
交换分区:类似于虚拟内存 大小:一般设为内存的2倍
-s 查看当前使用的交换分区
( ) 或 ‘ ‘ 先 执 行 ()或`` 先执行 ()或‘‘先执行()命令 或者是 提取命令的结果
4个分区记录,每个16字节,=64字节 (一块硬盘可以划分四个主分区或扩展分区) 446字节的引导程序,2字节校验字节。
每个进程都有一个非负整数的进程ID(PID,进程号) 负责产生进程的进程,称为该进程的父进程 centos7中systemd是所有进程的父进程,其pid为1
systemd 可以管理系统中的服务、设备等。 centos6 服务的启动使用的是 service 服务名称 start/stop/restart/status/reload等 设置服务开机自启动使用的命令是: chkconfig 系统运行级别 服务名称 on/off
CentOS7中服务的启动管理使用的是: systemctl start/stop/restart/status/reload 服务名称 设置服务开机自启动的命令是: systemctl enable/disable/is-enabled 服务名称
systemctl start httpd #启动httpd服务 systemctl status httpd #查看httpd服务运行状态 systemctl stop httpd #关闭 systemctl status httpd
systemctl enable httpd #设置httpd服务开机自启动 systemctl is-enabled httpd #查看httpd服务是否开机自启动 systemctl disable httpd #禁止httpd服务开机自启动 systemctl is-enabled httpd
0 关机 1 单用户模式 2 无网络的字符界面多用户模式 3 完整的字符界面多用户模式 4 未启用 5 完整的图形界面多用户模式 6 重启
init 0 关机 poweroff halt shutdown -h +10 10分钟后关机 init 6 重启 reboot shutdown -r init 3 切换字符界面 init 5 切换图形界面
/etc/inittab 系统启动的默认级别配置文件
LVM逻辑卷 :动态调整分区大小
逻辑卷创建过程: 先创建物理卷 pvcreate /dev/sd[bcd] 再创建卷组 vgcreate vg0 /dev/sd[bcd] 最后创建逻辑卷 lvcreate -L 30G -n test vg0 mkfs.xfs /dev/vg0/test mount /dev/vg0/test /data 扩容 lvextend -L +10G /dev/vg0/test
选项: -T 文件系统类型 -h human 以人类可读的方式显示大小
resize2fs /dev/vg0/test ext4文件系统 xfs_growfs xfs 文件系统
程序:可执行代码,静态 进程:运行中程序,动态, 每个进程都有一个非负整数的进程ID(PID)
-aux -ef ps -o user,stat,pid,ppid 指定输出内容
僵尸进程 :僵尸进程是当子进程比父进程先结束, 而父进程又没有回收子进程,释放子进程占用的资源, 此时子进程将成为一个僵尸进程。 结束僵尸进程:杀死其父进程或重启系统 ps -ef |grep [Zz] kill -9 杀死僵尸进程的父进程
1 // zombie.c 2 /* create a zombie proess*/ 3 #include <sys/types.h> 4 //#include <signal.h> 5 #include <unistd.h> 6 #include <stdlib.h> 7 8 int main() 9 { 10 if(!fork()) { //create child proess 11 if(fork()) { //child 12 while(1) { 13 sleep(5); 14 // break; 15 } 16 } 17 } 18 return 0; 19}gcc 文件名 -o 生成文件名 ./生成文件名
gcc 文件名 -o 生成文件名 ./生成文件名
kill -9 pid=kill -s SIGKILL pid 强制杀死进程
-u 指定用户
-u 指定用户或UID杀进程
-L 目录级别
任务调度: & 程序后台运行 jobs 查看后台运行任务 fg 将后台运行的任务调度到前台 Ctrl+z 将前台运行的任务暂停放到后台 bg 让后台暂停的任务继续运行 Ctrl+c 终止当前程序
格式化输出: %Y 年 %m 月 %d 日 %H 时 %M 分 %w 周
计划任务(定时任务) 一次性计划任务 —>atd at 设置一次性计划任务 atq 查看未执行的一次性计划任务 atrm 删除一个一次性计划任务
周期性计划任务 —>crond crontab 分 时 日 月 周 执行的命令 特殊时间:
每,任意时间 / 指定时间间隔
指定连续时间范围 , 指定不连续的时间
最小单位是 分钟 常用选项: -e 编辑周期性计划任务 -l 查看周期性计划任务
忘记root用户密码解决方法: 方法一:通过grub菜单进入单用户模式 输入e 进入编辑,在Linux16该行的行尾添加rd.break,然后Ctrl+x 启动系统; 进入命令行后,mount -o remount,rw /sysroot 以读写模式重新挂 载目录,chroot /sysroot 将根目录切换到/sysroot
passwd root 修改密码 如果系统开启了selinux,创建文件touch /.autorelabel
开机自动挂载 /dev/sr0 /media iso9660 defaults 0 0 挂载源 挂载点 文件系统类型 挂载参数 是否备份 是否检测
交换分区不需要挂载
ping 测试网络连通性
-c 指定发送数据包个数
route -n 查看路由表 ip r 查看路由表 hostname 新名字 查看或修改主机名 /etc/hostname 主机名配置文件 bash 生效inode 元数据,里面保存了文件的权限,归属,创建时间等
block 块,存放的文件的内容。默认一个块4K
文件名记录在目录的block
硬链接:相当于文件的另一个入口
软链接:类似于window下的快捷方式
1,硬链接inode号相同,软链接不同
2,硬链接删除源文件对硬链接没有影响,软链接不可用
3,硬链接不能跨文件系统(分区),软链接可以
4,目录不能创建硬链接但是目录自带硬链接分别是"." “…”,可以创建软链接
ln 创建硬链接 ln -s 创建软链接(符号链接)每个文件就都有一个inode,至少占用一个block