Liunx筆記

記錄學習Liunx的筆記,內容比較雜。php

配置centos7的網絡

在建立的時候必定要選擇橋接網絡,在centos7中查看本機的ip地址再也不是ifconfig命令,而是由ip addr來代替html

$ ip addr
複製代碼

經過ip addr命名查詢到咱們網卡的名字後,能夠進入如下文件中修改網路配置node

$ vi /etc/sysconfig/network-scripts/ifcfg-enp0s3
# 在文件中須要修改的內容以下:
# 把BOOTPROTO修改成static
BOOTPROTO=static
# 把ONBOOT修改成yes
ONBOOT=YES
# 添加如下內容
IPADDR=192.168.0.30 # 這個ip地址要對應這本機的ip,要處於同一個網段 
GATEWAY=192.168.0.1 # 網關地址
NETMASK=255.255.255.0 # 子網掩碼
DNS1=8.8.8.8 # DNS1
DNS2=114.114.114.114 # DNS2
複製代碼

修改好以上後退出保存重啓網卡,修改DNS還能夠在/etc/resolv.conf下添加nameserver 8.8.8.8修改,重啓後基本上就能夠ping同外網了。mysql

centos6的網卡重啓方法:service network restart
centos7的網卡重啓方法:systemctl restart network
複製代碼

關閉防火牆

1.
啓動: systemctl start firewalld
關閉: systemctl stop firewalld
查看狀態: systemctl status firewalld 
開機禁用  : systemctl disable firewalld
開機啓用  : systemctl enable firewalld
那怎麼開啓一個端口呢
添加
firewall-cmd --zone=public --add-port=2375/tcp --permanent    (--permanent永久生效,沒有此參數重啓後失效)
從新載入
firewall-cmd --reload
查看
firewall-cmd --zone= public --query-port=2375/tcp
刪除
firewall-cmd --zone= public --remove-port=2375/tcp --permanent
 
2.systemctl是CentOS7的服務管理工具中主要的工具,它融合以前service和chkconfig的功能於一體。
啓動一個服務:systemctl start firewalld.service
關閉一個服務:systemctl stop firewalld.service
重啓一個服務:systemctl restart firewalld.service
顯示一個服務的狀態:systemctl status firewalld.service
在開機時啓用一個服務:systemctl enable firewalld.service
在開機時禁用一個服務:systemctl disable firewalld.service
查看服務是否開機啓動:systemctl is-enabled firewalld.service
查看已啓動的服務列表:systemctl list-unit-files|grep enabled
查看啓動失敗的服務列表:systemctl --failed
 
3.配置firewalld-cmd
 
查看版本: firewall-cmd --version
查看幫助: firewall-cmd --help
顯示狀態: firewall-cmd --state
查看全部打開的端口: firewall-cmd --zone=public --list-ports
更新防火牆規則: firewall-cmd --reload
查看區域信息:  firewall-cmd --get-active-zones
查看指定接口所屬區域: firewall-cmd --get-zone-of-interface=eth0
拒絕全部包:firewall-cmd --panic-on
取消拒絕狀態: firewall-cmd --panic-off
查看是否拒絕: firewall-cmd --query-panic
複製代碼

liunx升級內核

能夠經過uname -r查看本身的內核版本是多少linux

  • 導入public key
$ rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
複製代碼
$ rpm -Uvh https://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm
複製代碼
  • 安裝 kernel-lt(lt=long-term) 這裏須要注意的是,在 ELRepo 中有兩個內核選項,一個是 kernel-lt(長期支持版本),一個是 kernel-ml(主線最新版本),採用長期支持版本(kernel-lt),更穩定一些
$ yum --enablerepo=elrepo-kernel install kernel-lt -y
# 或者
$ yum --enablerepo=elrepo-kernel install kernel-ml -y
複製代碼
  • centos6中編輯/etc/grub.conf文件,修改Grub引導順序
# 由於通常新安裝的內核在第一個位置,因此設置default=0,表示啓動新內核
$ vim /etc/grub.conf 
# 以後重啓虛擬機之後 可經過uname -r再次查看內核版本
複製代碼
  • centos7中進入/etc/grub2.cfg文件中
$ vim /etc/grub2.cfg
複製代碼

20190410132040

能夠看到我有兩個系統內核,把內核爲4.4的單引號中的內容複製,在命令行中運行如下命令sql

# 配置默認內核 
$ grub2-set-default 'CentOS Linux (4.4.153-1.el7.elrepo.x86_64) 7 (Core)'
# 查看是否設置成功
$ grub2-editenv list
# 重啓liunx主機
$ reboot
複製代碼

修改centos7的主機名稱

在CentOS 7中,有個叫hostnamectl的命令行工具,它容許你查看或修改與主機名相關的配置,只查看靜態、瞬態或靈活主機名,分別使用「--static」,「--transient」或「--pretty」選項。shell

  • 例如,要永久修改主機名,你能夠修改靜態主機名:
$ hostnamectl --static set-hostname node01
複製代碼
  • 修改/etc/hosts文件添加
127.0.0.1 node01
$ reboot
複製代碼

ubuntu中使用apt-get安裝的mysql如何登陸 5.7版本

