Linux篇章(一)

Linux基本概述

Linux操作系统(开源<--->开放源代码),托瓦兹写的是内核,芬兰人,写内核的时候24岁,第一个Linux内核是在1991年发布。

Linux操作系统是基于UNIX操作系统发展而来的一种克隆系统,它诞生于1991 年的 [Linux桌面] 10 月5 日(这是第一次正式向外公布的时间)。以后借助于Internet网络,并通过全世界各地计算机爱好者的共同努力,已成为今天世界上使用最多的一种UNIX 类操作系统,并且使用人数还在迅猛增长。

托瓦兹最后将其内核源代码交给至GNU组织(logo公羊), Linux操作系统部署

主机名修改

# centos6.0中临时性修改主机名
hostname      主机名
hostnamectl  查看主机名

# centos6.0中永久性修改主机名(需要reboot,才能生效)
vi   /etc/sysconfig/network
HOSTNAME=主机名
:wq

# centos7.0中修改主机名,不区分临时和永久
hostnamectl   set-hostname  主机名
logout 注销一下重新登陆查看

基本命令

Linux一切从/开始,/就相当于windows7的计算机;

cd, mkdir, ls, mv

创建目录:mkdir 目录名
批量创建目录:mkdir -p  路径

查看当前路径下的内容:  ls

切换路径:cd(只能cd目录)  路径

如何查看当前所在路径:pwd

如何修改目录文件名,且进行移动目录文件位置:mv

示例:

mkdir -p /11/22/33/44/55/66/77/88/99/00

1、我想去/11/22/33/44/55
cd /11/22/33/44/55        这叫做绝对路径,绝对路径一切从/开始

2、现在在55,我想去99下边
用绝对路径:   cd /11/22/33/44/55/66/77/88/99/
用相对路径:   cd 66/77/88/99/      这个叫做相对路径,相对路径是从当前位置开始
用相对路径:   cd ./66/77/88/99/    ./  指的是当前路径;  ../  指的是上一级目录

cd -   返回上一次所在路径

3、将00目录名修改为10
mv /11/22/33/44/55/66/77/88/99/00 /11/22/33/44/55/66/77/88/99/10 

4、将10目录移动至11下一层目录位置
mv /11/22/33/44/55/66/77/88/99/10 /11/

Linux常用文件

# 网卡文件路径
/etc/sysconfig/network-scripts/ifcfg-eth0

# 安全系统文件
/etc/sysconfig/selinux

# shell解释器文件路径
/etc/shells

# CPU信息文件路径
/proc/cpuinfo

# 内存的文件路径
/proc/meminfo

# 系统镜像的文件路径
/dev/cdrom

# 存放的是用户 (用户文件)
/etc/passwd

# 存放的是用户的密码 (用户的密码文件)
/etc/shadow

# 存放的是组 (组文件)
/etc/group

# 存放的是组的密码 (组的密码文件)
/etc/gshadow

# 普通用户执行程序文件 {系统普通用户的命令文件}
/usr/bin

# root用户执行程序文件和管理程序文件 {系统root用户的命令文件}
/usr/sbin

# 应用程序配置文件 {软件包的配置文件:1、rpm包 2、yum包}
/etc

# 日志文件 {分为两个日志:(1)软件日志 (2)系统日志} 
/var/log

# 块设备文件 {U盘、硬盘、光盘等储存数据的硬件都属于块设备}
/dev

 # linux分区开机自动挂载的文件
/etc/fstab

# 全局环境变量配置文件;对所有用户都生效
/etc/profile

# linux主机名与 IP 地址的映射记录的配置文件
/etc/hosts

 # linux临时存放DNS IP地址的配置文件
/etc/resolv.conf

 # 系统日志
/var/log/messages

 # 计划任务日志
/var/log/cron

# 在系统启动时,会在屏幕上显示许多与硬件有关的信息。可以用dmesg查看它们。
/var/log/dmesg

# 邮件服务器的日志
/var/log/maillog

# 记录所有用户的最近登陆信息,需要用lastlog查看
/var/log/lastlog

# 包含验证和授权方面信息。例如,sshd会将所有信息记录(其中包括失败登录)在这里。
/var/log/secure

# 包含登录信息。可以找出谁正在登陆进入系统,谁使用命令显示这个文件或信息等。last
/var/log/wtmp或/var/log/utmp

# 记录登入系统失败的用户lastb
/var/log/btmp

# linux的回收站、也可以叫黑洞
/dev/null

Liunx服务控制

systemctl 控制类型 服务名

控制类型:start启动  stop停止  restart重启  reload重新加载 status状态

# 查看启动脚本列表
systemctl list-unit-files 

基本网络命令

ip, ipconfig, ping

# 查看的是所有网卡的IP地址
ip a

# 查看的是所有网卡的IP地址,可在后面加上网卡名称单独检查
ifconfig

