linux常用命令
显示当前的目录名称 pwd
更改当前的操作目录 cd
普通用户切换到root用户 su - root
长格式显示当前目录下的内容 ls -l .
显示隐藏文件 ls -a
创建文件 mkdir ./a.txt mkdir -p /a/b/c
删除 rm -rf /a
复制 cp -r /files /tmp/
查看 tail -f /tmp/demo
压缩 tar czf /tmp/etc-backup.tar.gz /etc
解包 tar zxvf /tmp/etc-backup.tar.gz -C /root
强大的文本编辑器 vi
四种模式:正常模式(Normal-mode)、插入模式(Insert-mode)、命令模式(Command-mode)、可视模式(Visual-mode)。
i I o O a A 都可以进入插入模式。
: 进入命令模式
保存退出 :w /root/a.txt
不保存退出 :q!
在打开vim的同时,临时执行一条linux命令 :!ifconfig
查找 /xxx
查找下一个匹配的字符 n
替换单个字符 :%s/old/new
替换全部 :%s/old/new/g
esc 回到正常模式
h j k l 光标上下左右的移动
复制 y
复制一整行 yy
多行复制 3yy
粘贴 p
复制光标位置到这一行的结尾 y$
剪切 d
剪切光标所在的行 dd
剪切光标到这一行的结尾 d$
撤销 u
重做 ctrl+r
单个字符的删除 x
单个字符的替换 r
显示行数 :set nu
移动到指定行 11+G
移动到第一行 g
移动到最后一行 G
移动到某一行的开头 ^
移动到某一行的结尾 $
用户管理
useradd 新建用户
useradd wilson
id root
id wilson
userdel -r wilson #删除用户
passwd wilson
usermod 修改用户属性
chage 修改用户属性
groupadd 新建用户组
groupadd group1
useradd user1
usermod -g group1 user1
useradd -g group1 user2
groupdel 删除用户组
su - user1 切换到普通用户
文件类型
- 普通文件
d 目录文件
b 块特殊文件
c 字符特殊文件
l 符号链接
f 命名管道
s 套接字文件
字符权限表示方法
r 读
w 写
x 执行
数字权限的表示方法
r = 4
w = 2
x = 1
目录权限的表示方法
x 进入目录
rx 显示目录内的文件名
wx 修改目录内的文件名
修改权限命令
chmod 修改文件、目录权限 chmod u(user) g(group) o(other) a(all)
chmod a+r t.txt chmod 446 afile chmod user1:group1 afile
chown 更改属主、属组 chown user1 /test chown :group1 /test
echo 123 > afile 将123输出到afile文件里面
chgrp 可以单独更改属组,不常用
网络配置
网络状态查看
1、net-tools
ifconfig
/sbin/ifconfig
eth0 第一块网卡(网络接口)
你的第一个网络接口可能叫做下面的名字
eno1 板载网卡
ens33 PCI-E网卡
enp0s3 无法获取物理信息的 PCI-E 网卡
CentOS 7 使用了一致性网络设备命名,以上都不匹配则使用 eth0
2、iproute2
查看网卡物理连接情况 mii-tool eth0
查看网关 route -n #使用 -n 参数不解析主机名
网络接口命名修改
网卡命名规则受biosdevname 和 net.ifnames 两个参数影响
编辑 /etc/default/grub 文件,增加 biosdevname=0 net.ifnames=0
更新 grub
grub2-mkconfig -o /boot/grub2/grub.cfg
重启 reboot
biosdevname=0 net.ifnames=0 网卡名 eth0
biosdevname=0 net.ifnames=1 网卡名 ens33
biosdevname=1 net.ifnames=0 网卡名 em1
网络配置命令
ifconfig <接口> <IP地址>[netmask 子网掩码]
ifup <接口>
ifdown <接口>
网关配置命令--->
添加网关 route add default gw <网关ip>
route add -host <指定ip> gw<网关ip>
route add -net<指定网段> netmask<子网掩码> gw<网关ip>
网络命令集合: ip命令
ip addr ls ----> ifconfig eth0 10.211.55.4
ifconfig eth0 10.211.55.4 netmask 255.255.255.0
ip link set dev eth0 up ---> ifup eth0
ip addr add 10.0.0.1/24 dev eth1 ---> ifconfig eth1 10.0.0.1 netmask 255.255.255.0
ip route add 10.0.0/24 via 192.168.0.1
----> route add -net 192.168.0.0 netmask 255.255.255.0 gw 192.168.0.1
route add -host 10.0.0.1 gw 10.211.55.1
路由命令
网络故障排除命令
ping www.baidu.com # 检测当前主机和目标主机是否畅通
traceroute -w 1 www.baidu.com # 检测当前主机到目标主机的网络状况,追踪服务器的每一跳
mtr # 检测当前主机到目标主机的网络状况
nslookup www.baidu.com # 域名解析成ip地址
telnet www.baidu.com 80 # 检测端口的连接状态
yum install telnet -y # 安装telnet
tcpdump -i any -n port 80 # 细致的分析数据包(网络抓包工具)
tcpdump -i any -n host 10.0.0.1 # 细致的分析数据包(网络抓包工具)
tcpdump -i any -n host 10.0.0.1 and port 80 # 细致的分析数据包(网络抓包工具)
tcpdump -i any -n host 10.0.0.1 and port 80 -w /tmp/files # 细致的分析数据包(网络抓包工具)
netstat -ntpl #
ss -ntpl
网络服务管理
网络服务管理程序分为两种,分别为SysV和systemd
service network start|stop|restart
chkconfig --list network
chkconfig --level 2345 network off
systemctl list-unit-files NetworkManager.service
systemctl start|stop|restart NetworkManager
systemctl enable|disable NetworkManager
常用网络配置文件
ifcfg-eth0
动态配置
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="dhcp"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GET_MODE="stable-privacy"
NAME="eth0"
UUID="045d35e8-49bc-4865-b04a-165483951724"
DEVICE="eth0"
NOBOOT="yes"
静态配置
TYPE="Ethernet"
UUID="045d35e8-49bc-4865-b04a-165483951724"
NAME="eth0"
DEVICE="eth0"
NOBOOT="yes"
BOOTPROTO="none"
IPADDR=10.211.55.3
NETMASK=255.255.255.0
GATEWAY=10.211.55.1
DNS1=114.114.114.114
/etc/hosts
hostname c7.test11
hostnamectl set-hostname c7.test11
vim /etc/hosts
127.0.0.1 c7.test11
软件包管理器
包管理器是方便软件安装、卸载,解决软件依赖关系的重要工具
CentOS、RedHat 使用 yum 包管理器,软件安装包格式为 rpm
Debian、Ubuntu 使用 apt 包管理器,软件安装包格式为 deb
rpm 包格式
vim-common-7.7.10-5.el7.x86_64.rpm
软件名称 软件版本 系统版本 平台
rpm 命令常用参数
-q 查询软件包
-i 安装软件包
-e 卸载软件包
挂载
mount /dev/sr0 /mnt
cd mnt
cd Packages/
mkdir /root/rpms
ls vim*
mkdir /root/rpms
cp vim-common-7.4.160-5.el7.x86_64.rpm vim-enhanced-7.4.160-5.el7.x86_64.rpm /root/rpms
cd /root/rpms
ls
rpm -qa # 查询已经安装的软件包
rpm -qa | more
rpm -q vim-common
rpm -i vim-common-7.4.160-5.el7.x86_64.rpm
rpm -i vim-enhanced-7.4.160-5.el7.x86_64.rpm
rpm -e vim-enhanced
rpm 包的问题:1、需要自己解决依赖关系;2、软件包来源不可靠。
CentOS yum 源 http://mirror.centos.org/centos/7/
国内镜像 https://opsx.alibaba.com/mirror
yum 配置文件
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
yum 命令常用选项
install 安装软件包
remove 卸载软件包
list| grouplist 查看软件包
update 升级软件包
yum 操作
参考博客地址 https://opsx.alibaba.com/mirror
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
sudo yum makecache
其他方式安装
二进制安装
源代码编译安装
wget https://openresty.org/download/openresty-1.15.8.1.tar.gz
tar -zxf openresty-VERSION.tar.gz
cd openresty-VERSION/
./Configure -des -Dprefix=/usr/local/perl
make -j2
make install
yum install gcc gcc-c++ # 报错的话 解决方案
yum install pcre-devel
yum install openssl-devel -y
升级内核
rpm 格式内核
查看内核版本 uname -r
yum install epel-release -y
升级内核版本 yum install kernel-3.10.0
升级已安装的其他软件包和补丁 yum update
源代码编译安装内核
安装依赖包 yum install gcc gcc-c++ make ncurses-devel openssl-devel elfutils-libelf-devel
下载并解压缩内核 https://www.kernel.org(wget)
tar xvf linux-5.1.10.tar.xz -C /usr/src/kernels
配置内核编译参数
cd /usr/src/kernels/linux-5.1.10
make menuconfig | allyesconfig | allnoconfig
使用当前系统内核配置
cp /boot/config-kernelversion.platform /usr/src/kernels/linux-5.1.10/.config
查看 CPU lscpu
编译 make -j2 all
安装内核
make modules_install
make install
reboot
相关文章
- wget批量下载gitlab uploads的文件和图片
背景 下载gitlab的uploads文件,因为wiki可以直接clone,但是上传的文件和图片却无法下载(除非你有gitlab的服务器权限) 之前尝试用写Java工具下载 遍历所有的.md文件
- shell/设置外网访问权限
/sbin/route add default gw 10.94.144.1 该网段的默认路由地址即路由器的地址为10.xxx.xxx.1 而路由器是可以访问外网的 由于静态路由在网卡启动时会删除,所
- shell/文件权限操作
文件安全与权限 文件类型 d 目录 l 符号连接 s 套接字文件 b 块设备文件 c 字符设备文件 p 命名管道文件 普通文件 改变权限 符号模式 chmod [who] operator
- shell/条件测试
测试语法 test condition #或 [ condition ] 使用方括号时,要注意在条件两边加上空格。 文件测试 测试状态: 符号 释义 -d 是否是目录 -f 是否
- 常用shell命令
常用命令 查找类 find / -name "export.sh" which 查看可执行文件的位置 whereis 查看文件的位置 locate 配合数据库查看文件位置 find 实际搜寻硬盘查询文
随机推荐
- wget批量下载gitlab uploads的文件和图片
背景 下载gitlab的uploads文件,因为wiki可以直接clone,但是上传的文件和图片却无法下载(除非你有gitlab的服务器权限) 之前尝试用写Java工具下载 遍历所有的.md文件
- shell/设置外网访问权限
/sbin/route add default gw 10.94.144.1 该网段的默认路由地址即路由器的地址为10.xxx.xxx.1 而路由器是可以访问外网的 由于静态路由在网卡启动时会删除,所
- shell/文件权限操作
文件安全与权限 文件类型 d 目录 l 符号连接 s 套接字文件 b 块设备文件 c 字符设备文件 p 命名管道文件 普通文件 改变权限 符号模式 chmod [who] operator
- shell/条件测试
测试语法 test condition #或 [ condition ] 使用方括号时,要注意在条件两边加上空格。 文件测试 测试状态: 符号 释义 -d 是否是目录 -f 是否
- 常用shell命令
常用命令 查找类 find / -name "export.sh" which 查看可执行文件的位置 whereis 查看文件的位置 locate 配合数据库查看文件位置 find 实际搜寻硬盘查询文