linux常用命令

技术文档网 2021-04-16
显示当前的目录名称 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

相关文章

  1. wget批量下载gitlab uploads的文件和图片

    背景 下载gitlab的uploads文件,因为wiki可以直接clone,但是上传的文件和图片却无法下载(除非你有gitlab的服务器权限) 之前尝试用写Java工具下载 遍历所有的.md文件

  2. shell/设置外网访问权限

    /sbin/route add default gw 10.94.144.1 该网段的默认路由地址即路由器的地址为10.xxx.xxx.1 而路由器是可以访问外网的 由于静态路由在网卡启动时会删除,所

  3. shell/文件权限操作

    文件安全与权限 文件类型 d 目录 l 符号连接 s 套接字文件 b 块设备文件 c 字符设备文件 p 命名管道文件 普通文件 改变权限 符号模式 chmod [who] operator

  4. shell/条件测试

    测试语法 test condition #或 [ condition ] 使用方括号时,要注意在条件两边加上空格。 文件测试 测试状态: 符号 释义 -d 是否是目录 -f 是否

  5. 常用shell命令

    常用命令 查找类 find / -name "export.sh" which 查看可执行文件的位置 whereis 查看文件的位置 locate 配合数据库查看文件位置 find 实际搜寻硬盘查询文

随机推荐

  1. wget批量下载gitlab uploads的文件和图片

    背景 下载gitlab的uploads文件,因为wiki可以直接clone,但是上传的文件和图片却无法下载(除非你有gitlab的服务器权限) 之前尝试用写Java工具下载 遍历所有的.md文件

  2. shell/设置外网访问权限

    /sbin/route add default gw 10.94.144.1 该网段的默认路由地址即路由器的地址为10.xxx.xxx.1 而路由器是可以访问外网的 由于静态路由在网卡启动时会删除,所

  3. shell/文件权限操作

    文件安全与权限 文件类型 d 目录 l 符号连接 s 套接字文件 b 块设备文件 c 字符设备文件 p 命名管道文件 普通文件 改变权限 符号模式 chmod [who] operator

  4. shell/条件测试

    测试语法 test condition #或 [ condition ] 使用方括号时,要注意在条件两边加上空格。 文件测试 测试状态: 符号 释义 -d 是否是目录 -f 是否

  5. 常用shell命令

    常用命令 查找类 find / -name "export.sh" which 查看可执行文件的位置 whereis 查看文件的位置 locate 配合数据库查看文件位置 find 实际搜寻硬盘查询文