# 给linux系统网卡的子接口配置ip地址
ifconfig eth0:0 192.168.100.104/24

基本网络配置

Linux 最最基本的配置!!!

# 给服务器配置IP地址
vi  /etc/sysconfig/network-scripts/ifcfg-eth0
# 启动协议,也就是你的ip地址是基于 静态static的 还是动态dhcp的
BOOTPROTO=static
# 网卡的MAC地址,这个MAC地址是通过ifconfig这个命令查看的
HWADDR=00:0c:29:1a:08:b8
# 网卡的名称,这个网卡名称是通过ifconfig这个命令查看的
NAME=eth0
# 网卡的名称,这个网卡名称是通过ifconfig这个命令查看的
DEVICE=eth0
# 是否启用当前这块网卡
ONBOOT=yes
# ip地址
IPADDR=192.168.1.1
# 子网掩码
PREFIX=24或NETMASK=255.255.255.0
# 网关
GATEWAY=192.168.100.100    
# DNS
DNS1=192.168.100.100
:wq

# 重启网络服务(network),让修改的配置文件生效
systemctl   restart   network

# linux主机名与 IP 地址的映射记录的配置文件
vi  /etc/hosts
192.168.100.102   www.baidu.com
:wq

# linux临时存放DNS IP地址的配置文件
vi /etc/resolv.conf
nameserver    8.8.8.8
nameserver    114.114.114.114
:wq

Ps. 重启network服务,网卡配置文件的DNS会覆盖/etc/resolv.conf配置文件中的DNS

NetworkManager网络服务

在CentOS系统上,目前有NetworkManager和network两种网络管理工具。如果两种都配置会引起冲突,而且NetworkManager在网络断开的时候,会清理路由,如果一些自定义的路由,没有加入到NetworkManager的配置文件中,路由就被清理掉,网络连接后需要自定义添加上去。

解决冲突:

目前在CentOS上的NetworkManager版本比较低,而且比较适合有桌面环境的系统,所以服务器上保留network服务即可,将NetworkManager关闭,并且禁止开机启动。

# systemd管理上:
systemctl status NetworkManager              #查看状态
systemctl stop NetworkManager                #关闭NetworkManager
systemctl disable NetworkManager             #永久关闭
systemctl is-enabled NetworkManager          #查看是否禁用

// 可以看到关联的几个服务一起被禁用了。如果使用桌面的话,会发现网络管理的图标不见了。

# sysv+upstart管理上:
service NetworkManager stop
chkconfig NetworkManger off

sshd服务优化

