学习Linux第一天

准备工作

  1. linux操作系统
    ubuntu
    服务器版
    桌面版
    红帽子
    树莓派

    1. 双系统 ubuntu / windows
    2. 虚拟机
    3. 云服务器
      客户端
      终端工具——》云服务器
      xshell——》阿里云
      putty——》腾讯云
  2. 在Xshell输入命令:

    ssh user@ip

ip----------阿里云服务器外网ip
user--------root
password------阿里云密码

  1. linux特点
    1. 性能强劲,运行稳定,一般作为服务器
    2. 整个操作系统可以被压缩成很小的一个文件,容易植入一些硬件设备中飞行器
    3. 开源免费(linux源代码)
    linux -> 硬件设备
    ubuntu -> 树莓派
    源码
    ----->
    使用
    修改
    第三方 linux()
    git git版本控制 github
    4. 对于初学者容易建立编程思维,是学习编程语言最好的环境
    linux
    c -->vc
    java -->eclipse/myeclipse
    c+±->vc
    php–>eclipse
    web–>dw/ws
    hello.html -> 浏览器
    hello.c -> 编译 -> hello.o -> 运行
    5. 文件系统
    没有盘符的概念,所有的文件都处于根目录下,目录也是一种特殊的文件

使用

登录

win10:两种方法

  1. 用Xshell,输入命令:$ ssh root@ip
  2. 输入cmd打开命令提示符,输入命令:

win7:
Xshell输入命令$ ssh root@ip

登录成功

root@VM-0-9-ubuntu:~$

root —>当前账号
@ —>分隔符号
VM-0-9-ubuntu—>主机名称
: —>分割符号
~ —>当前所在目录
$ —>分割符号

用户管理(超级管理员身份)

root / 默认密码(重置密码)
使用root登录到ubuntu系统中

1. 创建新用户

     $ adduser 用户名称

过程:
1) 新建组,组名与用户名保持一致
$ groupadd
/etc/group 保存了组信息
2) 新建用户,并且将用户放到刚刚新建的组中
/etc/passwd 保存了用户信息
/etc/shadow 保存了用户的密码信息
3) 创建了一个家目录 /home/xxx

4)/etc/skel 拷贝到用户家目录

2. 删除用户

$	userdel -r zhangsan

删除用户信息,并且将用户家目录也给删除
3. 切换用户

  $ su - 用户名

4. 修改用户

$ usermod
$ usermod -g 1008 zhangsan  //将zhangsan的组id换成1008

5. 修改组信息

    $ groupmod
	$ groupmod -n group0 boss  //将组boss改名为group0
	$ groupmod -g 1008 boss //将组boss的组id改为1008

linux目录结构

/home------普通用户家目录
/home/zhangsan
/home/lisi
默认情况下,普通用户只能在用户家目录中进行更新操作(增加、删除、修改)
/root --------超级管理员的家目录
/etc---------系统配置文件目录
/opt-------第三方文件解压安装目录
/usr--------文件的默认目录
/var-------存放不断被扩充的东西,经常被修改的目录
/sys--------系统目录
/dev-------linux的外部设备
/tmp------存放临时文件
/srv------存放一些服务启动之后需要提取的数据
/proc-------虚拟目录,是系统内存的映射

目录操作

  1. 新建目录

    $ mkdir linux es5 es6  //创建目录linux、es5和es6
    $ mkdir -p day01/a/b/c  //创建父目录day01,并在父目录下创建子目录a、b和c
    
  2. 新建文件/修改最近访问时间

    $ touch 文件名
    

    如果指定的文明名不存在,创建该文件。如果存在,修改最近访问时间为当前时间

  3. 拷贝文件或者目录

    $ cp a.txt a.txt.bak // 拷贝文件a.txt到文件a.txt.bak
    $ cp -r dir1 dir2   //拷贝目录dir1到目录dir2
    
  4. 连接

  • 创建硬链接(防止误删除,多个指针指向同一个inode)
	$ ln a.txt a.txt.h 	
  • 创建软连接(快捷方式)
    $ ln -s a.txt a.txt.s
  1. 移动
   $ mv a.* dir1 //将所有以a开头的文件移到目录dir1下
   $ mv a b  //重命名文件
  1. 删除
   $ rm a.txt   //删除文件a.txt
   $ rm -r dir2   //删除目录dir2
   $ rmdir 	//只能删除空目录
  1. 重定向
