帮助命令:是命令行的帮助文档,可以以友好的方式查看该命令的常规方式
系统基础操作命令:
ls:查看指定路径中的文件 (重点)
cd:改变当前工作路径 (重点)
pwd:查看当前工作路径 (重点)
poweroff:关闭计算机
shutdown:关闭计算机
rebot重启计算机
grep:数据检测命令(重点)
|:连接多个命令(重点)
find:文件检索命令(重点)
clear:清屏
history:查看历史命令
ls
ls path 命令:用于查看指定路径path下的文件列表:list file
-a :用于查看路径下的所有文件,包含隐藏文件,linux隐藏文件是以.开头的文件
-l :列表方式查看文件信息:包含文件权限,所属用户/组。文件大小,文件名称
-R :递归方式查看当前文件夹下的所有子文件,子文件中的子文件
-h : 与-l一起,以容易阅读的方式输出文件大小(1k,2M)
cd change directory
cd path/:表示命令行中切换到path目录中
cd :直接回车,进入到当前用户的家目录
root用户:进入/root/
ujiuye用户:进入/home/ujiuye/
cd / :进入根目录
cd /etc:进入根目录下的etc路径
cd test:进入当前目录下的test
pwd:查看命令当前路径 print working directory
shutdown:用于关闭计算机,执行命令将延时关闭
shutdown -r now:立刻重启系统
shutdown -r 10:10分钟后重启系统
shutdown -r 16:40:指定时间重启系统
shutdown -h now:立刻关闭计算机
shutdown -h 10:10分钟后关闭计算机
shutdown -c:取消命令执行的操作
grep用于过滤/搜索指定字符,常配合管道命令使用
gerp 需要搜索的字符,要被搜索的文件
管道:| 管道命令,将第一个命令的输出结果,作为第二个命令的输入,经常和其他命令结合使用
查看/var/log 中的所有日志,所有带log名的文件
ls /var/log | grep log
find:类似windowns系统中的文件搜索类似,功能更加强大,可以按照文件名,文件大小,文件用户,文件权限,文件修改时间。。。检索
find path -option
命令 | 含义 |
---|---|
find ./ -name “.sh” | 查找当前目录所有后缀是.sh结尾的文件 |
find ./ -name “[A-Z]*” | 查找当前目录所有以大写字母开头的文件 |
find ./tmp -size 2M | 查看在/tmp目录下等于2M的文件 |
find ./tmp -size +2M | 查看在/tmp目录下大于2M的文件 |
find ./tmp -size -2M | 查看在/tmp目录下小于2M的文件 |
find ./tmp -size +2k -size -2M | 查看在/tmp目录下大于2k小于2M的文件 |
find ./ -perm 777 | 查看当前目录权限为777的文件 |
文件操作命令(重点)
用于文件/目录的管理,包括文件的创建、重命名、以及删除,文件夹的创建、重命名以及删除,文件/目录的复制、剪切
命令 | 描述 |
---|---|
echo | 信息打印 echo “文本信息” |
touch | 创建文件 touch 文件命令 |
cp | 复制文件 cp 源文件 目标文件,将源文件复制到目标路径 |
mv | 移动文件 mv 源文件 目标文件,将源文件移动到目标路径 |
mkdir | 创建文件夹 mkdir 文件夹名称 |
rm | 删除文件 (-r递归删除 ,-f忽略提醒),rm删除文件,rm -r删除目录 |
压缩解压命令
命令 | 描述 |
---|---|
tar(重点) | 文件归档 |
gzip(重点) | .gz格式压缩 |
bzip2(重点) | .bz格式压缩 |
zip | .zip格式压缩 |
xz | .xz格式压缩 |
-c 生成归档文件,创建打包文件
-v 列出归档的过程
-f 指定档案命令 ,f后面加.tar文件
-x 解开档案文件
-t 列出档案中包含的文件
tar -cvf target.tar file1 file2... :将多个文件打包成target.tar文件
tar -tvf target.tar :查看target.tar包中包含的文件列表
tar -xvf target.tar:将target.tar包中的文件释放到当前目录
压缩文件
gzip 文件名称.tar:压缩tar包,得到压缩文件 文件名称:文件名称.tar.gz
解压
gzip -d 文件名称.tar.gz 得到tar包 文件名称:文件名称.tar
bzip2
压缩
bzip2 -k 文件名.tar 压缩后的文件后缀:文件名.tar.bz2,加k会保留原始文件,不加会删除原始文件
解压
bzip2 -d 文件名.tar.bz2
zip
压缩:zip -r 文件名.zip 文件名.tar
解压:unzip 文件名.zip
xz
压缩:xz -z 文件.tar
解压缩:xz -d 文件.tar.xz
压缩拓展:tar -jcf 归档文件.tar.bz2 file1 file2(重点)
解压:tar -jxf 归档文件.tar.bz2
u/g/o/a | 含义 |
---|---|
u | user 表示该文件的所有者 |
g | group 表示与该文件的所有者属于同一组,即用户组 |
o | other 表示其他以外的人 |
a | all 表示三者皆是 |
rwx | 含义 |
---|---|
r | read表示可读取,对于一个目录,如果没有r权限,就意味着不能通过ls查看目录的内容 |
w | write表示可写入,对于一个目录,如果没有w权限,就意味着不能在目录中创建文件 |
x | excute表示可执行,对于一个目录,如果没有x权限,就意味着不能cd进入这个目 |
十进制表示
字母 | 说明 |
---|---|
r | 读取权限,数字代号是“4” |
w | 写入权限,数字代号是“2” |
x | 执行权限,数字代码是“1” |
- | 不具备任何权限,数字代号是“0” |
【±=】
符号 | 说明 |
---|---|
+ | 增加权限 |
- | 撤销权限 |
= | 设定权限 |
修改权限操作 (重点)
chmod u+x,g+w,o+r 1.txt
chmod u=wx,g=r,o=r 1.txt
chmod 344 1.txt 当前用户没有读取的权限
gedit 1.txt 无法打开
linux系统超级用户root可以创建多个用户,不同的用户可以同时远程登录系统各自独立完成任务,也就是多用户多任务操作
useradd 增加一个用户,在系统中创建一个用户
userdel 删除一个用户,将系统中存在的某个用户删除
passwd 修改指定用户的密码
切换root用户,su - root
useradd zhang 创建一个张用户并多一个家目录
passwd zhang passwd 修改张用户的密码
su - zhang 切换到zhang用户 Ctrl+D登出
此时zhang用户中不可以添加用户(sudo useradd du ,zhang不在sudoers文件中,此事将被告知)
因为普通用户一般不允许有管理员权限,此事可以添加管理员权限
userdel 删除一个用户,将系统中存在的某个用户删除
userdel huang 删除了用户,但是家目录还在,数据还在
su - huang 切换不过去,因为已经删除了
cat /etc/passwd
第一部分:root账户,代表管理员账户,对系统每个方面都有完全的权利
第二部分:系统定义的群组和账户,安装和更新软件必需
第三部分:代表一个使用系统的真实用户
普通用户添加管理员权限
修改/etx/sudoers文件,su - root 切换到root, vim /etc/sudoers
找到下面一行
root ALL=(ALL) ALL
ujiuye ALL=(ALL) ALL
修改完毕,现在可以用ujiuye账号登录,使用sudo 可获得root权限进行操作
切换用户
su 在当前目录中,直接切换到root用户
su 账号 在当前目录中,直接切换到指定账号的用户
su - 切换到root用户,并切换到/root中
su - 账号 切换到一个普通用户,并切换到/home/账户 家目录中
针对系统信息进行查看,配置以及维护的操作命令,类似与windows系统的任务管理器
free -h 当前计算机内存使用情况
df -h 当前系统磁盘使用情况
ps 进程管理命令
a 显示一个终端的所有进程
x 显示没有控制终端的进程
u uid or username 选择有效的用户id或者用户名
f 全部列出,通常和其他命令连用
e命令之后显示环境
ps-ef | grep sshd 查看sshd程序是否运行
ps-aux | grep firewalld 查看防火墙是否在运行
systemctl start 服务名 开启某个服务
systemctl restart 服务 重启某个服务
systemctl status 服务 查看某个服务状态
rpm 命令是RPM软件包的管理工具
在linux中的程序大多是小程序,程序与程序之间有非常复杂的依赖关系,RPM无法解决软件包的依赖关系
rpm -i 离线安装软件包
rpm -qa 列出所有以rpm方式安装过的软件
yum
yum是rpm的前端程序,主要设计是自动解决rpm的依赖关系
特点:
自动解决依赖关系,配置简单,可以对rpm进行分组
yum list 查看当前系统已经安装过的软件
yum search 名称:查看包含关键字名称的可以安装的软件
yum install 软件全名称:安装某个指定名称的软件
更新操作update
yum update package1 更新执行程序包 package1
yum check-update 检查可更新的程序
more 分页查看**(重点)**
文本内容比较多的情况下,使用more命令可以分页查看
more file 分页查看内容
more +n file 从第n行开始显示内容
操作方式
空格:向下滚动一页
回车:向下滚动一行
b:向上滚动一页
=:显示行号
q:退出
cat 全文浏览**(重点)**
cat file 全文浏览
cat -n file 带行号全文浏览
cat file1 file2 > file 合并文件
tac file 倒序浏览
head 头部浏览,默认浏览前10行内容
head -n 50 file 显示file文件前50行的内容
head -n -10 file 显示除了最后10行以外的内容
tail 尾部浏览 ,查看文件尾部内容,默认查看10行**(重点)**
tail file 查看文件尾部内容,默认查看10行
tal -5 file 显示最后5行内容
tail -n +50 file 从第50行开始显示内容
tail -5f file 显示最后5行内容,并且持续监控文件内容
此时打开另一个终端 echo hello >> 12.txt
其他查看方式
less分页浏览,和more类似
less -N file 分页浏览,并展示行号
less -m file 分页浏览,并展示百分比
sort排序浏览
sort 文件 升序查看文件内容
sort -r 文件 降序查看
sort -u 文件 取出文件重复内容
sed 流式浏览(重点)
sed -n "1,5p" 文件 显示1-5行内容
sed -n "3,5{=;p}" 文件 显示3-5内容,并且打印行号
sed -n "10p" 文件 显示第10行内容
vim编辑器是linux系统中经典的编辑器,系统中使用的是一个精简版的vi编辑器,vim是vi增强版,比vi更易用,两者命令操作几乎没有区别
vim编辑器不同于桌面编辑工具,纯粹的命令行操作编辑工具
vim有三种基本工作模式
命令模式:按一下ESC,即可进入命令模式。此模式下可以使用各种合法的vi命令,此时从键盘上输入的任何字符都会被当成命令来解释,命令合法,则执行相应动作
输入模式(编辑模式):在命令下输入i,该模式下用户输入的任何字符都会被当成文本保存起来,并显示在屏幕上,在输入过程中,如果想回到命令模式,按ESC即可
末行模式:用户在命令模式下按“:”即可进入末行模式,此时vim会显示在窗口的最后一行
hjkl:左下上右
(1)命令模式
按键 | 描述 |
---|---|
x | 删除光标所在的字符,相当于delete |
X | 删除光标前一个字符,相当于backspace |
dd(常用) | 删除光标所在行,删除一行 |
ndd | n为数字,连续删除光标后n行 |
yy(常用) | 复制光标所在行,复制遗憾 |
nyy | n为数组,连续复制光标后n行 |
p(小写)P(大写)(常用) | 小写p复制数据粘贴在下一行,大写P数据粘贴在上一行 |
u,ctrl+r | 撤销, 反撤销 |
G和gg(常用) | G文档最后一行,gg文档第一行 |
(2)编辑模式
按键 | 描述 |
---|---|
i (常用) | 光标前插入字符 |
I | 行首插入字符 |
a | 光标后插入字符 |
A | 行尾插入字符 |
o(常用) | 光标下一行插入字符 |
O | 光标上一行插入字符 |
(3)末行模式
命令 | 描述 |
---|---|
:w | 保存文件 |
:w! | 强制保存 |
:q | 不保存退出 |
:q!(常用) | 不保存强制退出 |
:wq(常用) | 保存并退出 |
:wq! | 强制保存并退出 |
scp命令(重点)
格式:scp -r 要复制的路径下的文件 用户@ip地址:目标主机路径
克隆虚拟机
右击-->管理-->克隆-->下一步-->虚拟机当前状态-->创建完整克隆-->选择名称和位置-->完成
修改主机名:hostnamectl set-hostname node1,将主机名修改为node1
scp -r /home/ujiuye/plan1.py [email protected]:/home/ujiuye
at:一次性定时任务
crontab:周期性定时任务
今天晚上凌晨3点中期sshd服务 创建一次性定时任务,自动在凌晨3点完成服务重启
每个月1号,执行一次上月日志的备份 某个特定时刻需要执行指定的操作命令,创建周期性定时任务
at一次性定时任务
at -l:查看任务
at 时间点:指定时间上,添加任务
ctrl+D:保存定时任务
atrm -n 删除编号n的定时任务
案例:在15:00,在/home/ujiuye/test/5.txt输出 “spider”
at 15:00 (回车)
echo "spider.." >> /home/ujiuye/test/5.txt
ctrl+D保存
打开新终端,tail -f 5.txt ,实时查看
at 时间点(HH:MM)
描述的是指定的时间点执行一个定时任务
时间早于系统时间,默认第二天的这个时间执行这个任务
时间晚于系统时间,默认当天的这个时间执行任务
crontab周期性定时任务
通过crontab的命令,添加,编辑,删除任务
crontab -l:列出所有的周期性定时任务
crontab -e:编辑当前用户的周期性定时任务
crontab -r:删除周期性定时任务
crontab -e 进入周期性定时任务编辑模式
* * * * *
以第一颗*为例:
依次是:分钟,小时,天,月,星期
* : 表示每一天的每小时的每分钟执行一次
10:表示每一天的每小时的第10分钟执行
5,10,20:表示每一天的每小时的第5,10,20分钟执行
5-10:表示每一天的每小时的第5分钟开始直到第10分钟结束
案例:每分钟向/home/ujiuye/test/5.txt 写入“start working”
每天6:00执行 /home/ujiuye/test/4.sh
0 6 * * *
每周周六凌晨4点执行
0 4 * * 6
# 杀死某个进程
kill -9 pid
# 杀死进程名
pkill -9 进程名