vi /etc/ssh/sshd_config
#UseDNS no
将这行的注释号(#)删掉

GSSAPIAuthentication yes
将这行的yes改成no
wq!

systemctl  restart  sshd

停止或启用网卡

ifdown, idup 命令

ifdown   网卡名
ifup     网卡名

Linux路由表

route 命令

# 查看路由表
route -n

# linux添加到静态路由
route add -net 192.168.200.0/24 gw 192.168.100.100

# linux删除静态路由
route del -net 192.168.200.0/24

# linux向路由表中添加默认路由
route add  default  gw  192.168.100.200

# linux删除路由表中的默认路由
route  del  default  gw  192.168.100.200

网络的连通性

ping 命令

# 无限ping
ping    目标IP地址

# linux默认无限ping, 想ping10次退出
ping   -c   10   目标IP地址

域名解析

nslookup 命令

nslookup   www.baidu.com

查看linux主机监听端口

netstat 命令

# 日常使用
netstat -anptu
a            查看所有
n            以数字显示
p            显示进程号
t            tcp协议
u            udp协议

# 上边输出命令的解释:
Proto                       指的是当前服务用的是tcp协议还是udp协议
Recv-Q                      当前这个服务接受数据的大小
Send-Q                      当前这个服务发送数据的大小
Local Address               本地服务器监听的Ip地址以及端口号  格式:  IP:端口号
Foreign Address             客户端的IP地址和端口号,格式:IP:端口号
State                       tcp协议的状态,LISTEN:监听  ,ESTABLISHED:已连接的状态
PID                         这个服务的进程号
Program name                服务名

vi 命令使用

vi 命令的主要作用就是编辑文件的,分为两种模式:命令和末行;格式:vi $filename

# 命令模式:
dd                      删除当前光标所在行
3dd                     删除当前光标以下3行
u                       返回上一步,也叫做撤销
yy                      复制当前光标所在行
3yy                     复制当前光标以下三行
p                       粘贴复制的行
^                       快速回到行首 
$                       快速回到行尾
G                       快速回到最后一行
gg                      快速回到第一行
dG                      删除当前光标以下所有内容
zz                      保存并退出

# 末行模式:

set nu                  显示行号
set nonu                取消行号
1,5d                    删除1到5行
3                       快速跳到3行
w                       保存
q                       退出
wq                      保存并退出
wq!                     强制保存并退出
%s/shutdown/lemon/g     将文档中所有的shutdown替换成lemon
1,10s/lemon/armin/g     将文档中的1到10行的lemon替换成armin
1s/armin/root/          将第一行的第一个armin替换成root
%s/armin/root/          将每一行的第一个armin替换成root
%g/^#/d                 删除以#开头的所有行
%g/^$/d                 删除文档中所有空行

Linux基本使用

# 如何让服务随着系统的启动而启动?
systemctl   enable   服务名

# 如何不让服务随着系统的启动而启动?
systemctl   disable   服务名

# 如何查看服务是否随着系统的启动而启动?
systemctl   is-enabled  服务名

# 关闭防火墙
systemctl stop firewalld
systemctl disable firewalld

# 临时性关闭selinux
setenforce    0

# 临时性打开selinux
setenforce    1

# 查看selinux状态
getenforce

# 永久性关闭selinux (这种修改需要重启系统才会生效)
vi /etc/sysconfig/selinux 
   	SELINUX=disabled   
:wq!

# linux里边常用的退出命令
exit        quit      q      ctrl+c     ctrl+z

# shell解释器是用户与内核之间的翻译官,那么系统当中有哪些shell解释器呢?
cat /etc/shells 
/bin/sh
/bin/bash
/sbin/nologin
/usr/bin/sh
/usr/bin/bash
/usr/sbin/nologin

# 家目录下比较重要的文件
.bash_logout                      这个文件中的内容,用户每次退出的时候运行
.bash_profile                     这个文件中的内容,用户每次登录的时候运行
.bashrc                             这个文件中的内容,用户切换shell环境的时候运行

# linux命令的快捷键
ctrl+a                       快速回到命令的行首
ctrl+e                       快速回到命令的行尾
ctrl+u                       清除当前光标到行首
ctrl+k                       清除当前光标到行尾
ctrl+l 或者clear            清屏
ctrl+c                       强制中断

# 如何创建隐藏的目录及文件?
mkdir   .目录名       例如:mkdir  .lemon
touch   .文件名       例如:touch  .lemon

# 如何查看隐藏的目录及文件呢?(查看所有的内容,包括隐藏的)
ls   -a

# 如何创建文件?
touch   文件名       例如:touch  lemon.txt

# 创建100个文件
touch   lemon{1..100}.txt

# 如何删除文件或者目录
rm  -rf   目录或者文件名

# 如何查看文件的属性
ls -l [文件名]

# 如何查看目录的属性
ls -ld [目录名]

# 如何把lemon目录复制到/opt路径下?
cp  -r  lemon  /opt

# 如何把文件lemon.txt复制到/opt路径下?
cp  lemon.txt  /opt

# 如何剪切lemon目录和lemon.txt文件移到/opt路径下?
mv  lemon  lemon.txt  /opt

# 如何远程拷贝文件到另一个主机root用户上的/opt路径下?
scp /root/lemon.txt root@192.168.1.2:/opt

# 如何远程拷贝整个目录到另一个主机root用户上的/opt路径下?
scp -r lemon root@192.168.1.2:/opt 

# 查看linux系统的cpu?
cat /proc/cpuinfo

# 查看linux系统的内存?
cat  /proc/meminfo
free -g 或者 free -m 或者 free -k     #加上{h}就会以人性化的方式呈现
输出解释:
   total  总共多大
   used   用了多少
   free   还剩多少

# linux查看磁盘的容量?
df  -Th

# 一块硬盘,分区格式化后,想要存取数据,还需要挂载到系统的某一个目录下,这个目录简称挂载点
   - centos7.0的系统,硬盘默认的文件系统类型是xfs
   - centos6.0的系统,硬盘默认的文件系统类型是ext4
   - centos5.0的系统,硬盘默认的文件系统类型是ext3

# linux系统当中如何统计目录的大小?
du    -sh    目录名

# 查看文件内容有哪些命令?
cat 文件名       加上-n就是查看文件内容的同时,显示行号
more  文件名     分页查看文件内容 只能向下翻页不能像下翻页
less  文件名     分页查看文件内容 既能向下翻页也能向下翻页
head  文件名     默认查看文件的前10行
tail  文件名     默认查看文件的后10行

# 输出命令
echo   输出的意思,默认输出到屏幕
>      重定向覆盖
>>      重定向追加

# 例如:想要把123123写到文件1.txt
echo "123123">1.txt

# 统计文件的行数?
wc  -l    文件名

# 查看系统的日期?
date  +%F        查看系统的日期
date  +%T        查看系统的时间
date  +%w       查看周几

# 修改系统的时间?
date -s "2019-03-01 17:10:45"

如何关机重启

关机:init 0 | poweroff | shutdown -s -t 0; 重启:init 6 | reboot

Ps. 选项那么多,怎么知道一个命令,有哪些选项呢?
命令 --help 或者 man 命令

posted @ 2025-02-05 09:50  ArMinLi  阅读(19)  评论(0)    收藏  举报