Linux操作系统基础知识
1 终端命令
1.1 终端命令格式
command [-options] [parameter]
- Command: 命令名称
- [ ] 表示可选项
- [-options] : 命令选项, 可有可无
- [Parameter]: 命令参数,可以不传,也可以传一个或多个
1.2 查看命令帮助信息-help
显示command命令的帮助信息
command --help
例:ls --help
1.3 查看命令帮助信息-man
查看command命令的使用手册
man command
例:man ls
man操作键说明:
- 空格键:显示手册的下一页
- Enter键:滚动显示手册的下一行
- B: 显示上一页
- F: 显示下一页
- q: 退出
- /word: 搜索word字符串
2 文件和目录常用命令
2.1 查看目录文件内容
-
命令格式: ls [ -lah(选项) ] [ 文件或目录 ]
-
ls参数说明:
- -l: 以列表的形式显示出文件或目录的内容
- -a: 显示所有的文件和目录,包含隐藏文件
- -h: 显示出文件的目录或者大小
ls -lha /usr/bin # 查看/usr/bin文件夹里面的内容
- 通配符可以匹配符合条件的文件或者目录:
- *: 表示0到多个任意字符
- ? : 表示一个任意字符
- [abcd] : 表示可以匹配a、b、c、d中的任何一个字符
- [a-f] : 匹配从a到f范围内的的任意一个字符
ls *.txt #查看后缀为.txt的文件
ls [abcd].txt # 查看文件名只有abcd其中一个字符且后缀为.txt的文件
2.2 切换目录
- 命令格式: cd [目录名称]
- cd或cd~: 切换到当前用户的主目录(/home/用户目录)
- cd.: 切换到当前目录
- cd. .: 切换到上一级目录
- cd-: 切换到上一次所在的目录
绝对路径: 绝对路径必须是以根目录(/)开头或者家目录开头(~),然后一个层级一个层级定义对应目录,目录与目录之间用 / 分隔
相对路径: 不以根目录(/)或者家目录(~)开头,而是以当前路径开始,结合返回上层路径(…)来实现相对路径的切换
pwd # 查看当前所在路径
cd/etc/kernel # 以绝对路径的方式切换到/etc/kernel目录下
cd/ cd home # 以相对路径的方式切换到/home目录下
2.3 创建文件
- 命令格式: touch 文件名 (多个文件名之间用空格隔开)
说明:- 如果文件名不存在,创建对应的文件
- 如果文件名已存在,则更新文件的修改时间
2.4 创建目录
- 命令格式: mkdir 目录名称(多个目录之间用空格隔开)
- 通过-p的选项,实现多个层级的目录创建(例:mkdir -p dir1/dir/2/dir3)
- 如果创建的目录名称已存在,则创建失败
- mkdir mike:在当前路径下,新建mike文件夹
- mkdir /mike:在根路径下,新建mike文件夹
2.5 删除文件/目录
- 命令格式: rm [-irf] 文件名或目录名
- 选项说明:
- -i:表示交互式执行删除操作,删除前会有提示
- -f:表示强制删除,忽略不存在的文件
- -r:表示删除目录及目录下所有内容
2.6 复制文件/目录
- 命令格式: cp 源文件 目标文件
- 选项说明:
- -f:强制覆盖已存在的文件而不提示
- -i:覆盖已存在的文件时,会提示用户是否确认
- -r:复制目录及目录下所有内容时,必须带上-r参数
- -v:显示复制的进度(一般不用)
2.7 移动文件/目录
- 命令格式: mv 源文件 目标文件
- 选项说明:
- -f:强制覆盖已存在的文件而不提示
- -i:覆盖已存在的文件时,会提示用户是否确认
- -v:显示移动的进度(一般不用)
2.8 查看文件内容
- cat命令: 适用于查看文件内容较少的文件
- cat可以用来查看文件、创建文件、合并文件、追加文件
- -b:表示输出非空的行编号
- -n:表示输出所有的行编号
- more命令: 查看文件内容较多的文件
常用快捷键:- 空格:显示下一页内容
- 回车:滚动显示下一行
- b 键:显示上一页内容
- f 键:显示下一页内容
- q 键:退出
- grep命令: 搜索文件并显示对应的关键字行信息
命令格式: grep ‘关键字’ 文件名
常用选项:- -v:显示不包含匹配文本的所有行(取反)
- -n:显示匹配的行及行号
- -i:忽略大小写
- grep正则表达式:
- ‘^a’:表示搜索的文件内容是以a开头
- ‘ke$’:表示搜索的文件内容是以ke结尾
- [Ss]igna[LI]:匹配[]中的任意一个字符,搜索匹配单词为SignaL、Signal、signaL、signal的行
grep -n '[Ss]igna[LI]' test.txt
grep -v '^a' 1.txt # 查找不以a开头的内容
grep -i '[Ss]igna[LI]' test.txt # 查找signal内容,忽略大小写
2.9 重定向
- 将命令输出的结果写入到(重定向)到另外的文件当中
- ‘>’:将命令输出的结果覆盖到对应的文件内容
- ‘>>’:将命令输出的结果追加到对应的文件内容
cat 1.txt > 2.txt # 将1.txt的内容覆盖掉2.txt的内容
cat 1.txt >> 2.txt # 将1.txt的内容追加到2.txt的内容
cat 1.txt 2.txt > 3.txt # 将1.txt和2.txt的内容合并到3.txt文件当中
2.10 管道符
- 通过管道符命令可以将一个命令的执行结果,传给另一个命令当作参数来使用
- 常用的管道符命令:
- more: 分屏显示执行结果
- grep: 通过grep过滤执行结果
ls -l /usr/bin | grep more # ls -l /usr/bin本来显示在屏幕的内容,放在管道,通过管道过滤取出关键信息,管道的另外一边grep more,把管道的内容只取出包含more关键字的内容
ls /usr/bin | grep ^au # ls /usr/bin显示的内容,放入管道,管道的另一边,只取出au开头的内容
2.11 练习
# 在/opt目录下创建一下目录:test1, test2, test3
cd/opt
mkddir test1 test2 test3
# 在test1目录下创建abc.txt以及test.txt两个文件
cd test1
touch abc.txt test.txt
# 删除/opt目录下所有的test开头的目录
cd..
rm -rf test*
# 将/etc/hosts文件复制到/opt目录下
cp /etc/hosts /opt
# 将/opt/hosts文件移动到/etc目录下
mv /opt/hosts /etc
# 通过重定向命令删除/var/log/messages文件中的内容
echo “” > /var/log/messages
# echo为回显
# 通过grep过滤出/bin目录下包含test文本的内容
ls /bin | grep test
3 信息系统相关命令
3.1 重启和关机的命令
- 重启命令: reboot
- 关机命令: shutdown
- shutdown -r now 表示重启时,会给其他用户发送提示信息
- shutdown -h now 表示立刻关机
- shutdown -h 20:25 表示定时关机
- shutdown -h +10 表示从当前时间再往后十分钟进行关机
3.2 查看系统进程
- 命令格式: ps -aux | grep ‘关键字’ (crtl+shift+esc)
- 选型说明:
- -a:显示终端上的所有进程,包括其他用户的进程
- -u:显示进程的详细状态
- -x:显示没有控制终端的进程
# 查看mysql的进程id号
ps -aux | grep mysql
3.3 实时查看系统的进程信息
- 命令: top(动态变化)
- 快捷键:
- M(shift+m)可以按内存使用率降序排列显示进程的信息
- P(shift+p)可以按cpu使用率降序排列显示进程的信息
- q (ctrl+c)退出top命令
# 查看当前系统中CPU使用率排前三的进程
top
3.4 关闭进程
- 命令格式: kill -9 进程ID
- 进程id一般会通过ps命令查看
- -9表示的是强制关闭进程
# 通过kill命令杀掉已存在的top进程
ps -aux | grep top
kill -9 top进程号
3.5 查看系统监听端口
- 命令格式: netstat [-anptu] | grep ‘关键字’(端口、进程号皆可查)
- 选项说明:
- -a:查看所有已打开的窗口
- -n:以数字方式显示已打开的窗口,不显示别名
- -p:显示对应的进程的ID
- -t:显示出TCP协议的端口
- -u:显示出udp协议的窗口
- 命令格式: lsof -i (根据端口号查进程号)
- -i:表示查看所有已打开的进程的端口
lsof -i # 查看系统所有已打开的进程端口
lsof -i:3306 # 查看系统中3306端口是否已打开
3.6 查看日志信息
- head 文件名
- 默认查看文件前十条信息
- head -20 文件名:查看文件的前20条信息
head -30 log.log # 查看当前目录下log.log文件的前30条信息
- tail -f 文件名
- 默认查看文件最后十条信息
- tail -20 文件名:查看文件的最后20条信息
- tail -f 文件名 实时查看日志的文件信息
tail -30 log.log # 查看当前目录下log.log文件的最后30条信息
tail -f log.log # 实时查看当前目录下log.log文件的日志信息
3.7 查看操作系统信息
-
cat/proc/version: 查看当前操作系统版本信息
-
cat/etc/isssue: 查看当前操作系统发行信息
4 用户权限和管理
4.1 Linux文件/目录权限查看
- Linux系统中文件和目录的权限有以下几种:
- Linux中可以通过
ls –l
来查看文件或目录的权限
4.2 修改用户权限
-
命令格式: chmod u+rwx 1.txt
用户选项:- u:表示的是所属的用户
- g:表示的是所属的用户组
- o:表示的是其他用户
- a:表示的是所有的用户
设置选项:
- +:增加权限
- -:撤销权限
- =:设置权限
chmod u+x,g-w,o=rwx 1.txt
chmod 756 1.txt
4.3 用户管理
- 增加用户
命令说明:- useradd admin123:创建一个普通账户admin123
- useradd -g root admin2:创建用户admin2,并指定用户组为root
- 查看登录用户:
命令说明:- who -q/- -count:只显示用户的登录账号和登录用户的数量
- who -u/- -heading:显示列标题
- whoami:查看当前登录用户
- 删除用户:
命令说明:- userdel -r 用户名:-r作用为把用户目录都删除
- 切换用户:
命令说明:- su:切换到root用户,需要输入root的密码
- su 用户名:切换到指定的用户下,如果是从root用户下切换,不需要输入密码
- 退出登录用户:
命令说明:- exit:退出当前的登录用户
- 如果是图形界面,退出当前终端
- exit:退出当前的登录用户
- 修改密码:
命令说明:- passwd:修改当前用户的密码,需要输入原密码
- passwd 用户名:修改指定用户的密码,必须通过root用户来实现(
sudo passwd admin
)
5 其他命令
5.1 查找文件
- 命令格式: find [路径] -name 文件名
- 路径可有可无,没有的情况表示的是当前目录
- 文件名可以使用通配符,使用通配符时,文件名必须在引号里面
find . -name test.sh # 在当前目录及子目录下查找名称为test.sh的文件
find . -name 'abc*.txt' # 在当前目录及子目录下查找名称为abc开头的txt文件
5.2 软链接/硬链接
- 软链接命令格式: in -s 源文件 链接文件
命令说明:- 软链接只是指向源文件的一个链接,
- 源文件要使用绝对路径,不能使用绝对路径,这样可以方便移动链接文件后仍然能够正常使用
- 软连接可以链接目录
- 硬链接命令格式: in 源文件 链接文件
命令说明:- 硬链接的文件大小与源文件相同,即使删除源文件,链接文件依然存在
- 硬链接只能是普通文件,不能是文件夹
5.3 打包和解包
- 打包命令格式: tar -cvf 打包文件.tar 被打包的文件/路径
- 解包命令格式: tar -xvf 打包文件.tar -C 解包路径
常用选项说明:- -c:创建打包文件
- -v:列出归档解档的详细过程,显示进度
- -f:指定档案文件名称,f后面一定是.tar文件,所以必须放选项最后
- -t:列出档案中包含的文件
- -x:解开档案文件
tar -cvf mike.tar *.txt *.png # 把后缀为.txt,.png的文件做成一个包,叫做mike.tar
tar -xvf mike.tar # 解包,没有指定路径,放在当前路径
tar -xvf mike.tar -C abc/ # 指定路径,需要-C(大写)
5.4 压缩和解压缩
- gzip压缩命令格式: gzip [选项] 被压缩文件
常用选项说明:- -r:压缩所有子目录
- -d:解压
- 实际应用是在tar选项中增加一个-z选项来调用gzip实现打包和压缩的过程
- 压缩文件:tar -zcvf 打包文件.tar.gz 被压缩的文件/路径
- 解压缩文件到指定目录:tar -zxvf 打包文件.tar.gz -C 目标路径
tar -zcvf mike.tar.gz *.txt *.png
tar -zxvf mike.tar.gz -C abc/
-
bzi2压缩命令格式: bzi2 [选项] 被压缩文件
-
实际应用是在tar选项中增加一个-j选项来调用bzi2实现打包和压缩的过程
- 压缩文件:tar -jcvf 打包文件.tar.gz 被压缩的文件/路径
- 解压缩文件到指定目录:tar -jxvf 打包文件.tar.gz -C 目标路径
tar -jcvf mike.tar.gz *.txt *.png
tar -jxvf mike.tar.gz -C abc/
- zip压缩命令格式: zip [-r] 压缩文件名 文件或目录
- unzip解压缩命令格式: zip -d 解压目录 压缩的文件名
- -r:表示压缩的是一个目录
- 压缩的文件名可以不带后缀名
zip -r yoyo.zip *.txt *.png
unzip -d abc/ yoyo.zip
6 vi编辑器
6.1 VI编辑器介绍和三种模式
- vi编辑器简介
- vi 是 Linux 系统下的命令行工具
- vi 和 vim 是同一个编辑器
- vi编辑器的三种模式
- 命令行模式: 通过对应的快捷键或者命令来管理文件
- 插入模式: 主要是用来对文件的增加、修改操作
- 末行模式: 主要是用来保存文件或者退出文件
6.2 vi编辑器三种模式的切换
- 首次进入到vi编辑器使用的是命令行模式
- 可以通过i、I、a、A进入到插入模式,在插入模式中按ESC键可以回到命令行模式
- 可以通过shift +: 进入到末行模式(需先退回到命令行模式),在末行模式可以通过以下快捷键来进行操作:
- w:表示保存文件并回到命令行模式
- q:表示的是退出 vi 编辑器
- !:表示的是强制
- wq!:表示的是强制保存并退出 vi 编辑器
6.3 vim基本操作
- 打开文件
- 编辑
- 修改
- 适当使用快捷键(命令模式下使用)
- yy:复制
- p:粘贴
- dd:剪切,如果只剪切不粘贴,变成删除
- 保存
7 Mysql基础理论
7.1 连接数据库
- 前置条件:
- 确定MySQL数据库的IP地址(通过
ifconfig
查看) - 确定MySQL数据库服务是否开启(
netstat –anopt | grep sshd
)
- 确定MySQL数据库的IP地址(通过
- 命令格式: mysql -h数据库IP -P端口号 -u数据库登录用户名 -p数据库登陆密码
- -h不加时则表示为本机
- -P不加时则表示默认3306端口
mysql -h192.168.228.134 -P3306 -uroot -p123456