学习安排:
1,认识Linux
2,学习基本命令(文件操作,目录管理,文件属性,vim编辑器,账号管理,磁盘管理)
3,软件的安装和部署(java,tomcat,docker)
一,认识Linux
1,为什么要学习Linux:很多的大型项目都是部署在Linux服务器上的
2,Linux一般用来做服务器端的操作系统。
3,Linux比windows安全
4,常用的Linux有:ubantu,CentOS,RedHat等
5,Linux是一个自由的,免费的,源码开放的操作系统。
二,基本命令
- ls : 列车当前目录所有的文件(蓝色的是文件夹,白色是普通文件)
- ls -l : 以列表的形式列出所有文件,包含文件的属性权限,当没有列出隐藏文件
- ls -a : 显示隐藏文件(all)
- ls -al:上两条语句的组合使用
- ls -l -h : 显示文件的大小
- ls *.txt : 模糊查找(×对应任意字符)
- ls ???.txt : 模糊查找(?对应一个字符)
- ls [1234abcd] a.txt : 模糊查找(?便利【】中的数字在前面,查找文件)
- 所有的隐藏文件是以 . 开头的
- cd : 用来打开文件夹,切换目录的路径
- cd.. :用来返回上一级目录
- ./ :当前目录
- cd ../usr:通过相对路径进入usr目录
- cd /home/test :绝对路径跳转
- cd ~:回到当前的用户目录
- pwd :显示当前所在的目录
- 使用cd进行目录跳转的时候,输入目录名的前几个字母按table建可以进行自动补全
- clear : 命令用来清空目录
- mkdir test :创建文件夹test
- mkdir -p test1/test2/test3:创建多级目录test1/test2/test3
- rmdir test:删除文件夹test,如果目录中有文件不能删除,需要先删除文件
- rmdir -p test1/test2/test3:移除多级目录test1/test2/test3
- cp test.sh study:将test.sh文件复制到study文件夹下
- rm:移除文件或者目录
- rm -f:目录中有文件不会提示你,直接删除文件
- rm -r: 递归删除目录
- rm -i:删除的时候会询问你是否删除
- rm -rf:系统中所有的文件被删除(删库跑路)
- mv :移动文件(mv test.sh study/ 把test.sh文件移动到study文件夹 )
- mv study study2:重命名文件夹
- mv -f:强制移动文件
- mv -u:只替换语句更新过的文件
- sync:将数据同步到硬盘中
- shutDown:关机指令
- reboot:重启
三,常用的目录:
- /bin:Binary的缩写,存放最常用的命令
- /boot:存放启动Linux的一些核心文件,包括一些连接文件和镜像文件(不要动)
- /dev:dev是Device的缩写,存放Linux的外部设备,在Linux中访问设备的方式和访问文件一样
- /etc:存放所有所有系统管理所需要的配置文件和子目录
- /home:用户的主目录,在Linux中,每个用户都有自己的目录,一般目录名和账户名一致
- /lib:存放系统最基本的动态链接共享库,类似于Windows中的DLL文件
- /lost+found:一般情况下为空,当系统非法关机,这里就存放一些文件
- /media:Linux会自动识别一些设备,如U盘,光驱,当识别后就把识别的设备挂到这个目录下
- /mnt:系统提供这个目录是给用户临时挂载别的文件系统
- /opt:给主机额外安装软件所摆放的目录,比如你安装了一个MySQL数据库就可以放到这个目录下。默认为空
- /proc:这个目录是一个虚拟的目录,是系统的内存映射,我们可以通过这个文件来获取系统信息
- /root:管理员主目录
- /sbin:存放管理员使用的系统管理程序
- /srv:存放一些启动服务器之后需要提取的数据
- /sys:该目录安装了Linux2.6内核中新出现的一个文件系统sysfs
- temp:存放一些临时文件
- /usr:用户的很多应用程序和文件都存放在这个目录下,类似于Windows下的program file目录
- /usr/bin:系统用户使用的应用程序
四,文件属性的查看和修改:
查看:
- 通过ls -ll 命令列出所有的文件
- 第0个字符为 d表示他是目录,l表示他是一个链接,-表示是一个文件,b表示可存储接口,c表示串行接口设备
- 第123个字符是管理员权限控制,rwx表示可读,可写和可执行的权限
- 第456个字符是用户组权限控制,r-x表示可读,不可写和可执行的权限
- 第789个字符是其他用户权限控制,r-x表示可读,不可写和可执行的权限
修改:(你没有权限操作此文件)
- chmod [-R] xyz 文件或者目录
- Linux属性设置的方式:1,数字。2,符号
- 数字:r=4,w=2,x=1 例如设置rwx 可以用7表示,rw-可以用6表示
- chomd 777表示管理员,用户,其他用户的权限都为rwx
五,文件内容的查看
- cat:从第一行开始显示内容(用来读文章,读配置文件)
- tac:倒着显示内容
- nl:显示内容的时候,把行号显示出来(看代码的时候希望显示行号)
- more:一页一页的显示文件内容(空格代表翻页,enter往下一行)
- less:一页的显示内容并且可以向前翻页(空格代表翻页,上下键翻动,/字符串 可以向下查找字符串,?字符串 表示向上查询字符串,q表示退出)
- head:只看头几行(head -n 20 test.sh 表示看test.sh文件的前20行)
- tail:只看尾巴几行
- man cp:查看使用文档
- 网络配置目录:cd /etc/sysconfig/network--scripts/(CentOS 7)
- ifconfig:查看网络配置
六,Linux连接
- 硬链接:假设B是A的硬链接,那么他们两个指向的是同一个文件,允许一个文件有多个路径。文件本身有一个计数器来记录有多少个链接,当删除B时,文件不会删除,而是计数器中的值减一,当计数器的值为0的时候文件才会被删除
- 软链接:存的是f1文件的地址,当f1文件删除时,它也就不能访问了(f1,f2,f3本身是一个文件地址)
- touch f1 :创建文件f1
- ln f1 f2:创建一个f1到f2的硬链接
- ln -s f1 f3:创建一个f1到f2的软链接
- echo "I love jianjiang" >>f1:将字符串写入f1中,f2和f3内容会发生改变
七,Vim编辑器
- vim test.txt:使用vim打开test.txt文件,如果test.txt文件不存在就创建一个test.txt文件
- i:进入insert模式,可以输入或者修改文件中的内容
- 按Esc键退出编辑进入底线命令模式
- :wq:保存并退出命令
- :set nu:显示文本的行号
- /字符 或者 ?字符:搜索字符
- 数字+空格键:按字符跳转
- 数字+回车键:按行跳转
- 我们可以使用 cat test.txt命令来查看是否保存文件
- 如果创建的文件没用了,可以使用rm test.txt命令删除文件
八,账号管理
- useradd -m 用户名 -G 用户组:自动添加一个用户,需要在root目录下才可以,如果当前不是管理员使用su root切换到管理员
- cat /etc/passwd:查看是否添加成功
- userdel -r 用户名:删除用户
- usermod -修改代号 用户名:修改用户
- su jianjiang :切换个到jianjiang账户
- hostname:查看主机名
- passwd 用户名:回车后设置密码(密码不能太简单)
- passwd -l 用户名:冻结用户
- passwd -d 用户名:冻结用户密码,也不能登录了
九,用户组管理
- groupadd 用户组名称:添加用户组
- groupdel 用户组名称:删除用户组
- group -g 666 -n jj 用户组名称:修改组id为666,名字改为jj
- 拓展:
- /etc/passwd:文件结构——》用户名:口令(用户密码,不可见):用户标识号:组标识号:注释性描述:主目录:登录shell
- 这个文件的每一行都代表一个用户,我们可以在这里看到这个用户的主目录在哪里,可以看到它属于哪一个组
- 登录密码被加密后放在/etc/shadow文件中,保证了密码的安全性。
- /etc/group:这个文件存放用户组的信息
十,磁盘管理
- df -h:查看系统整体的磁盘使用情况
- du:查看当前磁盘空间使用情况
十一,进程管理
- ps -字符 :查看当前系统正在执行的各种进程信息(字符功能如下):
- -a:显示当前终端运行的所有进程信息
- -u:以用户信息显示进程
- -x:显示后台运行进程的参数
- -aux:查看所有的进程
- ps -aux|grep mysql:查看MySQL相关的信息
- ps -ef:查看父进程的信息
- pstree -pu :显示进程树
- kill -9 进程的id:强制结束进程