一、什么是Linux
Linux是基于Unix的开源的操作系统,由于系统的稳定性和安全性几乎成为程序代码运行的最好环境
Linux是有Linus Torvalds(林纳斯'托瓦兹)期初开发的,由于源码的开放性,现在已经衍生
出成千上百种不同的Linux系统:
Linux 系统的应用性非常广泛,不仅可以长时间的运行我们编写的程序代码,还可以安装
在各种计算机硬件设备中,比如手机,路由器等,我们使用的android程序最底层用运行的就是Linux系统
二,Linux的分类
(1)Linux根据市场需求不同,基本分为两个方向:
1,图形化界面版,注重用户的体验,类似window操作系统,但目前成熟度不高
2,服务器版:没有好看的界面,是以在控制台窗口中输入命令操作系统的,类似dos
(2)Linux根据原生程度,又分为两种:
1,内核版本:在Linus领导下的内核小组开发维护的系内核的版本号
2,发行版本:一些组织或公司在内核版基础上进行二次开发重新发行的版本
(3)Linux发行的版本,又可以分为n多种
其中最有代表性的是ubantu和centos一个是图形化界面一个是服务器版本
三、Linux基本命令
1,目录切换命令
window中通过图形化界面和鼠标可以任意切换需要进入的目录,但Linux必须通过cd命令切换目录,
在学习cd命令切换目 录 我们要分清Linux的目录结构;
Linux目录结构
bin 存放可执行的二进制文件
sbin 存放二进制可执行文件,只有root才能访问
etc 存放系统配置文件 (系统的配置文件 在ect下有profile文件是环境变量)
usr 用于存放共享的系统资源 (放置一些资源)
home 存放用户文件的根目录 (每个用户的根目录的存放位置home下创建每个用户的根目录:
例如:用户是张三 那么在home下就会存在张三目录 用户是李四就会存在一个李四目录)
root 超级用户目录
dev 用于存放设备文件
lib 存放根文件系统中的程序运行的需要的共享库及内核模块
mnt 系统管理员安装的临时文件
var 用于存放运行时需要改变数据的文件
我们进入root用户时,系统默认会是在root目录下,通常用~表示root目录 /表示根目录
cd usr 切换到该目录下usr目录
cd ../ 切换到上一层目录
cd / 切换到系统根目录
cd~ 切换到用户主目录
cd- 切换到上一个所在的目录
ls查看当前目录下的文件夹
clear 清空操作的内容
2,目录的操作命令(增删改查)
(1)增加目录操作(增)
命令:mkdir 目录名称
创建当前目录下的文件夹 mkdir 文件夹
创建当前页面嵌套文件夹 mkdir /文件夹/文件夹
(2)查看目录(查)
命令:ls [-a或者-l]父目录
ls命令
示例:在跟目录/下使用ls,可以看到该目录下的所有的目录和文件
ls -a
示例:在根目录/下使用ls -a,可以看到该目录下的所有的目录和文件和隐藏文件
ls -l(注意:他可以缩写成ll)
示例:在根目录/使用ls -l,可以看到该目录下的所有的目录和文件的详细信息
(3)寻找目录(查)
命令:find 目录 参数
示例:查找/root下的与test相关的目录(文件) find /root -name '*test*'要查找的关键字要加上'',也可以自行加上通配符
(4)修改目录的名称 (改)
命令:mv 目录的名称 新目录名称 (mv 的语法不仅可以对目录进行重命名而且可以对各种文件和解压包重命名)
(5)移动目录的位置---剪切(改)
命令:mv 目录名称 目录的新位置(也就是一个新路径)
示例: mv newtest /usr (mv 的语法不仅仅可以对目录进行剪切,还可以对文件和解压包进行剪切)
(6)拷贝目录(改)
命令:
1,cp 目标名称 目录拷贝的目标位置 如果目标名称下还有子目录或者文件则拷贝不成功(不建议使用)
2,cp -r 目录名称 目录拷贝的目标位置 ------r 代表递归拷贝 示例 cp -r /usr/tset /test
(cp 命令不仅可以拷贝目录还可以拷贝文件和解压包拷贝文件和解压包时不需要-r递归)
(7)删除目录(删)
命令:rm [-rf] 目录
1,rm -r 目录 如果删除的目录下有文件或者解压包他会一步一步的提示,选择yes删除false则不删
2,rm -rf 目录 不管给的是什么,都会删除,不会提示
3,文件的操作命令(增删改查)
(1),文件的创建 (增)
touch 文件名称 ----在创建的目录下不能出现重复文件名称 创建文件的时候后缀名可以不写,Linux会自动识别
(2),文件的查看(查)
命令:cat/more/less/tail 文件
1,cat 文件路径 如果没有滑轮只会显示最后一屏的内容 (重点)
2,more 文件路径 可以显示百分比 回车显示一行一行的内容,空格一次显示一屏的内容,q退出查看
3,less 文件路径
4,tail 文件路径 可以实现动态监视 如果文件内容变动,会显示出来
(3),修改文件的内容
命令:vim 文件
示例:编辑/test 下的aaa.txt文件 使用vim aaa.txt
进入后但不能编辑,因为此时是命令模式,可以使用 i,a,o 进入编辑模式 ,可以使用:wq(写入加退出)或者q!(不保存强制退出)
总结:vim编辑器是Linux中强大的组件,是vi编辑器的加强版,vim编辑器的命令和vi差不多,
vim 文件 -------- 进入文件-------命令状态--------按i进入编辑模式------编辑文件-----按esc加
:wq 或者:q!
4,解压文件的操作命令
(1)打包并压缩文件
Linux中打包文件一般都是以.tar结尾 解压的命令一般是以.gz,解压和打包一块是以.tar.gz结尾
命令:tar -zcvf 打包压缩后的文件名 要打包的文件(可以多个)
其中: z:调用gzip压缩命令进行压缩
c:打包文件
v:显示运行过程
f:指定文件名
示例:tar zcvf xxx.tar.gz aaa.txt bbb.txt ccc.txt(可多个)
tar zcvf xxx.tar.gz /text/*
(2)解压压缩包
命令:rar -xvf 解压文件
其中:x:代表解压
示例 解压当前目录 tar -xvf xxx.tar.gz
示例 解压指定文件 tar -xvf xxx.tar.gz -C /usr
5,其他命令
(1),显示当前位置
pwd
(2),搜索命令
命令:grep 要搜索的字符串 要搜索文件
示例:在shou.txt 中搜索to关键字
grep to shou.txt
grep to shou.txt --color 显示颜色
(3), 管道命令
命令:| 将前一个命令的输出作为本次目录的输入(和二次筛选差不多)
示例:查看当前系统所有进程中包括system字符串的进程
ps -ef | grep system
(4)查看进程
命令: ps -ef
查看当前系统中运行的进程
(5)杀死进程
命令:kill -9 进程的pid
(6)网络通信命令
ifconfig(查看系统的网卡状态信息)
ping(查看与某台机器的连接情况)
netstat -an (查看当前系统的端口号使用)
6,Linux 的权限命令
权限是Linux中重要概念,每个文件/目录等都具有权限,通过 ls -l 命令我们可以看到某个目录下的文件或目录的权限
他们的站位10位他们的划分是1(代表文件夹或者文件) 3(属主权限) 3(属组权限) 3(其他用户权限)
第一行-或者d或者l -代表文件 d代表文件夹 l代表链接
每个3又分为r(读取权)w(写入权)x(执行权) 固定的权限(可无)
在站位上出现-那就是无操作权限
他们还可以用数字代替
属主(user)r4 w2 x1
属组(group)r4 w2 x1
其他用户 r4 w2 x1
修改权限命令为:chmod
chmod u=rex,g-rw,o-r 文件或者文件夹
四、Linux命令补充
(1)基本操作
1,passwd 设置密码
命令:passwd [-dkls][-u <-f][用户名称]
(注意他和pwd不一样pwd返回当前目录的绝对路径)
2,clear 清空当前shell脚本的内容
3,exit 退出当前shell脚本
4,su(switch user) 变更用户身份
命令:su 用户名
5,sudo用其他身份来执行命令
sudo可以让用户以其他的身份来执行命令,预设的身份为root,在/etc/sudoers中设置sudo,则会
其未授权的用户企图使用suto,则会发生警告的邮件给管理员,用户使用sudo时,必须先输入密码,之后5分钟
的有效期限
6,visudo
(2)用户的增删改查
useradd 要创建的用户名 (创建用户)
passwd 创建完成的用户名 (给已创建的用户testuser设置密码)
usermod --help 修改用户这个命令的相关参数
userdel 用户名 删除用户
rm -rf 用户名 删除用户的所在目录
上面这些命令只能root账号能使用