为什么学习Linux
因为Linux更稳定,更安全,更高速
Linux和windows的区别
1.Linux严格区分大小写
2.Linux中所有内容都以文件形式保存,包括硬件.
3.Linux不靠拓展名区分文件类型:
>压缩包:".gz","*.bz2","*.tar.bz2","*.tgz"等
>二进制软件包:"*.rpm"
>网页文件:"*.html","*.php"
>脚本文件:"*.sh"
>配置文件:"*.conf"
4.Windows下的程序不能直接在Linux中安装和运行
注意:
1.虽然Linux不以拓展名作为区分文件类型,但是我们通常还是会给文件加上对应的拓展名,目的是让其他同样需要操作该Linux系统的人员,能够快速看懂某个文件其实是个什么文件
2.Linux和Windows的目录结构点不同,Linux系统的目录结构是一个树状结构,每一个文件或目录都从跟目录开始,并且根目录只能有一个。
Linux常用命令
查询目录中内容:
ls [选项] [文件或目录]
选项:
-a 显示所有文件,包括隐藏文件
-l 显示详细信息
-h 人性化显示文件大小
文件/目录操作
查询所在目录位置:pwd
创建文件:touch 用法:touch 文件名
建立目录:mkdir 用法:mkdir -p [目录名]
删除空目录:rmdir 用法:rmdir [目录名]
删除文件或目录:rm 用法:rm -rf [文件或目录]
复制命令:cp -[option] source dest
例如:cp -r test/ test2/ 该test目录下所有的子目录和文件,粘贴到test2中
-a:此选项通常在复制目录时使用,它保留链接、文件属性,并复制目录下的所有内容。其作用等于dpR参数组合。
-d:复制时保留链接。这里所说的链接相当于Windows系统中的快捷方式。
-f:覆盖已经存在的目标文件而不给出提示。
-i:与-f选项相反,在覆盖目标文件之前给出提示,要求用户确认是否覆盖,回答"y"时目标文件将被覆盖。
-p:除复制文件的内容外,还把修改时间和访问权限也复制到新文件中。
-r:若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件。
-l:不复制文件,只是生成链接文件
剪切或改名命令:mv
改名用法:MV 文件名 新文件名 MV hello.txt linux.txt
剪切用法:MV 文件名 目录名 MV hello.txt test/
切换所在目录
cd [目录] 命令英文原意: change directory
简化操作:
cd ~ 进入当前用户的家目录
cd 同上
cd - 进入上次目录
cd .. 进入上一级目录
cd . 进入当前目录
命令搜索:
whereis 命令名 #搜索命令所在路径及帮助文档所在位置
which 文件名 #搜索命令所在路径及别名
PATH环境变量: PATH环境变量:定义的是系统搜索命令的路径,相当于window下的path
文件搜索命令
find [搜索范围] [搜索条件]
示例:find / -name install.log
#避免大范围搜索,会非常耗费系统资源
#find是在系统当中搜索符合条件的文件名.如果需要匹配,使用通配符匹配,通配符是完全匹配
find /root -iname install.log #不区分大小写
find /root -user root #按照所有者搜索
find /root -nouser #查找没有所有者的文件
字符串搜索命令:
grep [选项] 字符串 文件名
#在文件当中匹配符合条件的字符串
选项:
-i 忽略大小写
-v 排除指定字符串
压缩与解压缩命令:
.zip格式
压缩用法: zip 压缩文件名 原文件
zip -r 压缩文件名 原文件夹
解压用法: unzip 压缩文件
.gz格式
压缩用法: gzip 原文件 压缩为.gz格式的压缩文件,原文件会消失
gzip -r 目录 压缩目录下的所有子文件,但是不能压缩目录
解压用法:
gzip -d 压缩文件
gunzip 压缩文件
.bz2格式
压缩用法: bzip2 原文件 压缩为.bz2格式的压缩文件,原文件会消失
bzip2 -k 原文件 源文件不会消失
打包命令&解打包:
打包命令: tar -cvf 打包文件名 源文件
选项:
-c 打包
-v 显示过程
-f 指定打包后的文件名
解打包: tar -xvf 打包文件名
选项:
-x 解打包
.tar.gz格式:
选项:-z 压缩为.tar.gz格式
压缩用法: tar -zcvf 压缩包名.tar.gz 源文件
解压用法: tar -zxvf 压缩包名.tar.gz
tar -zxvf 压缩包名.tar.gz -C 指定目录
关机和重启命令
shutdown命令:
用法 shutdown [选项] 时间(单位:分钟)
选项:
-c 取消前一个关机命令
-h 关机
-r 重启
例如:十分钟后关机 shotdowm -h 10
#使用shutdown会在关机的时候帮我们保存数据
系统服务管理:
启动服务:systemctl start <服务名>
关闭服务:systemctl stop <服务名>
重启服务:systemctl restart <服务名>
查看服务状态:systemctl status <服务名>
添加开机启动项:systemctl enable <服务名>
禁止开机启动项:systemctl disable <服务名>
查看开机启动项:systemctl list-unit-files
查看/杀死进程:
用于报告当前系统的进程状态。可以搭配kill指令随时中断、删除不必要的程序。
ps -ef 显示出的结果:
1.UID 用户ID
2.PID 进程ID
3.PPID 父进程ID
4.C CPU占用率
5.STIME 开始时间
6.TTY 开始此进程的TTY----终端设备
7.TIME 此进程运行的总时间
8.CMD 命令名.
杀死进程:kill -9 pid
防火墙命令:
防火墙配置命令:firewall-cmd
防火墙帮助:fireweall-cmd --help
查看防火墙状态:
firewall-cmd --state
查看所有打开的端口:
firewall-cmd --zone=public --list-ports
开启端口:
firewall-cmd --zone=public --add-port=端口号/tcp --permanent(--permanent参数为永久生效,不加则重启后失效)
更新防火墙规则:
firewall-cmd --reload
删除端口:
firewall-cmd --zone=public --remove-port=端口号/tcp --permanent
其他命令:
磁盘使用情况df:
选项-h: 格式化显示输出磁盘使用情况
查看操作历史history: 用于显示执行过的历史命令记录
在显示器输出内容:echo
文件查看命令cat
日志监控命令:tail 默认在屏幕上显示指定文件的末尾10行
-f 显示文件最新追加的内容。
-n 行数 在屏幕上显示指定文件的末尾参数设置的行数
软件安装命令:
rpm 常用命令
安装一个包
# rpm -ivh <包名>
--nodeps 如果该RPM包的安装依赖其它包,即使其它包没装,也强迫安装。
--force 即使覆盖属于其它包的文件也强迫安装
查询一个包是否被安装
# rpm -q <软件名>
得到被安装的包的信息
# rpm -qi < 软件名>
列出该包中有哪些文件
# rpm -ql < 软件名>
列出服务器上的一个文件或目录属于哪一个RPM包
#rpm -qf <文件或目录名>
列出所有被安装的rpm package
# rpm -qa
卸载一个包
# rpm -e <软件名>
yum常用命令:
查看yum库中的所有包
# yum list
安装命令
# yum install <软件名>
查看已经安装的软件包
# yum list installed
卸载软件包
# yum remove <软件名>