Linux 基本操作及相关命令
Linux 网络配置
配置时需要将用户切换到root用户,或者给当前用户配置root用户的权限。
参考:Linux命令大全
Linux基本命令
1.进入目录
cd /etc #直接切换到指定的目录,绝对路径
cd . #当前目录,后面跟的路径为相对路径
cd .. #返回上一层,相对路径
#带斜杠的是绝对路径,如果不带,就是进入当前目录下的子目录。
2. 列出该目下的文件和文件夹
ls -a #列出文件和文件夹(可以查看到. 和..)
ls -l #列出文件和文件夹详细信息(和 ll 的作用相同)
ls -al #列出文件和文件夹详细信息
- vi / vim Shell编辑器
- 命令行模式
- G # 跳到最后一行
- gg # 跳转到第一行
- yy --> yy #复制或者多行复制
- p #粘贴
- dd #剪切光标所在行
- x #删除光标当前指向的内容
- 插入模式
- i #在光标所在位置插入
- o # 在光标所在下一行插入
- s # 删除光标所在位置的内容并开启插入模式
- 最后行模式
- ser nu #添加行号
- ser nonu #去除行号
- 查找某个字符串
eg::/walloce #使用n向下查找,使用N向上查找
- 替换内容
- /old/new #把匹配到的第一个old替换为new
eg::s/walloce/root #将walloce替换为root
- /old/new/g #替换匹配行所有old为new
- :#,#s/old/new/g #将对应行号的old改为new
- :%s/old/new/g #全文匹配替换
- /old/new #把匹配到的第一个old替换为new
- w:保存 q:退出 !:强制
- 创建文件夹
mkdir -p /opt/modules
- 删除文件/文件夹
rm test.txt #删除文件
rm -rf /opt #删除文件路径下所有的内容
- 查看文件内容
cat /etc/hosts #cat查看如果文件内容很大是看不全的
more /etc/hosts #查看大文件内容
#空格键:翻页,q:退出
head -number /etc/hosts #查看头几行(number:查看的行数,默认查看前10行)
tail -number /etc/hosts #查看末尾几行(number:查看的行数,默认查看末尾10行)
-
创建连接
- 硬链接 hard link
ln test.txt test_hard #test.txt为源文件, test_hard为硬链接
- 软链接 soft link
ln -s test.txt test_soft
- 比较
相同点: 使用链接可以保持文件的同步
区别:(1)软链接类似快捷方式,源文件丢失链接失败,软链接占磁盘空间少;
(2)硬链接类似文件的复制,源文件丢失链接还是可以使用的;
(3)软链接可以用于文件和文件夹,硬链接只能用于文件
-
find 搜索命令
- find搜索会消耗大量的系统资源
- find语法格式
- 根据名称查询
find / -name init # 根据文件名称搜索, /:为搜索的文件路径 find / -iname init #根据文件名查询,不区分大小写
- 模糊查询
find / -name init?? #“?”可以不使用'' find / -name '*init*' #使用“*”时需要使用''
- 按文件大小查询
find / -size -100M # 小于100M的文件 find / -size +100M # 大于100M的文件
- 根据问价所属者或者所属组查询
find / -group walloce #查询属于walloce组的文件 find / -user walloce # 查询属于walloce用户的文件
- 根据文件类型查询
find / -type d #查询目录文件 #f(普通文件) #d(目录文件) #l(链接文件) #b(块设备文件) #c(字符设备文件) #p(管道文件) #s(socket文件)
-
用户管理
useradd walloce #创建用户
groupadd walloceg1 #创建用户组
userdel walloce #删除用户,需要去删除/home目录下的用户宿主目录
groupdel walloceg1 #确保组里没有用户再删除
- 重启/关机
reboot
init 6
init 0
shutdown --p now
- 提权
su root
sudo
- 开启服务
service ntpd start
- 服务操作
service ntpd status #查看状态
service ntpd stop|on #停止/开启
- 修改文件,文件夹权限
chmod 700 /var/www/html/aa
# 7 0 0 三个数字分别对应:文件所有者(u): 文件所有者所在的组的成员(g):其他用户(o)
# r w x r:2^2(4) w:2^1(2) x:2^0(1)
# r:可读 w:可写 x:可执行
- 复制文件并改名
cp file1 ./file2
- 查看包状态
rpm -qa|grep ssh
- yum安装
yum install ssh
- 拷贝文件、文件夹到其他机器
scp /root/.ssh root@H31:/root/.ssh/
- 查看机器名
hostname
- 查看端口情况
netstat
-t #表示TCP网络协议,三次握手更安全
-u #表示UDP网络协议,直接传输数据
-l #表示监听,监听端口
-r #表示路由器,查看网关
-n 标识ip地址和端口号(显示ip和端口号)
netstat -tlun #查看已经开启的监听端口
netstat -an #查看已经开启的监听端口及正在连接的网络程序
netstat -rn #查询路由信息,可以看到网关
netstat -apn | grep 8020 #查看占用端口8020的程序
- 进程操作
ps -ef #查看进程
kill -15 #正常杀除
kill -9 #强制杀除
ps -aux | grep hadoop #查看hadoop相关的进程pid
ps -ef | grep java #查看所有java进程
kill -9 1920 #强制杀除Pid为1920的进程
修改主机名
vi /etc/sysconfig/network
配置固定Ip
- 查看网卡信息(两种方式:ifconfig/ ip addr)
1. ifconfig
2. ip addr
- 配置网络
[root@lean ~]# vi /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE="Ethernet" #网络接口类型,常见的有Ethernet,Bridge
BOOTPROTO="static" #这里可以使用静态static,也可以是dhcp(自动获取)
IPV6INIT="no" #初始化ipv6
IPV6_AUTOCONF="no" #ipv6自动配置
IPV6_DEFROUTE="yes" #默认启用ipv6
NAME="ens33" #网卡名称
UUID="e2362d68-02fc-4b64-988f-26f7f06a59bc"
DEVICE="ens33" #驱动名称,注意名称和网卡名称必须一致
ONBOOT="yes" #随系统启动
IPADDR="192.168.206.142" #需要配置的静态ip地址
PREFIX="24" #设置子网掩码
GATEWAY="192.168.206.2" #设置网关
DNS1="192.168.206.2" #DNS服务器,可设置备用的也可不配置使用默认的
DOMAIN="learn.one" #主机名,可不配置
- 重启网络服务并测试
service network restart
防火墙相关操作
- 禁用SELinux(Security-Enhanced Linux)
getenforce #查看状态
vi /etc/sysconfig/selinux #修改状态
SELINUX=disabled
- 关闭防火墙
service iptables stop #设置后系统重启失效
chkconfig iptables off
iptables 服务实在centOS7 后被firewalld替代,这个是基于iptables的,虽然有iptables的核心,但是iptables的服务是没安装的。
#关闭防火墙的两种方式
systemctl stop firewalld.service
systemctl disable firewalld.service
如果习惯使用iptables服务,也可以自行安装。
- iptables服务安装
yum install iptables-services
systemctl enable iptables
systemctl enable ip6tables
systemctl start iptables
systemctl start ip6tables
时间同步
- timedatectl命令
timedatectl -h #查看timedatectl命令相关
Query or change system time and date settings. -h --help Show this help message --version Show package version --no-pager Do not pipe output into a pager --no-ask-password Do not prompt for password -H --host=[USER@]HOST Operate on remote host -M --machine=CONTAINER Operate on local container --adjust-system-clock Adjust system clock when changing local RTC mode Commands: status Show current time settings set-time TIME Set system time set-timezone ZONE Set system time zone list-timezones Show known time zones set-local-rtc BOOL Control whether RTC is in local time set-ntp BOOL Control whether NTP is enabled
- 显示当前系统时间
timedatectl
- 设置日期与时间
timedatectl set-time "YYYY-MM-DD HH:MM:SS" timedatectl set-time "YYYY-MM-DD" timedatectl set-time "HH:MM:SS"
- 查看可用时区
timedatectl list-timezones timedatectl list-timezones | grep "Asia/S.*" #管道符可以用来匹配正则表达式筛选
- 设置时区
timedatectl set-timezone Asia/Shanghai
- 设置硬件时间
timedatectl set-local-rtc 1
- 启用时间同步
timedatectl set-ntp yes
参考:centOS7时间与网络同步
1.安装ntpdate工具
yum -y install ntp ntpdate
- 设置系统时间与网络时间同步
ntpdate ntp.sjtu.edu.cn
ntp时间服务器:
ntp.sjtu.edu.cn (上海交通大学网络中心NTP服务器地址)
s1a.time.edu.cn (北京邮电大学)
s1b.time.edu.cn (清华大学)
cn.pool.ntp.org (全球通用的NTP服务)
- 将系统时间写入硬件时间
hwclock --systohc
- 查看系统时间
timedatectl
如果没有将系统时间写入硬件时间,则Local time与RTC time显示的值可能不一样
初心回归,时光已逝!