使用apt-get安裝的mysql不知道root的密碼,因此以root身份是登錄不上去的,這時咱們須要作如下操做:ubuntu

  • 其實 debian 系的 MySQL 安裝過程當中會設置一個默認的帳戶,這個文件裏保存了默認帳號的信息
$ cat /etc/mysql/debian.cnf
複製代碼
  • 以上文件內容中有帳戶和密碼,而後咱們就能夠用這個帳號登陸 MySQL
$ mysql -u debian-default-account -p defaultpassword
複製代碼
  • 設置root用戶的密碼
$ use mysql
$ set password for 'root'@'localhost' = password('yourpass');
$ flush privileges;
複製代碼

Ubuntu配置網絡(有多是個例)

若是是雙網卡的話,使用ip add顯示的網卡名字有多是p1p1 OR p3p1這種名字,單網卡可能就是eth0,視狀況而定vim

$ vi /etc/network/interfaces
# 添加如下內容
auto p3p1
iface p3p1 inet static
address 192.18.0.119
netmark 255.255.255.0
gateway 192.168.0.1
# 添加dns
$ vi /etc/resolv.conf
nameserver 223.5.5.5
nameserver 223.6.6.6
# 確保dns不會在重啓電腦後失效
$ vi /etc/resolvconf/resolv.conf.d/base
naseserver 223.5.5.5
nameserver 223.6.6.6
複製代碼

運行命令生效dnscentos

$ resolvconf -u
複製代碼

運行命令生效網絡

$ ifdown p3p1 && ifup p3p1
複製代碼

linux清除緩存

  • 查看磁盤空間
# 查看那些文件比較大以及查看查看磁盤空間
$ du -h --max-depth=1
# 查看內存狀況
$ free -h
# 查看磁盤空間
$ df -hl
複製代碼
  • 清除內存緩存
$ echo 1 > /proc/sys/vm/drop_caches
複製代碼

linux用戶操做

給用戶多添加一個組

# 建議使用這種方式
$ gpasswd -a user_name group_name
OR
$ usermod -a -G 用戶組 用戶名
# -G:給用戶添加一個附屬組
複製代碼

添加用戶而且容許用戶在建立好的文件夾中操做

# 建立用戶組
$ gourpadd kernel
# 添加用戶,主組是kernel,副組是wheel和adm,用戶名是ywh
$ useradd -s /bin/bash -d /home/ywh -m -g kernel -G wheel,adm ywh
$ mkdir kernelbuild
# 把這個文件的權限賦值給kernel組, -R 表示遞歸把下面全部的文件都變成kernel組
$ chgrp -R kernel kernelbuild
# 操做的用戶也分給新建立的用戶ywh
$ chown -R ywh kernelbuidl
複製代碼

Arch Linux 中安裝NFS服務

服務端

由於是Arch Linux的安裝方式,因此若是是其餘的系統請自行查閱

# 安裝nfs服務
$ pacman -Sy nfs-utils
複製代碼

配置nfs服務,假設要共享的目錄是 /mnt/nfs

# 建立要共享的文件夾
$ mkdir /mnt/nfs
# 配置nfs的共享目錄
$ vim /etc/exports

/mnt/nfs *(rw,sync,no_root_squash,no_subtree_check)

# 每一次修改exports文件都須要運行如下命令
$ exportfs -ra

# 開啓nfs服務
$ systemctl start nfs-server.service
# 開機自啓服務
$ systemctl enable nfs-server.service
複製代碼

客戶端

$ systemctl start rpcbind.service
$ systemctl start nfs-client.target
$ systemctl start remote-fs.target
$ systemctl enable rpcbind.service
$ systemctl enable nfs-client.target
$ systemctl enable remote-fs.target
複製代碼

嵌入式設備須要加參數 -o nolock,若是不是嵌入式設備的話就不用加了

$ mount -t nfs -o nolock 192.168.1.122:/home/ywh/build /mnt/nfs
複製代碼

對shell腳本加密

shc是一個專業的加密shell腳本的工具.它的做用是把shell腳本轉換爲一個可執行的二進制文件,這個辦法很好的解決了腳本中含有IP、密碼等不但願公開的問題.

下載 shc-3.8.9b.tgz 之後上傳到liunx機器中對其進行解壓。

$ tar -xvf shc-3.8.9b.tgz
$ cd shc-3.8.9b
# 建立man1目錄是必須的,否則安裝過程當中會報錯,shc將安裝命令到/usr/local/bin/目錄下;
# 將幫助文檔存放在/usr/local/man/man1/目錄下,若是系統中無此目錄,安裝時會報錯,可建立此目錄後再執行安裝
$ mkdir -p /usr/local/man/man1
$ make install
# 接下來要輸入 yes
複製代碼

使用方法以下

$ shc -r -f script-name
複製代碼

運行後會生成兩個文件,script-name.x 和 script-name.x.c. 其中script-name.x是加密後的可執行的二進制文件;用./script-name便可運行,script-name.x.c是生成script-name.x的原文件(c語言).

自定義 system 服務

shell腳本多行註釋

#!/bin/bash 
:<<EOF
echo "1"
echo "1"
echo "1"
echo "1"
echo "1"
EOF

echo 2
複製代碼

只輸出2

相關文章
相關標籤/搜索