Linux - Shell基础命令

Linux - Shell基础命令_第1张图片

一:Shell

1.Shell 是一种脚本语言

Shell 是一种脚本语言,和Python语言类似,是一种解释型语言

任何代码最终都要被“翻译”成二进制的形式才能在计算机中执行

脚本语言的优点是使用灵活、部署容易、跨平台性好,非常适合 Web 开发以及小工具的制作

Shell 就是一种脚本语言,我们编写完源码后不用编译直接运行源码即可

2.Shell 也支持编程

Shell 并不是简单的堆砌命令,我们还可以在 Shell 中编程
Shell 虽然没有 C++、Java、Python 等强大,但也支持了基本的编程元素,例如:
  • if...else 选择结构,case...in开关语句,forwhileuntil 循环;
  • 变量、数组、字符串、注释、加减乘除、逻辑运算等概念;
  • 函数,包括用户自定义的函数内置函数(例如 printf、export、eval 等)

3.Shell 还能连接其它程序

内置命令

在 Shell 中输入的命令,有一部分是 Shell 本身自带的,这叫做内置命令

外部命令

有一部分是其它的应用程序(一个程序就是一个命令),这叫做外部命令

每个程序就是一个命令

Shell 本身支持的命令并不多,功能也有限,但是 Shell 可以调用其他的程序,每个程序就是一个命令

这使得 Shell 命令的数量可以无限扩展,其结果就是 Shell 的功能非常强大,完全能够胜任 Linux 的日常管理工作

  • 文本或字符串检索

  • 规模软件的自动部署

  • 更改系统设置、监控服务器性能

  • 发送报警邮件

  • 抓取网页内容

  • 压缩文件等

4.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

作用:

查看当前所在的目录(绝对路径)

语法格式:

pwd [选项]

常用选项:

选项 作用
-L 显示逻辑路径

实例:

pwd		# /root
pwd -L	# /root

Linux - Shell基础命令_第2张图片

ls

作用:

列出指定目录下的内容及其相关属性信息

语法格式:

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

作用:

从当前目录切换到指定目录(该目录可以是绝对路径,也可以是相对路径)

语法格式:

cd [参数] [目录名]

常用选项:

选项 作用
-P 如果切换的目标目录是一个符号链接,则直接切换到符号链接指向的目标目录
-L 如果切换的目标目录是一个符号链接,则直接切换到符号链接名所在的目录
- 切换到之前的目录
仅使用”-“选项时,当前目录将被切换到环境变量”OLDPWD”对应值的目录
~ 切换至当前用户目录
切换至当前目录位置的上一级目录
. 切换至当前目录(敲了和没敲一样)

实例:

cd file1	# 切换到file1目录
cd ..		# 切换到上级目录
cd ../..	# 切换到上上级目录
cd ~		# 切换到当前用户目录
cd -		# 切换到之前的目录
cd .		# 切换到当前目录(有点鸡肋....)

Linux - Shell基础命令_第3张图片

cp

作用:

复制文件或目录

语法格式:

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

Linux - Shell基础命令_第4张图片

mv

作用:

移动文件或对其重命名

语法格式:

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个同名的目录,则会覆盖那个目录

Linux - Shell基础命令_第5张图片

rm

作用:

删除一个目录中的一个多个文件或目录,它也可以将某个目录及其下的所有文件及子目录均删除

语法格式:

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 /*	# 删库跑路(且行且珍惜)

Linux - Shell基础命令_第6张图片

mkdir

作用:

创建文件夹(如果要创建的目录已经存在,则提示已存在,而不会继续创建目录)

语法格式:

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	# 同时创建多层目录

Linux - Shell基础命令_第7张图片

rmdir

作用:

删除空目录(只能删除空目录;删除非空目录时,就要使用带有“-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 目录名

Linux - Shell基础命令_第8张图片

touch

作用:

  • 创建新的空文件
  • 改变已有文件的时间戳属性

语法格式:

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时间戳

Linux - Shell基础命令_第9张图片

vi / vim

作用:

文本编辑器(对文本进行创建、查找、替换、删除、复制和粘贴等操作)

语法格式:

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编辑器

Linux - Shell基础命令_第10张图片

Linux - Shell基础命令_第11张图片

文件查看命令

选项 全称 作用
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

作用:

树状图形式列出目录的内容(包括目录里的文件,显示出指定目录的文件目录结构)

语法格式:

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

作用:

在终端设备上显示文件内容

语法格式:

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

作用:

分页显示工具

用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命令 打开另一个文件

more

作用:

显示文本文件内容

将内容较长的文本文件内容(不能在一屏显示完)进行分屏显示,并且支持在显示时定位关键字

对于内容较少的文本文件内容则推荐使用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

作用:

查看文件尾部内容

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	# 显示帮助信息

head

作用:

显示文件开头内容

以行为单位,取文件的内容,后面不接参数时默认打印前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个字符

grep

作用:

全面搜索正则表达式,并将其打印出来

这个命令可以结合正则表达式使用,它也是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的文件

echo

作用:

输出字符串或提取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	# 立刻关机,并且关闭电源

解压缩相关

方式1 - tar

# 压缩
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

方式2 - unzip

安装
yum install unzip -y
使用
zip 1.zip 1

1.解压tar.gz文件

语法格式:

tar -zxvf

2.解压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



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 - 任务管理器

top

查看CPU和内存

cat /proc/cpuinfo
cat /proc/meminfo

查看历史命令

history

# 可以直接执行那条历史命令
! + 历史命令的编号 

# 执行最近的
!历史命令的开头几个字母

man手册 - 查看命令的帮助信息

man 命令

上传文档

在使用xshell或者finalshell的情况下才行
# 安装
yum install lrzsz -y

# 使用
rz	# 把本地文件上传到服务器

sz 1.jpg	# 把1.jpg从服务器下载到本地

修改主机名

vim /etc/hostname	# 修改后,需要重启
hostname test01	# 修改,也需要重启(只对当次开机/登录生效)

零碎的知识点

Nginx

  • 反向代理
  • 负载均衡
  • 域名解析(类似于路由分发)

虚拟机网络连接

桥接模式

可以把该虚拟机当做一台物理机用,可以分配到该局域网的IP

NAT模式

和主机连接,也能访问外网,但是外界不能访问内网(单向的 SNAT)

仅主机模式

和主机连接,不能访问外网(不能上网)

hostame

主机名 - 做集群的时候可以用

其他几乎没用,都可以通过IP访问

你可能感兴趣的:(Linux,shell)