解释型语言
任何代码最终都要被“翻译”成二进制
的形式才能在计算机中执行
脚本语言的优点是使用灵活、部署容易、跨平台性好,非常适合 Web 开发以及小工具的制作
Shell 就是一种脚本语言
,我们编写完源码后不用编译
,直接运行源码
即可
if...else
选择结构,case...in
开关语句,for
、while
、until
循环;用户自定义的函数
和内置函数
(例如 printf、export、eval 等)在 Shell 中输入的命令,有一部分是 Shell 本身自带的
,这叫做内置命令
有一部分是其它的应用程序
(一个程序就是一个命令),这叫做外部命令
Shell 本身支持的命令并不多,功能也有限,但是 Shell 可以调用其他的程序,每个程序就是一个命令
文本或字符串检索
规模软件的自动部署
更改系统设置、监控服务器性能
发送报警邮件
抓取网页内容
压缩文件等
命令
+ 参数
+ 选项
-
或者--
目录
或者文件的路径
(绝对路径和相对路径皆可)选项 | 全称 | 作用 |
---|---|---|
pwd | Print Work Directory | 查看当前目录 |
ls | List | 列出当前目录的内容 |
cd | Change Direcory | 切换目录 |
cp | Copy | 复制 |
mv | Move | 移动 |
rm | Remove | 删除 |
mkdir | Make Direcories | 创建文件夹 |
rmdir | Remove Direcories | 删除文件夹 |
touch | Touch | 创建文件/更新文件时间戳 |
vi / vim | Visual editor / VI improved | 创建/编辑文件 |
tree | Tree | 查看目录树 |
cat | Concatenate files and print on the standard output | 查看内容较少的纯文本文件 |
less | Less | 查看文件内容 分页显示 可以向前、向后浏览 |
more | More | 查看文件内容 分页显示 只能向前浏览 |
tail | Tail | 动态查看 查看尾部信息 |
head | Head | 以行为单位,取文件的内容 |
grep | Global search Regular Expression and Print out the line | 全面搜索正则表达式 |
echo | Echo | 输出字符串或提取Shell变量的值 |
查看当前
所在的目录
(绝对路径)
pwd [选项]
选项 | 作用 |
---|---|
-L | 显示逻辑路径 |
pwd # /root
pwd -L # /root
列出
指定目录下的内容及其相关属性信息
ls [选项] [目录名]
选项 | 作用 |
---|---|
-a | 显示所有文件及目录 (包括以“.”开头的隐藏文件) |
-l | 使用长格式列出文件及目录信息 |
-r | 将文件以相反次序显示(默认依英文字母次序) |
-t | 根据最后的修改时间排序 |
-A | 同 -a ,但不列出 “.” (当前目录) 及 “…” (父目录) |
-S | 根据文件大小排序 |
-R | 递归列出所有子目录 |
ls # 列出当前目录所有文件:anaconda-ks.cfg
ls -l # 列出当前目录所有文件(详细):-rw-------. 1 root root 932 Nov 18 17:44 anaconda-ks.cfg
ls -a # 列出当前目录所有文件(包括隐藏文件):. .. anaconda-ks.cfg .bash_history .bash_logout .bash_profile .bashrc .cshrc .pki .tcshrc .viminfo
ls / # 列出根目录下所有文件:bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var
ll
就相当于ls -l
从当前目录切换
到指定目录(该目录可以是绝对路径,也可以是相对路径)
cd [参数] [目录名]
选项 | 作用 |
---|---|
-P | 如果切换的目标目录是一个符号链接,则直接切换到符号链接指向的目标目录 |
-L | 如果切换的目标目录是一个符号链接,则直接切换到符号链接名所在的目录 |
- | 切换到之前的目录 |
– | 仅使用”-“选项时,当前目录将被切换到环境变量”OLDPWD”对应值的目录 |
~ | 切换至当前用户目录 |
… | 切换至当前目录位置的上一级目录 |
. | 切换至当前目录(敲了和没敲一样) |
cd file1 # 切换到file1目录
cd .. # 切换到上级目录
cd ../.. # 切换到上上级目录
cd ~ # 切换到当前用户目录
cd - # 切换到之前的目录
cd . # 切换到当前目录(有点鸡肋....)
复制
文件或目录
cp [参数] [文件/目录]
选项 | 作用 |
---|---|
-f | 若目标文件已存在,则会直接覆盖原文件 |
-i | 若目标文件已存在,则会询问是否覆盖 |
-p | 保留源文件或目录的所有属性 |
-r | 递归复制文件和目录 |
-d | 当复制符号连接时,把目标文件或目录也建立为符号连接,并指向与源文件或目录连接的原始文件或目录 |
-l | 对源文件建立硬连接,而非复制文件 |
-s | 对源文件建立符号连接,而非复制文件 |
-b | 覆盖已存在的文件目标前将目标文件备份 |
-v | 详细显示cp命令执行的操作过程 |
-a | 等价于“dpr”选项 |
cp 1.txt 2.txt # 将当前文件夹下的1.txt 复制到 当前文件夹 名为2.txt
cp 1.txt /usr/local/2.txt # 将当前文件夹下的1.txt 复制到 /usr/local目录 名为2.txt
cp /media/song.mp3 /root/song2.mp3 # 将/media目录下的song.mp3 复制到 /root目录 名为song2.mp3
移动
文件或对其重命名
mv [参数] [文件/目录]
选项 | 作用 |
---|---|
-i | 若存在同名文件,则向用户询问是否覆盖 |
-f | 覆盖已有文件时,不进行任何提示 |
-b | 当文件存在时,覆盖前为其创建一个备份 |
-u | 当源文件比目标文件新,或者目标文件不存在时,才执行移动此操作 |
mv 1.txt /media/ # 将当前目录下的1.txt 移动到 /media目录
mv 1.txt 11.txt # 将当前目录下的1.txt 重命名为 11.txt
mv 11.txt file1/2.txt # 将当前目录下的11.txt 移动到 file1目录 重命名为2.txt
mv new_file/ file1/ # 将当前目录下的new_file目录(空) 移动到 file1目录
如果移动的路径下有1个同名的目录,则会覆盖那个目录
删除
一个目录中的一个
或多个文件或目录
,它也可以将某个目录及其下的所有文件及子目录均删除
rm [参数] [文件/目录]
选项 | 作用 |
---|---|
-f | 忽略不存在的文件,不会出现警告信息 |
-i | 删除前会询问用户是否操作 |
-r/R | 递归删除 |
-v | 显示指令的详细执行过程 |
rm 1.txt # 删除当前目录下的1.txt,需要再输入yes
rm 1.txt -f # 删除当前目录下的1.txt,无需再输入yes
rm /var/3.ini -f # 删除/var目录下的3.ini,无需再输入yes
rm file1 -r # 递归删除当前目录下的flle1目录(包括该目录和目录下的所有文件)
rm -rf * # 删除当前目录下所有文件
rm -rf /* # 删库跑路(且行且珍惜)
创建
文件夹(如果要创建的目录已经存在,则提示已存在,而不会继续创建目录)
mkdir [选项] [目录]
选项 | 作用 |
---|---|
-p | 递归创建多级目录 |
-m | 建立目录的同时设置目录的权限 |
-z | 设置安全上下文 |
-v | 显示目录的创建过程 |
mkdir file2 # 在当前目录下创建file2目录
mkdir dir1 dir2 dir3 dir3 # 在当前目录下创建4个文件夹:dir1,dir2,dir3,dir4
mkdir dir{1..5} # 在当前目录下同建5个文件夹:dir1,dir2,dir3,dir4,dir5
mkdir -m 700 /usr/file3 # 在目录/usr/下建立子目录file3,并且设置文件属主有读、写和执行权限,其他人无权访问
mkdir -p /usr/local/1/1/2 # 同时创建多层目录
删除
空目录(只能删除空目录;删除非空目录时,就要使用带有“-R
”选项的rm命令)
rmdir [选项] [目录名称]
选项 | 作用 |
---|---|
p | 用递归的方式删除指定的目录路径中的所有父级目录,非空则报错 |
– -- ignore-fail-on-non-empty | 忽略由于删除非空目录时导致命令出错而产生的错误信息 |
-v | 显示命令的详细执行过程 |
– -- help | 显示命令的帮助信息 |
– -- version | 显示命令的版本信息 |
rmdir file2 # 删除当前目录下的file2目录(空)
rmdir -p file1 # 递归删除当前目录下的file1目录中的所有父级目录,非空则报错
rmdir --version # 显示命令的版本信息
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Written by David MacKenzie.
主要用于删除空目录,如果要删非空目录,建议直接用:
rm -r 目录名
touch [选项] [文件]
选项 | 作用 |
---|---|
-a | 改变档案的读取时间记录 |
-m | 改变档案的修改时间记录 |
-r | 使用参考档的时间记录,与 --file 的效果一样 |
-c | 不创建新文件 |
-d | 设定时间与日期,可以使用各种不同的格式 |
-t | 设定档案的时间记录,格式与 date 命令相同 |
–no-create | 不创建新文件 |
–help | 显示帮助信息 |
–version | 列出版本讯息 |
touch 3.txt # (如果3.txt不存在)创建3.txt文件(只会创建,不会打开文件)
touch 3.txt # (如果3.txt已存在)更新3.txt文件的时间戳(只会更新文件的时间戳,不会打开文件)
touch file{1,2,3}.txt # 批量创建1-3.txt/批量更新1-3.txt时间戳
touch file{1..5}.txt # 批量创建1-5.txt/批量更新1-5.txt时间戳
文本编辑器
(对文本进行创建、查找、替换、删除、复制和粘贴等操作)
vi [选项] [文件名]
选项 | 作用 |
---|---|
-s | 静默模式 |
– -cmd<命令> | 加载任何vimrc文件之前执行指定命令 |
-R | 只读模式 |
-v | Vi模式 |
-e | Ex模式 |
-y | 简易模式 |
– -- | 之后只有文件名 |
-c<命令> | 加载第一个文件之后执行指定命令 |
-s<脚本输入文件> | 从指定脚本输入文件阅读普通模式命令 |
-w<脚本输出文件> | 追加所有类型的命令写入脚本输出文件 |
-W<脚本输出文件> | 写入所有类型的命令到指定脚本输出文件 |
+ | 从文件末尾开始 |
+<行数> | 从指定行开始 |
– -noplugin | 不要加载插件脚本 |
-p<数量> | 打开指定数量的标签页(带文件名) |
-r<文件名> | 恢复崩溃的会话 |
-L | 等同于-r |
-r | 列出交换文件并退出 |
-u | 熟用指定vimrc,而不是.vimrc |
-T<终端> | 设置使用指定终端 |
-o<数量> | 打开指定数量的窗口 |
-n | 不使用交换文件,只用内存 |
-Z | 受限模式 |
-m | 不允许修改(写入) |
-b | 二进制模式 |
-M | 在文本中不允许修改 |
vi 1.log # (如果1.log不存在)创建并打开1.log文件
vi 1.log # (如果1.log已存在)打开1.log文件
vi -R 1.log # 以只读模式打开1.log文件
vi # 进入vi编辑器
选项 | 全称 | 作用 |
---|---|---|
tree | Tree | 查看目录树 |
cat | Concatenate files and print on the standard output | 查看内容较少的纯文本文件 |
less | Less | 查看文件内容 分页显示 可以向前、向后浏览 |
more | More | 查看文件内容 分页显示 只能向前浏览 |
tail | Tail | 动态查看 查看尾部信息 |
head | Head | 显示文件开头内容 |
grep | Global search Regular Expression and Print out the line | 全面搜索正则表达式 |
echo | Echo | 输出字符串或提取Shell变量的值 |
以树状图
形式列出目录的内容
(包括目录里的文件,显示出指定目录的文件目录结构)
tree [选项]
选项 | 作用 |
---|---|
-a | 显示所有文件和目录 |
-A | 使用ASNI绘图字符显示树状图而非以ASCII字符组合 |
-C | 在文件和目录清单加上色彩,便于区分这种类型 |
-d | 显示目录名称而非内容 |
-D | 列出文件或目录的更改时间 |
-f | 在每个文件或目录之前,显示完整的相对路径名称 |
-F | 在执行文件,目录,Socket,符号连接,管道名称名称,各自加上“*”,“/”,“=”,“@”,“|”号 |
-g | 列出文件或目录的所属群组名称,没有对应的名称时,则显示群组识别码 |
-i | 不以阶梯状列出文件或目录名称 |
-I<范本样式> | 不现实符合范本样式的文件或目录名称 |
-l | 如遇到性质为符号连接的目录,直接列出该连接所指向的原始目录 |
-n | 不在文件和目录清单上加上色彩 |
-N | 直接列出文件和目录名称,包括控制字符 |
-p | 列出权限标示 |
-P<范本样式> | 只显示符合范本像是的文件或目录名称 |
-q | 用“?”号取代控制字符,列出文件和目录名称 |
-s | 列出文件或目录大小 |
-t | 用文件和目录的更改时间排序 |
-u | 列出文件或目录的拥有者名称,没有对应的名称时,则显示用户识别码 |
-x | 将范围局限在现行的文件系统中,若指定目录下的某些子目录,其存放于另一个文件系统上,则将该子目录予以排除在寻找范围外 |
-L | 层级显示 |
tree
tree -L 2 # 只显示2层目录
tree -t # 用文件和目录的更改时间排序
tree -r # 以相反次序排序
tree -f # 在每个文件或目录之前,显示完整的相对路径
tree -d # 只显示目录
tree -a # 显示所有文件和目录
在终端设备上显示文件内容
cat [选项] [文件]
选项 | 作用 |
---|---|
-n | 显示行数(空行也编号) |
-s | 显示行数(多个空行算一个编号) |
-b | 显示行数(空行不编号) |
-E | 每行结束处显示$符号 |
-T | 将TAB字符显示为 ^I符号 |
-v | 使用 ^ 和 M- 引用,除了 LFD 和 TAB 之外 |
-e | 等价于”-vE”组合 |
-t | 等价于”-vT”组合 |
-A | 等价于 -vET组合 |
–help | 显示帮助信息 |
–version | 显示版本信息 |
cat filename.txt # 查看文件的内容
cat -n filename.txt # 查看文件的内容,并显示行数编号
cat -n linuxcool.log > linuxprobe.log # 查看文件的内容,并添加行数编号后输出到另外一个文件中
cat /dev/null > /root/filename.txt # 清空文件的内容
分页显示工具
用less命令显示文件时,PageUp
键向上翻页,PageDown
键向下翻页,要退出less程序,应按Q
键。
less的作用与more十分相似,不同点为less命令允许用户向前或向后浏览文件,而more命令只能向前浏览 。
less [选项] [文件]
选项 | 作用 |
---|---|
-b | 置缓冲区的大小 |
-e | 当文件显示结束后,自动离开 |
-f | 强迫打开特殊文件,例如外围设备代号、目录和二进制文件 |
-g | 只标志最后搜索的关键词 |
-i | 忽略搜索时的大小写 |
-m | 显示类似more命令的百分比 |
-N | 显示每行的行号 |
-o | 将less 输出的内容在指定文件中保存起来 |
-Q | 不使用警告音 |
-s | 显示连续空行为一行 |
-S | 在单行显示较长的内容,而不换行显示 |
-x | 将TAB字符显示为指定个数的空格字符 |
按键 | 作用 |
---|---|
b | 向后翻一页 |
d | 向后翻半页 |
h | 显示帮助界面 |
Q | 退出less 命令 |
u | 向前滚动半页 |
y | 向前滚动一行 |
空格 | 滚动一页 |
回车 | 滚动一行 |
less test.py # 查看文件
ps -ef |less # ps查看进程信息并通过less分页显示
history | less # 查看命令历史使用记录并通过less分页显示
less 001.log 002.log # 浏览多个文件
less file1 # 当正在浏览一个文件时,也可以使用
:e file2 # :e命令 打开另一个文件
显示文本文件内容
将内容较长的文本文件内容(不能在一屏显示完)进行分屏显示,并且支持在显示时定位关键字
对于内容较少的文本文件内容则推荐使用cat命令查看
more [选项] [文件]
选项 | 作用 |
---|---|
-num | 指定每屏显示的行数 |
-l | more在通常情况下把 ^L 当作特殊字符, 遇到这个字符就会暂停,-l选项可以阻止这种特性 |
-f | 计算实际的行数,而非自动换行的行数 |
-p | 先清除屏幕再显示文本文件的剩余内容 |
-c | 与-p相似,不滚屏,先显示内容再清除旧内容 |
-s | 多个空行压缩成一行显示 |
-u | 禁止下划线 |
+/pattern | 在每个文档显示前搜寻该字(pattern),然后从该字串之后开始显示 |
+num | 从第 num 行开始显示 |
按键 | 作用 |
---|---|
空格 | 显示文本的下一屏内容 |
回车 | 向下n行,需要定义,默认为1行 |
斜线符\ | 接着输入一个模式,可以在文本中寻找下一个相匹配的模式 |
H | 显示帮助屏 |
B | 显示上一屏内容 |
Q | 退出more命令 |
Ctrl+F、空格 | 向下滚动一屏 |
Ctrl+B | 返回上一屏 |
= | 输出当前的行号 |
:f | 输出文件名和当前的行号 |
V | 调用vi编辑器 |
! | 调用Shell,并执行命令 |
more -dc file # 显示文件file的内容,显示之前先清屏,附已显示的百分比
more -c -10 file # 显示文件file的内容,每10行显示一次,而且在显示之前先清屏
more -p -5 file # 显示文件file的内容,每5行显示一次,而且在显示之后再清屏
more -s file # 逐页显示 file 文档内容,如有连续两行以上空白行则以一行空白行显示
more +20 file # 从第 20 行开始显示 file 之文档内容
查看文件尾部内容
tail用于显示文件尾部的内容,默认在屏幕上显示指定文件的末尾10行
如果给定的文件不止一个,则在显示的每个文件前面加一个文件名标题
如果没有指定文件或者文件名为“-”,则读取标准输入。
tail [选项]
选项 | 作用 |
---|---|
–retry | 即是在tail命令启动时,文件不可访问或者文件稍后变得不可访问,都始终尝试打开文件。使用此选项时需要与选项“——follow=name”连用 |
-c或——bytes= | 输出文件尾部的N(N为整数)个字节内容 |
-f |
–follow:显示文件最新追加的内容 |
-F | 与选项“-follow=name”和“–retry”连用时功能相同 |
-n或——line= | 输出文件的尾部N(N位数字)行内容 |
–pid=<进程号> | 与“-f”选项连用,当指定的进程号的进程终止后,自动退出tail命令 |
–help | 显示指令的帮助信息 |
–version | 显示指令的版本信息 |
tail file # 显示文件file的最后10行
tail +20 file # 显示文件file的内容,从第20行至文件末尾
tail -c 10 file # 显示文件file的最后10个字符
tail -f 10 file # 一直变化的文件总是显示后10行
tail --help # 显示帮助信息
显示文件开头内容
以行为单位,取文件的内容,后面不接参数时默认打印前10行
head [选项] [文件]
选项 | 作用 |
---|---|
-n | 后面接数字,代表显示几行的意思 |
-c | 指定显示头部内容的字符数 |
-v | 总是显示文件名的头信息 |
-q | 不显示文件名的头信息 |
head 1.txt # 显示前10行文件内容
head -n 3 install.log # 显示前3行文件内容
head -v -n 2 test.txt # 显示文件名信息,并显示文件前两行
head -c 5 test.txt # 显示文件前5个字符
全面搜索正则表达式,并将其打印出来
这个命令可以结合正则表达式使用,它也是linux使用最为广泛的命令
grep命令的选项用于对搜索过程的补充,而其命令的模式十分灵活,可以是变量、字符串、正则表达式
需要注意的是:一当模式中包含了空格,务必要用双引号将其引起来
grep [选项]
选项 | 作用 |
---|---|
-i | 搜索时,忽略大小写 |
-c | 只输出匹配行的数量 |
-l | 只列出符合匹配的文件名,不列出具体的匹配行 |
-n | 列出所有的匹配行,显示行号 |
-h | 查询多文件时不显示文件名 |
-s | 不显示不存在、没有匹配文本的错误信息 |
-v | 显示不包含匹配文本的所有行 |
-w | 匹配整词 |
-x | 匹配整行 |
-r | 递归搜索 |
-q | 禁止输出任何结果,已退出状态表示搜索是否成功 |
-b | 打印匹配行距文件头部的偏移量,以字节为单位 |
-o | 与-b结合使用,打印匹配的词据文件头部的偏移量,以字节为单位 |
grep test test* # 查找前缀有“test”的文件包含“test”字符串的文件
grep -r /root/mine dir # 用递归的方式查找/root/mine目录下的包含dir的文件
输出字符串或提取Shell变量的值
echo [选项] [字符串]
选项 | 作用 |
---|---|
-n | 不输出结尾的换行符 |
-e “\a” | 发出警告音 |
-e “\b” | 删除前面的一个字符 |
-e “\c” | 结尾不加换行符 |
-e “\f” | 换行,光标扔停留在原来的坐标位置 |
-e “\n” | 换行,光标移至行首 |
-e “\r” | 光标移至行首,但不换行 |
-E | 禁止反斜杠转移,与-e参数功能相反 |
—version | 查看版本信息 |
–help | 查看帮助信息 |
echo "123" > 1.txt # 把123写入1.txt
echo "456" > 1.txt # 把456写入1.txt,覆盖之前的内容
echo "789" >> 1.txt # 把789写入1.txt,追加到下一行
非正常关机
)正常关机
shutdown -h now # 立刻关机
shutdown -h 0 # 立刻关机
shutdown -h 10 # 10分钟后关机
shutdown -h 14:00 # 下午14点关机
shutdown -c # 取消关机
shutdown -r now # 立刻重启
shutdown -r 0 # 立刻重启
shutdown -r # 10分钟之后重启
reboot # 立刻重启
halt # 立刻关机,需要人工关闭电源
poweroff # 立刻关机,并且关闭电源
# 压缩
tar -czvf 1.tar.gz 1 # 把目录1打包成1.tar.gz
# 解压
tar -xvf 1.tar.gz -C /usr/
cd /usr/local/ # 切换到/usr/local目录
mkdir 1 # 创建目录1
cd 1 # 切换到目录1
touch {1..20}.txt 1/ # 在目录1下创建1-20.txt 共20个文件
tar -czvf 1.tar.gz 1/ # 把 目录1 打包成 1.tar.gz
rm -rf 1 # 删除目录1
tar -xvf 1.tar.gz # 解压 1.tar.gz
tar -xvf 1.tar.gz -C /usr/ # 解压 1.tar.gz到/usr
yum install unzip -y
zip 1.zip 1
tar.gz
文件tar -zxvf
tar.xz
文件xz
解压 方式解压,,然后 里层用tar解压 方式解压:xz -d *****.tar.xz
tar -xvf *****.tar
tar xvJf ***.tar.xz
date # 查看当前时间:Thu Nov 19 04:23:41 EST 2020
date +%F # 查看当前日期:2020-11-19
date +%T # 查看当前时间:04:24:40
date -s "10:24:37" # 设置时间:Thu Nov 19 10:24:37 EST 2020
date -s "2020-12-07 10:24:37" # 设置时间:Mon Dec 7 10:24:37 EST 2020
# 同步系统时间 同步阿里云的ntp
ntpdate ntp.aliyun.com
# 把系统时间 刷到硬件中去
hwclock -w
cat /etc/redhat-release # CentOS Linux release 7.9.2009 (Core)
uname -a # Linux localhost.localdomain 3.10.0-1160.el7.x86_64 #1 SMP Thu Nov 19 22:10:57 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
uname -r # 查看内核版本:3.10.0-327.el7.x86_64
uname -m # 查看系统架构:x86_64
uname --help # 查看具体用法
alias cm="ls /usr/local/" # 给命令:ls /usr/local/起别名为cm
unalias cm # 取消别名:cm
alias # 查看所有别名
ntpdate
yum install ntpdate -y
timedatectl status
Local time: Fri 2020-11-20 06:12:15 CST
Universal time: Thu 2020-11-19 22:12:15 UTC
RTC time: Thu 2020-11-19 22:12:15
Time zone: Asia/Shanghai (CST, +0800)
NTP enabled: n/a
NTP synchronized: no
RTC in local TZ: no
DST active: n/a
[root@localhost ~]#
timedatectl set-timezone "Asia/Shanghai"
ntpdate ntp1.aliyun.com
netstat -tulnp # 查看所有端口
netstat -tulnp |grep 80 # 查看80端口
netstat -tulnp |grep nginx # 查看nginx端口
netstat -tulnp |grep sshd
ps # 显示进程状态
ps -aux # 显示所有进程
which ping # ping的安装目录
which python # python的安装目录
whereis python # 哪些目录有python
who # 查看有哪些用户登录了,IP地址
whoami # 查看当前登录用户
find /usr/local -mtime +7 # 内容修改在7天内的(只会记录修改或者创建后由内容的文件)
find /usr/local -type f # 只查看/usr/local目录下的文本内容文件
find /usr/local/ -type f | xargs rm -f # 查找并删除
df
df -Th
[root@localhost ~]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/centos-root xfs 18G 1.1G 17G 6% /
devtmpfs devtmpfs 479M 0 479M 0% /dev
tmpfs tmpfs 489M 0 489M 0% /dev/shm
tmpfs tmpfs 489M 6.7M 483M 2% /run
tmpfs tmpfs 489M 0 489M 0% /sys/fs/cgroup
/dev/sda1 xfs 497M 123M 375M 25% /boot
tmpfs tmpfs 98M 0 98M 0% /run/user/0
free
free -m
[root@localhost ~]# free -m
total used free shared buff/cache available
Mem: 977 116 484 6 377 646
Swap: 2047 0 2047
top
cat /proc/cpuinfo
cat /proc/meminfo
history
# 可以直接执行那条历史命令
! + 历史命令的编号
# 执行最近的
!历史命令的开头几个字母
man 命令
# 安装
yum install lrzsz -y
# 使用
rz # 把本地文件上传到服务器
sz 1.jpg # 把1.jpg从服务器下载到本地
vim /etc/hostname # 修改后,需要重启
hostname test01 # 修改,也需要重启(只对当次开机/登录生效)
可以把该虚拟机当做一台物理机用,可以分配到该局域网的IP
和主机连接,也能访问外网,但是外界不能访问内网(单向的 SNAT)
和主机连接,不能访问外网(不能上网)
主机名 - 做集群的时候可以用
其他几乎没用,都可以通过IP访问