>  //覆盖原来内容
>>   //追加到原来内容后
	$ date > a.txt
	$ date >> a.txt
	$ more /etc/passwd > b.txt
	$ ls -l /etc > c.txt
  1. 压缩与解压缩
    1. 压缩
    .gz-------gzip 压缩
    .bz2----------bzip2 压缩
    .zip----------- zip 打包压缩
$ gzip a.txt 	
				=> a.txt.gz
$ bzip2 a.txt
				=> a.txt.bz2 
$ zip all.zip *.txt
				=> all.zip 	(a.txt b.txt c.txt)
  1. 解压缩
 $ gunzip a.txt.gz
				=> a.txt
 $ bunzip2 a.txt.bz3
				=> a.txt
 $ unzip all.zip
				=> a.txt b.txt c.txt
 $ unzip all.zip -d dir2
				=> dir2/a.txt b.txt c.txt
  1. 归档
    tar
    -c-----创建归档文件
    -x-----拆档
    -v-----打印细节
    -f------指定归档/拆档文件
    -j------bzip2格式 :xxx.tar.bz2
    -z-----gzip格式 :xxx.tar.gz
$ tar cvf all.tar *.txt
$ tar cvzf all.tar.gz *.txt	(gzip)
$ tar cvjf all.tar.bz2 *.txt (bzip2)
  1. 拆档
$ tar xvf all.tar.gz

其他命令

预览

  • more

  • less

    翻页显示文件内容,最后一行显示目前百分比,在最后一行输入命令
    空白键:下一页
    /字串:向下搜寻【字串】的功能
    ?字串:向上搜寻【字串】的功能
    n:重复前一个搜寻(与/或?有关)
    N:反向重复前一个搜寻(与/或?有关)
    q:退出

    ==========================================

  • tail

  • tail -3
    显示出一个文件的后几行,默认10行;后面接数字,代表显示几行
    ==========================================

  • head

  • head -4
    显示一个文件前几行,默认10行;后面接数字,代表显示几行
    ==========================================

  • cat
    将多个文件内容显示出来

  • tac
    反向展示,由最后一行到第一行反向显示
    ==========================================
    nl
    添加行号

基础

  • ls

    • ls -l 以长格式列出所有文件

    • ls -a 显示所有文件,包含隐藏文件

    • ls /etc 显示etc目录下所有文件

  • man

    查看指定命令的手册
    q —退出手册
    回车—下一行
    空格 —下一页

  • cd 切换目录

    cd 回到家目录
    cd ~ 回到家目录
    cd / 切换到根目录
    cd /home/zhangsan 切换到/home/zhangsan目录下

  • pwd 输出当前目录地址

  • clear 清理终端屏幕

权限

  1. 谁?

    拥有者 u ->user
    同组人 g ->group
    其他人 o ->other
    所有人 a ->all

  2. 权限类型?

    读 r ->read
    写 w ->write
    执行 x ->execute

  3. 权限

    	rw- 	110 	6
    	r-x 	101 	5
    
  4. 修改文件权限

    1. 通过表达式来修改
      $ chmod g-r a.txt //使同组人没有对a.txt的读权限
      $ chmod o+w a.txt //使其他人对a.txt有写权限
    2. 通过二进制方式修改
权限类型二进制十进制
- - x0011
- w -0102
- w x0113
r - -1004
r - x1015
r w -1106
r w x1117
$ chmod 644 a.txt  //6是u的权限,第一个4是g的权限,第二个人4是o的权限

修改a.txt的权限,拥有者具有读写权限,同组人和其他人具有读权限

vim

