虚拟机
鼠标的切入和切出:
切入:直接点进虚拟机
切出:快捷键--ctrl+alt
Linux基础
命令提示符
# 查看当前登陆用户
[root@node00 ~]# whoami
root
# 查看主机名
[root@node00 ~]# hostname
node00
命令提示符由PS1环境变量控制
# 默认的PS1设置
echo $PS1 # 结果为:[\u@\h \W]\$
# 可以通过修改/etc/bashrc文件的内容来设置提示信息,支持的配置如下:
PS1变量 含义
\d # 代表日期,格式为weekday month day,例如"Mon Aug 1"
\H # 完整的主机名
\h # 仅取主机的第一个名字
\t # 显示24小时制的时间,格式为HH:mm:ss
\T # 显示12小时制的时间,格式为hh:mm:ss
\A # 显示24小时制的时间,格式为HH:mm
\u # 当前用户的名称
\v # BASH版本信息
\w # 显示完整的路径,家目录用"~"代替
\W # 利用basename获取工作目录名称,只会列出最后一个目录
\# # 执行的第几个命令
\$ # 提示字符,如果是root,则提示符为#,普通用户为$
# 临时设置PS1变量
PS1='[\u@\h \w]\$ '
cd /etc/sysconfig/network-scripts/
# \w控制的显示全部路径已经生效了:[root@node00 /etc/sysconfig/network-scripts]#
# 永久设置PS1变量
vi /etc/bashrc
# 这是文件中默认的内容
[ "$PS1" = "\\s-\\v\\\$ " ] && PS1="[\u@\h \W]\\$ "
# 修改为你自己喜欢的格式,一个美观的PS1变量的格式如下
PS1="[\[\[\e[34;1m\]\t \[\[\e[34;1m\]\u@\[\e[0m\]\[\e[32;1m\]\h\[\e[0m\]\[\e[31;1m\] \W\[\e[0m\]]\\$ "
# 保存退出之后
source /etc/bashrc
命令格式
# command [arg] [path]
# 命令 可选的参数选项(可选) 文件或目录(可选)
# 示例:
rm -rf /tmp/test.txt
# 命令和参数、参数和要操作的文件或目录之间必须有至少一个空格
linux的目录结构
pwd # 显示当前用户所在的位置,即当前目录的全路径
/ # 根目录(只有一个根盘符--类似就是一个C盘符)
/root # 超级管理员(root)的家,只要是root用户登录进来的,自动在root目录下
/home # 其他用户的家,只要是其他用户登录进来,自动在home目录下。
# 存放用户的个人数据。具体每个用户的设置文件,用户的桌面文件夹,用户的数据
/bin # 放了标准的linux的工具。这个目录已经包含在“path”系统变量里面
/etc # 配置文件,存放所有linux配置文件的地方
/usr # 放在/bin或/etc目录下的额外的工具
/usr/local # 存放用户手动安装的软件
/usr/bin # 目录用于存放程序
/usr/share # 用于存放一些共享的数据,比如音乐文件或者图标等等
/usr/share/fonts # 是字体目录
/usr/lib # 目录用于存放那些不能直接 运行的,但却是许多程序运行所必需的一些函数库文件
/opt # 存放那些可选的程序。安装到/opt目录下的程序,它所有的数据、库文件等等都是放在同个目录下面。
/tmp # 临时目录。linux系统会定期自动对这个目录进行清理,因此,千万不要把重要的数据放在这里。
/var # 存放经常变动的内容
/var/log # 系统日志存放,分析日志要看这个目录的东西
命令行常用快捷键
链接:https://cloud.tencent.com/developer/article/1379299?from=information.detail.linux%E5%91%BD%E4%BB%A4%E8%A1%8C%E6%B8%85%E9%99%A4%E4%B8%80%E8%A1%8C
# 控制命令
Ctrl + C :停止当前进程并返回提示符 # 常用
Ctrl + L :进行清屏操作。等同于命令(clear)
Ctrl + Z :暂停执行在终端运行任务
# 移动光标
Ctrl + A :跳到行的开头
Ctrl + E :跳到行尾 # 常用
Ctrl + B :往回(左)移动一个字符(相当于左键)
Ctrl + F :往后(右)移动一个字符(相当于右键)
Ctrl + XX :(两个X)在行的开头和光标之间移动
Alt + B :往回(左)移动一个单词
Alt + F :往后(右)移动一个单词
# 编辑命令
Ctrl + H :删除一个光标左方位置的字符
Ctrl + W :由光标位置开始,往左删除单词。往行首删 # 常用
Alt + D :由光标位置开始,往右删除单词。往行尾删
Ctrl + U :删除当前光标前面的所有文字(还有剪切功能) # 常用
Ctrl + K :删除当前光标后面的所有文字(还有剪切功能)
Ctrl + Y :粘贴Ctrl + U或Ctrl + K剪切的内容到光标后
Ctrl + _ :回复之前的状态。撤销操作 # 常用
Ctrl + A + K ,或 Ctrl + E + U 或 Ctrl + K + U :组合可删除整行 # 常用
Tab :自动补全内容 # 常用
Ctrl + r :搜索执行过的命令
Ctrl + g :从搜索历史命令的UI中退出
Esc + . :获取上一条命令使用空格分隔后的最后一部分
Ctrl + l :清除屏幕内容
!! :执行上一条命令
!pw :执行最近以pw开头的命令
!pw:p :打印最近以pw开头的命令,但不执行Z
!num :执行历史命令列表中第num条命令
改变目录与资源展示命令
cd:改变目录
cd / # 进入根目录
cd /etc # 进入根盘符下的etc目录 # 绝对路径
cd etc # 进入当前位置下的etc目录 # 相对路径
cd ~ # 回家 (cd root用户:/root 其他用户:/home)
cd - # 后退(退到上一次的操作目录)
cd .. # 进入上一级目录
ls:展示当前目录下资源
ls # 展示显示文件的名称
ls -l # 展示显示文件的详细信息。可以简写为:ll
ls -a # 展示所有的资源不带详情(含隐藏文件)
ls -la # 显示所有隐藏的和显示文件的详细信息
# 注:若第一个字符为 - 表示该条信息是 文件,为 d 表示该条信息是 文件夹
du -sh # 查看当前目录的大小
ls -sh # 查看当前目录所有文件的大小
ls -sh 文件名 # 查看指定文件的大小
df -h # 查看磁盘空间占用
系统相关命令
退出登陆状态
- 命令:exit
- 命令:logout
- 快捷键:crtl + d
终端
每次打开一个命令行窗口,都是开启一个新的终端,包括远程连接的窗口,使用 tty
命令来查看当前窗口的终端
# 查看当前窗口的终端的命令
tty # 输出为:/dev/pts/0
# 终端与终端的通信
/dev/pts/0终端发出通信信息:echo hello > /dev/pts/1
/dev/pts/1终端收到通信信息:hello
# 使用wall命令手动广播消息
wall 'hello everybody'
关机重启命令
-
halt:立即关机
-
poweroff:立即关机
-
reboot:立即重启
-
init
init 0 # 立即关机
init 6 # 立即重启
- shutdown:可以安全的关闭或者重启系统,并广播关机或者重启的消息给全部的终端
# 默认在一分钟之后关机
shutdown [arg]
# arg参数:
-r # 重启系统
-h # 关闭系统,可以再后面指定时间
-H # 关闭系统,不常用
-P # 关闭系统,不常用
-c # 取消正在执行的shutdown命令
-k # 只发送关机消息给所有终端,但并不会真正关机,极少使用
shutdown -h now # 立刻关机
shutdown -h 0 # 立刻关机
shutdown -h 5 # 5分钟之后关机,最大支持15min的延迟
shutdown -h 14:00 # 在14:00关机,最大支持15min的延迟
# 重启
shutdown -r now # 立刻重启
shutdown -r 0
shutdown -r 5 # 5分钟之后重启,最大支持15min的延迟
shutdown -r 14:00
# 取消计划
shutdown -c'
- CentOS7的关机、重启命令
# shutdown、reboot、poweroff、halt在CentOS7中实际上是systemctl命令的参数,CentOS7还有以下系统关机重启相关的命令:
systemctl reboot # 重启系统
systemctl halt # 关闭系统,CPU停止工作
systemctl poweroff # 关闭系统并切断电源
systemctl suspend # 暂停系统运行
systemctl hibernate # 系统休眠
systemctl hybrid-sleep # 系统进入交互式休眠状态
systemctl rescue # 启动救援状态
文件相关命令
文件权限命令
用户对文件具有什么操作权限
root管理员
linux的文件操作权限:
-
读权限(r):对文件表示可读取此文件中的实际内容,对目录表示读取目录结构列表的权限
-
写权限(w):对文件表示可以编辑、新增或者修改文件中的内容,对目录表示可以新建,删除,修改,移动子目录和目录中的文件
-
执行权限(x):对文件表示该文件具有被系统执行的权限。对目录赋予 x 权限,代表用户可以进入目录
- rw- r-- r--
# 文件类型 -:文件 d:文件夹 l:链接文件(快捷方式) b:可供存储周边设备 c:一次性读取装置
# 文件所有者(用户root):读权限,写权限(对超级管理员root无效)
# 文件所属组(用户组root):读权限
# 其他用户:读权限
chown ==> 修改文件或目录所有者,所有组命令
# chown命令格式
chown [-R] 所有者[:所属组] 文件或目录
# 示例
chown www test1.txt # 修改test1.txt文件的所有者为www
# 结果:-rw-r--r--. 1 www root 0 3月 31 10:47 test1.txt
chown www:www test2.txt # 修改text2.txt文件的所有者和所有组为www
# 结果:-rw-r--r--. 1 www www 0 3月 31 10:47 test2.txt
chown :www test3.txt # 修改test3.txt文件的所有组为www
# 结果:-rw-r--r--. 1 root www 0 3月 31 10:47 test3.txt
**chmod ** ==> 修改文件或目录权限命令
# chmod命令格式
chmod [-R] 权限值 文件名 # 使用数字设置权限
chmod [-R] [u,g,o,a][ ,-,=][r,w,x] # 使用字母设置权限
# 使用数字设置权限:chmod [-R] 权限值 文件名
# 各个权限用数字表示规则:
r --> 4
w --> 2
x --> 1
- --> 0
# 示例:rwxr-xr-x = 765
所有者 : rwx = 4 2 1 = 7
所属组 : rw- = 4 2 0 = 6
其他人 : r-x = 4 0 1 = 5
# 数字设置权限示例
chmod 当前登录用户权限/组中用户权限/其他用户权限 test1.txt
chmod 777 1.txt # 结果:-rwxrwxrwx. test1.txt
chmod 000 1.txt # 结果:----------. test1.txt
chmod 536 1.txt # 结果:-r-x-wxrw-. test1.txt
# 使用字母设置权限:chmod [-R] [u,g,o,a][ ,-,=][r,w,x]
# 参数
-R 或 –recursive # 递归处理,将指令目录下的所有文件及子目录一并处理
[u,g,o,a]
u # 所有者身份
g # 所有组身份
o # 其他用户身份
a # 所有身份
[+,-,=]
+ # 加入某个权限
- # 减少某个权限
= # 设置权限
[r,w,x]
r # 读权限
w # 写权限
x # 执行权限
# 字母设置权限示例
# test1.txt=>其他用户减少写(w),执行(x)权限。
# test2.txt=>所属组设置权限等于rwx。
# test3.txt=>所属者添加执行(x)权限。
文件操作命令
find:查找文件的位置
# find:查找(查找文件的位置)
find / -name '文件名*'
路径
/路径 # 绝对路径
路径 # 相对路径
. # 当前目录
.. # 表示上一级目录,即父目录
cp:拷贝
cp 文件名 指定目录名 # 复制一份到指定目录里
cp 文件名 指定目录名/文件名 # 复制一份到指定目录里并且重命名
cp 文件名 ../ # 复制一份到上一层目录
cp 文件名 ../文件名 # 复制一份到上一层目录并且重命名
cp 文件名 新的文件名 # 拷贝一份到当前目录 (2个文件)
cp -r 目录名 指定目录名递归 # 复制整个目录内容到指定目录 (拷贝文件夹是需要递归的)
mv:剪切
mv 文件名 指定目录 # 移动到指定目录
mv 文件名 指定目录/新文件名 # 移动到指定目录且重命名
mv 文件名 新文件名 # 重命名 (1个文件)
mv 文件名 ../ # 移动到上一层目录
mv 文件名 ../文件名 # 移动到上一层目录并且重命名
mv 目录名 指定的目录名 # 移动一个目录到指定的目录下 (剪切文件夹是不需要递归的)
文件/文件夹创建与删除命令
mkdir:创建文件夹
mkdir 目录名
mkdir -p 目录名/子目录/.....
touch:文件创建
touch 文件名
rm:删除 文件/文件夹
rm -rf 目录名/文件
# 参数:
-r # 向下递归,不管有多少级目录,一并删除
-f # 直接强行删除,不带询问
rm 文件 # 带询问删除 y/n
rm -f 文件 # 不带询问删除 #常用
rm -r 目录名 # 带询问的递归删除
rm -rf 目录名 # 不带询问的递归删除 #常用
文件内容浏览命令
less 文件名 # 分页查看所有内容 # 常用
# 箭头上: 上一行
# 箭头下: 下一行
# 空格:下一页
# b:上一页
# q:退出查看
# 参数:
-m # 显示百分比
-N # 显示行号
cat 文件名 # 查看文件局部内容(查看的只是文件最后一部分的内容)
more 文件名 # 百分比分页查看所有内容
# 回车:下一行
# 空格:下一页
# q :退出
# 查看文件的头部/末尾指定行树 (默认显示文件的头部/末尾10行内容)
head -n 数字 文件名 # 查看文件头部内容
tail -n 数字 文件名 # 查看文件末尾内容
# -f 循环读取。常用
# -q 不显示处理信息
# -v 显示详细的处理信息
# -c<数目> 显示的字节数
# -n<行数> 显示文件的尾部 n 行内容
# --pid=PID 与-f合用,表示在进程ID,PID死掉之后结束
# -q, --quiet, --silent 从不输出给出文件名的首部
# -s, --sleep-interval=S 与-f合用,表示在每次反复的间隔休眠S秒
tail -f FileName # 把 FileName 文件里的最尾部的内容显示在屏幕上,并且不断刷新
文件内容编辑命令
vi 文件名
vim 文件名
# 编辑模式:对具体的内容进行操作
# 命令模式:对内容行进行操作 复制整行内容 粘贴整行内容 删除整行内容
# 底行模式:保存 退出
# 编辑文件操作流程
vi 文件名 # 打开文件
----> 按 i 或 o 进入 编辑模式
----> (编辑内容了)
----> 按 Esc 进入 命令模式(锁定内容,禁止编写,但是可以复制粘贴)
----> shift + : 进入 底行模式(保存 退出)
# 命令模式 常用的快捷键
dd # 删除当前行
yy # 复制当前行
p # 粘贴
# 底行模式
:wq # 保存并退出
:q! # 强制退出不保存
细节点:编写文件的过程中,如果卡死,下次进来需要将隐藏文件删除 .文件名.swp
压缩解压命令
windows的压缩文件的扩展名: .zip或.rar
linux的压缩文件的扩展名: .tar或.tar.gz
## .tar:打包文件
tar -cvf file.tar file # .tar打包命令
tar -xvf file.tar # .tar解包命令(掌握)
## .tar.gz:打包压缩文件
# .tar.gz打包命令
tar -zcvf file.tar.gz file
# .tar.gz解包命令(掌握)
tar -zxvf file.tar.gz # 解压缩到当前目录下
tar -zxvf file.tar.gz -C /usr/temp/ # 解压缩到指定目录下
# 参数解释:
-z # -gzip 调用gzip对tar归档文件进一步压缩成tar.gz格式,或者对tar.gz格式完成解压缩
-x # -extract 解压缩已归档的指定(或所有)文件
-c # -create 创建新的归档文件
-v # -verbose 生成详细输出
-f # -file 指定归档文件名
-r # 向归档文件末尾追加文件
-C # 改变目录
## 压缩/解压zip格式
# 压缩当前目录的文件
zip file.zip file
# 压缩指定目录下的所有文件及目录
zip /root/back-up/2018-05-10-ROOR.zip ./directory/* -r # 压缩之后会以directory为目录递归压缩。
# 解释:zip + 备份目录及备份的文件名称 + 需要备份文件的目录 + -r
# 解压缩到当前目录
unzip file.zip
# 解压缩到指定目录
unzip file.zip -d ./test
# 只查看压缩包的内容,并不解压缩
unzip -v file.zip
软件命令
rpm 命令
软件安装命令
作用:相当于软件助手,可以查询已安装的软件、卸载软件和安装软件。
# 安装:
rpm -ivh 软件名
# 示例:rpm -ivh mysql
# 卸载
rpm -e mysql # 普通删除模式
rpm -e --nodeps 软件名 # 强力删除模式,如果使用上面命令删除时,提示有依赖的其它文件,则用该命令可以对其进行强力删除
# 示例:rpm -e --nodeps mysql
# 查看所有安装的软件
rpm -qa
# 例如查所有的安装软件中是否有tomcat软件
rpm -qa | grep tomcat
yum 命令
基于 RPM 包管理,能够从指定的服务器自动下载 RPM 包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。
yum 提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。
语法:
yum [options] [command] [package ...]
- **options:**可选,选项包括-h(帮助),-y(当安装过程提示选择全部为 “yes”),-q(不显示安装的过程)等等。
- **command:**要进行的操作。
- **package:**安装的包名。
常用命令
# 列出所有可更新的软件清单
yum check-update
# 更新所有软件
yum update
# 仅安装指定的软件
yum install <package_name>
# 仅更新指定的软件
yum update <package_name>
# 列出所有已安装的和可安裝的软件包清单
yum list
# 列出以mysql开头的已安装的和可安裝的软件包清单
yum list mysql*
# 删除软件包
yum remove <package_name>
# 查找软件
yum search <keyword>
# 清除缓存
yum clean packages # 清除缓存目录下的软件包
yum clean headers # 清除缓存目录下的 headers
yum clean oldheaders # 清除缓存目录下旧的 headers
yum clean, yum clean all (= yum clean packages; yum clean oldheaders) # 清除缓存目录下的软件包及旧的 headers
常用安装命令:
# 安装常用工具软件及依赖
yum groupinstall base
服务命令
systemctl status 服务名 # 查看iptables状态
systemctl start 服务名 # 启动某服务
# 同 service 服务名 start
systemctl stop 服务名 # 停止某服务
systemctl enable 服务名 # 将某服务设置为开机启动
systemctl disable 服务名 # 禁止某服务开机启动
其它命令
# 查看ip
ip addr 或 ifconfig
# 查看进程命令:ps
ps -ef # 查看所有进程
#查询指定服务
ps -ef | grep 服务名
# 杀死进程命令:kill
kill -9 pid(进程号)
# 搜索命令:
grep # 用于过滤搜索指定内容
# 格式:grep 指定内容 指定文件: 在指定文件中查找带有指定内容的信息
# 需求:在指定文件中查找错误信息内容
grep -i 指定内容 指定文件名 # 不区分大小写的查找指定内容信息
## | 管道命令 (得和grep一起使用)
# ps:|,grep经常在一起使用,查所有文件的指定文件,查所有进程的指定进程,查所有软件中的指定软件等等
# 格式: 命令1 | 命令2 把命令1的输出作为命令2的输入
# 需求1:root目录下把所有的文件资源中的1.txt文件资源查找出来
# 先把root目录下的所有资源查出来 | 在所有资源中搜索1.txt资源
ll | grep 1.txt
# 需求2:在所有进程中查找有没有vim的进程
# 把所有进程中查找出来 | 在所有进程中搜索vim的进程
ps -ef | grep vim
# 查看防火墙策略、开放的端口
iptables -nL 或 /sbin/iptables -L -n
# 返回上一条命令的执行结果。0:成功;非0:失败
echo $?
# 远程连接linux服务器软件
crt 用户名@ip
ssh 用户名@ip
# 查看指令说明
指令 --help
# 示例:chmod --help
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/112054.html