時間管理
# 1 centos 7 新增方式 systemd的一部分
timedatectl # 查看日期與時間
timedatectl set-time 23:06:45 # 更新系統時間與硬件時間
timedatectl set-time YYYY-MM-DD 23:06:45 # 更新日期
systemctl restart systemd-timedated.service # 重啓時間,使修改生效
timedatectl list-timezones|grep Asia # 列出時區
timedatectl set-timezone Asia/Hong_Kong # 更改時區
timedatectl set-ntp yes/no # 遠程自動同步開啓/關閉
timedatectl set-local-rtc yes/no # yes使用本地時間 no使用UTC時間
# 2 軟件時間
date
date -R
date "+%Y-%m-%d %H:%M:%S"
date -s "2019-10-03 23:00:00" #修改時間
# 3 硬件時間(real-time clock)RTC 建議使用UTC
hwclock
hwclock --set --date "21 Oct 2019 17:53" --utc # 修改硬件時間,並設置爲utc
hwclock --systohc --utc # 硬件時鐘與系統時間同步,並設置爲UTC時間
hwclock --systohc --localtime # 硬件時鐘與系統時間同步,並設置爲本地時間
hwclock -w --localtime
# 操作
date # 查看系統時間
hwclock # 查看硬件時間
timedatectl set-timezone Asia/Shanghai # 更新時區
timedatectl set-time 2017-06-13 18:18:00 # 更新日期時間
timedatectl set-local-rtc 1 # 更新硬件時間與系統時間一致
hwclock --systohc --localtime # 更新硬件時間與系統時間一致
clock –w # 日期寫入cmos
主機名稱
# 主機配置
hostname # 查看主機名稱
hostneme 【名稱】 # 修改主機名稱(臨時修改,重啓後失效)
vim /etc/sysconfig/network # 永久修改主機名稱(重啓後生效) centos 6
# NETWORKING=yes
# HOSTNAME=hadoop01
hostnamectl set-hostname 【名稱】 # 修改主機名稱,立刻永久生效 centos 7
# 主機映射:給別的機器起別名,也可以給自己起化名
# linux vim /etc/hosts
# win c:\\windows\system32\drivers\etc\hosts
# 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
# ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
# 192.198.2.101 centos01
# 192.168.2.102 centos02
系統啓動級別
# 系統啓動級別
# poweroff.target 0 關機(不要設置爲默認)
# rescue.target 1 單用戶(救援模式)
# multi-user.target 2 多用戶無網絡(2和3一致,只是沒有網絡)
# multi-user.target 3 全功能多用戶
# 4 未使用
# graphical.target 5 圖形界面
# reboot.target 6 重啓(不要設置爲默認)
# centos 7 操作
systemctl get-default # 查看默認的target
systemctl set-default multi-user.target # 修改啓動級別爲level3啓動
systemctl rescue # 進入救援模式,會加載驅動
systemctl emergency # 進入救援模式,不會加載驅動系統服務
# centos 6 操作
runlevel # 查看用戶啓動級別
vim /etc/inittab # 系統啓動級別配置文件
系統開機自啓動服務
# 系統開機自啓服務
# centos 7 操作
systemctl list-unit-files --type service # 查所有服務
systemctl list-dependencies --after # 指定服務的依賴服務
systemctl list-dependencies --before # 指定服務的服務對象
systemctl is-enabled name.service # 查服務是否自啓
systemctl status name.service # 查服務狀態
systemctl enable/disable name.service # 啓用/停用
# centos 6 操作
chkconfig --list
chkconfig --list name
chkconfig name on/off
用戶與用戶組
# 用戶是權限的集合,用戶組是權限容器
who # 查看登陸用戶
w 【用戶名】 # 查看某一用戶
last # 查看登陸歷史記錄
# 用戶分類
# 管理員用戶 root uid --> 0
# 系統用戶 保證系統正常運行,沒有密碼 uid --> 1-499
# 普通用戶 權限受限用戶 uid --> 500-60000
cat /etc/passwd # 查看用戶 cat /etc/shadow 密碼文件
user add 【用戶名】 # 添加用戶
passwd 【用戶名】 # 修改密碼 --> 後續根據提示操作
user mod 【選項】【用戶名】 # 修改用戶屬性
user del 【用戶名】 # 刪除用戶
# 配置sudoer 權限(普通用戶臨時擁有系統權限)
su 【用戶名】 #切換用戶
# root用戶下操作:
vim /etc/sudoers
# root ALL=(ALL) ALL
# 普通用戶名 ALL=(ALL) ALL
# 配置後,普通用戶 做root權限操作,需要用sudo開頭
sudo useradd 【用戶名】
exit 退出用戶(切換多次用戶,換的時候可以退出當前用戶)
# 用戶組分類
# 系統組
# 私有組
# 普通用戶組
cat /etc/group # 查看組 cat /etc/gshadow
groupadd
groupmod
groupdel
gpasswd -a/-d 【用戶名】【組名】
系統進程管理
# 系統進程管理
# 狀態:
# 1 就緒狀態 除了cpu資源,其他的都已經就緒了
# 2 運行狀態 就緒進程獲得了cpu資源
# 3 阻塞狀態
ps -aux | grep aaa # 查看進程狀態
pstree # 查看進程樹
top # 查看動態進程狀態 # q退出
jps # java中的命令,查看jvm中的進程
kill -9 pid # 強制殺死進程(不可濫用,能正常關閉的不要用kill)
pidof 程序 # 查看某個程序的pid
ctrl+c # 終止進程
crtl+z # 掛起進程(暫停執行)
jobs # 查看任務,後臺運行的進程
fg # 轉換到前臺運行
bg # 轉換到後臺運行
uptime # 系統負載
lsof # 查看進程打開的文件,打開文件的進程,進程打開的端口
screen # 會話管理 # 用於遠程登陸,CRT長時間連接,超時斷開後腳本也會停止運行
計劃任務
# 服務啓動 centos 7
systemctl status crond # 查看計劃任務狀態
yum install crontabs # 安裝 crontabs
systemctl start crond # 啓動crond服務
systemctl enable crond # 設爲開機啓動
vi /etc/crontab # 設置用戶自定義定時任務
# * * * * * user-name command to be executed
crontab /etc/crontab # 使生效
crontab -l # 查看計劃任務
crontab -u 用戶名 -l # 列出用戶的定時任務列表
# centos 6
yum install -y crontabs
service crond start/status
# 2 編輯計劃任務
crontab -e # 分 時 日 月 星期(0-6) command
# 每分鐘執行 # * * * * *date>>/home/a.txt
# 0,30 * * 6
cd /var/spool/cron/ # 用戶級計劃任務
crontab -r # 刪除計劃任務
網絡管理
# 網絡管理
# 網絡通訊模式(三種)
# 橋接模式 宿主機的物理網卡和虛擬交換機之間通過虛擬網橋建立連接
# (主機數有限,不利於搭建大型集羣)
# NAT模式 兩條路:
# 虛擬網卡(vmnet8)和虛擬交換機(vmnet8)之間建立連接;
# 虛擬交換機(vmnet8)和物理網卡通過NAT設備建立連接。
# 通過虛擬NAT設備相連:用於網絡地址轉換
# 僅主機模式 沒有外部網絡連接,相當於NAT模式中去掉了虛擬NAT設備
# 實操
# NAT 虛擬網絡設置子網IP:192.168.2.0
# 查到此時的子網網關(192.168.2.2)
# linux 圖形設置
# method:manual
# address:192.168.2.101
# nwtmask:255.255.255.0
# gateway:192.168.2.2
# DNS server:192.168.2.2
serveice network restart
# 命令行設置
inconfig # 查看網絡接口信息,找到網卡名稱(ens33)
ip addr # centos 7 查 ip地址信息
ifconfig ens33 up/dowm # 開啓/關閉網卡
vim /etc/sysconfig/network-scripts/ifcfg-網卡名稱
# device=ens33 # 網卡名稱
# uuid= # 網卡標識
# onboot=yes/on # 是否開機自動連接
# bootproto=dhcp/static/none # 動態協議/靜態/靜態
# hwaddr= # mac地址
# ipaddr=192.168.2.101 # ip地址
# gateway=192.168.2.2 # 網關
# dns1=192.168.2.2 # dns
# netmask= # 子網掩碼
service network restart # 設置完成後重啓服務
# 網絡管理命令
ping # 測試網絡聯通狀態
host # 根據域名查看IP
netstat # 查看程序端口占用情況
netstat -nltp # 查看正在監聽TCP協議的程序,(端口相關篇有介紹)
ssh免密登陸
# ssh免密登陸
# 安全外殼協議,實現計算機之間的加密傳輸。
scp -r /etc/hosts root@centos01 /etc/hosts # 發送文件給01主機的root用戶
# 配置免密登陸
# 1 生成密鑰對
ssh-keygen
# 2 發送公鑰到對方授權池
ssh-copy-id centos01 # 發送給01機 # 發送前先要做主機映射
集中日誌管理
# yum install rsyslog logrotate (默認已安裝)
# systemctl start rsyslog.service //啓動
軟件 安裝
# 軟件安裝方式:
# 1 二進制發佈包 :已經根據平臺編譯並打包,只需要解壓和配置即可使用
# 2 rpm發佈包 :採用redhat的包管理規範進行打包。rpm包使用rpm命令安裝
# 缺點 :不能解決包依賴的問題
# 3 yum在線安裝 · :前端包管理的工具 會檢測包依賴並自動下載安裝
# 同時提供搜索,以及處理依賴問題
# 4 源碼編譯安裝 :以源碼工程方式發佈,需要先編譯 再安裝部署
# rpm 查詢與卸載
rpm -q 程序 #
rpm -qa | grep -i 程序 # 查詢已安裝包
rpm -ql 程序 # 安裝位置
rpm -e 程序包 # 卸載
--nodeps # 依賴
--force # 強制
rpm -ivh 程序 # 安裝
rpm -uvh 程序 # 升級
# yum 在線安裝
yum install 程序 # 安裝
yum remove 程序 # 卸載
yum update 程序 # 更新
yum -y install/remove/update # 無需詢問,直接安裝/卸載/更新
# yum源 配置
cd /etc/yum.repos.d/ # repo文件配置了軟件的下載路徑
yum repolist # yum源列表
yum list # yum源的軟件列表
yum list | grep jdk
# 自建本地yum源
# 1 搭建服務器
service httpd start
# httpd 資源路徑:/var/www/html/
# httpd 配置文件目錄:/etc/httpd/conf.d/
# 2 存放rpm軟件到服務器
ln -s /mnt/cdrom/ /var/www/html/
# 3 在yum源配置文件中添加訪問路徑
cp # 配置文件模板複製 然後修改模板
【local】
name=
baseurl=
gpgcheck=0
enabled=1
# 4 使用
# java安裝流程
# 1 獲取安裝包
# wget http://.......
# CRT 帶有ftp插件 alt+p 調出 用 put -r 命令上傳 還有 rz sz 命令進行上傳下載
# 查看是否安裝軟件(java)
java -version
rpm -qa | grep -i jdk # 查看系統是否安裝了java -i忽略大小寫
rpm -e --nodeps 軟件包 # 卸載軟件包
# 2 解壓
# 3 配置
/etc/profile # 全局配置
vi /etc/profile # 打開配置文件
# G到最後一行
# 添加:export JAVA_HOME=/opt/... export 是提升爲全局變量的意思
# 添加: export PATH=${JAVA_HOME}\bin:${PATH} PATH注意不能直接等於,要不然會把path原來的路徑覆蓋掉,要用追加
source /etc/profile # 重新加載文件
/home/用戶名/.bash_profile or bashrc # 用戶的配置
# 4 測試
# mysql rpm包安裝流程
# 1 查看系統是否已經安裝mysql
rpm -qa | grep -i mysql # 查詢
rpm -e --nodeps 包名稱 # 卸載
# 2 獲取安裝包並解壓
# 3 使用命令安裝 server 和 client
rpm -ivh 包名
# 安裝信息中有東西需要注意:
# 默認密碼 :/root/.mysql_secret
# 修改密碼:SET password
# 配置文件:/usr/my.cnf
# 4 啓動服務
service mysql start
# 5 連接mysql
cat /root/.mysql_secret # 查看默認密碼
mysql -uroot -p
set password=password('root');
# 6 配置
# 授權所有數據庫的權限給到root用戶
grant all privileges on *.* to 'root'@'%' identified by 'root' with grant option
# *.* 數據庫名,這個代表所有數據庫
# @'%' 是指所有遠程地址
# identified by 'root' 這個root是root原密碼,也可以直接寫密碼
flush privileges; # 刷新權限
# 其他配置
vim /usr/my.cnf