作用:修改配置文件,编写代码

  1. 打开vim
    1. 打开vi 编写 保存
    2. 新建文件,通过vi打开文件
    3. 直接打开一个文件
  2. 模式
  • 命令行模式

     		复制		yy
     		粘贴 	p
     		删除当前行 	dd 	
     		删除光标所在单词     dw
     		回退		u
     		替换当前行并进入inset模式	cc
    
  • 编辑模式【左下角 insert】

    写代码

  • 底行模式【底行可以输入】

     		保存 		:w
     		另存为 		:w other.txt
     		退出 		:q
     		保存退出 	:wq
     		不保存退出 	:q!
     		查找 		/larry	n表示查找下一个
     		替换 		:1,$s/larry/8888/g
     		复制 		:1,4co55
     		剪切			:1,4m$
    

模式切换:
命令行模式–>编辑模式:a 、i 、o 、A 、O
编辑模式–>命令行模式:按esc键
底行模式:要在命令行模式下,输入“:”

  1. vi配置
  $ curl https://j.mp/spf13-vim3 -L > spf13-vim.sh && sh spf13-vim.sh
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
完整版:https://download.csdn.net/download/qq_27595745/89522468 【课程大纲】 1-1 什么是java 1-2 认识java语言 1-3 java平台的体系结构 1-4 java SE环境安装和配置 2-1 java程序简介 2-2 计算机中的程序 2-3 java程序 2-4 java类库组织结构和文档 2-5 java虚拟机简介 2-6 java的垃圾回收器 2-7 java上机练习 3-1 java语言基础入门 3-2 数据的分类 3-3 标识符、关键字和常量 3-4 运算符 3-5 表达式 3-6 顺序结构和选择结构 3-7 循环语句 3-8 跳转语句 3-9 MyEclipse工具介绍 3-10 java基础知识章节练习 4-1 一维数组 4-2 数组应用 4-3 多维数组 4-4 排序算法 4-5 增强for循环 4-6 数组和排序算法章节练习 5-0 抽象和封装 5-1 面向过程的设计思想 5-2 面向对象的设计思想 5-3 抽象 5-4 封装 5-5 属性 5-6 方法的定义 5-7 this关键字 5-8 javaBean 5-9 包 package 5-10 抽象和封装章节练习 6-0 继承和多态 6-1 继承 6-2 object类 6-3 多态 6-4 访问修饰符 6-5 static修饰符 6-6 final修饰符 6-7 abstract修饰符 6-8 接口 6-9 继承和多态 章节练习 7-1 面向对象的分析与设计简介 7-2 对象模型建立 7-3 类之间的关系 7-4 软件的可维护与复用设计原则 7-5 面向对象的设计与分析 章节练习 8-1 内部类与包装器 8-2 对象包装器 8-3 装箱和拆箱 8-4 练习题 9-1 常用类介绍 9-2 StringBuffer和String Builder类 9-3 Rintime类的使用 9-4 日期类简介 9-5 java程序国际化的实现 9-6 Random类和Math类 9-7 枚举 9-8 练习题 10-1 java异常处理 10-2 认识异常 10-3 使用try和catch捕获异常 10-4 使用throw和throws引发异常 10-5 finally关键字 10-6 getMessage和printStackTrace方法 10-7 异常分类 10-8 自定义异常类 10-9 练习题 11-1 Java集合框架和泛型机制 11-2 Collection接口 11-3 Set接口实现类 11-4 List接口实现类 11-5 Map接口 11-6 Collections类 11-7 泛型概述 11-8 练习题 12-1 多线程 12-2 线程的生命周期 12-3 线程的调度和优先级 12-4 线程的同步 12-5 集合类的同步问题 12-6 用Timer类调度任务 12-7 练习题 13-1 Java IO 13-2 Java IO原理 13-3 流类的结构 13-4 文件流 13-5 缓冲流 13-6 转换流 13-7 数据流 13-8 打印流 13-9 对象流 13-10 随机存取文件流 13-11 zip文件流 13-12 练习题 14-1 图形用户界面设计 14-2 事件处理机制 14-3 AWT常用组件 14-4 swing简介 14-5 可视化开发swing组件 14-6 声音的播放和处理 14-7 2D图形的绘制 14-8 练习题 15-1 反射 15-2 使用Java反射机制 15-3 反射与动态代理 15-4 练习题 16-1 Java标注 16-2 JDK内置的基本标注类型 16-3 自定义标注类型 16-4 对标注进行标注 16-5 利用反射获取标注信息 16-6 练习题 17-1 顶目实战1-单机版五子棋游戏 17-2 总体设计 17-3 代码实现 17-4 程序的运行与发布 17-5 手动生成可执行JAR文件 17-6 练习题 18-1 Java数据库编程 18-2 JDBC类和接口 18-3 JDBC操作SQL 18-4 JDBC基本示例 18-5 JDBC应用示例 18-6 练习题 19-1 。。。
完整版:https://download.csdn.net/download/qq_27595745/89522468 【课程大纲】 1-1 什么是java 1-2 认识java语言 1-3 java平台的体系结构 1-4 java SE环境安装和配置 2-1 java程序简介 2-2 计算机中的程序 2-3 java程序 2-4 java类库组织结构和文档 2-5 java虚拟机简介 2-6 java的垃圾回收器 2-7 java上机练习 3-1 java语言基础入门 3-2 数据的分类 3-3 标识符、关键字和常量 3-4 运算符 3-5 表达式 3-6 顺序结构和选择结构 3-7 循环语句 3-8 跳转语句 3-9 MyEclipse工具介绍 3-10 java基础知识章节练习 4-1 一维数组 4-2 数组应用 4-3 多维数组 4-4 排序算法 4-5 增强for循环 4-6 数组和排序算法章节练习 5-0 抽象和封装 5-1 面向过程的设计思想 5-2 面向对象的设计思想 5-3 抽象 5-4 封装 5-5 属性 5-6 方法的定义 5-7 this关键字 5-8 javaBean 5-9 包 package 5-10 抽象和封装章节练习 6-0 继承和多态 6-1 继承 6-2 object类 6-3 多态 6-4 访问修饰符 6-5 static修饰符 6-6 final修饰符 6-7 abstract修饰符 6-8 接口 6-9 继承和多态 章节练习 7-1 面向对象的分析与设计简介 7-2 对象模型建立 7-3 类之间的关系 7-4 软件的可维护与复用设计原则 7-5 面向对象的设计与分析 章节练习 8-1 内部类与包装器 8-2 对象包装器 8-3 装箱和拆箱 8-4 练习题 9-1 常用类介绍 9-2 StringBuffer和String Builder类 9-3 Rintime类的使用 9-4 日期类简介 9-5 java程序国际化的实现 9-6 Random类和Math类 9-7 枚举 9-8 练习题 10-1 java异常处理 10-2 认识异常 10-3 使用try和catch捕获异常 10-4 使用throw和throws引发异常 10-5 finally关键字 10-6 getMessage和printStackTrace方法 10-7 异常分类 10-8 自定义异常类 10-9 练习题 11-1 Java集合框架和泛型机制 11-2 Collection接口 11-3 Set接口实现类 11-4 List接口实现类 11-5 Map接口 11-6 Collections类 11-7 泛型概述 11-8 练习题 12-1 多线程 12-2 线程的生命周期 12-3 线程的调度和优先级 12-4 线程的同步 12-5 集合类的同步问题 12-6 用Timer类调度任务 12-7 练习题 13-1 Java IO 13-2 Java IO原理 13-3 流类的结构 13-4 文件流 13-5 缓冲流 13-6 转换流 13-7 数据流 13-8 打印流 13-9 对象流 13-10 随机存取文件流 13-11 zip文件流 13-12 练习题 14-1 图形用户界面设计 14-2 事件处理机制 14-3 AWT常用组件 14-4 swing简介 14-5 可视化开发swing组件 14-6 声音的播放和处理 14-7 2D图形的绘制 14-8 练习题 15-1 反射 15-2 使用Java反射机制 15-3 反射与动态代理 15-4 练习题 16-1 Java标注 16-2 JDK内置的基本标注类型 16-3 自定义标注类型 16-4 对标注进行标注 16-5 利用反射获取标注信息 16-6 练习题 17-1 顶目实战1-单机版五子棋游戏 17-2 总体设计 17-3 代码实现 17-4 程序的运行与发布 17-5 手动生成可执行JAR文件 17-6 练习题 18-1 Java数据库编程 18-2 JDBC类和接口 18-3 JDBC操作SQL 18-4 JDBC基本示例 18-5 JDBC应用示例 18-6 练习题 19-1 。。。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值