目录
Linux 基本命令
echo 命令用于在终端显示字符串或变量,格式为:echo [字符串|变量] | |
[root@localhost ~]# echo abc [root@localhost ~]# echo $JAVA_HOME | |
Who 命令用于查看当前登入主机的用户情况,输出内容为:登陆用户名、终端设备、登陆到系统的时间 [root@localhost home]# who | |
date 命令用于显示/设置系统的时间或日,格式为:date [选项]| [指定的格式] | |
[root@localhost ~]# date 2020年 08月 08日 星期六 17:05:22 CST | 查看系统当前时间 |
[root@localhost ~]# date -s "20200807 17:06:00" | 设置系统时间,格式:年月日 时:分:秒 |
关 机 常用的有如下所示的三个命令:1)halt、2)shutdown –h now、3)init 0 -----需要 root 权限 重 启 常用的有如下所示的三个命令:1)reboot、2)shutdown –r now、3)init 6 -----需要root权限 | |
wget 命令用于下载网络文件,格式为:wget [参数] 下载地址。可以使用 wget --help 查看完整参数,其中常见参数即用法如下: | |
[root@localhost home]# yum install -y wget | 如果 wget 命令不存在时,则需要先安装 wget 命令 |
-b:使用后台下载模式 wget 默认下载到当前目录下 -t:设置重试次数,0 表示无限制 | -c:开启端点续传下载文件 -P:下载页面内的所有资源,包含图片、视频等 -r:递归下载 |
[root@localhost home]# wget http://www.gov.cn/govweb/xhtml/2016gov/images/public/logo_wz1.jpg | |
系统状态检测命令 | |
[root@localhost home]# uname -a | 1、uname 命令用于查看系统内核版本等信息,格式为: unam [-a] 2、如系统的内核名称、内核发行版、内核版夲、节点名、硬件名称、硬件平台、处理器类型、操作系统等信息 |
lsb_release 命令 | 用来查看当前系统的发行版信息 |
1、uptime 命令用于查看系统的负载情况,输出内容分别为:系统当前时间,系统以运行时间,当前在线用户数,以及平均负载值,平均负载分为最近1分钟、最近5分钟、最近15分钟的系统负载情况,负载值越低越好(小于1是正常) [root@localhost home]# uptime | |
1、free 命令用于显示当前系统中内存的使用量情况,比如以 m 为单位显示当前系统中内存的使用量情况,输出内容分别为:总内存量、已用量、可用量、进程共享内存量、磁盘缓存内存量、可获得量 [root@localhost home]# free -m | |
工作目录切换命令 | |
[root@localhost home]# pwd | 用于显示当前的工作目录 |
cd 命令用于切换工作路径,格式为: cd [目录名称] 。目录省略时表示当前目录 | |
[root@localhost home]# cd - | 切换到上一次的目录 |
[root@localhost ~]# cd .. | 切换到上一级目录 |
[root@localhost /]# cd /home [root@localhost home]# cd ~ | 切换到 /home 目录 切换到用户的根目录 |
ls 命令用于查看目录中有哪些文件,格式为: ls [选项] [文件] | |
[root@localhost home]# ls -ahl | -a: 查看全部文件(包括隐藏文件) -d:仅看目录本身 -h:易读的文件容量(如kmg -l:显示文件的详细信息 |
文本文件编辑命令 | |
[root@localhost conf]# cat -An zoo.cfg | 用于查看(不能编辑)纯文本文件(较短的)的内容,格式为:cat [选项] [文件] -n:显示行号 -A:显示出“不可见”的符号,如空格、tab键等等 |
[root@localhost conf]# more -d zoo.cfg | 用于查看(不可编辑)纯文本文件(较长的)的内容,格式为: more [选项] [文件] -数字:预先显示的行数(默认为一页) -d:显示提示语句与报错信息 |
[root@localhost conf]# wc -l zoo.cfg | 用于统计指定文件的行数、字数、字节数,格式为: wc [参数] 文件 -l:只显示行数 |
文件目录管理命令 | |
[root@localhost home]# touch a.log | touch 命令用于创建空白文件与修改文件时间,格式为: touch [选项] [文件] |
[root@localhost home]# mkdir -pv a/b/c/d/e | 用于创建空白的文件夹,格式为: mkdir [选项] 目录 -m=mOde:默认的文件目录权限,如:-m 755 |
[root@localhost home]# cp -ai a c //将目录a复制目录c,目录c不存在时,自动新建 [root@localhost home]# cp a.log b.log //将 a.log 文件复制为 b.log,b.log 不存在时新建,存在时提示是否覆盖 | cp 命令用于复制文件或目录,格式为: cp [选项] 源文件 目标文件 -p:保留原始文件的属性 |
[root@localhost home]# mv b.log a //将 b.log 移动到 目录 a 下 [root@localhost home]# mv a.log a1.log //修改 a.log 名称为 a1.log | mv 命令用于移动文件或改名,格式为: mv [选项」文件名 [目标路径|目标文件名] |
[root@localhost home]# rm -fr c //删除目录并忽略警告 | rm 命令用于删除文件或目录,格式为: rm [选项] 文件 -f:忽略警告信息 -i:删除前先询问 -r:删除文件夹 |
用户及用户组管理命令 | |
groupadd 命令创建用户组 用法:groupadd [选项] 组 | 选项: |
[root@localhost home]# useradd -h | 选项: |
[root@localhost home]# passwd --help passwd 修改用户密码 | -k, --keep-tokens 保持身份验证令牌不过期 |
[root@localhost home]# userdel --help userdel 命令删除用户 | -f, --force 强制删除 -h, --help 显示此帮助信息并推出 -r, --remove 删除主目录和邮件池 -R, --root CHROOT_DIR chroot 到的目录 -P, --prefix PREFIX_DIR prefix directory where are located the /etc/* files -Z, --selinux-user 为用户删除所有的 SELinux 用户映射 |
文件查询搜索命令 | |
grep 命令用于对文件内容进行搜索,格式为:grep [选项] [文件] [root@localhost conf]# grep -in 'datadir' zoo.cfg | -b:将可执行文件 binary)当作文本文件(text)来搜索 -f:递归查询指定目录下的所有文件 |
find 命令用于查找文件与目录,格式:find「查找路径] 寻找条件 操作 | -name:匹配名称 [root@localhost conf]# find /home -name '*.cfg' #查找 /home 目录下以 .cfg 结尾的文件或目录. [root@localhost ~]# find / -name '*redis-cli*' #查找整个根目录下包含 "redis-cli" 的文件或目录名称 |
Vim 文本编辑器
1、Linux 操作系统中都会默认安装一款超好用的文本编辑器 — “vim”,vim 是ⅵ 编辑器的升级版。
2、Vim 编辑器中有三种模式—命令模式、末行模式和编辑模式。分别又有多种不同的命令快捷键组合,很大的提高了工作效率,用习惯后会觉得非常的顺手。
命令模式:控制光标移动,可对文本进行删除、复制、粘贴等工作。
输入模式:正常的文本录入。
末行模式:保存、退岀与设置编辑环境。
3、每次运行 vim 编辑器后都默认是 “命令模式”,需要先进入到 “输入模式” 后再进行编写文档的工作,而每次编辑完成需先返回到 “命令模式” 后再进入 “末行模式” 对文本的保存或退出操作。
vim 编辑器命令模式中常用的快捷键
dd | 删除(剪切)光标所在整行。 |
5dd | 删除(剪切)从光标处开始的5行。 |
yy | 复制光标所在整行。 |
5yy | 复制从光标处开始的5行。 |
p | 将之前删除(dd)或复制(y)过的数据粘贴到光标后。 |
/字符串 | 在文本中从上至下搜索该字符串 |
?字符串 | 在文本中从下至上搜索该字符串。 |
n | 显示搜索命令定位到的下一个字符串。 |
N | 显示搜索命令定位到的上一个字符串。 |
u | 撤销上一步的操作 |
vim 编辑器末行模式中的常用命令
:w | 保存 |
:q | 退出 |
:q! | 强制退出(放弃对文本的修改内容) |
:wq! | 强制保存退出 |
:set nu | 显示行号 |
:set nonu | 不显示行号 |
:整数 | 跳转到该行 |
修改主机名称
1、出于程序开发的需要,需要区别各个服务器的名称,所以修改新系统的主机名称,它默认是:localhost.localdomain
hostname | 查看系统主机名称,注意 hostname xxx 方式修改的主机名称,只是临时修改,系统重启后失效 |
hostnamectl set-hostname xxx | 修改系统主机名称 1、主机名称中的特殊字符或空白字符都将会被移除,大写字母会自动转化成小写 2、执行命令之后,会自动修改 /etc/hostname 文件 3、执行命令之后,会立即生效,且重启系统也会生效 |
cat /etc/hostname | 查看 /etc/hostname 文件内容,里面配置的就是系统主机名称 |
[root@localhost network-scripts]# hostnamectl set-hostname wangmaoxiong002
[root@localhost network-scripts]# hostname
wangmaoxiong002
[root@localhost network-scripts]# cat /etc/hostname
wangmaoxiong002
[root@localhost network-scripts]#
修改 hosts 文件
1、hosts 文件相当于 DNS 域名服务器,用于维护域名与 ip 的关系,当访问 www.baidu.com 的时候,系统会先查看 hosts 文件,看此域名对应的具体 ip 地址,如果有,则直接使用此 ip 地址,如果没有,则访问网络服务商的域名服务器再进行查询。通常可以将常用的域名和 ip 地址映射加入到 hosts 文件中,实现快速方便的访问
2、修改 hosts 文件的主要目的是:实现同一个局域网内通过主机名/域名相互访问。例如,添加 www.baidu.com 域名映射 ip 为 192.168.3.100,则当再次访问 www.baidu.com 时就会请求 192.168.3.100 地址。
Windows 系统上 | hosts 文件位于:C:\Windows\System32\drivers\et\hosts |
Linux 系统 | hosts 文件位于:/etc/hosts |
3、hosts 文件格式:每一行为一个主机配置,第一列放 ip 地址,后面跟主机名/域名,每个部分由空格隔开,格式如下:
ip1 主机名1/域名1 主机名2/域名2 主机名2/域名2 ... ip2 主机名2/域名2 主机名3/域名3 主机名3/域名3 ... |
[root@wangmaoxiong001 ~]# cat /etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 |
4、显然要想达到双方系统能够根据对方主机名称访问对方,双方都需要修改自己的 hosts 文件,将对方的 ip 与主机名称维护进行,比如:
192.168.116.128 wangmaoxiong001
192.168.116.129 wangmaoxiong002
系统1 | 系统2 | |
ip | 192.168.116.128 | 192.168.116.129 |
主机名 | wangmaoxiong001 | wangmaoxiong002 |
配置网卡信息
1、Linux 系统网卡配置妥当之后才能与其他机器通信,比如和物理机,访问外网等等。
2、网卡配置文件存放在“/etc/ sysconfig/ network-scripts”目录下,网卡配置文件名称的格式如 ” ifcfg-eno1677736″(ifcfg-是前缀,eno16777736是网卡名称),网卡名称可以通过 ifconfig 命令查看。
[root@wangmaoxiong001 network-scripts]# pwd
/etc/sysconfig/network-scripts
[root@wangmaoxiong001 network-scripts]# find -name 'ifcfg*'
./ifcfg-lo
./ifcfg-eno16777736
[root@wangmaoxiong001 network-scripts]#
3、网卡配置文件内容属性说明如下:
TYPE="Ethernet" 网卡类型:以太网
PROXY_METHOD="none" 代理方式:关闭状态
BROWSER_ONLY="no" 仅浏览器(yes|no)
BOOTPROTO="static" 设置网卡获得ip地址的方式(static|dhcp|none|bootp)
DEFROUTE="yes" 设置为默认路由(yes|no)
PEERDNS="yes" 是否指定DNS。如果使用DHCP协议,默认为yes。
PEERROUTES="yes" 是否从DHCP服务器获取用于定义接口的默认网关的信息的路由表条目
IPV4_FAILURE_FATAL="no" 是否开启IPV4致命错误检测(yes|no)
IPV6INIT="yes" IPV6是否自动初始化
IPV6_AUTOCONF="yes" IPV6是否自动配置
IPV6_DEFROUTE="yes" IPV6是否可以为默认路由
IPV6_PEERDNS="yes"
IPV6_PEERROUTES="yes"
IPV6_FAILURE_FATAL="no" 是不开启IPV6致命错误检测
IPV6_ADDR_GEN_MODE="stable-privacy" IPV6地址生成模型
NAME="ens33" 网卡物理设备名称
UUID="6e89ea13-f919-4096-ad67-cfc24a79a7e7" UUID识别码
DEVICE="ens33" 网卡设备名称
ONBOOT="yes" 网卡服务是否开机自启(yes|no)
IPADDR="192.168.103.203" IP地址
NETNASK="255.255.255.0" 子网掩码,也可使用掩码长度表示(PREFIX=24)
GATEWAY="192.168.103.1" 网关
DNS1="114.114.114.114" 首选DNS
DNS2="8.8.8.8" 备用DNS
4、网卡配置文件通常用于修改 ip 地址。网卡配置文件修改后,需要重启网卡服务才能生效:
systemctl status network :查看网卡服务状态 systemctl restart network :重启网卡服务 systemctl start network :启动网卡服务 |
5、只要能 ping 通自己,与物理机也能相互 ping 通,则说明配置是没有问题的。
curl 上传下载文件
1、cur 命令l是一个利用 URL 规则在命令行下工作的文件传输工具,支持文件的上传和
下载,是综合传输工具。
2、语法:# curl [option] [url]
-A/--user-agent <string> 设置用户代理发送给服务器
-b/--cookie <name=string/file> cookie字符串或文件读取位置
-c/--cookie-jar <file> 操作结束后把cookie写入到这个文件中
-C/--continue-at <offset> 断点续转
-D/--dump-header <file> 把header信息写入到该文件中
-e/--referer 来源网址
-f/--fail 连接失败时不显示http错误
-o/--output 把输出写到该文件中
-O/--remote-name 把输出写到该文件中,保留远程文件的文件名
-r/--range <range> 检索来自HTTP/1.1或FTP服务器字节范围
-s/--silent 静音模式。不输出任何东西
-T/--upload-file <file> 上传文件
-u/--user <user[:password]> 设置服务器的用户和密码
-w/--write-out [format] 什么输出完成后
-x/--proxy <host[:port]> 在给定的端口上使用HTTP代理
-#/--progress-bar 进度条显示当前的传送状态
[root@wangmaoxiong001 wangmx]# curl -o 1.jpg https://publish-pic-cpu.baidu.com/80f8b998-ed73-4da9-9b33-3f43f6ef475b.jpeg
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 21114 100 21114 0 0 7682 0 0:00:02 0:00:02 --:--:-- 7680
[root@wangmaoxiong001 wangmx]# ls
1.jpg a.txt grade_ruling.sh java-se java-se.log mkdir.sh nohup.out note.txt parame.sh ping_host.sh showSysInfo.sh
[root@wangmaoxiong001 wangmx]#