linux常用命令
-
帮助命令:是命令行的帮助文档,可以以友好的方式查看该命令的常规方式
- –help选项:用于查看指定命令的帮助信息
- 格式:ls --help
- which命令:用于查看指定命令在文件系统环境变量中的位置,查看已经安装好的可以直接执行的命令,如果是可执行的文件但是没有加入到系统的环境变量,仍然无法被which发现
- 格式:which 命令
- whereis 命令:用于查看指定命令在文件系统中的位置,与which不同的是这条命令可以通过文件索引搜索,而非PATH来查找的,所以查找的面比which要广
- 格式:whereis 命令
- man 命令
- –help选项:用于查看指定命令的帮助信息
-
系统基础操作命令:
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 需要搜索的字符,要被搜索的文件
-
管道:| 管道命令,将第一个命令的输出结果,作为第二个命令的输入,经常和其他命令结合使用
- 基本语法:命令1|命令2|命令n
查看/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格式压缩 - tar:归档命令:可以将多个文件打包成一个文件,也可以将打包的文件拆分成多个文件
-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命令将多个文档归档为一个文件,不能压缩目录
压缩文件 gzip 文件名称.tar:压缩tar包,得到压缩文件 文件名称:文件名称.tar.gz 解压 gzip -d 文件名称.tar.gz 得到tar包 文件名称:文件名称.tar
- bzip2、zip、xz
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编辑器(重点)
-
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文档第一行 - ^所在行开头,$所在行尾部,r替换光标所在位置字符
-
(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 ujiuye@10.10.35.66:/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 进程名